CLA 2013 Proceedings of the Tenth International Conference on Concept Lattices and Their Applications CLA Conference Series cla.inf.upol.cz Laboratory L3i, University of La Rochelle, France ISBN 978–2–7466–6566–8 Laboratory L3i, University of La Rochelle, France The Tenth International Conference on Concept Lattices and Their Applications CLA 2013 La Rochelle, France October 15–18, 2013 Edited by Manuel Ojeda-Aciego Jan Outrata CLA 2013 c paper author(s), 2013, for the included papers c Manuel Ojeda-Aciego, Jan Outrata, Editors, for the volume Copying permitted only for private and academic purposes. This work is subject to copyright. All rights reserved. Reproduction or publica- tion of this material, even partial, is allowed only with the editors’ permission. Technical Editor: Jan Outrata, jan.outrata@upol.cz Cover design: Elodie Carel, elodie.carel@univ-lr.fr Page count: xii+306 Impression: 50 Edition: 1st First published: 2013 Published and printed by: Laboratory L3i, University of La Rochelle, France Organization CLA 2013 was organized by the Laboratory L3i, University of La Rochelle. Steering Committee Radim Belohlavek Palacký University, Olomouc, Czech Republic Sadok Ben Yahia Faculté des Sciences de Tunis, Tunisia Jean Diatta Université de la Réunion, France Peter Eklund University of Wollongong, Australia Sergei O. Kuznetsov State University HSE, Moscow, Russia Engelbert Mephu Nguifo LIMOS, University Blaise Pascal, Clermont-Ferrand, France Amedeo Napoli INRIA NGE/LORIA, Nancy, France Program Chairs Manuel Ojeda-Aciego Universidad de Málaga, Spain Jan Outrata Palacký University, Olomouc, Czech Republic Program Committee Cristina Alcalde Univ del Pais Vasco, San Sebastián, Spain Jaume Baixeries Polytechnical University of Catalonia, Spain Radim Belohlavek Palacký University, Olomouc, Czech Republic Sadok Ben Yahia Faculté des Sciences de Tunis, Tunisia Anne Berry LIMOS, Université de Clermont Ferrand, France Karell Bertet L3i, Université de La Rochelle, France Ana Burusco Universidad de Navarra, Pamplona, Spain Claudio Carpineto Fondazione Ugo Bordoni, Roma, Italy Pablo Cordero Universidad de Málaga, Spain Jean Diatta Université de la Réunion, France Felix Distel TU Dresden, Germany Vincent Duquenne Université Pierre et Marie Curie, Paris, France Sebastien Ferre Irisa/Université de Rennes 1, France Bernhard Ganter TU-Dresden, Germany Alain Gély University of Metz, France Robert Godin Univeristy of Montreal, Canada Marianne Huchard LIRMM, Montpellier, France Dmitry I. Ignatov State University HSE, Moscow, Russia Vassilis G. Kaburlasos TEI, Kavala, Greece Jan Konecny Palacký University, Olomouc, Czech Republic Stanislav Krajci University of P.J. Safarik, Kosice, Slovakia Sergei O. Kuznetsov State University HSE, Moscow, Russia Léonard Kwuida Bern University of Applied Science, Switzerland Jesús Medina Universidad de Cádiz, Spain Engelbert Mephu Nguifo LIMOS, University Blaise Pascal, Clermont Ferrand, France Rokia Missaoui UQO, Gatineau, Canada Amedeo Napoli INRIA NGE/LORIA, Nancy, France Lhouari Nourine LIMOS, Université de Clermont Ferrand, France Sergei Obiedkov State University HSE, Moscow, Russia Uta Priss Ostfalia University of Applied Sciences, Wolfenbüttel, Germany Olivier Raynaud LIMOS, University of Clermont Ferrand, France Sebastian Rudolph Institute AIFB, University of Karlsruhe, Germany Baris Sertkaya SAP Research Center, Dresden, Germany Laszlo Szathmary University of Debrecen, Hungary Petko Valtchev Université du Québec à Montréal, Canada Francisco Valverde Universidad Nacional de Educacin a Distancia, UNED Spain Additional Reviewers Michel Liquière LIRMM, Montpellier, France Marı́a Eugenia Cornejo Piñero Universidad de Cádiz, Spain Eloisa Ramı́rez Poussa Universidad de Cádiz, Spain Alexis Irlande Universidad Nacional de Colombia, Colombia Juan Carlos Dı́az Moreno Universidad de Cádiz, Spain Nader Mohamed Jelassi LIMOS, Clermont Université, France & URPAH, Faculty of Tunis, Tunisia Organization Committee Karell Bertet (chair) L3i, Université de La Rochelle, France Dwiajeng Andayani Université de La Rochelle, France Romain Bertrand L3i, Université de La Rochelle, France Mickaël Coustaty L3i, Université de La Rochelle, France Ngoc Bich Dao L3i, Université de La Rochelle, France Christophe Demko L3i, Université de La Rochelle, France Cyril Faucher L3i, Université de La Rochelle, France Nathalie Girard LI, Université de Tours, France Clément Gurin L3i, Université de La Rochelle, France Muhammad Muzzamil Luqman L3i, Université de La Rochelle, France Jean-Marc Ogier L3i, Université de La Rochelle, France Christophe Rigaud L3i, Université de La Rochelle, France Kathy Theuil L3i, Université de La Rochelle, France Muriel Visani L3i, Université de La Rochelle, France Table of Contents Preface Invited Contributions Projective Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Ralph Freese Cartification: from Similarities to Itemset Frequencies . . . . . . . . . . . . . . . . . 3 Bart Goethals Cooperative Games on Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Michel Grabisch Some applications of Lattice Analysis (1983-2013) . . . . . . . . . . . . . . . . . . . . . 7 Vincent Duquenne Full Papers A practical application of Relational Concept Analysis to class model factorization: lessons learned from a thematic information system . . . . . . . 9 Abdoulkader Osman Guédi, André Miralles, Marianne Huchard and Clémentine Nebut Galois Sub-Hierarchies Used for Use Case Modeling . . . . . . . . . . . . . . . . . . . 21 Ants Torim Computing Similarity Dependencies with Pattern Structures . . . . . . . . . . . 33 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli Enumerating Pseudo-Intents in a Partial Order . . . . . . . . . . . . . . . . . . . . . . . 45 Alexandre Bazin and Jean-Gabriel Ganascia Decomposition of Intervals in the Space of Anti-Monotonic Functions . . . . 57 Patrick De Causmaecker and Stefan De Wannemacker Attribute exploration with fuzzy attributes and background knowledge . . 69 Cynthia Vera Glodeanu An efficient Java implementation of the immediate successors calculation . 81 Clément Guérin, Karell Bertet and Arnaud Revel CryptoLat - a Pedagogical Software on Lattice Cryptomorphisms and Lattice Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Florent Domenach CRL-Chu correspondences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Ondrej Krı́dlo and Manuel Ojeda-Aciego Formal Concept Analysis of higher order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni AOC-posets: a scalable alternative to Concept Lattices for Relational Concept Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Xavier Dolques, Florence Le Ber and Marianne Huchard Computing the Concept Lattice using Dendritical Neural Networks . . . . . . 141 David Ernesto Caro-Contreras and Andres Mendez-Vazquez Isotone L-bonds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Jan Konecny and Manuel Ojeda-Aciego A Conceptual-KDD approach and its application to cultural heritage . . . . 163 Renzo Stanley, Hernán Astudillo, Vı́ctor Codocedo and Amedeo Napoli Analogical proportions and the factorization of information in distributive lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Nelly Barbot, Laurent Miclet and Henri Prade Boolean Factor Analysis of Multi-Relational Data . . . . . . . . . . . . . . . . . . . . . 187 Marketa Krmelova and Martin Trnecka On Projections of Sequential Pattern Structures (with an application on care trajectories) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Aleksey Buzmakov, Elias Egho, Nicolas Jay, Sergei O. Kuznetsov, Amedeo Napoli and Chedy Raı̈ssi Spectral Lattices of reducible matrices over completed idempotent semifields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Francisco José Valverde-Albacete and Carmen Peláez-Moreno On information retrieval in morphological image and signal processing . . . 225 Cristina Alcalde, Ana Burusco, Juan Carlos Dı́az, Ramon Fuentes-González and Jesús Medina A Study on the Correspondence between FCA and ELI Ontologies . . . . . . 237 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli From Triadic FCA to Triclustering: Experimental Comparison of Some Triclustering Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov A lattice-free concept lattice update algorithm based on *CbO . . . . . . . . . . 261 Jan Outrata Short Papers Applying User-Guided, Dynamic FCA to Navigational Searches for Earth Science Data and Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Bruce R. Barkstrom A Collaborative Approach for FCA-Based Knowledge Extraction . . . . . . . . 281 My Thao Tang and Yannick Toussaint Towards Description Logic on Concept Lattices . . . . . . . . . . . . . . . . . . . . . . . 287 Julia V. Grebeneva, Nikolay V. Shilov and Natalia O. Garanina Computing Left-Minimal Direct Basis of implications . . . . . . . . . . . . . . . . . . 293 Pablo Cordero, Manuel Enciso, Angel Mora and Manuel Ojeda-Aciego Comparing Performance of Formal Concept Analysis and Closed Frequent Itemset Mining Algorithms on Real Data . . . . . . . . . . . . . . . . . . . . 299 Lenka Pisková and Tomáš Horváth Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Preface Formal concept analysis has, for many years, laid claim to providing a formal basis for an applied lattice theory. With the many different formalisms and implementations, and their applications available today, this claim is stronger than ever, as witnessed by increasing amount and range of publications in the area. The International Conference “Concept Lattices and Their Applications (CLA)” is being organized since 2002 with the aim of bringing together researchers work- ing on various approaches for studying and practically applying concept lattices. The main aim of CLA is to bring together researchers (students, professors, en- gineers) involved in all aspects of the study of concept lattices, from theory to implementations and practical applications. As the diversity of the selected pa- pers shows, there is a wide range of theoretical and practical research directions, ranging from algebra and logic to pattern recognition and knowledge discovery. The Tenth edition of CLA was held in La Rochelle, France from October 15th to October 18th, 2013. The event was organized and hosted by the Laboratory L3i, University of La Rochelle. This volume includes the selected papers and the abstracts of 4 invited talks. This year there were initially 37 submissions from which 22 included papers were accepted as full papers and 5 as short papers. Thus, the program of the conference consisted of four keynote talks given by the following distinguished re- searchers: Ralph Freese, Bart Goethals, Michel Grabisch and Vincent Duquenne, together with twenty-seven communications, including the full and short papers, authored by researchers from thirteen countries (Belgium, Chile, Cyprus, Czech Republic, Djibouti, Estonia, France, Germany, Mexico, Russia, Slovakia, Spain and USA). The papers were reviewed by members of the Program Committee with the help of the additional reviewers listed overleaf. We would like to thank them all for their valuable assistance. It is planned that a selection of extended versions of the best papers will be published in a renowned journal, after being subjected again to a peer review. The success of such an event is mainly due to the hard work and dedication of a number of people, and the collaboration of several institutions. We want to thank the contributing authors, who submitted high quality works, to acknowledge the help of members of the CLA Steering Committee, who gave us the opportunity of chairing this edition, and to thank the Program Committee, the additional reviewers, and the local Organization Committee. All of them deserve many thanks for having helped to attain the goal of providing a balanced event with a high level of scientific exchange and a pleasant environment. We would also like to thank the following institutions, which have helped the or- ganization of the 10th CLA International Conference: Region of Poitou-Charentes, Department of Charente Maritime, City of La Rochelle and University of La Rochelle. Last but not least, most of our bureaucratic tasks related to paper submission, selection, and reviewing have been minimized thanks to the EasyChair confer- ence system, and we should therefore not forget to mention its help after the list of “official sponsors”. October 2013 Manuel Ojeda-Aciego Jan Outrata Program Chairs of CLA 2013 Projective Lattices Ralph Freese Department of Mathematics, University of Hawaii Honolulu, HI 96822, USA ralph@math.hawaii.edu A lattice L is projective in a variety V of lattices if whenever f :KL (1) is an epimorphism, there is a homomorphism g:L→K (2) such that f (g(a)) = a for all a ∈ L. Projective lattices are characterized in [3] by four conditions. This talk will discuss two of them that are of current interest. If g in (2) is only required to be order-preserving, it is called an isotone section of the epimorphism (1). We will characterize which lattices L have an isotope section for every epimorphism (1). We will use this to characterize when the ordinal (linear) sum of two projective lattices in V will be projective and give some surprising examples. The second of the four conditions characterizing projectivity we will discuss is join refinement and the dependency relation; the so-called D-relation. This condition and some closely related concepts are used in many parts of lattice theory. Besides free lattice, projective lattices and finitely presented lattices, it has applications to transferable lattices, congruence lattices of lattices, repre- senting finite lattices as congruence lattices of finite algebras, and ordered direct bases in database theory [1, 2]. References 1. K. Adaricheva, J.B. Nation, and R. Rand. rdered direct implicational basis of a finite closure system. Discrete Applied Math., 161:707–723, 2013. 2. K. Bertet and B. Monjardet. The multiple facets of the canonical direct unit impli- cational basis. Theoret. Comput. Sci., 411(22-24):2155–2166, 2010. 3. Ralph Freese and J. B. Nation. Projective lattices. Pacific J. Math., 75:93–106, 1978. Cartification: from Similarities to Itemset Frequencies Bart Goethals University of Antwerp, Belgium bart.goethals@ua.ac.be Abstract. We propose a transformation method to circumvent the problems with high dimensional data. For each object in the data, we create an itemset of the k-nearest neighbors of that object, not just for one of the dimensions, but for many views of the data. On the resulting collection of sets, we can mine frequent itemsets; that is, sets of points that are frequently seen together in some of the views on the data. Experimentation shows that finding clusters, outliers, cluster centers, or even subspace clustering becomes easy on the cartified dataset using state-of-the-art techniques in mining interesting itemsets. Cooperative Games on Lattices Michel Grabisch Paris School of Economics Université Paris I 106-112, Bd de l’Hôpital, 75013 Paris michel.grabisch@univ-paris1.fr In cooperative game theory, for a given set of players N, TU-games are functions v : 2N → R which express for each nonempty coalition S ⊆ N of players the best they can achieve by cooperation. In the classical setting, every coalition may form without any restriction, i.e., the domain of v is indeed 2N . In practice, this assumption is often unrealistic, since some coalitions may not be feasible for various reasons, e.g., players are political parties with divergent opinions, or have restricted communication abilities, or a hierarchy exists among players, and the formation of coalitions must respect the hierarchy, etc. Many studies have been done on games defined on specific subdomains of 2N , e.g., antimatroids [1], convex geometries [3, 4], distributive lattices [6], or others [2, 5]. In this paper, we mainly deal with the case of distributive lattices. To this end, we assume that there exists some partial order  on N describing some hierarchy or precedence constraint among players, as in [6]. We say that a coalition S is feasible if the coalition contains all its subordinates, i.e., i ∈ S implies that any j  i belongs to S as well. Then feasible coalitions are downsets, and by Birkhoff’s theorem, form a distributive lattice. From now on, we denote by F the set of feasible coalitions, assuming that 0, / N∈F. The main problem in cooperative game theory is to define a rational solution of the game, that is, supposing that the grand coalition N will form, how to share among its members the total worth v(N). The core is the most popular solution concept, since it ensures stability of the game, in the sense that no coalition has an incentive to deviate from the grand coalition. For a game v on a family F of feasible coalitions, the core is defined by C (v) = {x ∈ Rn | x(S) ≥ v(S), ∀S ∈ F , x(N) = v(N)} where x(S) is a shorthand for ∑i∈S xi . When F = 2N , the core is either empty or a convex bounded polyhedron. However, for games whose cooperation is restricted, the study of the core becomes much more complex, since it may be unbounded or even contain no vertices (see a survey in [7]). For the case of games with precedence constraints, it is known that the core is always unbounded or empty, but contains no line (i.e., it has vertices). The problem arises then, to select a significant bounded part of the core as a reasonable concept of solution, since unbounded payments make no sense. We propose to select a bounded face of the core. A systematic study of bounded faces is done through the concept of normal collections. We also present some results when F is not a distributive lattice, but a set lattice closed under intersection, or a regular set system. Lastly, we introduce games on concept lattices, show that this induces in fact two games, and give some results on the core. 6 Michel Grabisch References 1. E. Algaba, J. M. Bilbao, R. van den Brink, and A. Jiménez-Losada. Cooperative games on antimatroids. Discrete Mathematics, 282:1–15, 2004. 2. S. Béal, E. Rémila, and Ph. Solal. Rooted-tree solutions for tree games. European Journal of Operational Research, 203(2):404–408, 2010. 3. J. M. Bilbao. Axioms for the Shapley value on convex geometries. European Journal of Operational Research, 110:368–376, 1998. 4. J. M. Bilbao, E. Lebrón, and N. Jiménez. The core of games on convex geometries. European Journal of Operational Research, 119:365–372, 1999. 5. U. Faigle, M. Grabisch, and M. Heyne. Monge extensions of cooperation and com- munication structures. European Journal of Operational Research, 206:104–110, 2010. 10.1016/j.ejor.2010.01.043. 6. U. Faigle and W. Kern. The Shapley value for cooperative games under precedence con- straints. Int. J. of Game Theory, 21:249–266, 1992. 7. M. Grabisch. The core of games on ordered structures and graphs. Annals of Operations Research, Vol. 204 (2013), 33-64. 8. M. Grabisch. Ensuring the boundedness of the core of games with restricted cooperation. Annals of Operations Research, 191:137–154, 2011. 9. M. Grabisch and P. Sudhölter. On the restricted cores and the bounded core of games on distributive lattices. Technical Report 2012.67, Centre d’Economie de la Sorbonne, Paris, 2012. http://ideas.repec.org/s/mse/cesdoc.html. 10. M. Grabisch and P. Sudhölter. The bounded core for games with precedence constraints. Annals of Operations Research, Vol. 201 (2012), 251-264. doi: 10.1007/s10479-012-1228- 9. 11. M. Grabisch and L. J. Xie. The restricted core of games on distributive lattices: how to share benefits in a hierarchy. Mathematical Methods of Operations Research, 73:189–208, 2011. Some applications of Lattice Analysis (1983-2013) Vincent Duquenne CNRS-IMJ / C&O, Université Pierre et Marie Curie, 4 place Jussieu, 75005 Paris, France duquenne@math.jussieu.fr Abstract. Following [1,2] we report on applications of Lattice Analysis either for deciphering data or for clarifying abstract lattices. Here, lattices are often considered as implication models that can be summarized with canonical basis [3,1,4,5] or (semi) lattice cores [1]. In a more symmetric way decompositions through lattice congruence / tolerance relations are used for real data analysis as well as for getting understandable structures of abstract lattices [6,7 and below]. As for the needed algorithms, many efforts have been done to “overtake” the NEXT-CLOSURE algorithms since their discovery in 1984 [5]. For implications the fees may involve an exponential explosion in memory. We will just try to give some visions of what could be next in doing with(-out) NEXT-CLOSURE. Hence in a fresh original spirit of the early eighties, for all these and further de- velopments we still promote “more simplicity with more structure” (and toler- ances ...) for deepening the concept systems and lattice applications. Keywords: closure operator, lattice, canonical basis of implications, quasi / pseudo-closed, (semi) lattice cores, perspectivities / arrows, congruences / tol- erances, combinatorial exhaustive enumeration, NEXT-CLOSURE algorithms. References 1. Duquenne, V.: Contextual implications between attributes and some representation prop- erties for finite lattices. In Ganter, B., Wille, R., Wolf, K. (eds.), Beitrage zur Begriff- sanalyse, 213-239, Wissenschaftsverlag, Mannheim: (1987), reprinted in ICFCA’2013. 2. Duquenne V., Latticial structures in Data Analysis, Th. Comp. Sci. 217 (1999) 407-436. 3. Guigues J.-L., Duquenne.V.: Familles minimales d'implications informatives résultant d'un tableau de données binaires. Mathématiques & Sciences Humaines 95, 5-18, (1986). 4. Duquenne, V.: Some Variations on Alan Day's Algorithm for Calculating Canonical Basis of Implications. In Diatta, J., Ecklund, P., Liquière, M. (eds.), CLA’2007, 17-25. 5. Ganter, B.: Algorithmen zur Formalen Begriffsanalyse. In Ganter, B., Wille, R., Wolf, K. (eds.), Beitrage zur Begriffsanalyse, , Wissenschaftsverlag, Mannheim: 241-255 (1987). 6. Duquenne V. and A. Cherfouh, On permutation lattices, Math. Soc. Sci. 27 (1993) 73-89. 7. V. Duquenne, Lattice Drawings and Morphisms, ICFCA’2010, Lecture Notes in Artifi- cial Intelligence 5986 (L. Kwuida and B. Sertkaya eds) 2010, 88-103. 8 Vincent Duquenne Fig. 1. Peasants x possessions. Lattice gluing decomposable, hence substitution properties... From : Models of possessions and Lattice Analysis, Social Sci. Information (1995). Fig. 2. Perm(5) quotiented by the meet of its maximal congruences: “having the same comple- ments”. From : On permutation lattices, Mathematical Social Sciences (1994). A practical application of Relational Concept Analysis to class model factorization: lessons learned from a thematic information system A. Osman Guédi1,2,3 , A. Miralles2 , M. Huchard3 , and C. Nebut3 1 Université de Djibouti, Avenue Georges Clémenceau BP: 1904 Djibouti (REP) 2 Tetis/Irstea, Maison de la télédétection, 500 rue JF Breton 34093 Montpellier Cdx 5 3 LIRMM (CNRS et Univ. Montpellier), 161, rue Ada, F-34392 Montpellier Cdx 5 Abstract. During the design of class models for information systems, databases or programming, experts of the domain and designers discuss to identify and agree on the domain concepts. Formal Concept Analysis (FCA) and Relational Concept Analysis (RCA) have been proposed, for fostering the emergence of higher level domain concepts and relations, while factorizing descriptions and behaviors. The risk of these methods is overwhelming the designer with too many concepts to be analyzed. In this paper, we systematically study a practical application of RCA on several versions of a real class model for an information system in order to give precise gures about RCA and to identify which congurations are tractable. Keywords: Class model, class model factorization, Formal Concept Analysis, Relational Concept Analysis 1 Introduction Designing class models for information systems, databases or programs is a com- mon activity, that usually involves domain experts and designers. Their task con- sists in capturing the domain concepts, and organizing them in a relevant special- ization structure with adequate abstractions and avoiding redundant concepts. Formal Concept Analysis (FCA) and its variant Relational Concept Analysis (RCA) have been proposed to assist this elaboration phase, so as to introduce new abstractions emerging from the identied domain concepts, and to set up a factorization structure avoiding duplication. FCA classies entities having char- acteristics1 , while RCA also takes into account the fact that entities are linked by relations. The concept lattices produced can be exploited so as to obtain the generalization structure for the class model. Nevertheless, while this whole factorization structure of a class model is a mathematical object with strong theoretical properties, its practical use might 1 The usual terms in the FCA domain are "objects" and "attributes"; we prefer not using them here because they conict with the vocabulary of class models. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 9–20, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 10 Abdoulkader Osman Guédi et al. suer from limitations due to the large size of the obtained lattices. In such a case, domain experts might be overwhelmed by the produced information making it dicult (or even impossible) to use it to improve the class model. In this paper we want to assess, in a real case study, the size of the fac- torization results, in order to have a solid foundation for proposing practical recommendations, tools or approaches. We work with a kind of "worst case" of RCA application, by using all the modeling elements and not limiting our investi- gation to some elements (like classes and attributes, or classes and operations). We show, via various selected graphics, how RCA behaves. Our experiments indicate which congurations are tractable, admitting that some tools present results in a ne way, and which congurations lead to quite unusable results. The rest of the paper is structured as follows. Section 2 briey explains how FCA and RCA can contribute to a class model design. Section 3 settles the environment for our experiments and introduces our case study. Section 4 presents and discusses the obtained results. Section 5 presents related work, and section 6 concludes. 2 Concept lattices in class model refactoring In this section, we explain how concept lattices implement and reveal the under- lying factorization structure of a class model. We also show how this property can be exploited for class model refactoring, and in particular: generating new reusable abstractions that improve the class organization and understanding, especially for domain experts, limiting attribute and role duplication. Formal Concept Analysis [5] is a mathematical framework that groups enti- ties sharing characteristics: entities are described by characteristics (in a Formal Context), and FCA builds (formal) concepts from this description. In Relational Concept Analysis (RCA) [9], the data description consists of several Formal Contexts and relations. The main principle of RCA is to iterate on FCA appli- cation, and the concepts learnt during one iteration for one kind of entity are propagated through the relations to the other kinds of entities. The concepts are provided with a partial order which is a lattice. In the obtained concept lattices, we distinguish merged concepts and new concepts. A merged concept is a concept that has more than one entity in its simplied extent. This means that the entities of the simplied extent share the same description. A new concept is a concept that has an empty simplied extent. This means that no entity has exactly the simplied intent of the concept as set of characteristics: Entities of the whole extent own the characteristics of the simplied intent in addition to other characteristics. To apply FCA to class models, we encode the elements of a class model into formal contexts. For example, we provide a context describing the classes by their attributes. The FCA approach then reveals part of the factorization structure and supports part of the refactoring process by using a straightforward description of UML elements. For example, we can discover new concepts for classes interpreted as new super-classes, factorizing two attributes. A practical appl. of Relational Concept Analysis to class model factorization 11 Nevertheless this approach does not fully exploit the deep structure of the class model. Let us take the example of Figure 1(a). The attribute name is dupli- cated in classes B1 and B2, and FCA can generate the model of Figure 1(b) that introduces a new class (here manually named NamedElement) that factorizes this attribute. However, FCA does not compute the factorization that can be found in Figure 1(c), in which a class called SuperA factorizes the two associations from A1 to B1 and from A2 to B2, being given that now B1 and B2 have an ancestor NamedElement. (a) (b) (c) Fig. 1. Example of factorization in class models Extracting abstractions using this deep structure can be done with RCA, which builds the entire factorization structure, including information on the elements (classes, attributes, associations) and their relations. RCA uses the fact that classes are linked through associations. In the rst iteration step, RCA computes the factorization in Figure 1(b), and then propagates the new concept NamedElement through the association between classes. Then the factorization of Figure 1(c) is computed during the next iteration steps. The process stops there since a xpoint is found (no new abstractions can be found). 12 Abdoulkader Osman Guédi et al. The obtained structure contains no duplication, and improves the organiza- tion of the model. However, when applied on large data, RCA may result in the introduction of many new concepts , that may be too abstract, and/or too many to be analyzed. That is why in the next sections, we investigate on a case study the behavior of RCA for a large class model corresponding to an actual information system. Our objective is to determine if RCA remains suitable for large class models, and how to congure RCA to obtain exploitable results. 3 The Pesticides class model and experimental setup Our case study is a class model which is part of a project from the Irstea insti- tute, called Environmental Information System for Pesticides (EIS-Pesticides). It aims at designing an information system centralizing knowledge and informa- tion produced by two teams: a Transfer team in charge of studying the pesticide transfers from plots to rivers and a Practice team which mainly works on the agricultural practices of the farmers. The domain analysis has been carried on during series of meetings with one team or both teams. Fifteen versions of this class model have been created during this analysis. Figure 2 shows the number of model elements over the versions. 600 #Classes 500 #Attributs #Associations #Elements 400 300 200 100 0 V0 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 Fig. 2. The number of model elements over the various versions Our tool is based on the Modeling Tool Objecteering2 and the framework eRCA3 . eRCA has been extended for computing metrics. In this paper we fo- cus on a conguration (part of the meta-model) including the following entities described in formal contexts: classes, associations, operations (very few in the Pesticides model), roles and attributes. Their characteristics are their names. The relations describe: which class owns which attribute, which class owns which operation, which class owns which role, which association owns which role and which type (class) has a role. When applying RCA to this conguration, we obtain 5 concept lattices, one for each formal context. We also consider four 2 http://www.objecteering.com/ 3 http://code.google.com/p/erca/ A practical appl. of Relational Concept Analysis to class model factorization 13 parameterizations for this conguration depending on whether we take into ac- count navigability and undened elements. If a navigability is indicated on an association, meaning that objects from the source know objects from the target (not the reverse), taking into account navigability (denoted by Nav) results in the following encoding: the source class owns the corresponding role, but the target class does not own any role corresponding to that association. Not taking into account navigability (denoted by noNav) means that the source class and the target class own their respective role in the association. In the modeling tool, un- named roles are named "undened". We can choose to include this "undened" name in the contexts (denoted by Undef) or not (denoted by noUndef). 4 Results In this section, we report the main results that we obtain. We consider two special iteration steps: step 1 (close to FCA application) and step 6 (where paths of length 6 in the model are followed, meaning that abstractions on classes created at step 1 have been exploited to create other class abstractions through roles and associations). At step 1 for example, common name attributes are used to nd new superclasses. At step 4, new superclasses can be found as shown in Figure 1(c), and 2 steps later, new super-associations can be found from the class concepts found at step 4. We examine, for classes and associations, which are the main elements of the model, metrics on new class concepts and new associations concepts (Section 4.1), then on merge class and association concepts (Section 4.2). Execution time is presented in Section 4.3, and we conclude this part by giving indications about the number of steps when the process reaches the x- point. 4.1 New abstractions We focus rst on the new concepts that appear in the class lattice and in the association lattice. They will be interpreted as new superclasses or as new gener- alizations of associations. In a collaborative work, these concepts are presented to the experts who use some of them to improve the higher levels of the class model with domain concepts not explicit until then. This is why their number is important; if too many new abstractions are presented to the experts, these ex- perts might be overwhelmed by the quantity, preventing a relevant and ecient use of the method. Figure 3 (left-hand side) shows the new concepts in the class lattice (thus the new superclasses) at step 1, when paths of size 1 have been traversed. For example, this means that if some classes have attributes (or roles) of the same name in common, those attributes (or roles) will certainly be grouped in a new class concept. This new class concept can be presented to the expert to control if this corresponds to a new relevant class abstraction (or superclass). We notice that Nav parameterizations produce less new concepts than noNav ones. This is due to the fact that noNav parameterizations induce much more circuits in the 14 Abdoulkader Osman Guédi et al. analyzed data, increasing the number of RCA steps and the number of gener- ated concepts. The number of new concepts decreases as the analysis process progresses. Step 1 Step 6 Fig. 3. New class abstractions created at step 1 and 6 v.s. the number of initial classes In the best case (of percentage of new superclasses), 32% of new potential superclasses will be presented to the experts, for the model V11 which contains 170 classes, giving 54 new potential superclasses. In the worst case, we have 112% of new potential superclasses, for V0 model, which has 34 classes, thus only 38 new potential superclasses are found. At this stage, we do not see a serious dierence between the four parameterizations. Results obtained at step 6 are much more dicult to deal with. Figure 3 (right-hand-side) shows that the two parameterizations noNav (generating more cycles in data) give results that will need serious ltering to separate relevant new concepts from the large set of new concepts . Nav parameterizations will produce less than one and a half the initial number of classes, while noNav parameterizations can produce up to 10998 class concepts, really requiring either additional post-treatments or avoiding to generate all the concepts. Figure 4 (left-hand side) shows the new concepts in the association lattice at step 1. They represent associations that are at a higher level of abstraction. Ex- perts can examine them, to see if they can replace a set of low-level associations. In Nav parameterizations, at most 15 higher level associations are presented to experts; in noNav parameterizations, the number grows until 32, remaining very reasonable to analyze. Figure 4 (right-hand side) shows the new concepts in the association lattice at step 6. It highlights the fact that, at this step, the number of these concepts may explode, and it is especially high in the last versions of the class model, in which we initially have many associations. The number of new association concepts, in Nav parameterizations, is less than a hundred, and it still remains reasonable (even if it is higher than in step 1), but in noNav parameterizations it dramatically grows and may reach about 9500 concepts. A practical appl. of Relational Concept Analysis to class model factorization 15 Step 1 Step 6 Fig. 4. New association abstractions created at step1 and 6 v.s. the number of initial associations 4.2 Merged concepts Merged concepts are concepts which introduce several entities (e.g classes or associations) in their extent. Such entities share exactly the same description in the model. For example, a merge class concept can group classes that have exactly the same name attributes. This common description is rst detected at step 1, then it does not change because the following steps rene the description by adding new relational characteristics and concepts; entities remain introduced in the same concepts. For classes and associations, the merged concept number is the same for the four analysis congurations. For experts, analyzing a merged concept consists in reviewing the simplied extent and examining if the entities (class or association) have been exhaustively described or eectively correspond to a same domain concept. Figure 5 (left-hand side) presents metrics for merge class concepts. V5 and V6 have a higher percentage of merged concepts because during analysis, a package has been duplicated at step 5 for refactoring purpose. The duplicated classes have been removed at step V7. In the other cases, there are not so much merge class concepts to be presented to the experts, between 0% and 2%, giving a maximum of two classes. This often corresponds to classes with incomplete description, that the experts should develop into more details. The low number of such cases makes the task of experts easy. Ratio # merge class concepts Ratio # merge association concepts on # initial classes on # initial associations Fig. 5. Merge class concept and merge association concepts vs. initial elements 16 Abdoulkader Osman Guédi et al. Figure 5 (right-hand side) presents metrics for merge association concepts. The percentage of merge association concepts is higher than the percentage of merge class concepts. This is explained by the fact that associations are only described by roles, that occasionally share the same names (identical to some class names). It varies between about 2% and 18%, meaning that at most 10 merge association concepts are presented to the experts for evaluation, making a little bit more complicated the analysis task compared to the case of classes, but it remains very reasonable. 4.3 Execution time, used RAM and total number of steps Experimentations have been performed on a cluster composed of 9 nodes, each one having 8 processors Intel (R) Xeon (R) CPU E5335 @ 2.00GHz with 8 Go of RAM. The operating system was Linux (64 bits) and the programs are written in Java. Figure 6 shows the execution time in seconds, at step 1 and at step 6. At step 1, the execution time for the two Nav parameterizations are below 6 seconds, while for the two noNav parameterizations, for some versions (especially when there are more associations, like in the last versions) it may reach about 13 sec- onds. At step 6, the execution time for the two Nav parameterizations are below 8 seconds. But for the noNav parameterizations, we notice longer executions, up to 10 minutes. However, such a task does not require an instantaneous answer, and has not to be carried out too many times. Even if it occurs during an expert meeting, it can be admitted to spend a few minutes for constructing the concept lattices. Table 1. Figures on used memory (in MegaBytes) Step Parameters min max average Nav-Undef 39 453 237 Nav-noUndef 17 471 205 Step 1 noNav-Undef 41 969 480 noNav-noUndef 24 969 532 Nav-Undef 44 471 213 Nav-noUndef 6 403 140 Step 6 noNav-Undef 33 1846 656 noNav-noUndef 33 1147 520 Table 1 shows the RAM used during execution, here again, noNav parame- terizations are the worst, reaching about 2 GigaBytes of used memory. In the case of Nav parameterizations, it is interesting to observe that there is not a signicant dierence between step 1 and step 6. A practical appl. of Relational Concept Analysis to class model factorization 17 Step 1 Step 6 Fig. 6. Execution time at step 1 and 6 (in seconds) Figure 7 shows, for the Nav-noUndef parameterization the total number of steps needed to reach the x-point, and the size of a longest path with no re- peated arcs (such a path can be a cycle). We observe that the step number (from 6 to 16) is always below the size of the longest simple path which gives in our context a practical upper bound to the number of steps. This means that if we dispose in the future of relevant ltering strategies, we can envisage studying new concepts appearing after step 6. Fig. 7. Step number (rst) and longest simple path size (second) in C2, Nav-noUndef parameterization 4.4 Discussion During this study, we observed that analyzing merge class concepts and merge association concepts was a feasible task in all parameterizations. The analysis of new class concepts and new associations concepts is more dicult. Nav pa- rameterizations produce exploitable results with a maximum of about 50 class concepts (resp. about 30 new association concepts) to be examined at step 1. At step 6, experts may have to face from one to three hundreds of new class concepts (resp. about one hundred of new association concepts). Execution time and used memory are not problematic issues and we get a practical upper bound to the number of steps in this kind of data, which is given by the size of a longest simple path. These observations may be the starting point of an ecient steering method for a collaborative class model construction. The objective of such a method 18 Abdoulkader Osman Guédi et al. would be to insert between each model release, an RCA-based analysis, in order to accelerate the discovery of new abstractions, and the completion of elements (highlighting of the merged concepts ). Both the concepts and the structure of the lattice are useful for the experts to determine which relevant modications should be applied. The strength of the lattice representation is that it provides a structure adapted to the task of choosing the right new abstractions, since concepts can be presented following the specialization order, depending of what is the demand of experts. Known eects of some parameterizations can serve to favor dierent steering strategies. The longest simple path size gives a bound on the step number, giving an heuristic to decide when to stop the RCA process, with an idea about how far we are from the convergence. Nav parameterizations can be easily controlled by looking, at each step, the appearing concepts (and marking the non-relevant ones to avoid nding them again at next steps). If information is expected from NoNav parameterizations, experts have to be very careful because many concepts will be created. A particular sub-order of the concept lattice (the AOC-poset), induced by the concepts that introduce an entity or a characteristic, might oer an important reduction of the produced concept numbers, without loosing main information about factorization. Another track is limiting input data, for example by removing attributes that have limited semantic value and to group concepts declaring few attributes. There are of course some limits to the generalization of our conclusions. The class model is mainly a data model (very few operations), destined to build a database schema and we study various versions of a same class model. Never- theless, the Pesticides model is a classical model, representative of the models that are built in the environmental eld. 5 Related work The use of FCA in the domain of class model refactoring has a long and rich history in the literature. As far as we know, it has been introduced in the semi- nal paper of Godin et al. [6] for extracting abstract interfaces from a Smalltalk class hierarchy and extensions of the work have been published in [7]. Other ap- proaches have been proposed, that take into account more information extracted from source code like super calls and method signatures in [2]. In [1], authors report an application of RCA to several medium-size class models of France Télécom (now Orange Labs). The RCA conguration was com- posed of classes, methods, attributes, and associations. Classes have no descrip- tion; attributes are described by name, multiplicity and initial value; methods are described by name and method body; associations are described by names, role name and information like multiplicity and navigability. Associations are connected to their origin and destination classes, classes are connected to the attributes and operations they own, attributes are connected to classes that are their type, etc. The class models contain a few dozens of classes and the new con- cepts to be examined by experts varies from a few concepts to several hundreds. A practical appl. of Relational Concept Analysis to class model factorization 19 In [11] detailed gures are given. In the largest project (57 classes), the number of new concepts was 110 for the classes, 9 for the associations and 59 for the properties. In this paper, we have several class models that are greater in terms of number of classes and we reify the role notion, rather than encoding it in the association description, with the risk of having more produced concepts. We discard technical description (like multiplicity which has no strong semantics). We also analyze the merged concepts, another interesting product of RCA. In [8], RCA has been applied on an excerpt of the class model of the Jetsmiles software of JETSGO society4 . The class model excerpt is composed of only 6 classes, connected by 9 associations, and about 30 attributes. Attributes and roles are mixed, and classes are connected by a relational context to attributes- +roles, while attributes+roles are connected by another relational context to their type (when it is a class). The UML elements are described by many tech- nical features: multiplicity, visibility, being "abstract", initial value, etc. A post- treatment analyzes the built concepts in order to keep the most relevant ones. The class concept lattice contains about 35 concepts while the attribute+role concept lattice has about 25 concepts. In [8], the size of the class model is very small. We suspect that using the conguration with many technical elements would not be scalable in the case of the Pesticides model. RCA has been experimented on two Ecore models, two Java programs and ve UML models in [4]. The used conguration is composed of the classes and the properties (including attributes and roles) described by their names and their connections. To report some representative results of this experiment, in Apache Common Collections, which is composed of 250 classes, RCA nds 34 new class concepts and less than 80 new property concepts; in UML2 metamodel, which is composed of 246 classes and 615 properties, RCA extracts 1534 new class concepts and 998 new property concepts. In this experiment, associations were not encoded, contrary to what we do. Nevertheless an explosion of the concept number yet appears. In our case, we introduce associations in the conguration, and we show, that with some precautions as annotating by navigability and naming the roles, refactoring with data including the associations may remain feasible. A more recent study [3] compared three strategies of FCA/RCA application to part of the open-source Java Salome-TMF software which comprises 37 classes and 142 attributes5 . In the RCA strategy (ARC-Name), a formal context in- cludes the classes (no description), a formal context describes the attributes by their names and the hyperonyms of their names, and relations connect classes and their attributes (and reversely). ARC-Name produces 33 new class con- cepts, and 3 merge class concepts, 21 new attribute concepts and 13 merge attribute concepts. Java softwares do not have associations and it is dicult to generalize these results to the general case of class models. Compared to this work, here we do not use linguistic information, this will be done in a future work, nevertheless the terms in the model are not technical identiers but rather do- 4 http://www.jetsgo.net/ 5 http://wiki.ow2.org/salome-tmf/ 20 Abdoulkader Osman Guédi et al. main terms carefully selected by the expert group, thus there are less problems in using them directly. Here we use the same class models as in [10] where RCA based metrics were proposed to assist a designer during the evolution of the class model in indicating him the evolution of the level of description and the level of abstraction. 6 Conclusion and perspectives In this paper, we describe the most advanced study of the application of RCA on class models, so as to obtain a relevant factorization structure. We apply RCA on several versions of the model of the same information system (from 40 to 170 classes), and we study the impact of several parameters in the application. The objective was to observe RCA on real-sized class models, so as to draw conclusions, mainly on its scalability. The experiment shows that taking into account the navigability, it is still possible to analyze the newly introduced ab- stractions. Consequently, RCA can be considered to scale to real-size models, if it is adequately parameterized. However, the produced results remain quite large to analyze, and new strategies can be settled to face the number of concepts to analyze. References 1. Dao, M., Huchard, M., Hacene, M.R., Roume, C., Valtchev, P.: Improving Gen- eralization Level in UML Models Iterative Cross Generalization in Practice. In: ICCS 2004. pp. 346360 (2004) 2. Dicky, H., Dony, C., Huchard, M., Libourel, T.: On automatic class insertion with overloading. In: OOPSLA 96. pp. 251267 (1996) 3. Falleri, J.R.: Contributions à l'IDM : reconstruction et alignement de modèles de classes. Ph.D. thesis, Université Montpellier 2 (2009) 4. Falleri, J.R., Huchard, M., Nebut, C.: A generic approach for class model normal- ization. In: ASE 2008. pp. 431434 (2008) 5. Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundation. Springer-Verlag Berlin (1999) 6. Godin, R., Mili, H.: Building and maintaining analysis-level class hierarchies using Galois lattices. In: OOPSLA 93. pp. 394410 (1993) 7. Godin, R., Mili, H., Mineau, G., Missaoui, R., Ar, A., Chau, T.: Design of Class Hierarchies Based on Concept (Galois) Lattices. Theory And Practice of Object Systems 4(2) (1998) 8. Hacene, M.R.: Relational concept analysis, application to software re-engineering. Ph.D. thesis, Universite du Quebec A Montreal (2005) 9. Hacene, M.R., Huchard, M., Napoli, A., Valtchev, P.: Relational concept analysis: mining concept lattices from multi-relational data. Ann. Math. Artif. Intell. 67(1), 81108 (2013) 10. Osman Guédi, A., Miralles, A., Amar, B., Nebut, C., Huchard, M., Libourel, T.: How relational concept analysis can help to observe the evolution of business class models. In: CLA 2012. pp. 139150 (2012) 11. Roume, C.: Analyse et restructuration de hiérarchies de classes. Ph.D. thesis, Uni- versité Montpellier 2 (2004) Galois Sub-Hierarchies Used for Use Case Modeling Ants Torim1 Tallinn University of Technology, Ehitajate tee 5, 19086 Tallinn, Estonia ants.torim@ttu.ee Abstract. Use case diagrams are the core diagrams of the Unified Mod- eling Language (UML), de facto standard for software modeling. They are used to visualize relations between the users (Actors) and the func- tionality of the software system (Use Cases). Galois sub hierarchy (GSH) is a sub-order of the concept lattice that contains only concepts with ob- ject or attribute labels. This paper investigates the viability of GSH for visualizing the information contained within use case diagrams. While it is possible that a GSH diagram is more complex than a use case diagram for certain formal contexts a study of 87 student projects found no such case. On average, use case diagrams had 3.7 times more graphical ele- ments than corresponding GSH diagrams, demonstrating the viability of GSH as a more compact alternative to the use case diagram. 1 Introduction Software engineering has a long tradition of graphical modeling, there are many different diagram types like flowcharts, BPMN, ERD and even languages like UML containing over dozen diagram types. Most of these diagrams have el- ements connected with directed or non-directed connections. Each element is represented as a node and each connection as a line between these nodes. While this approach is easy to understand and apply, methods of Formal Concept Anal- ysis (FCA) like Galois sub hierarchies (GSH) can represent the same information in a more concise way, significantly reducing the number of graphical elements. This is achieved because a single node in GSH diagram can represent several elements (it can have many labels) and a line can represent many connections. This conforms to the “reduce redundant data-ink” principle from E. Tufte’s clas- sic work on visual information displays [19]. GSH diagram makes it easy to see which elements have same connections and which element has a subset of other elements connections inviting interesting comparisons. GSH diagrams are most natural to use when there are two types of elements and connections between these (a bipartite graph). This applies to the UML use case diagram that describes actors, use cases and connections between them. A study presented here compares the GSH approach with the UML use case diagram. There is also a brief overview about describing the connections between use cases and data tables with diagrams, information present in CRUD matrix, another traditional software engineering artifact. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 21–32, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 22 Ants Torim 2 Galois Sub-Hierarchies Our method of visual representation is based on Galois sub- hierarchy (GSH) diagrams from the field of Formal Concept Analysis (FCA). This article uses some FCA terminology (formal concept, concept lattice, extent, intent) without explanation and definitions, these can be found from many foundational articles of this field [21], [9], [22], [23] . GSH is a subset of the concept lattice that contains only labeled concepts. More formally, concept (A, B) from the formal context (G, M, I) belongs to the GSH if and only if for some object g ∈ G, (A, B) = ({g}00 , {g}0 ), or dually, for some attribute m ∈ M , (A, B) = ({m}0 , {m}00 ). GSH as a tool for software engineering was introduced by Godin and Mili [10] for the purpose of class hierarchy re-engineering. This work differs from the standard FCA practice as the main area of in- terest is not finding the concepts but visualizing the connections between the elements of G and M in a concise way. Semantics of G and M can vary: objects and attributes, use cases and actors, use cases and data tables. Users of GSH diagrams would need to be acquainted with the following properties to see the connections between G and M : 1. GSH diagrams show nodes (concepts), connections between them and labels from the sets G and M attached to the nodes. Each element from G and M has exactly one corresponding label. 2. g ∈ G is connected to m ∈ M iff there is an upward path from label g to label m or they are labels of the same node. 3. If g1 , g2 ∈ G and there is an upward path from g1 to g2 then the set of elements g2 is connected to, g20 , is a subset of g10 . 4. Dually, if m1 , m2 ∈ M and there is a downward path from m1 to m2 then the set of elements m2 is connected to, m02 , is a subset of m01 . 5. If g1 , g2 ∈ G and g1 and g2 are labels of the same node then g20 = g10 . 6. Dually, if m1 , m2 ∈ M and m1 and m2 are labels of the same node then m02 = m01 . Figure 1 presents a simple formal context where G = {1, 2, 3, 4, 5, 6} and M = {a, b, c, d, e, f } and its corresponding GSH diagram. abcdef 1 x x 2x 3 x 4 x x 5 x 6 xx x Fig. 1. A formal context with the corresponding GSH diagram. Galois Sub-Hierarchies Used for Use Case Modeling 23 There are several tools for concept lattice generation: Concept Explorer [24], ToscanaJ [4], GaLicia [20]. Of these, only GaLicia supports Galois sub- hierarchies, but its labeling scheme is not convenient for our purposes as its labels contain full concept intents and extents, therefore same element can ap- pear many times in different labels. Two freely available tools were developed as bachelor theses, supervised by the author. One is GSH builder by Kristo Aun [3], another is GSH by Maarja Raud [15]. Both generate GSH diagrams that show the labels, not extents or intents. 3 Use Cases and Actors Use Case modeling is a common tool for specifying functional requirements. An actor is something with behavior (person, computer system) who interacts with our system. A use case is a collection of related success and failure scenarios that describe an actor using a system to support a goal [13]. A detailed description of the use case is given in a text document while the use case diagram shows a general overview: actors and their relationships to use cases. Use case diagram can also show include and extend relations between use cases. A use case diagram is a diagram type within Unified Modeling Language. There are many books written about the topic including [16] and [13]. Following example (Figure 2) is redrawn from Craig Larmans partial use case diagram describing NextGen sales system: a computerized application used to record sales and handle payments in a retail store [13](pp. 29, 71). This is a basic use case diagram showing use cases, actors and connections between them. Fig. 2. Use case diagram. Actors, like System Administrator, are shown as stick figures. Use cases, like Manage Users, are shown as ovals. Actors participation within a use case is shown as a line. Spatial arrangement conveys no information here, unlike in diagrams of FCA. 24 Ants Torim Fig. 3. GSH diagram showing connections between use cases and actors. Figure 3 shows a GSH diagram, equivalent to the use case diagram from Figure 2. It is more concise with only 5 nodes and 2 lines, compared to 14 nodes and 14 lines from Figure 2. A comparison of diagram types based on counting the number of visual elements may seem simplistic but it is in accordance with the principle stated by E. Tufte in his influential work on information displays [19]: “ erase redundant data-ink, within reason”. Possible reasons for redundancy being: “giving a context and order to complexity, facilitating comparisons over various parts of data, perhaps crafting an aesthetic balance.” It is much easier to see from GSH diagrams the actors that are related to same use cases, for example Accounting System, Tax Calculator and Payment Authorization System. GSH diagram makes also visible subset relationships between the use case sets that actors participates in, for example Cashier can do anything that a HR System can do. Therefore GSH diagram both reduces the data ink and compares favorably with the use case diagram in giving a context and order to complexity and facilitating comparisons over various parts of data. Use case diagrams can contain relations between the use cases or between the actors. Relating use cases is described by C. Larman [13] as “an optional step to possibly improve their comprehension or reduce duplication” GSH diagram showing relations between actors and use cases can not contain this information. Figure 4 presents an example about generalization and include relationships. Generalization is shown as a relation with a big arrowhead from less general subtype to more general supertype. Subtype inherits relations that its super- types have. Actor Moderator is a subtype of an actor User and thus inherits its connection to Post a comment use case. Generalization relation between use cases is defined dually. Generalization relations can be used to reduce the num- ber of connections within the use case diagrams. While defining formal contexts we add inherited relations to the subtypes. Include and extend relations between use cases describe sub-functionality: more complex use case includes the behavior of a smaller use case. They allow to introduce different levels of abstraction: A. Cockburn [6] defines three common levels of abstraction: summary, user goal (default level) and sub-function level. Galois Sub-Hierarchies Used for Use Case Modeling 25 He also mentions very high summary (used rarely) and too low (should not be used) abstraction levels. S. Ambler recommends to avoid more than two levels of use case associations [1]. Use cases Post a comment and Delete inappropriate comment include a common Log in sub-functionality. Use case Manage comments includes use cases Post a comment and Delete inappropriate comment. Levels of abstraction different from the default user goal level are shown through UML stereotypes. Extend and include arrows correspond to the direction of reference within the use case documentation. In the case of an include relation, use case containing the sub-functionality has a reference to it, in the case of an extend relation, the sub-functionality has a reference to the use case containing it. Extend relation is treated here as an include relation going to the opposite direction. A method used here to deal with the include and extend relations is to focus on a single level of abstraction (preferably user goal or summary). Use cases at higher or lower levels of abstractions are removed and their relations to actors are added to the use cases they have include/extend relations with. This can introduce superfluous relations: it is impossible to deduce from the use case diagram if a particular actor from the higher level use case participates in certain sub-functionality or not, use case text has to be examined for that. Fig. 4. Use case diagram with generalization and include relations. Figure 5 shows how previous diagram (Figure 4) has been flattened as de- scribed to the user goal abstraction level through the removal of generalization and include relations and is now in the form that can be used for GSH generation. GSH diagrams scale well when the number of use cases increases. Figure 6 is based on the example project Chair in University from the course “Introduction to information systems” in Tallinn University of Technology. Original documen- 26 Ants Torim Fig. 5. Previous use case diagram flattened to the user goal level of abstraction. tation had entire use case model split into four use case diagrams containing 25 use cases, 3 actors and 30 connections between actors and use cases. These 4 diagrams are not reproduced here due to limited space. Equivalent GSH diagram contains 5 nodes and 4 lines. That is a significant improvement in conciseness. Fig. 6. Labelled line diagram for Chair in University information system. In the previous examples GSH diagrams have all been simpler (less nodes, less connections) than use case diagrams. It is easy to see that GSH diagram can have no more nodes than the corresponding use case diagram as each GSH node must have at least one label and labels don’t repeat. However, for certain contexts, GSH diagram can have more connections than the corresponding use case diagram, as shown in the following example. Figure 7 shows a formal context with 16 connections and a corresponding GSH diagram with 18 connections. That raises a question if GSH diagrams are really simpler than use case diagrams for practical applications. Following study tries to answer this. Galois Sub-Hierarchies Used for Use Case Modeling 27 ABCD 1 x x 2 x x 3 x x 4 x x 5 x x 6 x x 7 x x x x Fig. 7. A formal context with a corresponding GSH diagram that has more lines than the number of original connections. 4 Study A study of 87 student projects, that were presented to the author for 2012 “Introduction to information systems” course, was completed to compare the use case and GSH diagrams. Student projects contained the analysis documentation for a freely chosen information system, including use case diagrams. Some of these projects were done in groups and were larger and there was also a variation of effort and quality. For all these projects a corresponding GSH diagram was generated, based on its use case diagram. Some diagrams contained generalization relations between actors. In this case sub-actors inherited all the relations from super-actors in the corresponding formal context. Some diagrams contained includerelationships between use cases. For these cases, only use cases at the user goal level were kept, use cases included in these and their connections with actors were merged into the user goal level use cases as described in the previous section. Use case and connection counts are for diagrams after removing the use cases not at the user goal level of abstraction but before the removal of generalization relations. Generalization relation is counted as one line. Table 1. Results of the study. U C: number of use cases, A: number of actors, L: number of lines in the use case diagram, GSHC : number of concepts in GSH, GSHL : number of lines in GSH. UC A UC + A L U C + A + L GSHC GSHL GSHC+L Minimum 3 2 6 4 10 2 0 2 Average 10.77 3.55 14.32 14.86 29.18 4.64 3.2 7.84 Maximum 27 9 32 40 68 13 14 24 28 Ants Torim Ratio between the average number of elements of the use case diagrams and the GSH diagrams is (U C + A + L)/GSHC+L = 3.72. Fig. 8. Scatter plot showing the number of visual elements (use case and GSH dia- grams) for the 87 student projects. Figure 8 shows the scatter plot of student projects showing the number of visual elements on use case and GSH diagrams. It is easy to see that in all cases GSH diagram was simpler than use case diagram, as all the data points lie below the diagonal (U C + A + L) = GSHC+L line. This confirms that, at least for the information systems with 30 or less use cases, GSH diagrams are much more concise than the use case diagrams. Use case diagrams have their own advantages. They are easier to sketch and modify by hand and they are easier to decompose into several diagrams. That seems to suggest complementary roles for use case and GSH diagrams, use case diagrams for quick sketching and GSH diagrams for a well-formated and concise view of the system. Galois Sub-Hierarchies Used for Use Case Modeling 29 5 CRUD matrix Use cases are not only connected to the actors who require such a functionality but they operate on data tables. GSH diagrams are useful for modeling these connections too. CRUD matrix is a well known artifact of software engineering that describes relations between data tables and use cases. It is described in several popular books about systems design [7] and databases [14]. Use of CRUD matrix as a basis for GSH diagrams was described by author in [18]. It is shortly summarized here to show the usefulness of GSH diagrams for different software engineering activities. There are 4 basic actions performed on data tables by use cases: (C)reate, (R)ead, (U)pdate, (D)elete. In some variations use cases are replaced with actors or business processes. Table 2 contains a CRUD matrix for a simplified library system. Columns correspond to data tables and rows to use cases. Letters c, r, u, d inside the cells of the matrix correspond to 4 basic actions. For example, use case Add New Task reads data from the table Employee and creates (adds) new data to the table Task. Table 2. CRUD matrix for a simplified library system. Reused from previous article [18]. Employee Reader Task Loan EmployeePosition Book Manage readers crud Manage employees crud cd Manage books crud Add loan c r Add new task r c Return loaned book u r We can think of a CRUD matrix as defining dependencies between use case layer and data layer. To describe only dependencies we introduce a new binary matrix where all entries with no actions in the original CRUD matrix are replaced with 0 and all entries with at least one action are replaced with 1. We refer to such a matrix as a usage matrix. Table 3 is a usage matrix for Table 2. It is obvious that usage matrix, and therefore GSH diagram, can be gener- ated automatically from CRUD matrix. That kind of tool could provide visual representation of CRUD matrix without extra effort from the tool user. Figure 9 is a GSH diagram based on the usage matrix from Table 3. From the GSH diagram it is much easier to see the elements with same dependencies, like use cases Add loan and Return loaned book and disconnected subsystems, like use case Manage Readers with data table Reader. GSH diagrams are also helpful for detecting hidden similarities/isomorphisms between different contexts. It is 30 Ants Torim Table 3. Usage matrix for a simplified library system. Based on Table 2. Employee Reader Task Loan EmployeePosition Book Manage readers x Manage employees x x Manage books x Add loan x x Add new task x x Return loaned book x x Fig. 9. Labelled line diagram based on Table 3. much easier to see that GSH diagrams from Figures 1 and 9 are isomorphic than that matrices from Figure 1 and Table 3 are isomorphic. 6 Related work The use of methods of FCA for software engineering is not a novel idea. A thorough survey of FCA support for software engineering activities is given in [17]. Most of such research is about extracting potential class hierarchies from different contexts. Dolques et al [8] propose a FCA-based method for simplifying use case dia- grams through the introduction of new generalizations. The result of this method is a refactored use case diagram. Their method preserves the information of in- clude and extend relations. Reduction of diagram elements seems to be smaller than with GSH based method reviewed here though these results are hard to compare exactly as they present them in the terms of edge density (ratio of ex- isting edges to all possible edges). It is possible that the edge density goes down while the actual number of edges increases when new generalized use cases and actors are introduced. Galois Sub-Hierarchies Used for Use Case Modeling 31 Wolfgang Hesse and Thomas Tilley [12] use a concept lattice connecting use cases and ”things” as a tool for identifying candidate classes for object oriented design. There has been much research into using FCA and GSH for class hierarchy design [10], [11]. Algorithms for GSH generation are compared in the article by Arévalo et al [2], a newer algorithm Hermes is presented by Berry et al [5]. 7 Conclusions GSH diagrams can be a concise replacement for UML use case diagrams. In our study they had 3.7 times less visual elements. GSH diagrams are likely to be useful wherever there are connections between two types of elements: actors and use cases, use cases and data tables, use cases and classes, business processes and use cases and so on. One area for further research is the software engineering activity of group- ing elements into subsystems. Similar use cases can be grouped into functional subsystems, similar data tables can be grouped into registers. GSH and concept lattice diagrams can help here by organizing elements by similar connections. Use cases that depend on the same data tables are likely to be similar. Group- ing elements with similar connections into same subsystems would also help to minimize the connections at subsystem level. GSH diagrams can also be used to visualize the subsystem level connections, thus promising to be a quite universal tool for software engineering. References 1. Ambler, S., W. (2005): The Elements of UML 2.0 Style. Cambridge University Press. 2. Arévalo, G., Berry, A., Huchard, M., Perrot, G., Sigayret, A. (2007): Performances of Galois Sub-Hierarchy-Building Algorithms. Formal Concept Analysis, LNCS, vol. 4390, 166-180. 3. Aun, K.: Galois sub-hierarchy builder. [WWW] http://sourceforge.net/projects/gshbuilder/ (15.09.2013). 4. Becker, P., Hereth, J., Stumme, G. (2002): ToscanaJ - an Open Source Tool for Qualitative Data Analysis. Advances in Formal Concept Analysis for Knowledge Discovery in Databases. Proc. Workshop FCAKDD of the 15th European Conference on Artificial Intelligence, 1-2. 5. Berry, A., Huchard, M., Napoli, A., Sigayret, A. (2012): Hermes: an Efficient Algo- rithm for Building Galois Sub-hierarchies. CLA 2012: 21-32. 6. Cockburn, A. (2000): Writing Effective Use Cases. Boston: Addison-Wesley. 7. Dennis, A., Haley Wixom, B., Roth, R. (2008): Systems Analysis and Design, 4th ed. Wiley. 8. Dolques, X., Huchard, M., Nebut, C., Reitz, P. (2012): Fixing Generalization Defects in UML Use Case Diagrams. Fundam. Inform. 115(4): 327-356. 9. Ganter, B.,Wille, R. (1998): Formal Concept Analysis, Mathematical Foundations. Berlin: Springer. 10. Godin, R., Mili, H. (1993): Building and Maintaining Analysis-Level Class Hierar- chies using Galois Lattices. Proceedings of OOPSLA 28, 394-410. 32 Ants Torim 11. Godin, R., Valtchev, P. (2005): Formal Concept Analysis-Based Class Hierarchy Design in Object-Oriented Software Development. Formal Concept Analysis 2005, LNCS, vol. 3626, 304-323. 12. Hesse, W., Tilley, T. (2005): Formal Concept Analysis Used for Software Analysis and Modelling. Formal Concept Analysis 2005, LNCS, vol. 3626, 259-282. 13. Larman, C. (2002): Applying UML and Patterns, 2nd ed. Upper Saddle River, NJ: Prentice Hall. 14. Oppel, A. J. (2004): Databases Demystified. New York: McGraw-Hill. 15. Raud, M.: GSH. [WWW] http://staff.ttu.ee/ torim/fca.html (15.09.2013). 16. Rumbaugh, J., Jacobson, I., Booch, G. (1999): The Unified Modelling Language Reference Manual. Boston: Addison Wesley. 17. Tilley, T., Cole, R., Becker, P., Eklund, P. (2005): A Survey of Formal Concept Analysis Support for Software Engineering Activities. Formal Concept Analysis 2005, LNCS, vol. 3626, 250-271. 18. Torim, A. (2011): A Visual Model of the CRUD Matrix. Proceedings of the 21th European-Japanese Conference on Information Modelling and Knowledge Bases. (Ed.) Jaak Henno, Yasuhi Kiyoki, Takehiro Tokuda, Naofumi Yoshida. Tallinn: TTU Press, 114 - 122. 19. Tufte, E. R. (2001): The Visual Display of Quantitative Information, 2nd ed. Cheshire, Connecticut: Graphics Press. 20. Valtchev, P., Grosser, D., Roume, C., Hacéne, R. (2003): Galicia: an Open Platform for Lattices. Using Conceptual Structures: Contrib. to the 11th ICCS, 241-254. 21. Wille, R.: Restructuring lattice theory (1982): an approach based on hierarchies of concepts. Ordered Sets, pp. 445-470. 22. Wille, R., Stumme, G., Ganter, B. (2005): Formal Concept Analysis: Foundations and Applications, Berlin: Springer. 23. Wille, R. (2005): Formal Concept Analysis as Mathematical Theory of Concepts and Concept Hierarchies. Formal Concept Analysis 2005, LNCS, vol. 3626, 47-70. 24. Yevtushenko, S. A. (2000): System of Data Analysis ”Concept Explorer” (In Rus- sian). Proceedings of the 7th national conference on Artificial Intelligence KII, 127- 134. Computing Similarity Dependencies with Pattern Structures Jaume Baixeries1 , Mehdi Kaytoue2 , and Amedeo Napoli3 1 Universitat Politècnica de Catalunya. 08032, Barcelona. Catalonia. 2 Université de Lyon. CNRS, INSA-Lyon, LIRIS. UMR5205, F-69621, France. 3 LORIA (CNRS - Inria Nancy Grand Est - Université de Lorraine), B.P. 239, F-54506, Vandœuvre-lès-Nancy. jbaixer@lsi.upc.edu,mehdi.kaytoue@insa-lyon.fr,amedeo.napoli@loria.fr Abstract. Functional dependencies provide valuable knowledge on the relations between the attributes of a data table. To extend their use, gen- eralizations have been proposed, among which purity and approximate dependencies. After discussing those generalizations, we provide an al- ternative definition, the similarity dependencies, to handle a similarity relation between data-values, hence un-crisping the basic definition of functional dependencies. This work is rooted in formal concept analysis, and we show that similarity dependencies can be easily characterized and computed with pattern structures. 1 Introduction In the relational database model, functional dependencies (FDs) are among the most popular types of dependencies [19] since they indicate a functional relation between sets of attributes: the values of a set of attributes are determined by the values of another set of attributes. To handle errors and uncertainty in real-world data, alternatives exist. Approximate Dependencies [12] are FDs that hold in a part –which is user defined– of the database. Purity Dependencies [15] express the relationship on the relative impurity induced by two partitions of the table (generated by two sets of attributes). If the impurity is zero, we have a FD. These generalizations do not necessarily capture the semantics of some pat- terns that may hold in a dataset. This motivates the definition of “Similarity Dependencies”, which can be seen as a generalization of Functional Dependen- cies, but un-crispring the basic definition of FDs: similar values of an attribute determine similar values of another attribute. Similarity has been considered for FDs under several terms, e.g. fuzzy FDs [3], matching dependencies [16], constraint generating dependencies [2]. Moreover, it is still an active topic of research in the database community [4,8,16,17]. The main objective of the present article is to give a characterization of similarity dependencies within FCA [10], thanks to the formalism of pattern structures [9]. Indeed, characterizing and computing FDs is strongly related to lattice theory and FCA. For example, the lattice characterization of a set of FDs is studied in [5,6,7], while a characterization within a formal context in c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 33–44, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 34 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli FCA is proposed in [10]. The latter is based on a binarization, which is the transformation of the original set of data into a binary context. To overcome the burden usually induced by such a transformation, pattern structures [9] have emerged as a valuable alternative to avoid arbitrary transformations and complexity problems [1]. Accordingly, our purpose here is threefold. Firstly, we propose a definition of Similarity Dependencies, and secondly a formalization based on pattern struc- tures in FCA, avoiding a transformation of data into a binary table. It follows that classical algorithms of FCA can be –almost directly– applied to compute similarity dependencies. This work is based on [1] where FDs are characterized thanks to pattern structures, and on [13] where similarity is introduced in pat- tern structures as a tolerance relation (reflexive, symmetric, but not transitive). Finally, we also report preliminary experiments showing the capabilities of the approach. The paper is organized as follows. In Section 2 we introduce the definition of Functional, Approximate and Purity Dependencies. In Section 3 we propose a definition and a characterization of Similarity Dependencies with pattern struc- tures. Finally, Section 4 reports preliminary experimental results showing the capabilities of our approach. 2 Functional, Approximate and Purity Dependencies 2.1 Notation We deal with datasets which are sets of tuples. Let U be a set of attributes and Dom be a set of values (a domain). For the sake of simplicity, we assume that Dom is a numerical set. A tuple t is a function t : U 7→ Dom and then a table T is a set of tuples. Usually a table is presented as a matrix, as in the table of Example 1, where the set of tuples (or objects) is T = {t1 , t2 , t3 , t4 } and U = {a, b, c, d} is the set of attributes. The functional notation allows to associate an attribute with its value. We define the functional notation of a tuple for a set of attributes X as follows, assuming that there exists a total ordering on U. Given a tuple t ∈ T and X = {x1 , x2 , . . . , xn } ⊆ U, we have: t(X) = ht(x1 ), t(x2 ), . . . , t(xn )i In Example 1, we have t2 ({a, c}) = ht2 (a), t2 (c)i = h4, 4i. In this paper, the set notation is usually omitted and we write ab instead of {a, b}. Example 1. This is an example of a table T = {t1 , t2 , t3 , t4 }, based on the set of attributes U = {a, b, c, d}. id a b c d t1 1 3 4 1 t2 4 3 4 3 t3 1 8 4 1 t4 4 3 7 3 Computing Similarity Dependencies with Pattern Structures 35 We are also dealing with the set of partitions of a set. Let S be any arbitrary finite set, then, Part(S) is the set of all possible partitions that can be formed with S. The set of partitions of a set is a lattice [11]. We recall that partitions can also be considered as equivalence classes induced by an equivalence relation. Now, we define the set of the “maximal subsets” of a set. Definition 1. Given a finite base set S and X = {X1 , X2 , . . . , Xn } a set of subsets of S, a subset Xi is maximal in X if there does not exist any other subset Xj in X such that Xi ⊂ Xj . Then XM ax is the set of the maximal subsets of X. For example, let S = {a, b, c} and X = {{a, b}, {b, c}, {a}, {b}}. Then X is a subset of ℘(S) the powerset of S, but not all elements of X are maximal subsets. Indeed, XM ax = {{a, b}, {b, c}}. Moreover, we define the function maxS which applies to a set of sets such as X and returns the set of maximal subsets of X, i.e. XM ax . Definition 2. Given a finite set S and a subset X = {X1 , X2 , . . . , Xn } of ℘(S), the function maxS returns the set XM ax of maximal subsets of X: maxS (X) = XM ax = {Xi ∈ X | @Xj ∈ X : Xi ⊂ Xj } 2.2 Functional Dependencies We now introduce functional dependencies (FDs). Definition 3 ([19]). Let T be a set of tuples (or a data table), and X, Y ⊆ U. A functional dependency (FD) X → Y holds in T if: ∀t, t0 ∈ T : t(X) = t0 (X) ⇒ t(Y ) = t0 (Y ) For example, the functional dependencies a → d and d → a hold in the table of Example 1, whereas the functional dependency a → c does not hold since t2 (a) = t4 (a) but t2 (c) 6= t4 (c). There is an alternative way of considering Functional Dependencies using partitions of the set of tuples T . Taking a set of attributes X ⊆ U, we define the partition of tuples induced by this set as follows. Definition 4. Let X ⊆ U be a set of attributes in a table T . Two tuples ti and tj in T are equivalent w.r.t. X when: ti ∼ tj ⇐⇒ ti (X) = tj (X) Then, the partition of T induced by X is a set of equivalence classes: ΠX (T ) = {c1 , c2 , . . . , cm } 36 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli For example, if we consider the table in Example 1, we have Πa (T ) = {{t1 , t3 }, {t2 , t4 }}. Given X, ΠX (T ) is a partition or alternatively an equivalence relation. Then we have: S 1. ΠX (T ) = T , for all X ⊆ U. 2. ci ∩ cj = ∅ for all ci , cj ∈ ΠX (T ), i 6= j. The classes in a partition induced by X are disjoint and they cover all the tuples in T . The set of all partitions of a set T is Part(T ). We can also notice that the set of partitions of any set Part(T ) induces an ordering relation ≤: ∀Pi , Pj ∈ Part(T ) : Pi ≤ Pj ⇐⇒ ∀c ∈ Pi : ∃c0 ∈ Pj : c ⊆ c0 For example: {{t1 }, {t2 }, {t3 , t4 }} ≤ {{t1 }, {t2 , t3 , t4 }}. According to the par- titions induced by a set of attributes, we have an alternative way of defining the necessary and sufficient conditions for a functional dependency to hold: Proposition 1 ([12]). A functional dependency X → Y holds in T if and only if ΠY (T ) ≤ ΠX (T ). Again, taking the table in Example 1, we have that a → d holds and that Πd ≤ Πa since Πa (T ) = {{t1 , t3 }, {t2 , t4 }} and Πd (T ) = {{t1 , t3 }, {t2 , t4 }} (actually d → a holds too). 2.3 Purity and Approximate Dependencies Approximate Dependencies [12]. In a table, Example 2. This table is an ex- there may be some tuples that prevent a func- cerpt of the Average Daily Tem- perature Archive 4 from The Uni- tional dependency from holding. Those tuples versity of Dayton, that shows the can be seen as exceptions (or errors) for that de- month average temperatures for dif- ferent cities. pendency. Removing such tuples allows the de- pendency to exist: then a threshold can be set to id Month Year Av. Temp. City define a set of “approximate dependencies” hold- t1 1 1995 36.4 Milan ing in a table. For example, a threshold of 10% tt2 15 1996 1996 33.8 63.1 Milan Rome 3 means that all functional dependencies holding t4 5 1997 59.6 Rome after removing up to 10% of the tuples of a ta- t5 1 1998 41.4 Dallas t6 1 1999 46.8 Dallas ble are valid approximate dependencies. The set t7 5 1996 84.5 Houston of tuples to be removed for validating a func- t8 5 1998 80.2 Houston tional dependency does not need to be the same for each approximate depen- dency. Considering in Example 2 the dependency M onth → Av.T emp, we can check that 6 tuples should be removed before verifying the dependency: we keep only one tuple for Month 1 and one tuple for Month 5 (actually just as if we remove “duplicates”). Then, if the threshold is equal to or larger than 75%, M onth → Av.T emp is a valid Approximate Dependency. Purity Dependencies [15] are a generalization of the relationship between partitions induced by the left-hand side and right-hand side of a functional de- pendency. These dependencies are based on the relative impurity measure of two Computing Similarity Dependencies with Pattern Structures 37 partitions. In order to compute this impurity measure, we need a concave and subadditive function defined on the interval [0, 1] (for example, the binary en- tropy function). The intuition about this measure is that it computes how much those partitions disagree, i.e. how far two partitions π and σ are from fulfilling the relation π ≤ σ. If the impurity measure is zero (or close to zero), then π ≤ σ. For example, the impurity measure (details on this measure are given in [14]) of partition {{1, 2, 3}, {4, 5}} w.r.t. partition {{1, 2}, {3, 4, 5}} is 5.6, whereas the impurity measure of partition {{1, 3}, {2, 5}, {4}} w.r.t. partition {{1, 2}, {3, 4, 5}} is 8.2. In the first pair of partitions, only tuple 3 is misplaced, i.e. moving 3 from one partition to another leads to the the same partitions, whereas in the sec- ond example, the number of misplaced elements is larger (2, 3, and 4 should be moved). An important feature of this measure is that if a partition is finer than another, then, their relative impurity measure is exactly 0. This implies that a purity dependency X → Y holds if and only if the relative impurity of ΠX (T ) w.r.t. ΠY (T ) is below a user-defined threshold. Therefore, if ΠY (T ) ≤ ΠX (T ), a functional dependency is a valid purity dependency, regardless of the threshold. For example, we consider all the possible dependencies having the attribute Average Temperature in their right-hand side. The purpose of this choice is to find out which attributes determine the values of the average temperature (Av. Temp.) in Example 2. Considering Approximate Dependencies, we introduce the two metrics # Tuples and Percentage: # Tuples denotes the minimal number of tuples that must be removed from the dataset for allowing the dependency to hold, and Percentage denotes the percentage that # Tuples represents for the whole dataset. For example, the Approximate Dependency M onth → Av.T emp holds when we remove at least 6 (well-chosen) tuples, which represent 75% of the whole dataset. Example 3. Dependencies with Average Temperature in their right-hand and the metrics related to Approximate and Purity Dependencies. Dependency #Tuples Percentage Purity Month -> Av. Temp 6 75% 12.98 Month, Year -> Av. Temp 1 12.5% 4.0 Month, City -> Av. Temp 4 50% 4.0 Year -> Av. Temp 3 37.5% 8.26 Year, City -> Av. Temp 0 0% 0.0 City -> Av. Temp 4 50% 4.0 As for the purity measure, we use the measure of relative entropy of two partitions described in [14]. If we examine the dependency M onth → Av.T emp, we should the relative entropy of the partitions induced by Month and Av. Temp., which are, respectively: ΠM onth = {{t1 , t2 , t5 , t6 }, {t3 , t4 , t7 , t8 }} ΠAv.T emp. = {{t1 }, {t2 }, {t3 }, {t4 }, {t5 }, {t6 }, {t7 }, {t8 }} 38 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli Then, the relative entropy of ΠM onth and ΠAv.T emp. is 12.98, i.e. the largest of the conditional entropies that are computed. Actually the number of tuples that need to be reallocated for ΠAv.T emp. ≤ ΠM onth is significantly large. It is also significant that the number of tuples that need to be removed for the dependency Y ear, City → Av.T emp to hold is zero and that the relative en- tropy of ΠY ear,City and ΠAv.T emp. is zero as well. The Functional Dependency Y ear, City → Av.T emp holds because there is no pair of tuples ti , tj such that ti (Y ear, City) = tj (Av.T emp.), i.e. there is no need to remove any tuple to verify this dependency. In addition the relative entropy of ΠY ear,City and ΠAv.T emp. is zero, because the partitions induced by both sides, ΠY ear,City and ΠAv.T emp are exactly the same: {{t1 }, {t2 }, {t3 }, {t4 }, {t5 }, {t6 }, {t7 }, {t8 }}. Therefore, the relation ΠY ear,City ≤ ΠAv.T emp holds, i.e. the relative entropy is zero and this dependency trivially holds. Yet, the intuition about this dataset is that the “Average Temperature” de- pends, to some extent, on the location and the month, i.e. given a city and a month, we should be able to predict the average temperature. But this intuitive relationship is somehow difficult to deduce with Approximate and Purity Depen- dencies. For example, the metrics for the dependency M onth, City → Av.T emp indicate that 4 tuples must be removed (50% of the dataset) for checking this de- pendency, or alternatively, the relative entropy of the partitions ΠM onth,City and ΠAv.T emp is 4.0. Considering the number of tuples, removing 50% of the whole dataset is a lot, especially if the intuition tells that this dependency should hold. Considering the entropy rate, the smallest entropy rate is zero and the largest computed rate is 12.98. Thus, it seems difficult to deduce the right threshold in each case. Instead of considering measures that deal with the sets of tuples as a whole, dependencies could be directly related with the notion of “similarity”: if two tuples have similar values for the attributes Month and City, then they should have a similar value for the attribute Av. Temp. This can be interpreted as follows: if two cities are close enough and the corresponding months are also close enough, then the average temperature in the cities should be close enough or “similar” as well. In such a context, “having similar values” depends on the type of the attributes. For temperatures it mean that the absolute difference of the values is less than a given threshold. For months, it could mean that they are adjacent. For cities, it could mean that their locations are close enough. Such a kind of dependency would provide more control and a more intuitive explanation of the relations existing between attributes. 3 Similarity Dependencies First, we define a tolerance relation in a set S: Definition 5. θ ⊆ S × S is a tolerance relation if: 1. ∀si ∈ S : si θsi (reflexivity) 2. ∀si , sj ∈ S : si θsj ⇐⇒ sj θsi (symmetry) Computing Similarity Dependencies with Pattern Structures 39 A tolerance relation is not necessarily transitive and induces blocks of tolerance: Definition 6. Given a set S, a subset K ⊆ S, and a tolerance relation θ ⊆ S×S, K is a block of tolerance of θ if: 1. ∀x, y ∈ K : xθy (pairwise correspondence) 2. ∀z 6∈ K, ∃u ∈ K : ¬(zθu) (maximality) All elements in a tolerance block are in pairwise correspondence, and the block is maximal with respect to the relation θ. The set of all tolerance blocks induced by a tolerance relation θ on the set S is denoted by S/θ (by analogy with the notation of equivalence classes). S/θ is a set of maximal subsets of S and as such, S/θ ∈ ℘(℘(S)). Thus we have: Property 1. ∀Ki , Kj ∈ S/θ : Ki * Kj and Kj * Ki for all i 6= j Then, we define a partial ordering on the set of all possible tolerance relations in a set S as follows: Definition 7. Let θ1 and θ2 two tolerance relations in the set S. We say that θ1 ≤ θ2 if and only if ∀Ki ∈ S/θ1 : ∃Kj ∈ S/θ2 : Ki ⊆ Kj This relation is a partial ordering and induces a lattice where the meet and join operations of two tolerance relations θ1 and θ2 , or, equivalently, on the sets of blocks of tolerance of θ1 and θ2 are: Definition 8. Let θ1 and θ2 two tolerance relations in the set S. θ1 ∧ θ2 = θ1 ∩ θ2 = maxS ({ki ∩ kj | ki ∈ S/θ1 , kj ∈ S/θ2 }) θ1 ∨ θ2 = θ1 ∪ θ2 = maxS (S/θ1 ∪ S/θ2 ) The meet θ1 ∧ θ2 is the set of pairwise intersections of all blocks in S/θ1 and S/θ2 , and then removing intersections that are not maximal. The join is simpler as it consists in simply joining the blocks of tolerance in S/θ1 and S/θ2 and then removing the unions that are not maximal. An example of a tolerance relation is the similarity that can be defined within a set of integer values as follows. Given two integer values v1 , v2 and a threshold  (user-defined): v1 θv2 ⇐⇒ |v1 − v2 | ≤ . For example, when S = {1, 2, 3, 4, 5} and  = 2, then S/θ = {{1, 2, 3}, {2, 3, 4}, {3, 4, 5}}. S/θ is not a partition as transitivity does not apply. We now come back to the set of tuples T and the set of attributes M . For each attribute m ∈ M , we define a tolerance relation on the values of that attribute: θm . The set of tolerance blocks induced by the tolerance relation of the attribute m is T /θm . All the tuples in a tolerance block K ∈ T /θm are similar one to the other according to their values w;r.t. the attribute m. Example 4. Let us define a tolerance relation on an attribute m ∈ {a, b, c, d} as follows: ti θm tj ⇐⇒ |ti (m) − tj (m)| ≤ . Now, assuming that  = 1 in example 1, we have: T /θa = {{t1 , t3 }, {t2 , t4 }}, T /θb = {{t1 , t2 , t4 }, {t3 }}, T /θc = {{t1 , t2 , t3 }, {t4 }} and S/θd = {{t1 , t3 }, {t2 , t4 }}. 40 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli We can also extend this definition to sets of attributes. Given X ⊆ U, the similarity relation θX is defined as follows: (ti , tj ) ∈ θX ⇐⇒ ∀m ∈ X : (ti , tj ) ∈ θm Two tuples are similar w.r.t. a set of attributes X if and only if they are similar w.r.t. each attributes in X. We now can define a similarity dependency: Definition 9. Let X, Y ⊆ U: X → Y is a similarity dependency iff: ∀ti , tj ∈ T : ti θX tj ⇒ ti θY tj In the case of a functional dependency, X → Y holds if and only if, for each pair of tuples having the same value w.r.t. the attributes in X, then, they have the same value w.r.t. the attributes in Y . In the case of a similarity dependency, X → Y holds if and only if, for each pair of tuples having similar values w.r.t. the attributes in X, then, they have similar values w.r.t. the attributes in Y . Example 5. We revisit the table in Example 4 and we define the tolerance rela- tion: ti θm tj ⇐⇒ |ti (m)−tj (m)| ≤ 2. Then the following similarity dependencies hold: a → d, ab → d, abc → d, ac → d, b → d, bc → d, c → d. It is interesting to notice that b → d is a similarity dependency but not a functional dependency, as t1 (b) = t2 (b) and t1 (d) 6= t2 (d). Because of the same pair of tuples, the similarity dependency bcd → a does not hold, as t1 θbcd t2 but we do not have t1 θa t2 , since |t1 (a) − t2 (a)|  2. By contrast, the functional dependency bcd → a holds because there is no pair of tuples ti , tj such that ti (bcd) = tj (bcd). Example 6. Going back to example 2, let us compute the Similarity Dependen- cies that hold and that have the attribute Av. Temp. in their right-hand side). Dependency Holds Month -> Av. Temp N Month, Year -> Av. Temp N Month, City -> Av. Temp Y Year -> Av. Temp N Year, City -> Av. Temp N City -> Av. Temp N The only similarity dependency that holds is M onth, City → Av.T emp, using the following similarity measures for each attribute: x θM onth y ⇐⇒ |x − y| ≤ 0, x θY ear y ⇐⇒ |x − y| ≤ 0, x θCity y ⇐⇒ distance(x, y) ≤ 500 and x θAv.T emp y ⇐⇒ |x − y| ≤ 10. The similarity imposes that the month and year must be the same, whereas the distance between cities should be less than 500 kilometers and the difference between average temperatures should be less than 10 degrees (all these values are of course arbitrary). In particular, considering the tuples t1 , t2 : t1 θM onth,City t2 since t1 (M onth) = t2 (M onth) = h 1 i and t1 (City) = t2 (City) = h M ilan i. From the other side, we have that t1 θAv.T emp. t2 since |36.4 − 33.8| ≤ 10. Computing Similarity Dependencies with Pattern Structures 41 3.1 Computing Similarity Dependencies with Pattern Structures A pattern structure allows one to apply FCA directly on non-binary data [9]. Formally, let G be a set of objects, let (D, u) be a meet-semi-lattice of potential object descriptions and let δ : G −→ D be a mapping associating each object with its description. Then (G, (D, u), δ) is a pattern structure. Elements of D are patterns and are ordered thanks to a subsumption relation v: ∀c, d ∈ D, c v d ⇐⇒ c u d = c. A pattern structure (G, (D, u), δ) is based on two derivation operators (·) . For A ⊆ G and d ∈ (D, u): l A = δ(g) d = {g ∈ G|d v δ(g)}. g∈A These operators form a Galois connection between (℘(G), ⊆) and (D, u). Pattern concepts of (G, (D, u), δ) are pairs of the form (A, d), A ⊆ G, d ∈ (D, u), such that A = d and A = d . For a pattern concept (A, d), d is a pattern intent and is the common description of all objects in A, the pattern extent. When partially ordered by (A1 , d1 ) ≤ (A2 , d2 ) ⇔ A1 ⊆ A2 (⇔ d2 v d1 ), the set of all concepts forms a complete lattice called pattern concept lattice. Thanks to the formalism of pattern structures, similarity dependencies can be characterized (and computed) in an elegant manner. Firstly, the description of an attribute m ∈ M is given by δ(m) = G/θm which is given by the set of tolerance blocks w.r.t. θm and G = T . As tolerance relations can be ordered as presented and discussed in Definitions 7 and 8, then descriptions can be ordered within a lattice. Then, a dataset can be represented as a pattern structure (M, (D, u), δ) where M is the set of original attributes, and (D, u) is the set of sets of blocks of tolerance over G provided with the meet operation defined in Definition 8. An example of concept formation is given as follows. Starting from the set {a, c} ⊆ M and assuming that ti θm tj ⇐⇒ |ti (m)−tj (m)| ≤ 2 for all attributes: {a, c} = δ(a) u δ(c) = {{t1 , t3 }, {t2 , t4 }} u {{t1 , t2 , t3 }, {t4 }} = {{t1 , t3 }, {t2 }, {t4 }}  {{t1 , t3 }, {t2 }, {t4 }} = {m ∈ M |{{t1 , t3 }, {t2 }, {t4 }} v δ(m)} = {a, c} This pattern concept lattice allows us to characterize all similarity depen- dencies holding in M : Proposition 2. A similarity dependency X → Y holds in a table T if and only if: {X} = {XY } in the pattern structure (M, (D, u), δ). Proof. First of all, we notice that (t, t0 ) ∈ {X} if and only if t(X)θX t0 (X), since (t, t0 ) ∈ {X} if and only if ∀x ∈ X : t(x)θx t0 (x), if and only if t(X)θX t0 (X). We also notice that {X, Y } ⊆ {X} . (⇒) We prove that if X → Y holds in T , then, {X} = {X, Y } , that is, {X} ⊆ {X, Y } . We take an arbitrary pair (t, t0 ) ∈ {X} , that is: t(X)θX t0 (X). 42 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli Since X → Y holds, it implies that t(XY )θXY t0 (XY ), and this implies that (t, t0 ) ∈ {X, Y } . (⇐) We take an arbitrary pair t, t0 ∈ T such that t(X)θX t0 (X). Therefore, we have that (t, t0 ) ∈ {X} , and by hypothesis, (t, t0 ) ∈ {XY } , that is: t(XY )θXY t0 (XY ). Since this is for all pairs t, t0 ∈ T such that t(X) = t0 (X), this implies that X → Y holds in T . 4 Experiments Dataset description. Electronic sport denotes the extreme practice of video games where so-called cyber-athletes compete in world-wide tournaments. As for any sport, such professionals are surrounded by sponsors and practice within professional teams. These professional games are even broadcast by commenta- tors over specialized TV channels [18]. StarCraft II (Blizzard Entertainment) is the most competitive video game. Since e-sport is a digital entertainment, one can easily find game statistics and recording in great numbers on the Web. We list more than 209, 000 games between two opponents and their associated statis- tics (attributes). For each game, we derive two tuples (one for each of the players involved). Each player in a game (tuple) is described by 31 attributes such as his faction, the result, and several indicators of his game play. Experimental settings. The final dataset has about 400, 000 tuples described by 31 attributes with different domain types (Boolean, qualitative, and numeri- cal). For attributes with Boolean or non-ordered qualitative domains, the simi- larity parameters are set to 0 as for classical FDs, since we do not have similarity constraints between their values. For the others, parameters are set by an expert of the domain, helped with the distribution of that attribute values. Thanks to the genericity of pattern structures, we slightly modified the very simplistic Java version of CloseByOne used in [1] for extracting classical FDs. The only modi- fication lies in building the descriptions, i.e. producing tolerance blocks instead of partitions over the set of objects. We experimented on 1.8GHz and 4GB of RAM machines. Preliminary results. We build first several different sub-datasets with ran- domly chosen set of tuples and different subsets of attributes. We report exe- cution times for extracting pattern concepts (and their count) to characterize functional dependencies and similarity dependencies for three datasets in Fig- ure 1. We also report the average number of tolerance classes of each attribute (that allows to build their description). In Figure 1 (a), the dataset is composed of qualitative and not comparable attributes only. Thus, we set the similarity parameters to 0 and observe that extracting FDs and SDs requires the same amount of time and returns the same concepts (since setting the similarity pa- rameter to 0 leads to partitions). Naturally, the number of tolerance blocks is high, corresponding to the cardinality of attribute domains. We added more at- tributes, among which 5 numerical, and introduce the similarity parameters, see Figure 1 (b) and (c). The number of tolerance blocks is still high since it is an average for all attributes, and attribute domains are very dense. We notice that Computing Similarity Dependencies with Pattern Structures 43 there are more concepts to characterize SDs than FDs. This is due to our choice of similarity parameters. Finally, we face memory issues when computing pat- tern concepts for SDs, when the algorithms terminates for FDs. This is due to our pattern implementations, i.e. how a pattern is represented in the memory. We used striped partitions, i.e. not store any part of size 1, which can strongly reduce the pattern size in memory. For FDs, this experimentally happens more often than for SDs, due to the relaxation of the equality constraint. We need to investigate other pattern implementations. 100000 10 100000 400 350 10000 300 10000 250 tim e (s) tim e (s) Count Count 1000 200 150 1000 100 100 50 10 0 100 0 100 250 500 1000 5000 7500 10000 50000 100 250 500 1000 5000 7500 10000 50000 (a) 8 attributes (b) 12 attributes 100000 800 700 600 10000 500 tim e (s) Count 400 300 1000 200 #Concepts (FD) 100 #Concepts (SD) 100 0 Tim e (FD) 100 250 500 1000 5000 7500 10000 50000 Tim e (SD) #tolerance blocks in avg. (c) 17 attributes (d) Legend Fig. 1. Experimental results (X-axis represents the number of objects/tuples) 5 Conclusion We discussed how Functional, Approximate and Purity Dependencies may not capture some relationships among attributes that intuitively exist in a dataset. We presented alternatively Similarity Dependencies, to express relationships be- tween attributes based on a similarity measure that depends on the semantics of each attribute. We showed that similarity dependencies are easily characterized in FCA with pattern structures and we gave a preliminary experimental study. Future work is in concern with a deeper investigation of the best in-memory pattern representations for fast and scalable computation, the introduction of a minimal support as well as a qualitative evaluation of similarity dependencies. Acknowledgments. This research work has been supported by the Spanish Ministry of Education and Science (project TIN2008-06582-C03-01), EU PASCAL2 Network of Excellence, and by the Generalitat de Catalunya (2009-SGR-980 and 2009-SGR-1428) and AGAUR (grant 2010PIV00057). 44 Jaume Baixeries, Mehdi Kaytoue and Amedeo Napoli References 1. J. Baixeries, M. Kaytoue, and A. Napoli. Computing functional dependencies with pattern structures. In L. Szathmary and U. Priss, editors, CLA, volume 972 of CEUR Workshop Proceedings, pages 175–186. CEUR-WS.org, 2012. 2. M. Baudinet, J. Chomicki, and P. Wolper. Constraint-generating dependencies. J. Comput. Syst. Sci., 59(1):94–115, 1999. 3. R. Belohlávek and V. Vychodil. Data tables with similarity relations: Functional dependencies, complete rules and non-redundant bases. In M.-L. Lee, K.-L. Tan, and V. Wuwongse, editors, DASFAA, volume 3882 of Lecture Notes in Computer Science, pages 644–658. Springer, 2006. 4. L. Bertossi, S. Kolahi, and L. V. S. Lakshmanan. Data cleaning and query an- swering with matching dependencies and matching functions. In Proceedings of the 14th International Conference on Database Theory, ICDT ’11, pages 268–279, New York, NY, USA, 2011. ACM. 5. N. Caspard and B. Monjardet. The lattices of closure systems, closure operators, and implicational systems on a finite set: A survey. Discrete Applied Mathematics, 127(2):241–269, 2003. 6. A. Day. The lattice theory of fonctionnal dependencies and normal decompositions. International Journal of Algebra and Computation, 02(04):409–431, 1992. 7. J. Demetrovics, G. Hencsey, L. Libkin, and I. B. Muchnik. Normal form relation schemes: A new characterization. Acta Cybern., 10(3):141–153, 1992. 8. W. Fan, H. Gao, X. Jia, J. Li, and S. Ma. Dynamic constraints for record matching. The VLDB Journal, 20(4):495–520, Aug. 2011. 9. B. Ganter and S. O. Kuznetsov. Pattern structures and their projections. In H. S. Delugach and G. Stumme, editors, Conceptual Structures: Broadening the Base, Proceedings of the 9th International Conference on Conceptual Structures (ICCS 2001), LNCS 2120, pages 129–142. Springer, 2001. 10. B. Ganter and R. Wille. Formal Concept Analysis. Springer, Berlin, 1999. 11. G. Graetzer, B. Davey, R. Freese, B. Ganter, M. Greferath, P. Jipsen, H. Priestley, H. Rose, E. Schmidt, S. Schmidt, F. Wehrung, and R. Wille. General Lattice Theory. Freeman, San Francisco, CA, 1971. 12. Y. Huhtala, J. Kärkkäinen, P. Porkka, and H. Toivonen. Tane: An efficient algo- rithm for discovering functional and approximate dependencies. Computer Journal, 42(2):100–111, 1999. 13. M. Kaytoue, Z. Assaghir, A. Napoli, and S. O. Kuznetsov. Embedding toler- ance relations in formal concept analysis: an application in information fusion. In J. Huang, N. Koudas, G. J. F. Jones, X. Wu, K. Collins-Thompson, and A. An, editors, CIKM, pages 1689–1692. ACM, 2010. 14. D. Simovici and S. Jaroszewicz. An axiomatization of partition entropy. Informa- tion Theory, IEEE Transactions on, 48(7):2138–2142, 2002. 15. D. A. Simovici, D. Cristofor, and L. Cristofor. Impurity measures in databases. Acta Inf., 38(5):307–324, 2002. 16. S. Song and L. Chen. Efficient discovery of similarity constraints for matching dependencies. Data & Knowledge Engineering, (0):–, 2013. (in press). 17. S. Song, L. Chen, and P. S. Yu. Comparable dependencies over heterogeneous data. The VLDB Journal, 22(2):253–274, Apr. 2013. 18. T. L. Taylor. Raising the Stakes: E-Sports and the Professionalization of Computer Gaming. MIT Press, 2012. 19. J. Ullman. Principles of Database Systems and Knowledge-Based Systems, volumes 1–2. Computer Science Press, Rockville (MD), USA, 1989. Enumerating Pseudo-Intents in a Partial Order Alexandre Bazin and Jean-Gabriel Ganascia Université Pierre et Marie Curie, Laboratoire d’Informatique de Paris 6 Paris, France Alexandre.Bazin@lip6.fr Jean-Gabriel@Ganascia.name Abstract. The enumeration of all the pseudo-intents of a formal context is usually based on a linear order on attribute sets, the lectic order. We propose an algorithm that uses the lattice structure of the set of intents and pseudo-intents to compute the Duquenne-Guigues basis. We argue that this method allows for efficient optimizations that reduce the required number of logical closures. We then show how it can be easily modified to also compute the Luxenburger basis. 1 Introduction Various fields, such as artificial intelligence, data mining and databases, are concerned with the problem of finding implications between sets of attributes describing objects. Formal concept analysis offers a sound mathematical frame- work to help develop algorithms that compute implications. As it has been shown in [3], the set of implications of minimum cardinality needed to obtain all the interesting information can be found by enumerating attribute sets known as pseudo-intents. The best-known algorithm for the computation of pseudo-intents is Next Closure [4], in which pseudo-intents are enumerated following a total order on attribute sets called lectic order. The problem of enumerating pseudo- intents in lectic order has been studied in [2] and found to be CONP-complete. The same work has been unable to find a lower bound to the complexity of this problem once the restriction on the order is removed. This indicates that the order plays an important role and that using a weaker order could potentially yield interesting results. This prompted us to study an algorithm based on the same principles as Next Closure but with a partial order on the attribute sets instead of a linear order. We are inspired by the multiple algorithms for the related problem of enumerating formal concepts that make use of the lattice structure of the problem. There already are approaches that do not make use of the lectic order for pseudo-intents, such as the attribute incremental algorithm that has been introduced in [8], or the divide-and-conquer approach in [9] but we will not compare it to our own in this work as their nature differs. After an overview of the notations in formal concept analysis and a brief recall of Next Closure, we will present our algorithm. In a second part, we will show that it can be modified to compute not only the Duquenne-Guigues basis but also the Luxenburger basis. The functioning of the algorithm will then be illustrated by means of a small example. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 45–56, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 46 Alexandre Bazin and Jean-Gabriel Ganascia 2 Notations In formal concept analysis, data is represented by a triple C = (O, A, R), called formal context, where O is a set of objects, A a set of binary attributes and R ⊆ O × A a relation assigning a set of attributes to each object. An object o is said to be described by an attribute set A iff (o, a) ∈ R for every a ∈ A. Two derivation operators are commonly employed and defined as follows : .0 : 2A → 2O A0 = {o ∈ O | ∀a ∈ A, (o, a) ∈ R} (1) .0 : 2O → 2A O0 = {a ∈ A | ∀o ∈ O, (o, a) ∈ R} (2) The compositions of these two operators are closure operators and we will use the notation .00 for both. A set A is said to be closed if A = A00 . A closed attribute set is called an intent and a closed object set an extent. A pair (E, I) where E ⊆ O and I ⊆ A is called a formal concept of the context if I = E 0 and E = I 0 . A formal concept (A, B) is said more general than a concept (C, D) if C ⊂ A or B ⊂ D. The set of all concepts of a given context ordered in this way is a complete lattice called concept lattice of the context. An implication is a relation between two attribute sets A and B, denoted by A → B. An implication A → B is said to hold in a context if every object described by A is also described by B. We write A ≡ B if A → B and B → A. The implication A → A00 always holds in the context. An attribute set A is a pseudo-intent if it is not an intent and P 00 ⊂ A for all pseudo-intents P ⊂ A. The set B = {A → A00 | A is a pseudo-intent}, called the canonical basis, is a set of implications of minimum cardinality such that every implication that holds in the context can be inferred from it through the application of the Armstrong rules. That is, it is the minimum number of implications containing all information on the relations between attribute sets in the context. Computing the canonical basis of a context thus requires the enumeration of its pseudo-intents. This presents some challenges as the number of pseudo-intents can be exponential in the size of the context (the number of attributes), as shown in [5]. Moreover, whether pseudo-intents can be enumerated without intents is still an open problem and the number of intents can itself be exponential in the number of pseudo-intents. Enumerating Pseudo-Intents in a Partial Order 47 2.1 Next Closure The most known algorithm for computing the canonical basis is Ganter’s Next Closure [4]. For an arbitrary linear order < on A, a linear order, called lectic order, ≤lec on attribute sets is defined as follows: A ≤lec B ⇔ min(A∆B) ∈ B ∆ is the symmetric difference. The implicational closure of an attribute set A with respect to a set of implications L, usually noted L(A), is the smallest superset of A such that, for every X ⊆ L(A), we have X → Y ∈ L ⇒ Y ⊆ L(A). The implicational closure is a closure operator. The implicational pseudo-closure of an attribute set A, noted L− (A), is the smallest superset of A such that, for every X ⊂ L(A), we have X → Y ∈ L ⇒ Y ⊆ L(A). It is shown that both intents and pseudo-intents are closed under B − . Next Closure, in its original form, computes closed sets for a given closure operator. Applied to the computation of pseudo-intents, it goes through implicationally pseudo-closed subsets of A in lectic order and checks whether the result is an intent or a pseudo-intent. The lectic order being linear, every set is computed once and only once. For an attribute set A and an attribute i, the operator ⊕ is defined as follows : A ⊕ i = B − ({a ∈ A | a ≤ i} ∪ {i}) The closed set that immediately follows A in the lectic order is A ⊕ i with i maximal such that min((A ⊕ i) \ A). For each set closed under B − , Next Closure tests whether it is an intent or a pseudo-intent and then constructs the next set with the operator ⊕ until it reaches A. Numerous optimizations can be added to reduce the number of implicational closures. For example, as proposed in [8], if N ext(A) = A ⊕ i = B and min(B 00 \ A) < max(A) then we can continue as if A ⊕ i had been rejected by Next Closure. It is the only one we will consider here as it is specific to Next Closure and has no incidence on our algorithm. 3 Algorithm 3.1 Principles We consider the lattice Φ = ({A = B − (A) | A ⊆ A}, ⊆) of attribute sets closed under B − ordered by the inclusion relation. Enumerating pseudo-intents is enu- merating all the elements of Φ and testing whether they are intents or pseudo- intents. As with other enumeration problems, we want to make sure every ele- ment is found once and only once. The other great FCA problem, computing the formal concepts of a context, can be viewed as the enumeration of the elements of ({B(A) | A ⊆ A}, ⊆). It has been extensively studied (see [6] for a compari- son of different algorithms) and various approaches have been proposed for both generating elements from previous ones and checking whether an attribute set has already been found (or even preventing the generation of redundant sets). 48 Alexandre Bazin and Jean-Gabriel Ganascia Surprisingly, it seems only Next Closure is commonly used for the problem of pseudo-intents, non-batch algorithms excluded. Indeed, it is very efficient in that the lectic order on attribute sets allows for the generation of the next set with- out stocking more than the current set and the total order ensures we do not generate them more than once. However, we feel that the fact that sets are not always generated by one of their subsets is a weakness for some applications, such as data mining. We propose to modify Next Closure with techniques from some algorithms for formal concepts that make use of the lattice structure. The lectic order has the interesting property that a set B is greater than all its subsets. If B ∈ Φ is supposed to be generated by a single set, it should be one that is easily identifiable such as its lectically greatest subset A ∈ Φ. For any two A and B in Φ, we shall use A B to denote the fact that A is the lectically greatest subset of B closed under B − or, equivalently, that B is generated from A. We say that A is the predecessor of B and B is a successor of A. Proposition 1. The relation defines a spanning tree of the neighbouring graph of Φ. Proof. Any non-empty set B has at least one strict subset in Φ. We call A its lectically greatest subset in Φ. The lectic order respects the inclusion relation so there is no C such that A ⊂ C ⊂ B and A is a lower cover of B. Since every non-empty B ∈ Φ has a single lower cover A such that A B, the successor relation defines a spanning tree of the neighbouring graph of Φ.  Proposition 2. For any two A, B ∈ Φ, the attribute set B is an upper cover of A if and only if B = B − (A ∪ {i}) for every i ∈ B \ A. Proof. If B is an upper cover of A, then there is no C such that A ⊂ B − (C) ⊂ B. We have B − (A ∪ {i}) ⊆ B when i ∈ B \ A, so B = B − (A ∪ {i}) for all i ∈ B \ A. If B = B − (A ∪ {i}) for every i ∈ B \ A, given that A ∪ {i} is the smallest subset of B that contains both A and i, then there is no superset of A that is a strict subset of B.  Attribute sets are generated according to the tree, starting from ∅. The re- cursive nature of the definition of a pseudo-intent prevents us from computing a set before the computation of all its subsets. The lectic order solves this prob- lem efficiently but our tree contains only the knowledge of the lectically greatest subset. In order to make sure that every subset has been found first, we pro- pose to consider attribute sets in order of increasing cardinality. This way, when an intent or pseudo-intent of cardinality n is considered, we are sure that all pseudo-intents of cardinality n − 1 have been found. Proposition 3. If i < min(A) and A ⊂ A ⊕ i, then A ⊕ i has a subset in Φ that is lectically greater than A. Proof. If i < min(A), then B − ({a ∈ A | a ≤ i} ∪ {i}) = B − ({i}). If A ⊂ A ⊕ i, then {i} is a pseudo-intent that is a subset of A ⊕ i and is lectically greater than A.  Enumerating Pseudo-Intents in a Partial Order 49 Algorithm 1 Successors(A) 1: Successors = ∅ 2: for every attribute i greater than min(A) do 3: B =A⊕i 4: if A ⊂ B then 5: if i = min(B \ A) and ∀j ∈ B \ A, A ⊕ j = B then 6: Successors = Successors ∪ {B} 7: end if 8: end if 9: end for 10: return Successors Proposition 4. For any two attribute sets A and B such that A ⊂ B, A B ⇔ ∀i ∈ B \ A, A ⊕ i = B. Proof. If ∀i ∈ B \ A, A ⊕ i = B, then B has no subset in Φ lectically greater than A. As such, ∀i ∈ B \ A, A ⊕ i = B ⇒ A B. If A B and ∃i ∈ B \ A such that A ⊕ i ⊂ B, then B has a subset in Φ lectically greater than A, which contradicts the hypothesis. As such, A B⇒ ∀i ∈ B \ A, A ⊕ i = B.  So, in order to generate all the successors of A, it suffices to compute A ⊕ i for every i greater than min(A). If a resulting attribute set is an upper cover of A it is a successor. Testing whether a new attribute set B = A ⊕ i is a successor of A is easy as we know A ⊕ j for every j ∈ B \ A. Algorithm 1 uses this to compute the successors of an attribute set. If an attribute set B is a pseudo-intent, it is a ∧-irreducible element of Φ. That is, it has a single upper cover. If B = B − (A), the set B 00 is the lectically next set after B if max(A) ≤ min(A00 \ A). That way, if an attribute set is a pseudo-intent, we do not have to explicitly compute its successors. Algorithm 2 uses Algorithm 1 to go through the intents and pseudo-intents of the context and compute its canonical basis. It starts with ∅ and computes the closure of all the attribute sets of the same cardinality simultaneously before generating their successors. However, when an intent A is considered and its successors generated, only the pseudo-intents of cardinality lesser than |A| + 1 have been found so the A ⊕ i computed at this point might be different from the final A ⊕ i. For example, if |A ⊕ i| − |a| = 2, an implication B → C with |B| = |A| + 1 and B ⊂ A ⊕ i will change the result. For this reason, we must split Algorithm 1 into two parts. First, the sets A ⊕ i are computed for all i once every intent of cardinality |A| have been found. Then, when A ⊕ i is considered as a Candidate, we must check whether it is still logically closed and, if it is, test whether it is a successor with Proposition 4. 50 Alexandre Bazin and Jean-Gabriel Ganascia Algorithm 2 Computing the Duquenne-Guigues Basis 1: Card = 0 2: Candidates = {∅} 3: B = ∅ 4: while Candidates 6= ∅ do 5: Intents = ∅ 6: for every attribute set A of cardinality Card in Candidates do 7: if A = B− (A) and it is a successor of its generator then 8: B = A00 9: if A 6= B then 10: B = B ∪ {A → B} 11: if B lectically follows A then 12: Candidates = Candidates ∪ {B} 13: end if 14: else 15: Intents = Intents ∪ {A} 16: end if 17: else 18: A = B− (A) 19: end if 20: end for 21: for every set C in Intents do 22: Candidates = Candidates ∪ {C ⊕ i | i ∈ A and i = min((C ⊕ i) \ C)} 23: end for 24: Card = Card + 1 25: end while 26: return B Proposition 5. Algorithm 2 terminates and produces the canonical basis of the context. Proof. An attribute set can only be used to generate attribute sets of greater cardinality. The set of attributes is finite, so the algorithm terminates when it reaches A. Every element of Φ, except ∅, has a lower neighbour that is a predecessor in the spanning tree. If we generate the attribute sets along the tree, the lattice Φ being complete, every one of its elements is considered at least once. If an attribute set A is not equal to B − (A) it is not a pseudo-intent so all pseudo- intents are found.  During Algorithm 2, Algorithm 1 is applied to every intent to generate attribute sets. Their closure is then computed. As such, Algorithm 2 is in O(|Φ| × (X + Y )) where X is the complexity of computing the closure of a set and Y = |A| × L is the complexity of generating successors that depends on the complexity L of the saturation algorithm used. A study of algorithms for computing the implicational closure and their use in our problem can be found in [1]. Note that, since every potential pseudo-intent P is constructed from an Enumerating Pseudo-Intents in a Partial Order 51 intent I with I ⊂ P , computing P 00 can be done on the subcontext containing the objects of I 0 . 3.2 Improvements Additional reduction of the number of implicational closures required to compute the base can be achieved by making use of the property that every attribute set is constructed by adding an attribute to one of its subsets. Proposition 6. If B = A ⊕ i is a successor of A with i = min(B \ A), then B ⊕ j = A ⊕ j for every attribute j < i. Proof. If j < i, then B − ({b ∈ B | b < j} ∪ {j}) = B − ({a ∈ A | a < j} ∪ {j}) because i = min(B \ A). Thus, we have B ⊕ j = A ⊕ j.  This lets us use the knowledge acquired on a set A to reduce the number of necessary logical closures on its supersets. Indeed, for any B = A ⊕ i with i = min(B \ A), the set B ⊕ j is already known for every attribute lesser than i. This means that, in order to compute the successors of B, we need only to use the ⊕ operator with attributes greater than i. We can also use the fact that there are pseudo-intents P such that P 00 = A, which means that no object of the context is described by P . Indeed, S for an intent A such that A A ⊕ i, there are two possibilities for i. If i ∈ o∈A0 {o}0 , meaning there is at least an object described S by A ∪ {i}, the set A ⊕ i is either an intent or a pseudo-intent. If i ∈ A \ o∈A0 {o}0 , meaning no object is described by A ∪ {i}, the closure of A ⊕ i is A and, for any superset B of A, the set B ⊕ i is either equal to A ⊕ i or A. This means that computing B ⊕ i is unnecessary for every successors B of A in the spanning tree. 4 Computing a Base for Partial Implications 4.1 Luxenburger Basis A partial implication between two attribute sets A and B, otherwise called asso- ciation rule, is a relation of the form A →s,c B where s is called the support and c the confidence. It means that s% of the objects of the context are described by A and that c% of them are also described by B. Implications, as defined in Section 2, are partial implications with a confidence of 100%. An attribute set A having the same support as A00 , the confidence and support of a partial implication A →s,c B can be derived from A00 →s,c B 00 . As such, to obtain a basis for partial implications, one needs only to know the intents of the formal context. It has been shown in [7] that a minimal basis for partial implications, called Luxenburger basis, is obtained by considering a set {A →s,c B | A = A00 and B = B 00 } that forms a spanning tree of the neighbouring graph of the intent lattice such that A is the conclusion of a single partial implication. 52 Alexandre Bazin and Jean-Gabriel Ganascia 4.2 Modification of the Algorithm In Algorithm 2, every attribute set is generated from a single intent with the exception of some essential intents that lectically follow a pseudo-intent. We would like those intents to be constructed from their lectically greatest subset that is an intent instead of just their lectically greatest subset. Let us suppose that we have an intent A and a pseudo-intent B such that A B and B B 00 . 00 The lectically greatest intent that is a subset of B is either A or a superset of A so it can be constructed by adding attributes of B 00 \ A to A. Algorithm 3 computes C for a given A, B and B 00 . Algorithm 3 Lectically Greatest Sub-Intent 1: C = A 2: for every attribute i in B 00 \ A in increasing order do 3: if B(C ∪ {i}) 6= B 00 then 4: C = C ∪ {i} 5: end if 6: end for 7: return C Proposition 7. Algorithm 3 terminates and computes the lectically greatest in- tent that is a subset of B 00 Proof. There is a finite number of attributes and the loop goes through them in a total order so the algorithm terminates. The attribute set it returns, C, is either A or closed under B(.), so it is an intent. It is the implicational closure of a subset of B 00 and it is not equal to B 00 so we have C ⊂ B 00 . Let us suppose that there is an intent D ⊂ B 00 lectically greater than C with i = min(C∆D). The attribute i is such that B(X ∪ {i}) ⊂ B 00 for any A ⊆ X ⊆ D so the algorithm must have added it to C and we have C = D. Thus, the algorithm returns C, the greatest intent that is a subset of B 00 .  If, in Algorithm 2, we maintain the spanning tree we used to generate at- tribute sets, it is easy to apply Algorithm 3 to every intent that lectically follows a pseudo-intent. If we change the predecessor of those intents to the attribute set computed by Algorithm 3 we obtain a spanning tree of Φ in which the prede- cessor of every intent is an intent. As A also has a unique predecessor, it gives us the Luxenburger basis of the context along with the Duquenne-Guigues basis. 5 Example We apply Algorithm 2 on the following context with a < b < c < d < e : Enumerating Pseudo-Intents in a Partial Order 53 Fig. 1. Context 1 The algorithm starts with ∅. It is closed so we generate its successors. ∅⊕e= e ∅⊕d= d ∅⊕c= c ∅⊕b= b ∅⊕a= a The set of Candidates is then {a, b, c, d, e}. Among them, only a is a pseudo- intent with a00 = ab so we add a → ab to the basis. Moreover, ab lectically follows a so we add ab to Candidates. Its lectically greatest subset that is an intent is b. We then generate the successors of b, c, d and e. There are no attributes greater than min(e) = e so e has no successors. b ⊕ e = be c ⊕ e = ce d ⊕ e = de b ⊕ d = bd c ⊕ d = cd b ⊕ c = bc The set of Candidates is then {ab, bc, bd, be, cd, ce, de}. Among them, bc, be and cd are pseudo-intents so we add bc → bcd, be → bde and cd → bcd to B. The set bcd lectically follows bc so we add bcd to Candidates. Its lectically greatest subset that is an intent is bd. We then generate the successors of ab, bd, ce and de. The set de has no successors for the same reasons as the set e in the previous step and we already know that c ⊕ d = cd so ce ⊕ d is known and ce has no successors. ab ⊕ e = abde bd ⊕ e = bde ab ⊕ d = abd ab ⊕ c = abcd The set of Candidates is then {abd, bcd, bde}. Among them, abd is a pseudo intent so we add abd → abcde to B. The set abcde lectically follows abd so we add abcde to Candidates. Its lectically greatest subset that is an intent is ab. We then generate the successors of bcd and bde. We already know bd ⊕ c so we also know bde ⊕ c. As such, computing bde ⊕ c is not needed and no other attribute is available so bde has no successors. 54 Alexandre Bazin and Jean-Gabriel Ganascia bcd ⊕ e = bcde The set of Candidates is then {bcde, abcde}. Only bcde has a cardinality of 4 and it is a pseudo-intent so we add bcde → abcde to B. There are no new intents so we continue with the elements of Candidates of cardinality 5. The set abcde is an intent and has no successors since it is equal to A. The algorithm stops having produced the following implications : – a → ab – bc → bcd – be → bde – cd → bcd – abd → abcde – bcde → abcde This is the Duquenne-Guigues basis of the context. In addition, the following spanning tree of the intent lattice has been constructed : Fig. 2. Spanning Tree of the Lattice of Intents of Context 1 It corresponds to the following set of partial implications : – ∅ →1,0.6 b – ∅ →1,0.4 c – ∅ →1,0.6 d – ∅ →1,0.6 e – b →0.6,0.33 ab – b →0.6,0.66 bd – c →0.4,0.5 ce – d →0.6,0.66 de – ab →0.2,0 abcde – bd →0.4,0.5 bcd – bd →0.4,0.6 bde Enumerating Pseudo-Intents in a Partial Order 55 To compute it, Algorithm 3 has been used a total of 3 times. To compute the Duquenne-Guigues basis of this context, our algorithm has performed 16 logical closures. Since the version of Next Closure using the op- timizations presented in Section 2.1 would have performed only 15, it is more efficient in this case. However, on the context presented in Figure 3, our algo- rithm needs only 16 logical closures while Next Closure performs 19 of them. This is due to the fact that attributes are not considered if they have been used to generate an implication P → A and this context has a number of pairs of attribute that never appear together. This leads us to believe that our algorithm may be more efficient in those kinds of cases. Fig. 3. Context 2 6 Conclusion We proposed an algorithm that computes the Duquenne-Guigues basis of a for- mal context. It makes use of the lattice structure of the set of both intents and pseudo-intents in a fashion similar to that of algorithms for computing the concept lattice. The construction of attribute sets is inspired by Next Closure, the most common batch algorithm for computing pseudo-intents, in that it uses the lectic order to ensure the uniqueness of generated sets while avoiding go- ing through what has already been computed. We showed that the algorithm can easily be modified, without much loss complexity-wise, to produce both the Duquenne-Guigues and the Luxenburger bases. Those two bases together are sought after in the domain of association rules mining where it is crucial to ob- tain a minimal number of rules. They are usually derived from the set of frequent concepts that has to be computed first and, to the best of our knowledge, no algorithm is able to compute them both directly and at the same time without a significant increase in complexity. Some improvements can be made on the generation of the attribute sets. Most notably, the inclusion test in Algorithm 1 could be done during the computation 56 Alexandre Bazin and Jean-Gabriel Ganascia of the implicational closure and multiple closures could be realized simultane- ously. The fact that attribute sets are effectively generated following a partial order instead of a total order could also permit some degree of parallelization. Such optimizations will be the subject of further research on our part. References 1. Konstantin Bazhanov and Sergei A. Obiedkov. Comparing performance of algo- rithms for generating the Duquenne-Guigues basis. In CLA, pages 43–57, 2011. 2. Felix Distel and Barış Sertkaya. On the complexity of enumerating pseudo-intents. Discrete Applied Mathematics, 159(6):450 – 466, 2011. 3. V. Duquenne and J.-L. Guigues. Famille minimale d’implications informatives ré- sultant d’un tableau de données binaires. Mathématiques et Sciences Humaines, 24(95):5–18, 1986. 4. Bernhard Ganter. Two basic algorithms in concept analysis. In Proceedings of the 8th international conference on Formal Concept Analysis, ICFCA’10, pages 312– 340, Berlin, Heidelberg, 2010. Springer-Verlag. 5. Sergei O. Kuznetsov. On the intractability of computing the Duquenne-Guigues base. Journal of Universal Computer Science, 10(8):927–933, 2004. 6. Sergei O. Kuznetsov and Sergei Obiedkov. Comparing performance of algorithms for generating concept lattices. Journal of Experimental and Theoretical Artificial Intelligence, 14:189–216, 2002. 7. Michael Luxenburger. Implications partielles dans un contexte. Mathématiques et Sciences Humaines, 113:35–55, 1991. 8. S. Obiedkov and V. Duquenne. Attribute-incremental construction of the canonical implication basis. Annals of Mathematics and Artificial Intelligence, 49(1-4):77–99, April 2007. 9. Petko Valtchev and Vincent Duquenne. On the merge of factor canonical bases. In Proceedings of the 6th international conference on Formal concept analysis, ICFCA’08, pages 182–198, Berlin, Heidelberg, 2008. Springer-Verlag. Decomposition of Intervals in the Space of Anti-Monotonic Functions Patrick De Causmaecker, Stefan De Wannemacker CODeS & iMinds-ITEC-KU Leuven Department of Computerscience KULAK, Katholieke Universiteit Leuven Patrick.DeCausmaecker@kuleuven-kulak.be Abstract. With the term ’anti-monotonic function’, we designate spe- cific boolean functions on subsets of a finite set of positive integers which we call the universe. Through the well-known bijective relationship be- tween the set of monotonic functions and the set of anti-monotonic func- tions, the study of the anti-monotonic functions is equivalent to the study of monotonic functions. The true-set of an anti-monotonic function is an antichain. If the universe is denoted by N , the set of anti-monotonic functions is denoted by AM F (N ). This set can be partially ordered in a natural way. This paper studies enumeration in the resulting lattice of anti-monotonic functions. We define intervals of anti-monotonic func- tions according to this order and present four properties of such intervals, Finally we give a formula for the size of a general interval and a recursion formula for the n-th number of Dedekind. Keywords: Dedekind numbers, anti-monotonic functions, antichains, complete distributive lattices 1 Intervals of Anti-Monotonic Functions A Boolean valued function on the subsets of a set N , in short a Boolean function, is said to be anti-monotonic iff it is true for at most one of any two sets A and B for which A ( B ⊆ N holds. A Boolean function is said to be monotonic iff the fact that it is true for a set B implies that it is true for any subset of B. There is a natural bijection between the set of monotonic functions and the set of anti- monotonic functions through the maximal true sets (e.g. [3]). Note furthermore that there is a bijection between anti-monotonic functions and antichains: the true sets of an anti-monotonic function form an antichain, i.e. a set of subsets of N such that no member set is included in another member set. In this paper we will use the antichain to denote an anti-monotonic function. We will denote the set of anti-monotonic functions on the set N ⊂ N by AM F (N ). We will use Greek letters to denote elements of AM F (N ) and Roman capitals to denote subsets of N , e.g. for A 6⊆ B, B 6⊆ A, α = {A, B} ∈ AM F (N ). Unless otherwise stated, N = {1, . . . n} will be the set of the first n positive integers, and in this c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 57–67, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 58 Patrick De Causmaecker and Stefan De Wannemacker case we will occasionally use the notation AM F (n) ≡ AM F (N ). The size of AM F (N ) or AF M (n) is the n-th number of Dedekind [8]. This size is known for values of n up to n = 8 [4]. Asymptotic expansions have been developed building on the size of the middle layer [6, 5]. Example 1. For N = {1, 2}, the Boolean function 2N → B, {∅ → f alse, {∅} → f alse, {1} → true, {2} → true, {1, 2} → f alse} is anti-monotonic. The antichain of true sets is given by {{1}, {2}}. This antichain will be used to denote the anti- monotonic function. For finite N , anti-monotonic functions form a finite distributive lattice with the join, meet and partial order given by α ∨ β = max(α ∪ β) (1) α ∧ β = max{A ∩ B|A ∈ α, B ∈ β} (2) α ≤ β ⇔ ∀A ∈ α : ∃B ∈ β : A ⊆ B (3) (⇔ α ∨ β = β ⇔ α ∧ β = α), where for a general set S of subsets of N , max(S) is the set containing only the largest sets in S according to ⊆. A comprehensive textbook on Boolean functions is [2]. A recent study on counting non-equivalent monotone Boolean functions is found in [1]. Our antichains correspond to the notion of minimal sets playing an important role in the latter paper. A first analysis of intervals and decomposition is in [9]. We will make extensive use of the intervals in this lattice. For two antichains α, β ∈ AM F (N ), the closed interval with bounds α and β is given by [α, β] = {χ ∈ AM F (N )|α ≤ χ ≤ β}. (4) Analogous definitions hold for (half)open intervals. Note that these intervals are empty in case α 6≤ β, in particular in case of non comparable α and β. 2 Disconnected Intervals Given two intervals [ρ1 , ρ2 ] and [ρ01 , ρ02 ] in AM F (N ), we have {χ ∨ χ0 |χ ∈ [ρ1 , ρ2 ], χ0 ∈ [ρ01 , ρ02 ]} = [ρ1 ∨ ρ01 , ρ2 ∨ ρ02 ]. (5) We will use the notation [ρ1 , ρ2 ] ∨ [ρ01 , ρ02 ] ≡ [ρ1 ∨ ρ01 , ρ2 ∨ ρ02 ]. (6) A fundamental property in the decomposition of intervals is related to the con- cept of (dis)-connectedness. Two intervals are said to be disconnected if the decomposition in equation 6 is unique. Two intervals are connected if they are not disconnected. If two intervals are disconnected, we will call the join of these intervals direct: Decomposition of Intervals in the Space of Anti-Monotonic Functions 59 Definition 1. The interval [ρ1 ∨ ρ01 , ρ2 ∨ ρ02 ] is the direct join of two intervals [ρ1 , ρ2 ] and [ρ01 , ρ02 ] in AM F (N ) if the intervals are disconnected. The direct join is denoted by [ρ1 , ρ2 ] 6 [ρ01 , ρ02 ]. Example 2. For N = {1, 2, 3}, we have [{{1}}, {{1, 3}}] ∨ [{{2}}, {{2, 3}}] = [{{1}, {2}}, {{1, 3}, {2, 3}}]. The element {{1}, {2}, {3}} = {{1}} ∨ {{2}, {3}} = {{1}, {3}}∨{{2}} shows that the two intervals on the lefthand side are connected. In the case of [{{1}, {3}}, {{1, 3}}]∨[{{2}, {3}}, {{2, 3}}] = [{{1}, {2}, {3}}, {{1, 3}, {2, 3}}], we see that the underlying intervals are disconnected and [{{1}, {2}, {3}}, {{1, 3}, {2, 3}}] = [{{1}, {3}}, {{1, 3}}] 6 [{{2}, {3}}, {{2, 3}}]. 3 Decomposition Theorem The decomposition of intervals is based on the following Theorem 1, which is actually valid in a general distributive lattice. Lemma 1. For two anti-monotonic functions α, β ∈ AM F (N ) we have [α ∧ β, α ∨ β] = [α ∧ β, α] 6 [α ∧ β, β]. (7) Proof. It is clear that for χα ∈ [α ∧ β, α] and χβ ∈ [α ∧ β, β], we have χα ∨ χβ ∈ [α ∧ β, α ∨ β]. Moreover, since χβ ∧ α ≤ β ∧ α, we have χα = (χα ∨ χβ ) ∧ α and similarly χβ = (χα ∨ χβ ) ∧ β. For χ ∈ [α ∧ β, α ∨ β] we have χ ∧ α ∈ [α ∧ β, α], χ ∧ β ∈ [α ∧ β, β] and (χ ∧ α ∨ χ ∧ β) = χ ∧ (α ∨ β) = χ. (8) More generally we have Theorem 1. For three anti-monotonic functions α, β, ρ ∈ AM F (N ) such that ρ ∈ [α ∧ β, α ∨ β] we have [ρ, α ∨ β] = [ρ, α ∨ ρ] 6 [ρ, β ∨ ρ]. (9) Proof. Note that (α∨ρ)∧(β ∨ρ) = (α∧β)∨ρ = ρ so that the interval [ρ, α∨β] = [ρ, (α ∨ ρ) ∨ (β ∨ ρ)] satisfies the conditions of Lemma 1. Any χ ∈ [ρ, α ∨ β] has the unique decomposition χ = (χ ∧ (α ∨ ρ)) ∨ (χ ∧ (β ∨ ρ)). Theorem 1 can be strengthened as Theorem 2. For three anti-monotonic functions α, β, ρ ∈ AM F (N ) such that ρ ∈ [α ∧ β, α ∨ β] we have [ρ, α ∨ β] = [ρ ∧ α, α] 6 [ρ ∧ β, β]. (10) Proof. Any χ ∈ [ρ, α∨β] satisfies χ = (χ∧α)∨(χ∧β), with χ∧α ∈ [ρ∧α, α], χ∧ β ∈ [ρ ∧ β, β]. Any χ = χα ∨ χβ with χα ∈ [ρ ∧ α, α], χβ ∈ [ρ ∧ β, β] is in [ρ, α ∨ β]. Furthermore χ∧α = (χα ∧α)∨(χβ ∧α) where χα ∧α = χα (since χα ∈ [ρ∧α, α]) and χβ ∧ α ≤ β ∧ α (since χβ ∈ [ρ ∧ β, β]) so that χβ ∧ α ≤ ρ ∧ α ≤ χα , and we conclude χα = χ ∧ α. Equivalently, we obtain χβ = χ ∧ β proving the uniqueness of decomposition. 60 Patrick De Causmaecker and Stefan De Wannemacker Corollary 1. For any two anti-monotonic functions α, ρ, the intervals [ρ, ρ ∨ α] and [ρ ∧ α, α] are isomorphic lattices. Proof. Since ρ∧α ≤ ρ, we can apply Theorem 2 to find [ρ, ρ∨α] = [ρ, ρ]6[ρ∧α, α]. This implies that [ρ ∧ α, α] → [ρ, ρ ∨ α] : χ → ρ ∨ χ defines an isomorphism with inverse [ρ, ρ ∨ α] → [ρ ∧ α, α] : χ → α ∧ χ. Corollary 2. For two anti-monotonic functions ρ1 , ρ2 = ∨i∈I αi with ∀i, j ∈ I : αi ∧ αj ≤ ρ1 , we have [ρ1 , ρ2 ] = 6i∈I [ρ1 , ρ1 ∨ αi ] (11) = 6i∈I [ρ1 ∧ αi , αi ]. (12) Proof. The proof follows from a simple iteration over the indices i ∈ I, applying Theorems 1 and 2 for each component αi , i ∈ I. In the following, we will use the notation oρ,γ for any two anti-monotonic functions ρ ≥ γ to denote the largest χ for which χ ∧ ρ = γ. A general partition of an interval is given by Theorem 3. Theorem 3. For anti-monotonic functions ρ1 ≤ ρ ≤ ρ2 [ρ1 , ρ2 ] = ∪γ∈[ρ1 ,ρ] [γ, oρ,γ ∧ ρ2 ]. (13) The intervals [γ, oρ,γ ∧ ρ2 ] for γ ≤ ρ are disjoint and nonempty. Proof. For each γ ∈ [ρ1 , ρ] consider the set Sγ = {χ ∈ [ρ1 , ρ2 ]|χ ∧ ρ = γ}. These sets are disjoint. Since for each χ ∈ [ρ1 , ρ2 ], we have χ ∧ ρ ∈ [ρ1 , ρ], the union of these sets is the whole interval. γ is a lower bound on Sγ . Since (χ1 ∧ ρ = γ and χ2 ∧ ρ = γ) ⇒ (χ1 ∨ χ2 ) ∧ ρ = γ, the set has exactly one maximal element. We denote this element in the case of ρ2 = {N } by oρ,γ . Since, in addition, χ1 ∧ ρ = γ, χ2 ∧ ρ = γ ⇒ (χ1 ∧ χ2 ) ∧ ρ = γ, the set of all solutions to the equation in the lattice is closed under ∧ and ∨ and hence equals the full interval [γ, oρ,γ ]. For general ρ2 , Sγ is the intersection with [ρ1 , ρ2 ] which is given by [γ, oρ,γ ∧ ρ2 ]. The function oρ,γ defined for any ρ ≥ γ ∈ AM F (N ) is the top of the interval [γ, oρ,γ ] = {χ|χ ∧ ρ = γ}. It is given by g oρ,γ = γ̃\ρ̃ (14) where˜denotes the dual in the lattice AM F (N ). Note 1. Note that the theorems so far, including the proofs, did not refer explic- itly to anti-monotonic functions. In fact, they only relied on the properties of the operators ∧ and ∨ and are seen to be valid in any complete distributive lattice. The following sections specifically refer to the definition of an anti-monotonic function as a function on subsets of a superset. Although we believe, the fol- lowing properties, especially Theorem 4, can be generalized as well, we for now restrict the discussion to the space AM F (N ). Decomposition of Intervals in the Space of Anti-Monotonic Functions 61 In what follows, disconnectedness of intervals turns out to be related to a corre- sponding property of the top of the interval. Definition 2. Given two anti-monotonic functions ρ, α ∈ AM F (N ) with ρ ≤ α. Two sets A, B ∈ α are said to be connected with respect to ρ if and only if {A ∩ B} 6≤ ρ. Connectedness of such sets is denoted by Cρ (A, B). Cρ (., .) defines a graph with the sets of α as vertices. The vertices of each connected component of this graph correspond to a subset of α and thus to an anti-monotonic function. We will refer to these anti-monotonic functions as the connected components of α with respect to ρ and denote the set of such components by Cρ,α . We now have Corollary 3. For anti-monotonic functions ρ1 , ρ2 ∈ AM F (N ) with ρ1 ≤ ρ2 [ρ1 , ρ2 ] = 6χ∈Cρ1 ,ρ2 [ρ1 ∧ χ, χ]. (15) Proof. The proof follows immediately from Corollary 2. Corollary 3 leads to Algorithm 1 for the total decomposition of an interval. Examples 3, 4 and 5 illustrate how the algorithm works. Example 3. Consider the interval [{∅}, {{1, 2}, {3}}]. Since we have {{1, 2} ∩ {3}} = {∅} ≤ {∅} so that C{∅},{{1,2},{3}} = {{{1, 2}}, {{3}}}, and [{∅}, {{1, 2}, {3}}] = [{∅}, {{1, 2}}] 6 [{∅}, {{3}}]. Example 4. Consider the interval [{{4}}, {{1, 2, 4}, {3, 4}}]. Since we have {{1, 2, 4}∩ {3, 4}} = {{4}} ≤ {{4}} so that C{{4}},{{1,2,4},{3,4}} = {{{1, 2, 4}}, {{3, 4}}}, and [{{4}}, {{1, 2, 4}, {3, 4}}] = [{{4}}, {{1, 2, 4}}] 6 [{{4}}, {{3, 4}}]. Example 5. Consider the interval [{{4}, {6}}, {{1, 2, 4}, {3, 4}, {3, 5, 6}}]. Since we have {{1, 2, 4}∩{3, 4}} = {{4}} ≤ {{4}, {6}}, {{1, 2, 4}∩{3, 5, 6}} = {∅} ≤ {{4}, {6}}, {{3, 4} ∩ {3, 5, 6}} = {{3}} 6≤ {{4}, {6}}, so that C{{4},{6}},{{1,2,4},{3,4},{3,5,6}} = {{{1, 2, 4}}, {{3, 4}, {3, 5, 6}}}, and [{{4}, {6}}, {{1, 2, 4}, {3, 4}, {3, 5, 6}}] = [{{4}}, {{1, 2, 4}}]6[{{4}, {6}}, {{3, 4}, {3, 5, 6}}]. Algorithm 1 Decompose the interval [ρ1 , ρ2 ] Require: ρ1 ≤ ρ2 Ensure: Result is a set of intervals, {I1 , I2 , . . . , Ik }, such that [ρ1 , ρ2 ] = 6i=1...k Ii function decomposeInterval(ρ1 , ρ2 ) Compute the set Cρ1 ,ρ2 of connected components according to Definition 2. return {[ρ1 ∧ γ, γ]|γ ∈ Cρ1 ,ρ2 } end function In what follows, we will use the following notations 62 Patrick De Causmaecker and Stefan De Wannemacker Definition 3. Let ρ1 , ρ2 ∈ AM F (N ), ρ1 ≤ ρ2 . We use the notion of level λl in the interval [ρ1 , ρ2 ] to denote maximal anti-monotonic functions consisting of elements of a specific size l, and we introduce the (.)+ and (.)− operators to transform functions from one level to a neighboring level, as follows: λl = {A ⊆ N |ρ1 ∨ {A} ∈]ρ1 , ρ2 ], |A| = l}(∀l ≥ 0), (16) + α = {X ∈ λl+1 |∀x ∈ X : X\{x} ∈ λl ⇒ X\{x} ∈ α}, (∀α ⊆ λl , ∀l ≥ 0),(17) α− = {X ∈ λl−1 |∃A ∈ α : X ⊆ A}, (∀α ⊆ λl , ∀l > 0). (18) Note that in Definition 3, in (17) α+ ⊆ λl+1 and in (18) α− ⊆ λl−1 , 4 Decomposition of a General Interval into Computationally Easy Intervals We will now use decomposition to compute the size of any interval. Theorem 4 builds on the following Lemma. Lemma 2. Let ρ1 , ρ2 ∈ AM F (N ), ρ1 ≤ ρ2 and χ ∈ [ρ1 , ρ2 ]. Then χ has the following unique decomposition: χ = ρ1 ∨ χ0 ∨ χ1 ∨ χ2 ∨ . . . , (19) where ∀l ≥ 0 : χl ⊆ λl , χ− l+1 ≤ χl , χl+1 ≤ χ+ l . Proof. We start from the decomposition in sets of specific levels: χ = (χ ∩ ρ1 ) ∨ (χ ∩ λ0 ) ∨ (χ ∩ λ1 ) ∨ (χ ∩ λ2 ) ∨ . . . (χ ∩ λs−1 ) ∨ (χ ∩ λs ) (20) where s is the size of the largest set in χ. We now set χl = ∅ for l > s. Further, let χs = χ ∩ λs and note that the decomposition does not change if we add χ− s to the sets of level s − 1. χ = (χ ∩ ρ1 ) ∨ (χ ∩ λ0 ) ∨ (χ ∩ λ1 ) ∨ (χ ∩ λ2 ) ∨ . . . (χ ∩ λs−1 ∨ χ− s ) ∨ χs . (21) This suggests the recursive definition ∀l ∈ {0, . . . , s − 1} : χl = (χ ∩ λl ) ∨ χ− l+1 (22) leading to χ = (χ ∩ ρ1 ) ∨ χ0 ∨ χ1 ∨ χ2 ∨ . . . χs−1 ∨ χs (23) and since χ ≥ ρ1 : χ = ρ1 ∨ χ0 ∨ χ1 ∨ χ2 ∨ . . . χs−1 ∨ χs . (24) The inequalities in (19) now follow immediately from (22) and Definition 3. Given the decomposition (19), it follows immediately that χs = χ∩λs . χs−1 ≥ χ− s Decomposition of Intervals in the Space of Anti-Monotonic Functions 63 implies χ−s ⊆ χs−1 . Furthermore, necessarily χ ∩ λs−1 ⊆ χs−1 so that we find χs−1 ≥ χ− s ∨ (χ ∩ λs−1 ). Since any set in χs−1 not dominated by a set in χs is necessarily in χ, we have χs−1 ≤ χ− s ∨ (χ ∩ λs−1 ) and equality follows. Recursive application of this reasoning proves uniqueness. Theorem 4. For ρ1 , ρ2 ∈ AM F (N ) with ρ1 ≤ ρ2 , we have X X X − + − + − |[ρ1 , ρ2 ]| = . . . 2|λ0 |−|α1 |+|α1 |−|α3 |+|α3 |−|α5 |... (25) α1 ⊆λ1 α3 ⊆α++ α5 ⊆α++ 1 3 X X X + − + − = . . . 2|α0 |−|α2 |+|α2 |−|α4 |... . (26) α0 ⊆λ0 α2 ⊆α++ α4 ⊆α++ 0 2 Proof. Note that the number of non trivial summations in (25) and ( 26 ) is always finite: there is a maximal level for any finite interval, above this level α++ will be empty and the contribution in the power of 2 will be zero. Given the decomposition in Lemma 2, and a list of specific levels l1 < l2 < . . . < lk where σli ⊆ λli are given such that ∀li , li+1 : σl−di i+1 ≤ σli +d and ∀li−1 , li : σli ≤ σli−1i−1 where di = li+1 − li and α+/−d = (. . . ((α+/− )+/− ) . . . )+/− (d operators (.)+/− ), one can ask for the set of χ decomposing according to (19) such that ∀i : χli = σli . −(l −1) −(d −1) This set has a lower bound χb = ρ1 ∨ σl−l0 0 ∨ σl0 0 . . . ∨ σl0 ∨ σl−d 1 0 ∨ σl1 0 ... +(l −l −1) and an upper bound χt = ρ1 ∨λ0 ∨λ1 . . .∨λl0 −1 ∨σl0 ∨σl+0 ∨σl+2 0 . . .∨σl0 1 0 ∨ + σl1 ∨ σl1 . . .. In fact, all elements in the interval [χb , χt ] satisfy this requirement. In the case of all odd, respectively all even, levels given, summing the sizes of all such intervals over all possible specifications σ2l+1 , respectively σ2l , results in the expansions of the Theorem. Theorem 4 allows to compute intervals in AM F (N ) for |N | = 7, and com- putes all intervals for |N | = 6 in milliseconds. Example 6. As a simple application of Theorem 4, consider intervals  of the form IN = [{∅}, N2 ] where, for convenience, we use the notation N k to denote the set of subsets of size k of a set N = {1, 2, ..., n}. IN is seen to have only two nonempty levels.Indeed, λ0 = {}, λ1 is the set of all singletons of elements of N and λ2 = N2 . Since λ0 = {}, for each α1 ⊆ λ1 we have α1− = {}, while 1 α1+ = span(α 2 1) . We find X − + X |S| |IN | = 2|λ0 |−|α1 |+|α1 | = 2( 2 ) α1 ⊆λ1 S⊆N n   X n i = 2(2) , (27) i=0 i 1 Here the span of an anti-monotonicS function is the set of elements occurring in true sets of the function, i.e. span(α) = X∈α X 64 Patrick De Causmaecker and Stefan De Wannemacker which is the well known formula for the number of labeled graphs with at most n nodes (Sloane series A006896 [7]). This identity becomes obvious when we apply the alternative expression: X − |IN | = 2|λ1 |−|α2 | (28) α2 ⊆λ2 X = 2n−|vertices in g| graphs g on n vertices Xn   n n−i = |graphs covering {1, 2, ..., i}| 2 . (29) i=0 i 5 A Recursion Formula for the Size of the Complete Space The previous sections were concerned with the structure of arbitrary intervals. In this section, we present a formula for the size of AM F (n + k), k ≥ 0 summing over the space AM F (n). The formula is used to generate an efficient algorithm to compute the size of AM F (n + 2) from AM F (n). We start from the following observation, using the operator × defined as 2 ∀χ ∈ AM F (N ), S ⊂ N, S ∩ N = ∅ : χ × {S} = {X ∪ S|X ∈ χ}. (30) Example 7. For χ = {{1}, {2, 3}, {3, 4}} and S = {5, 6, 7} we have according to this definition χ × {S} = {{1, 5, 6, 7}, {2, 3, 5, 6, 7}, {3, 4, 5, 6, 7}}. We can now prove Lemma 3. Given n, k > 0, N = {1, . . . , n} and Kn = {n + 1, . . . , n + k}, for each χ ∈ AM F (N ∪ K) there exists exactly one sequence {χ{S} |S ⊆ Kn } of functions in AM F (N ) such that _ χ= χS × {S}, (31) S⊆Kn ∀S ⊆ Kn : χS ∈ AM F (N ), (32) ∀S, S 0 ⊆ Kn : S ⊆ S 0 ⇒ χS ≥ χS 0 . (33) Proof. For each S ⊆ Kn define χS = {X\Kn |X ∈ χ, S ⊆ X} Corollary 4. For finite N, K ⊆ N, N ∩ K = ∅ as in Lemma 3, the size of AM F (N ∪K) is equal to the number of homomorphisms (2K , ⊆) → (AM F (N ), ≥ ). 2 This is a restricted definition of the × operator discussed extensively in [9]. This paper introduces an effective enumeration technique which can be used in to sum over the space AM F (N ). Decomposition of Intervals in the Space of Anti-Monotonic Functions 65 Now consider the restricted homomorphisms (2K \{∅, K}, ⊆) → (AM F (N ), ≥ ), i.e fix χS for any S 6∈ {∅, N }. W Any such restrictedVhomomorphism can be completed by components χ0 ≥ k∈K χ{k} and χN ≤ k∈K χN \{k} . We define coefficients PN,K,ρ0 ,ρN as follows Definition 4. For finite N, K ⊆ N, N ∩K = ∅, and for ρ0 , ρN ∈ AM F (N ), ρ0 ≥ ρN , PN,K,ρ0W ,ρN is the number of homomorphisms V f : (2K \{∅, K}, ⊆) → ([ρN , ρ0 ], ≥ ) such that k∈K f ({k}) = ρ0 and k∈K f (N \{k}) = ρN and we find Theorem 5. For finite N, K ⊆ N, N ∩ K = ∅, X |AM F (N ∪ K)| = |[∅, ρN ]|PN,K,ρ0 ,ρN |[ρ0 , {N }]|. (34) ρ0 ≥ρN ∈AM F (N ) Proof. Any restricted homomorphism f can be extended by elements of the in- tervals [∅, ρN ] and [ρ0 , {N }], and any extension results in a different function in AM F (N ∪ K). The P-coefficients are in general hard to compute. In the special case of |K| = 2 however, the following property leads to a simple algorithm. Property 1. For finite N, K ⊆ N, N ∩ K = ∅, |K| = 2, we have PN,K,ρ0 ,ρN = 2|CρN \ρ0 ,ρ0 \ρN | . (35) Proof. Let K = {k1 , k2 }. The coefficient is the number of solutions to the simul- taneous equations χ{k1 } ∨ χ{k2 } = ρ0 , (36) χ{k1 } ∧ χ{k2 } = ρN . (37) Let A, B ⊆ ρ0 \ρN such that CρN (A, B), i.e. {A ∩ B} 6≤ (ρN \ρ0 ). Then A and B must be in at least one of χ{k1 } or χ{k2 } due to (36) and in at most one due to (37). On the other hand, any set A in ρ0 \ρN must be in either χ{k1 } or χ{k2 } and can not be in both. We thus obtain the formula X |AM F (n + 2)| = |[∅, ρn ]||[ρ0 , {N }]|2Cρn \ρ0 ,ρ0 \ρn . (38) ρ0 ≥ρn ∈AM F (n) A Java implementation of Algorithm 2 , summing over non equivalent func- tions only for ρN in AM F (6), allowed to compute AM F (8) in 40 hours on a Macbook Pro. Note that the order of summation can be chosen such as to mini- mize the number of evaluations of the interval sizes |[ρ0 , {N }]|. Indeed, although the sizes of these intervals could be computed through the mapping Size of the representative of the class of the dual of ρ0 , these transformations still are computationally intensive. 66 Patrick De Causmaecker and Stefan De Wannemacker Algorithm 2 Recursion formula using P-coefficients to compute |AM F (n + 2)| by enumeration of AM F (n) Require: n ∈ N, n ≥ 0. Ensure: Result is Dedekind Number n + 2, this is the size of the space AM F (n + 2). function DedekindNumber(n+2) Compute the set R of nonequivalent representatives in AM F (n) of equivalence classes under permutation of N . Compute the cardinalities of each of the equivalence classes as Count : R− > N. For each ρ ∈ R, compute the size of [∅, ρ] as Size : R− > N. sum ← 0 for ρ0 ∈ AM F (n) do partialSum ← 0 for ρN ∈ R, ρN ≤ ρ0 do partialSum ← partialSum+Count(ρN )∗Size(ρN )∗2|CρN \ρ0 ,ρ0 \ρN | end for sum ← sum + partialSum ∗ |[ρ0 , {N }]| end for return sum. end function 6 Conclusions and Future Research In this paper, we analyzed intervals in the space of anti-monotonic functions. Some structural properties were derived which allowed decomposition. We used the properties of intervals to derive a formula allowing efficiently computing the size of any interval in spaces with values of n up to 7. Finally, we derived an expansion of the size of the (n+k)th space based on an enumeration of the space n. The terms in this expansion are products of sizes of intervals multiplied by coefficients which we termed ’P-coefficients of order k’. P-coefficients of order 2 turn out to be efficiently computable, and the resulting formula, combined with a reduction to nonequivalent anti-monotonic functions, allowed computing the 8th number of Dedekind on a very standard laptop in less than two days. The results in sections 1 − 3 were obtained using the operators ∧ and ∨ only and are thus valid for any distributive lattice. The proofs of the results in sections 4, 5 explicitly relied on properties of sets. It is not hard to see that there are more general equivalents of these formulae. We plan to extend the analysis of intervals and derive the more general equivalents in a forthcoming paper. The success in computing |AM F (8)| on a basic laptop naturally leads to the question how far a more sophisticated hardware could take us towards computing |AM F (9)|. We are presently undertaking such an attempt, but new idea’s will be needed to succeed. Computing |AM F (9)| using P-coefficients of order 2 accord- ing to Algorithm 2 involves enumerating AM F (7) × nonequivalent AM F (7) which is exactly 2414682040998 × 490013148 = 1183225948328495041704 terms. Each term would require computing a second order P-coefficient and multiply- ing two interval sizes of intervals in AM F (7). There would be 490013148 such interval sizes to compute. Decomposition of Intervals in the Space of Anti-Monotonic Functions 67 More promising is the study of the P-coefficients of higher order. Algorithm 2 for n = 6 equipped with a fast evaluator for order 3 P-coefficients could produce |AM F (9)|. Study of these higher order P-coefficients hence is on our research agenda. References 1. Tamon Stephen and Timothy Yusun, Counting inequivalent monotone Boolean func- tions, arXiv preprint arXiv:1209.4623, 2012. 2. Y. Crama and P.L. Hammer, Boolean functions: Theory, algorithms, and appli- cations, Encyclopedia of Mathematics and Its Applications, Cambridge University Press, 2011. 3. Kahn, Jeff (2002), Entropy, independent sets and antichains: a new approach to Dedekind’s problem, Proc. Amer. Math. Soc. 130 (2), pp. 371-378. 4. Wiedemann, Doug (1991), A computation of the eighth Dedekind number, Order 8 (1): 56 5. Korshunov, Aleksej Dmitrievich (1981), The number of monotone boolean functions (Russian), Problemy Kibernet. 38, pp. 5-108. 6. Kleitman, Daniel and Markowsky, George (1975), On Dedekind’s problem: the num- ber of isotone Boolean functions. II, Trans. Amer. Math. Soc. 213, pp. 373-390. 7. Sloane, N. J. A., The On-Line Encyclopedia of Integer Sequences. (OEIS), http://www.research.att.com/ njas/sequences/. 8. Dedekind, Richard (1897), Über Zerlegungen von Zahlen durch ihre größten gemein- samen Teiler, Gesammelte Werke, 2, pp. 103-148. 9. P. De Causmaecker, S. De Wannemacker, Partitioning in the space of anti-monotonic functions. arXiv:1103.2877 [math.NT], 2011. Attribute exploration with fuzzy attributes and background knowledge Cynthia Vera Glodeanu Technische Universität Dresden, 01062 Dresden, Germany Cynthia-Vera.Glodeanu@tu-dresden.de Abstract. Attribute exploration is a formal concept analytical tool for knowledge discovery by interactive determination of the implications holding between a given set of attributes. The corresponding algorithm queries the user in an efficient way about the implications between the attributes. The result of the exploration process is a representative set of examples for the entire theory and a set of implications from which all implications that hold between the considered attributes can be deduced. The method was successfully applied in different real-life applications for discrete data. In many instances, the user may know some implications before the exploration starts. These are considered as background knowl- edge and their usage shortens the exploration process. In this paper we show that the handling of background information can be generalised to the fuzzy setting. Keywords: Knowledge discovery, Formal Concept Analysis, Fuzzy data 1 Introduction Attribute exploration [1] allows the interactive determination of the implications holding between the attributes of a given context. However, there are situations when the object set of a context is too large (possibly infinite) or difficult to enumerate. With the examples (possibly none) of our knowledge we build the object set of the context step-by-step. The stem base of this context, that is a minimal set of non-redundant implications from which all the implications of the context follow, is built stepwise and we are asked whether the implications of the base are true. If an implication holds, then it is added to the stem base. If however, an implication does not hold, then we have to provide a counterexample. While performing an attribute exploration we have to be able to distinguish between true and false implications and to provide correct counterexamples for false implications. This is a crucial point since the algorithm is naive and will believe whatever we tell it. Once a decision was taken about the validity of an implication, the choice cannot be reversed. Therefore, the counterexamples may not contradict the so-far confirmed implications. The procedure ends when all implications of the current stem base hold in general. This way we obtain an object set which is representative for the entire theory, that may also be infinite. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 69–80, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 70 Cynthia Vera Glodeanu The exploration process can be shortened by taking some background knowledge [2] into account that the user has at the beginning of the exploration. As many data sets contain fuzzy data, it is a natural wish to generalise attribute exploration to the fuzzy setting. In [3] we have already shown how this can be done. It turned out that we have to make some restrictions on the implications (using the globalisation as the hedge) in order to be able to perform a successful attribute exploration. In this paper we generalise the fuzzy attribute exploration to the case with background knowledge. The main work starts in Section 3 where we show how non-redundant bases can be obtained while using background knowledge. The theory for the exploration is developed in Section 4 including an appropriate algorithm. In Section 5 we use a real-world data set to illustrative both exploration with and without background knowledge. It should be mentioned that there is some overlap with results presented in the authors PhD thesis [4], see Chapter 5. 2 Preliminaries 2.1 Crisp Attribute Exploration We assume basic familiarities with Formal Concept Analysis [1]. In the introductory section we have already explained the principle of at- tribute exploration. However, we have not yet presented its key to success. This is, why we do not have to reconsider already confirmed implications after adding new objects to the context. Proposition 1. ([1]) Let K be a context and P1 , P2 , . . . , Pn be the first n pseudo- intents of K with respect to the lectic order. If K is extended by an object g the object intent g ↑ of which respects the implications Pi → Pi↓↑ , i ∈ {1, . . . , n}, then P1 , P2 , . . . , Pn are also the lectically first n pseudo-intents of the extended context. Attribute exploration was successfully applied in both theoretical and prac- tical research domains. On the one hand it facilitated the discovery of implica- tions between properties of mathematical structures, see for example [5–7]. On the other hand it was also used in real-life scenarios, for instance in chemistry [8], information systems [9], etc. In case the user knows some implications between the attributes in advance, attribute exploration with background knowledge [10, 2] can be applied. Using background knowledge in the exploration will considerably reduce the time of the process as the user has to answer less questions and provide less counterexamples. 2.2 Formal Fuzzy Concept Analysis Due to lack of space we omit the introduction of some basic notions from fuzzy logic, fuzzy sets and Fuzzy Formal Concept Analysis. We assume that the reader is familiar with these notions and refer to standard literature. For fuzzy theory Attribute exploration with fuzzy attributes and background knowledge 71 we refer to [11, 12], in particular, notions like residuated lattices with hedges and L-sets can be found for instance in [13]. For Fuzzy Formal Concept Analysis see [14, 15] but also [16, 17]. The theory about Fuzzy Formal Concept Analysis with hedges can be found in [13]. In this section we only present some notions concerning lectic order, attribute implications and the computation of their non- redundant bases. We start with the fuzzy lectic order [18] which is defined as follows: Let L = {l0 < l1 < · · · < ln = 1} be the support set of some linearly ordered residu- ated lattice and M = {1, 2, . . . , m} the attribute set of an L-context (G, M, I). For (x, i), (y, j) ∈ M × L, we write (x, li ) ≤ (y, lj ) :⇐⇒ (x < y) or (x = y and li ≥ lj ). We define B ⊕ (x, i) := ((B ∩ {1, 2, . . . , x − 1}) ∪ {li/x})↓↑ for B ∈ LM and (x, i) ∈ M × L. Furthermore, for B, C ∈ LM , we define B <(x,i) C by B ∩ {1, . . . , x − 1} = C ∩ {1, . . . , x − 1} and B(x) < C(x) = li . (1) We say that B is lectically smaller than C, written B < C, if B <(x,i) C for some (x, i) satisfying (1). As in the crisp case, we have that B + := B ⊕ (x, i) is the least intent which is greater than a given B with respect to < and (x, i) is the greatest with B <(x,i) B ⊕ (x, i) (for details we refer to [18]). Fuzzy Implications and Non-redundant Bases. Fuzzy attribute implica- tions were studied in a series of papers by Bělohlávek and Vychodil [19, 20]. We denote by S(A, B) the truth value of “the L-set A is a subset of the L-set B”. Futher, (−)∗ denotes the hedge of a residuated lattice L, i.e., (−)∗ : L → L is a map satisfying a∗ ≤ a, (a → b)∗ ≤ a∗ → b∗ , a∗∗ = a∗ and 1∗ = 1 for every a, b ∈ L. Typical examples for the hedge are the identity, i.e., a∗ := a for all a ∈ L, and the globalisation, i.e., a∗ := 0 for all a ∈ L \ {1} and a∗ := 1 if and only if a = 1. A fuzzy attribute implication (over the attribute set M ) is an expression A ⇒ B, where A, B ∈ LM . The verbal meaning of A ⇒ B is: “if it is (very) true that an object has all attributes from A, then it also has all attributes from B”. The notions “being very true”, “to have an attribute”, and the logical connective “if-then” are determined by the chosen L. For an L-set N ∈ LM of attributes, the degree ||A ⇒ B||N ∈ L to which A ⇒ B is valid in N is defined as ||A ⇒ B||N := S(A, N )∗ → S(B, N ). If N is the L-set of all attributes of an object g, then ||A ⇒ B||N is the truth degree to which A ⇒ B holds for g. For N ⊆ LM , the degreeV ||A ⇒ B||N ∈ L to which A ⇒ B holds in N is defined by ||A ⇒ B||N := N ∈N ||A ⇒ B||N . For an L-context (G, M, I), let Ig ∈ LM (g ∈ G) be an L-set of attributes such that Ig (m) = I(g, m) for each m ∈ M . Clearly, Ig corresponds to the row labelled g in (G, M, I). We define the degree ||A ⇒ B||(G,M,I) ∈ L to which A ⇒ B holds in (each row of) K = (G, M, I) by ||A ⇒ B||K := ||A ⇒ B||N , where 72 Cynthia Vera Glodeanu N := {Ig | g ∈ G}. Denote by Int(G∗ , M, I) the set of all intents of B(G∗ , M, I). The degree ||A ⇒ B||B(G∗ ,M,I) ∈ L to which A ⇒ B holds in (the intents of) B(G∗ , M, I) is defined by ||A ⇒ B||B(G∗ ,M,I) := ||A ⇒ B||Int(G∗ ,M,I) . (2) Lemma 1. ([20]) For each fuzzy attribute implication A ⇒ B it holds that ||A ⇒ B||(G,M,I) = ||A ⇒ B||B(G∗ ,M,I) = S(B, A↓↑ ). Due to the large number of implications in a formal context, one is interested in the stem base of the implications. Neither the existence nor the uniqueness of the stem base for a given L-context are guaranteed in general [20]. Let T be a set of fuzzy attribute implications. An L-set of attributes N ∈ LM is called a model of T if ||A ⇒ B||N = 1 for each A ⇒ B ∈ T . The set of all models of T is denoted by Mod(T ) := {N ∈ LM | N is a model of T }. The degree ||A ⇒ B||T ∈ L to which A ⇒ B semantically follows from T is defined by ||A ⇒ B||T := ||A ⇒ B||Mod(T ) . T is called complete in (G, M, I) if ||A ⇒ B||T = ||A ⇒ B||(G,M,I) for each A ⇒ B. If T is complete and no proper subset of T is complete, then T is called a non-redundant basis. Theorem 1. ([20]) T is complete iff Mod(T ) = Int(G∗ , M, I). As in the crisp case the stem base of a given L-context can be obtained through the pseudo-intents. P ⊆ LM is called a system of pseudo-intents if for each P ∈ LM we have: P ∈ P ⇐⇒ (P 6= P ↓↑ and ||Q ⇒ Q↓↑ ||P = 1 for each Q ∈ P with Q 6= P ). Theorem 2. ([20]) T := {P ⇒ P ↓↑ | P ∈ P} is complete and non-redundant. If (−)∗ is the globalisation, then T is unique and minimal. 3 Adding background knowledge to the stem base The user may know some implications between attributes in advance. We will call such kind of implications background implications. In this section we will focus on finding a minimal list of implications, which together with the background implications will describe the structure of the concept lattice. The theory about background knowledge for the crisp case was developed in [2] and a more general form of it in [10]. The results from [2] for implication bases with background knowledge follow by some slight modifications of the results about implication bases without background knowledge presented in [1]. The same applies for the fuzzy variant of this method. Hence, if we choose the empty set as the background knowledge, we obtain the results from [19, 20]. We start by investigating the stem bases of L-contexts relative to a set of background implications. Afterwards we show how some notions and results for fuzzy implications and their stem bases change for our new setting. The attribute sets of L-contexts and the residuated lattices L will be consid- ered finite. Further, L is assumed to be linearly ordered. Attribute exploration with fuzzy attributes and background knowledge 73 Definition 1. Let K be a finite L-context and let L be a set of background attribute implications. A set B of fuzzy attribute implications of K is called L- complete if every implication of K is entailed by L ∪ B. We call B, L-non- redundant if no implication A ⇒ B from B is entailed by (B \ {A ⇒ B}) ∪ L. If B is both L-complete and L-non-redundant, it is called an L-base. Note that if we have L = ∅ in the above definition, then all L-notions are actually the notions introduced for sets of fuzzy implications. This remark holds also for the other notions introduced in this section. For any set L of background attribute implications and any attribute L-set X ∈ LM we define an L-set X L ∈ LM and an L-set X Ln ∈ LM for each non-negative integer n by [ X L := X ∪ {B ⊗ S(A, X)∗ | A ⇒ B ∈ L},  Ln X, n = 0, X := (X Ln−1 )L , n ≥ 1. An operator L on these sets is defined by ∞ [ L(X) := X Ln . (3) n=0 From [20] we know that L(−) is an L∗ -closure operator for a finite set M of attributes and a finite residuated lattice L. Definition 2. For an L-context (G, M, I), a subset P ⊆ LM is called a system of L-pseudo-intents of (G, M, I) if for each P ∈ LM the following holds P ∈ P ⇐⇒ (P = L(P ) 6= P ↓↑ and ||Q ⇒ Q↓↑ ||P = 1 for each Q ∈ P : Q 6= P ). As in the case without background knowledge, the usage of the globalisation simplifies the definition of the system of L-pseudo-intents. We have that P ⊆ LM is a system of pseudo-intents if P ∈ P ⇐⇒ (P = L(P ) 6= P ↓↑ and Q↓↑ ⊆ P for each Q ∈ P with Q & P ). Theorem 3. The set BL := {P ⇒ P ↓↑ | P is an L-pseudo-intent} is an L-base of K. We call it the L-Duquenne-Guigues-base or the L-stem base. Proof. First note that all implications from BL are implications of (G, M, I). We start by showing that BL is complete, i.e., ||A ⇒ B||BL ∪L = ||A ⇒ B||(G,M,I) for every fuzzy implication A ⇒ B. By Equation (2) follows ||A ⇒ B||(G,M,I) = ||A ⇒ B||Int(G∗ ,M,I) . Hence, it is sufficient to prove that ||A ⇒ B||BL ∪L = ||A ⇒ B||Int(G∗ ,M,I) for every fuzzy attribute implication A ⇒ B. For any L-set N ∈ LM , N ⇒ L(N ) is entailed by L, therefore we have N = L(N ). Each intent N ∈ Int(G∗ , M, I) is a model of BL . Now let N ∈ Mod(BL ) and assume that N 6= N ↓↑ , i.e., N is not an intent. Since N ∈ Mod(BL ) we have 74 Cynthia Vera Glodeanu ||Q ⇒ Q↓↑ ||N = 1 for every L-pseudo-intent Q ∈ P. By definition, N is an L-pseudo-intent and hence N ⇒ N ↓↑ belongs to BL . But now, we have ||N ⇒ N ↓↑ ||N = S(N, N )∗ → S(N ↓↑ , N ) = 1∗ → S(N ↓↑ , N ) = S(N ↓↑ , N ) 6= 1, which is a contradiction because N does not respect this implication. To finish the proof, we still have to show that BL is L-non-redundant. To this end let P ⇒ P ↓↑ ∈ BL . We show that this implication is not entailed by L := (BL \ {P ⇒ P ↓↑ }) ∪ L. As P = L(P ), it is obviously a model of L. We have ||Q ⇒ Q||P = 1 for every L-pseudo-intent Q ∈ P different from P since P is an L-pseudo-intent. Therefore, P ∈ Mod(L). We also have that ||P ⇒ P ↓↑ ||P = S(P ↓↑ , P ) 6= 1 and thus P is not a model of BL ∪ L. Hence, we have ||P ⇒ P ↓↑ ||(G,M,I) = ||P ⇒ P ↓↑ ||BL ∪L 6= ||P ⇒ P ↓↑ ||L , showing that L is not complete and thus BL ∪ L is non-redundant. t u In general we write P ⇒ P ↓↑ \ {m ∈ M | P (m) = P ↓↑ (m)} instead of P ⇒ P ↓↑ . Note that computing the stem-base and closing the implications from it with respect to the operator L(−) will yield a different set of implications than the L-stem-base. Let us take a look at the following example. Example 1. Consider the L-context given in Figure 1. In order to ensure that its stem-base and L-stem-base exist, we use the globalisation. Further, we use the Gödel logic. The stem-base is displayed in the left column of Figure 1. For the background implications L := {b ⇒ a, d ⇒ a, {a, c} ⇒ b} we obtain the L-stem- base displayed in the middle column of the figure. If we close the pseudo-intents stem base L-stem base L(P ) ⇒ P ↓↑ 0.5 0.5 0.5 a b c d /b ⇒ a, /b ⇒ a, /b ⇒ a, 0.5 0.5 0.5 /a ⇒ a, /a ⇒ a, /a ⇒ a, x 1 0.5 0 0 d ⇒ a, b, c, c, 0.5/d ⇒ a, b, d, a, d ⇒ b, c, y 1 0 0 0 c, 0.5/d ⇒ a, b, d, a, 0.5/d ⇒ b, c, d, c, 0.5/d ⇒ a, b, d, z 0 0 1 0 b ⇒ a, c, d, a, d ⇒ b, c, a, b ⇒ c, d, t 0 0 0 0.5 a, 0.5/d ⇒ b, c, d, a, b ⇒ c, d. a, 0.5/d ⇒ b, c, d, a, c ⇒ b, d. a, b, c ⇒ d. Fig. 1. An L-context and its different stem bases. of the stem-base with respect to the operator L(−), we obtain implications of the form L(P ) ⇒ P ↓↑ , which are displayed in the right column of the figure. As one easily sees, the latter set of implications and the L-stem-base are different. The set {L(P ) ⇒ P ↓↑ | P is a pseudo-intent with L(P ) 6= P ↓↑ } contains an additional implication, namely {a, b, c} ⇒ d. For developing our theory about fuzzy attribute exploration with background knowledge, the following results are useful. First, the set of all intents and all Attribute exploration with fuzzy attributes and background knowledge 75 L-pseudo-intents is an L∗ -closure system, as stated below. Due to lack of space we omit the proofs of the following two lemmas. Lemma 2. Let (G, M, I) be an L-context, let L be a set of fuzzy implications of (G, M, I). Further, let P and Q be intents or L-pseudo-intents such that S(P, Q)∗ ≤ S(P ↓↑ , P ∩ Q) and S(Q, P )∗ ≤ S(Q↓↑ , P ∩ Q). Then, P ∩ Q is an intent. Note that if we choose the globalisation for (−)∗ , then P ∩ Q is an intent provided that P and Q are (L-pseudo-)intents with P * Q and Q * P . Now we are interested in the closure of an L-set with respect to the impli- cations of the L-base BL . Therefore, we first define for each L-set X ∈ LM and • • each non-negative integer n the L-sets X L , X Ln ∈ LM as follows: • [ X L := X ∪ {B ⊗ S(A, X)∗ | A ⇒ B ∈ BL , A 6= X},  L• X, n = 0, X := n • • (X Ln−1 )L , n ≥ 1. Further, we define an operator L• (−) on these sets by ∞ [ • L• (X) := X Ln . (4) n=0 Lemma 3. If (−)∗ is the globalisation, then L• given by (4) is an L∗ -closure operator and {L• (X) | X ∈ LM } coincides with the set of all L-pseudo-intens and intents of (G, M, I). Remark 1. Note that for a general hedge, L• (−) does not need be an L∗ -closure operator. For instance, choose the Goguen structure and the identity for the hedge (−)∗ . Further, let L := {0.3/y ⇒ y}. Then, • L• ({0.2/y})(y) ≥ ({0.2/y})L (y) = {0.2/y} ∪ {y ⊗ (0.3 → 0.2)} = {0.2/y} ∪ {0.(66)/y} = {0.(66)/y}, and L• ({0.3/y})(y) = {0.3/y}. Hence, L• (−) does not satisfy the monotony prop- erty, because we have {0.2/y} ⊆ {0.3/y} but L• ({0.2/y}) * L• ({0.3/y}). 4 Attribute exploration with background knowledge Particularly appealing is the usage of background knowledge in the exploration process. This proves itself to be very useful and time saving for the user. He/she will have to answer less questions, as the algorithm does not start from scratch. Due to Remark 1 and the fact that we are only able to perform a successful attribute exploration if the chosen hedge is the globalisation, we will consider 76 Cynthia Vera Glodeanu only this hedge in this section. In order to arrive at the exploration with back- ground knowledge we will present the lectic order, the “key proposition” and an appropriate algorithm for attribute exploration in this setting. The lectic order is defined analogously as in Section 2, see (1). The only difference lies in the definition of “⊕”. This time we are using the L∗ -closure • operator (−)L instead of (−)↓↑ . • Theorem 4. The lectically first intent or L-pseudo-intent is ∅L . For a given L-set A ∈ LM , the lectically next intent or L-pseudo-intent is given by the L-set A⊕(m, l), where (m, l) ∈ M ×L is the greatest tuple such that A <(m,l) A⊕(m, l). The lectically last intent or L-pseudo-intent is M . Now we are prepared to present the main proposition regarding attribute exploration with background knowledge in a fuzzy setting. Proposition 2. Let L be a finite, linearly ordered residuated lattice with glob- alisation. Further, let P be the unique system of L-pseudo-intents of a finite L-context K with P1 , . . . , Pn ∈ P being the first n L-pseudo-intents in P with respect to the lectic order. If K is extended by an object g, the object intent g ↑ of which respects the implications from L ∪ {Pi ⇒ Pi↓↑ | i ∈ {1, . . . , n}}, then P1 , . . . , Pn remain the lectically first n L-pseudo-intents of the extended context. Proof. Let K = (H, M, J) be the initial context and let (G, M, I) be the extended context, namely G = H ∪ {g} and J = I ∩ (H × M ). To put it briefly, since g I is a model of Pi ⇒ PiJJ for all i ∈ {1, . . . , n} we have that PiJJ = PiII . By the definition of L-pseudo-intents and the fact that every L-pseudo-intent Q of (H, M, J) with Q ⊂ Pi is lectically smaller than Pi , we have that P1 , . . . , Pn are the lectically first n L-pseudo-intents of (G, M, I). We now have the key to a successful attribute exploration with background knowledge in the fuzzy setting, at least when we use the globalisation. With this result we are able to generalise the attribute exploration algorithm as presented by Algorithm 1. Its input is the L-context K, the residuated lattice L and the set of background implications L. The first intent or L-pseudo-intent is the empty set. If it is an intent, add it to the set of intents of the context. Otherwise, ask the expert whether the implication is true in general. If so, add this implication to the L-stem base, otherwise ask for a counterexample and add it to the context (line 2 − 11). Until A is different from M , repeat the following steps: Search for the largest attribute i in M with its largest value l such that A(i) < l. For this attribute compute its closure with respect to the L• (−)-closure operator given by (4) and check whether the result is the lectically next intent or L-pseudo- intent (line 12 − 16). Thereby, A & i := A ∩ {1, . . . , i − 1}. In lines 17 − 25 we repeat the same procedure as in lines 2 − 11. The algorithm generates interactively the L-stem base of the L-context. We enumerate the intents and pseudo-intents in the lectic order. Due to Proposi- tion 2 we are allowed to extend the context by objects whose object intents respect the already confirmed implications. This way, the L-pseudo-intents al- ready contained in the stem base do not change. Hence, the algorithm is sound and correct. Attribute exploration with fuzzy attributes and background knowledge 77 Algorithm 1: FuzzyExploration(K, L, L) 1 L := ∅; A := ∅; ↓↑ 2 if A = A then 3 add A to Int(K) 4 else 5 Ask expert whether A ⇒ A↓↑ is valid; 6 if yes then 7 add A ⇒ A↓↑ to L 8 else 9 Ask for counterexample g and add it to K 10 end 11 end 12 while A 6= M do 13 for i = n, . . . , 1 and l = max L, . . . , min L with A(i) < l do 14 B := L• (A); 15 if A & i = B & i and A(i) < B(i) then 16 A := B; 17 if A = A↓↑ then 18 add A to Int(K) 19 else 20 Ask expert whether A ⇒ A↓↑ is valid; 21 if yes then 22 add A ⇒ A↓↑ to L 23 else 24 Ask for counterexample g and add it to K 25 end 26 end 27 end 28 end 29 end 5 Illustrative example For our illustrative example we will consider the data from Figure 2. The ob- jects are different universities from Germany and the attributes are indicators rating these institutions. Study situation overall: M.Sc. students were asked about their overall rating of their studies. IT-infrastructure: the availability of subject-specific software, PC pools and wifi were taken into account. Courses offered: amount of courses and the interdisciplinary references were relevant. Possibility of studying: timing of the courses and content of the curriculum were decisive. Passage to M.Sc.: clearly formulated admission requirements and assistance of the students with the organisational issues were relevant. Suppose we want to explore the implications between the attributes from the L-context from Figure 2. We also know some examples, namely the TUs. These will be the objects of the L-context we start with. Further, we heard 78 Cynthia Vera Glodeanu from others that the implications {a, b} ⇒ c, d ⇒ {0.5/a, e}, {a, e} ⇒ {c, d} and a ⇒ {0.5/b, 0.5/c, 0.5/e} hold. These will be considered the set of background im- plications L. The exploration process is displayed in the left column of Figure 3. The first L-pseudo-intent is ∅ and we ask the expert whether ∅ ⇒ ∅↓↑ holds. This is not the case and a counterexample is Uni Bochum. For implications that hold, for instance in step no. 3, the expert answers just “yes” and the implication is added to the L-base. Afterwards, the validity of the implication induced by the next L-pseudo-intent is asked, and so on. The algorithm continues until we reach M as an intent or L-pseudo-intent. In our case, however, the algorithm stops at step no. 10. This is due to the fact that the implications induced by the L-pseudo-intents after {b, 0.5/d} are confirmed by the implications from the back- ground knowledge. The result of the exploration is an extended context, namely study situation IT- infra- courses possibility of passage to overall structure offered studying M.Sc. a b c d e TU Braunschweig 0.5 0 0.5 0.5 0 TU Chemnitz 0.5 1 0.5 0.5 0.5 TU Clausthal 1 1 1 1 1 TU Darmstadt 0.5 0.5 0.5 0.5 0.5 TU Ilmenau 0.5 1 0.5 0.5 1 TU Kaiserslautern 1 0.5 0.5 0.5 0 Uni Bielefeld 0.5 0 0.5 1 1 Uni Bochum 0 0.5 0.5 0.5 1 Uni Duisburg 0.5 0.5 0 0.5 0.5 Uni Erlangen 0.5 0.5 0.5 0.5 0 Uni Heidelberg 0.5 1 0.5 1 1 Uni Koblenz 0.5 0.5 0.5 0.5 0.5 Uni Saarbrücken 1 0.5 1 1 1 Fig. 2. The data is an extract from the data published in the journal Zeit Campus in January 2013. The whole data can be found under https://bit.ly/ZCinsr-informatik. that contains our initial examples and the counterexamples we (or the expert) has entered. We also obtain an L-base consisting of the background implica- tions L and the implications we have confirmed during the exploration process. In the right column of Figure 3 the exploration without background knowledge is displayed. One immediately sees that there are 4 additional steps. The first difference between the explorations appears in step no. 8. Without using back- ground knowledge we have to answer the implication from the right column, while this implication is already confirmed if we use background knowledge. The exploration without background knowledge yields the same extended context whereas the stem base contains the implications we have confirmed during the process. Attribute exploration with fuzzy attributes and background knowledge 79 no. expl. w. background know. simple expl. 0.5 0.5 0.5 1 Q: {} ⇒ { /a, /c, /d} Q: {} ⇒ {0.5/a, 0.5/c, 0.5/d} E: no, ex. Uni Bochum E: no, ex. Uni Bochum 2 Q: {} ⇒ {0.5/c, 0.5/d} Q: {} ⇒ {0.5/c, 0.5/d} E: no, ex. Uni Duisburg E: no, ex. Uni Duisburg 3 Q: {} ⇒ 0.5/d Q: {} ⇒ 0.5/d E: yes E: yes 0.5 0.5 0.5 4 Q: { /d, /e} ⇒ /b Q: {0.5/d, 0.5/e} ⇒ 0.5/b E: no, ex. Uni Bielefeld E: no, ex. Uni Bielefeld 5 Q: {0.5/b, 0.5/d} ⇒ 0.5/e Q: {0.5/b, 0.5/d} ⇒ 0.5/e E: no, ex. Uni Erlangen E: no, ex. Uni Erlangen 0.5 0.5 6 Q: { /d, e} ⇒ /c Q: {0.5/d, e} ⇒ 0.5/c E: yes E: yes 7 Q: {0.5/a, 0.5/b, 0.5/c, 0.5/d, e} ⇒ b Q: {0.5/a, 0.5/b, 0.5/c, 0.5/d, e} ⇒ b E: no, ex. Uni Saarbrücken E: no, ex. Uni Saarbrücken 8 Q: {0.5/a, 0.5/b, 0.5/c, d, e} ⇒ {a, c} Q: d ⇒ {0.5/a, 0.5/c, e} E: no, ex. Uni Heidelberg E: yes 0.5 0.5 0.5 9 Q: {c, /d} ⇒ {a, /b, d, /e} Q: {0.5/a, 0.5/b, 0.5/c, d, e} ⇒ {a, c} E: yes E: no, ex. Uni Heidelberg 10 Q: {b, 0.5/d} ⇒ {0.5/a, 0.5/c} Q: {c, 0.5/d} ⇒ {a, 0.5/b, d, 0.5/e} E: yes E: yes exploration stopped. 11 Q: {b, 0.5/d} ⇒ {0.5/a, 0.5/c, 0.5/e} E: yes 12 Q: {a, 0.5/d} ⇒ {0.5/b, 0.5/c, 0.5/e} E: yes 13 Q: {a, 0.5/b, 0.5/c, 0.5/d, e} ⇒ {c, d} E: yes 14 Q: {a, b0.5/c, 0.5/d, 0.5/e} ⇒ {c, d, e} E: yes exploration stopped. Fig. 3. Exploration with and without background knowledge. References 1. Ganter, B., Wille, R.: Formale Begriffsanalyse: Mathematische Grundlagen. Springer, Berlin, Heidelberg (1996) 2. Stumme, G.: Attribute exploration with background implications and exceptions. In Bock, H.H., Polasek, W., eds.: Data Analysis and Information Systems. Sta- tistical and Conceptual approaches. Proc. GfKl’95. Studies in Classification, Data Analysis, and Knowledge Organization 7, Heidelberg, Springer (1996) 457–469 80 Cynthia Vera Glodeanu 3. Glodeanu, C.: Attribute exploration in a fuzzy setting. In Domenach, F., Igna- tov, D., Poelmans, J., eds.: Contributions to International Conference on Formal Concept Analysis, Katholieke Universiteit Leuven (2012) 4. Glodeanu, C.: Conceptual Factors and Fuzzy Data. PhD thesis, TU Dresden (2012) 5. Sacarea, C.: Towards a theory of contextual topology. PhD thesis, TH Darmstadt, Aachen (2001) 6. Kwuida, L., Pech, C., Reppe, H.: Generalizations of Boolean algebras. an attribute exploration. Math. Slovaca 56(2) (2006) 145–165 7. Revenko, A., Kuznetsov, S.: Attribute exploration of properties of functions on ordered sets. In: Proc. CLA 2010. (2010) 313–324 8. Bartel, H.G., Nofz, M.: Exploration of nmr data of glasses by means of formal concept analysis. Chemom. Intell. Lab. Syst. 36 (1997) 53–63 9. Stumme, G.: Acquiring expert knowledge for the design of conceptual information systems. In Fensel, D., Studer, R., eds.: EKAW. Volume 1621 of Lecture Notes in Computer Science., Springer (1999) 275–290 10. Ganter, B.: Attribute exploration with background knowledge. Theoretical Com- puter Science 217(2) (1999) 215–233 11. Hájek, P.: The Metamathematics of Fuzzy Logic. Kluwer (1998) 12. Klir, G., Yuan, B.: Fuzzy sets and fuzzy logic - theory and applications. Prentice Hall P T R, Upper Saddle River, New Jersey 07458 (1995) 13. Belohlávek, R., Vychodil, V.: Fuzzy concept lattices constrained by hedges. JACIII 11(6) (2007) 536–545 14. Umbreit, S.: Formale Begriffsanalyse mit unscharfen Begriffen. PhD thesis, Martin- Luther-Universitaet Halle-Wittenberg (1994) 15. Burusco, A., Fuentes-Gonzales: The study of L-Fuzzy Concept Lattice. Mathware and soft computing 1(3) (1994) 209–218 16. Pollandt, S.: Fuzzy Begriffe. Springer Verlag, Berlin Heidelberg New York (1997) 17. Bělohlávek, R.: Fuzzy Relational Systems: Foundations and Principles. Systems Science and Engineering. Kluwer Academic/Plenum Press (2002) 18. Bělohlávek, R.: Algorithms for fuzzy concept lattices. In: International Conference on Recent Advances in Soft Computing. (2002) 200–205 19. Bělohlávek, R., Vychodil, V.: Attribute implications in a fuzzy setting. In Missaoui, R., Schmid, J., eds.: International Conference on Formal Concept Analysis. Lecture Notes in Computer Science, Springer (2006) 45–60 20. Bělohlávek, R., Vychodil, V.: Fuzzy attribute logic: attribute implications, their validity, entailment, and non-redundant basis. In Liu, Y., Chen, G., Ying, M., eds.: Eleventh International Fuzzy Systems Association World Congress,. Volume 1 of Fuzzy Logic, Soft Computing & Computational Intelligence., Tsinghua University Press and Springer (2005) 622–627 An efficient Java implementation of the immediate successors calculation Clément Guérin, Karell Bertet, and Arnaud Revel L3i, Laboratory in Computer Science, Image and Interaction, University of La Rochelle {clement.guerin,karell.bertet,arnaud.revel}@univ-lr.fr Abstract. The authors present in this paper an effective Java imple- mentation of the concept immediate successors calculation. It is based on the lattice Java library, developed by K. Bertet and the Limited Ob- jects Access algorithm, proposed by C. Demko and K. Bertet [6] with Java-specific enhancements. This work was motivated by the need of an efficient tool delivering this service in an accessible and popular program- ming language for a wider research project: eBDtheque. Performances are compared and analyzed. Keywords: concept lattice, Java implementation, immediate succes- sors, Limited Object Access algorithm, comicbooks 1 Introduction A Galois lattice, or concept lattice, is a graph providing a representation of all the possible associations between a set of objects, or observations, and their describing attributes. Lattices can be queried, browsed and therefore provide a smart way to represent and retrieve information through a description context. Although they have been introduced a long time ago [1], they were hardly con- sidered helpful for information retrieval before the end of the twentieth century and the work of [9, 3, 18] due to an exponential computational time issue. Even today, using concept lattices to handle a large set of objects described by an even wider set of attributes can be challenging. Indeed, it is still not trivial to use lattice’s properties in a big development project, mainly because of the lack of available software frameworks. Being in need of such a tool to browse and query a dataset on comic books, described by an ontology [10], we propose an efficient Java implementation for the calculation of the immediate successors of a concept (i.e. to get the closest refined concepts according to the description of the starting point). This paper is organized as follows. After introducing our motivations in part 2, the third section reminds how are calculated the immediate successors in the state of the art. The next section details the implemented algorithm and how it has been done in order to be as effective as possible. Section 5 shows some experimentations related to the classical immediate successors algorithm. Finally the last section concludes this paper and brings up some perspectives on our ongoing work. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 81–92, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 82 Clément Guérin, Karell Bertet and Arnaud Revel 2 Context and motivation We are developing a multi-faceted solution to automatically analyze comic books in a) an image processing point of view [19], b) a semantic point of view [10]. One key point is the possibility for a user to retrieve comic books panels, the rectan- gular frames in which the pictures are drawn, similar to an input query, based on the semantic description of each panel from the dataset [11]. Two panels may share the same kind of content, such as speech balloons, spoken words, objects, characters or even some localized pixel’s visual features (e.g colors, textures, shapes, etc.). They can be of the same shape, at the same location in the page or in the narration, drawn by the same person or come from the same volume (Table 1 and Fig. 1 show an example of what could be such shared properties). Possibilities are only limited by the ability of our system to recognize and deduce information. All these heterogeneous pieces of description have to be expressed in a way that can be interrogated and browsed efficiently. panel 1 panel 2 panel 3 panel 4 panel 5 contains:balloon 1 1 1 1 0 shape:wide 0 1 0 0 1 shape:high 1 0 0 1 0 size:medium 0 0 1 0 1 contains:tree 0 0 0 1 1 Table 1. Sample context Fig. 1. Panel 4 from Table 1. Credit [5] An efficient Java implementation of the immediate successors calculation 83 One way to browse data is to guide the user by a relevance feedback mech- anism as it can classically be seen in content based image retrieval (CBIR) [20] and machine learning [21]. To an input query, which can be a panel or a set of features, follows a loop of interactions between the computer and the final user that will guide him, hopefully sooner than later, to his answer. At each step, the system returns a set of result panels that share the same attributes, weighted by the estimated relevance of these attributes to the query. The user is then invited to label the panels based on what he considers to be important in his query. The relevant (resp. irrelevant) features are identified with the right (resp. wrong) labeled results, their weight is dynamically adjusted, so the query can be refined to produce a more accurate output. The interaction loop between the user and the system goes on and on until the user is satisfied. The structure of concept lattices seems to fit particularly well to the task as each concept is made of a set of panels described by a shared set of attributes. The output can be composed of panels from several distinct concepts, chosen for the weight of their attributes. The user is then guided through the lattice structure by his choices without being aware of the underlying mechanism. As we were working with the Java language, we started looking for a way to handle lattices that could easily be integrated to the main solution. The set of observations is meant to be quite large as it does not become very interesting to retrieve data until the volume gets critical. Because of the extreme hetero- geneity of comic books’ panels, the growth of the observation set (the pictures) automatically implies the growth of the attribute set (the description of those pictures). Therefore, the implementation has to be efficient when dealing with large sets of both attributes and observations. 3 State of the art More formally, a concept lattice is defined from a binary table, also denoted a formal context, (O, I, (α, β)) where O is the set of objects, I the set of attributes, α(A) the set of attributes shared by a subset A of objects, and β(B) the set of objects sharing a subset B of attributes. Each node of a concept lattice is denoted a concept (A, B), i.e. a maximal objects-attributes correspondence, verifying α(A) = B and β(B) = A. A is called the extent of the concept, and B its intent. Two formal concepts (A1 , B1 ) and (A2 , B2 ) are in relation in the lattice when they verify the following extension-generalization property: A1 ⊆ A2 (A1 , B1 ) ≤ (A2 , B2 ) ⇔ (equivalent to B1 ⊇ B2 ) The whole set of formal concepts fitted out by the order relation ≤ is called a concept lattice or a Galois lattice because it verifies the lattice properties, and the cover relation ≺ corresponds to the Hasse diagram of the lattice. The concepts ⊥ = (O, α(O)) and > = (β(I), I) respectively correspond to the bottom and the top of the concept lattice. See the book of Ganter and Wille [8] for a more complete description of formal concept lattices. 84 Clément Guérin, Karell Bertet and Arnaud Revel Numerous generation algorithms have been proposed in the literature [16, 7, 2, 17]. All of these proposed algorithms have a polynomial complexity with respect to the number of concepts (at best quadratic in [17]). The complexity is therefore determined by the size of the lattice (i.e. the number of concepts in the lattice), this size being exactly bounded by 2|O+I| in the worst case (when the ta- ble context is a diagonal matrix of zeros) and by |O+I| in the best case (diagonal matrix of ones). A formal and experimental comparative study of the different algorithms has been published in [13]. Although all these algorithms generate the same lattice, they propose different strategies. Ganter’s NextClosure [7] is the reference algorithm that determines the concepts in lectical order (next, the concepts may be ordered by ≤ or ≺ to form the concept lattice) while Bordat’s algorithm [2] is the first algorithm that computes directly the Hasse diagram of the lattice, by computing immediate successors for each concept, starting from the bottom concept, until all concepts are generated. Immediate successor cal- culation is appropriate for an on-demand generation inside the structure, useful for a navigation without generating the whole set of concepts. Bordat’s algorithm, independently rediscovered by [14], is issued from a corol- lary of Bordat’s theorem [2] stating that (A0 , B 0 ) is an immediate successor of a concept (A, B) if and only if A0 is inclusion-maximal in the following set system FA defined on the objects set O by: FA = {β(x) ∩ A : x ∈ I\B} (1) Immediate successors algorithm first generates the set system FA in a linear time ; then inclusion-maximal subsets of FA can easily be computed in O(|O|3 ), using an inclusion graph for example. Notice that the inclusion-maximal subsets problem is known to be resolved in O(|O|2,5 ) using sophisticated data structures ([15, 12]). It is possible to consider the restriction of a concept lattice to the attributes set. Indeed, a nice result establishes that any concept lattice is isomorphic to the closure lattice defined on the set I of attributes, where each concept is restricted to its attributes part. The closure lattice is composed of all closures - i.e. fixed points - for the closure operator ϕ = α ◦ β. Using the closure lattice instead of the whole concept lattice gives rise to a storage improvement, for example in case of large amount of objects. See the survey of Caspard and Monjardet [4] for more details about closure lattices. Closure lattices can be generated by an extension of Bordat’s algorithm (see Alg. 1) issued from a reformulation of Bordat’s Theorem. Indeed, each immediate successor B 0 of a closure B is obtained by B 0 = α(A0 ) with A0 ∈ FA . Since A0 = β(x) ∩ A = β(x) ∩ β(B) = β(x + B), thus B 0 = α(A0 ) = α(β(x + B)) = ϕ(x + B). Therefore, immediate successors of a closure B are inclusion-minimal subsets in a set system FB defined on the attributes set I by: FB = {ϕ(x + B) : x ∈ I\B} (2) The Limited Object Access algorithm (see Algorithm 2), introduced by Demko and Bertet in 2011, is another extension of Bordat’s immediate successors gen- An efficient Java implementation of the immediate successors calculation 85 Name: Immediates Successors Data: A context K = (O, I, (α, β)) ; A closure B of the closure lattice of K Result: The immediate successors of B in the closure lattice begin Init the set system FB with ∅; foreach x ∈ I\B do Add ϕ(x + B) to FB end Succ=minimal inclusion subsets of FB ; return Succ end Algorithm 1: Immediate successors algorithm eration. Please refer to [6] for a complete description. The key idea behind this algorithm is to improve its efficiency by counting the objects, inspired from rela- tional databases. Instead of considering the subset of observations as the extent of a subset of attributes, the computation of the inclusion-maximal subsets on FA is made considering only its cardinality, and an incremental strategy. Four cases have to be considered to test, for each attribute x of I\B and each al- ready inserted potential successor X ⊆ I\B, the inclusion between ϕ(B + X) and ϕ(B + x): 1. Merge x with X when ϕ(B + x) = ϕ(B + X). 2. Eliminate x as potential successor of B when ϕ(B + x) ⊃ ϕ(B + X) 3. Eliminate X as potential successor of B when ϕ(B + x) ⊂ ϕ(B + X) 4. Insert x as potential successor of B when x is neither eliminated or merged with X. The inclusion test between ϕ(B + X) and ϕ(B + x) can easily be performed using the count function c and the following proposition from [6]. Proposition 1 ([6]): ϕ(B + X) ⊆ ϕ(B + x) ⇐⇒ c(B + X + x) = c(B + X) (3) The count function c associates to any subset X of attributes the cardinality of the subset β(X): c(X) = |β(X)| (4) ϕ(B) = B + {x ∈ I\B : c(B) = c(B + x)} (5) The count function corresponds to the notion of support introduced in asso- ciation rule-mining, and is in particular used by Titanic algorithm [22]. It has been proven to be effective on a large amount of objects with a complex- ity of O((|I| − |B|)2 ∗ O(c(B + X))). This has to be compared to the complexity of the classical immediate successors algorithm in O(|I|2 ∗ |O|). 86 Clément Guérin, Karell Bertet and Arnaud Revel Name: Immediates Successors LOA Data: A context K = (O; I, (α, β)) ; A closed set B of the closed set lattice (CI , ⊆) of K Result: The immediate successors of B in the lattice begin Init the set system SuccB with ∅; foreach x ∈ I \ B do add = true; foreach X ∈ SuccB do \\ Case 1: Merge x and X in the same potential successor if c(B + x) = c(B + X) then if c(B + X + x) = c(B + x) then replace X by X + x in SuccB ; add=false; break; end end \\ Case 2: Eliminate x as potential successor if c(B + x) < c(B + X) then if c(B + X + x) = c(B + x) then add=false; break; end end \\ Case 3: Eliminate X as potential successor if c(B + x) > c(B + X) then if c(B + X + x) = c(B + X) then delete X from SuccB end end end \\ Case 4: Insert x as a new potential successor ; if add then add {x} to SuccB ; end return SuccB ; end Algorithm 2: LOA immediate successors algorithm An efficient Java implementation of the immediate successors calculation 87 The ability of the algorithm to handle huge sets of data is very interesting. The impact of the number of observations on the performances can be limited, depending on the implementation of c, using for example multiple keys and ro- bust algorithms used in databases that do not need to load all data for computing a cardinality [6]. 4 Implementation 4.1 Data structures We choose to implement the Limited Object Access algorithm in Java. The per- formance of the Limited Object Access presented in [6] comes from a PHP/MySQL implementation, backed up by the efficient SQL indexation system. Its behavior without the help of SQL remains to be seen. While profiling the execution of a naive implementation, conducted without paying attention to optimization, we noticed that up to 86% of the computation time was used for the calculation of the candidate sets of attributes’ extent. The extent of a set of attributes is the intersection of the extents of each of its elements. It appears that the most time consuming step of the extent calculation (up to 87% of the running time) is the intersection of two sets of elements. While it only takes around 50 microseconds to perform, the calls pile grows fast with the size of the dataset, resulting in a delivery time of full seconds, even minutes. A particular attention must be paid to the optimization of the extent calculation, both in terms of calls amount and processing time. The number of calls is limited to three for a foreach loop, as c(B+x), c(B+X) and c(B + X + x) are consistent and can be computed once and for all at the beginning of the second loop. If they were not, the count function would have been called up to 8 times (2 times per if, plus 2 times for the last if). Classical Java containers, like HashSet or TreeSet, are well suited for the task of storing the observations and attributes but are a bit too sophisticated for the representation of a simple context’s binary table. In fact, observations do not necessarily have to be directly manipulated to compute the extent, a fortiori its cardinality, of a set of attributes. Assuming that the observations are sorted in a final order, each of them can be represented by its index in this order. So the extent of an attribute becomes a binary word whose length is the cardinality of the observations set. In this word, a 1 (resp. a 0) means this index’s observation is (resp. is not) part of the extent. Java, as many programming languages, has a BitSet class to manipulate and execute operations over such data type. The extent (resp. intent) of each attribute (resp. observation) of the context is computed and stored as a binary word once and for all at the beginning of the execution. Then, the extent of a set of attributes can be computed using a logical AND on the successive extents of all of its elements (see Table 2). The immediate benefit comes from the rapidity of the AND operation, performed in less than one microsecond (with a complexity of O(E(n/w)), n being the length of the bitset and w the size of the memory words used to store the basic AND 88 Clément Guérin, Karell Bertet and Arnaud Revel operations). It is more than 50 times as fast as an intersection between two TreeSets for the same number of calls. Furthermore, this sticks to the primal boolean representation of a context (see Table 1) and the lattice (nor any part of it) does not have to be generated at any time. Each attribute and each object is mapped to its bit index in the binary word for output readability purpose. p1 p2 p3 p4 p5 contains:balloon 1 1 1 1 0 shape:high 1 0 0 1 0 contains:tree 0 0 0 1 1 Extent 0 0 0 1 0 Table 2. Extent of the set of attributes {b, h, t} 5 Experiment The dataset is made of 848 comic books panels, the observations, and two kinds of attributes. The first category, made of 100 attributes, is shared by the whole set of observations with a proportion going from 2 to 11 attributes for an average of 7. 28 attributes are assigned to a single observation. The second category includes the first one and adds 3433 attributes, leading to an average distribution of 15 attributes per observation. 3403 out of the 3533 attributes belong to less than 3 observations. Only 15 are shared by more than 100 objects. As this system is meant to be used in a browsing context through relevance feedback, it has to be efficient going both ways from a concept (towards its suc- cessors and its predecessors). We ran our algorithm both on the calculation of the immediate successors of the bottom concept ⊥ and the immediate predeces- sors of the top concept >. We computed the latter as the immediate successors of ⊥ on the inverted context (which is rigorously the same thing as calculating the immediate predecessors of > in the regular context – see Fig. 2 and 3). We choose ⊥ as starting point because, according to our dataset, it is the concept that is supposed to have the most immediate successors. Table 3 shows the processing times in seconds of the classical immediate suc- cessors algorithm and the Limited Object Access algorithm, both tuned with TreeSet and BitSet data structures for different scenarios corresponding to dif- ferent complexity values. Processes have been run on a 8GB DDR3 machine, powered by a 2.7GHz quad core Xeon. The results show a significant improve- ment of the computation time which can be attributed, for one part, to LOA and, for the other part, to the use of binary words. An efficient Java implementation of the immediate successors calculation 89 [b, h, m, t, w] [] [b, h, t] [p4] [m, t, w] [b, w] [b, h] [b, m] [p5] [p2] [p1, p4] [p3] [t] [w] [m] [b] [p4, p5] [p2, p5] [p3, p5] [p1, p2, p3, p4] [] [p1, p2, p3, p4, p5] Fig. 2. Concept lattice generated from the context presented in Table 1. Intent: Attributes, Extent: Observations Immediate successors Immediate predecessors |O| = 848 |O| = 848 |O| = 100 |O| = 3533 |I| = 100 |I| = 3533 |I| = 848 |I| = 848 Classical + TreeSet 3.06 11767.52 549.76 994.00 Classical + BitSet 0.77 196.58 62.39 9.77 LOA + TreeSet 0.29 11.26 5.65 1183.75 LOA + BitSet 0.02 0.15 0.24 1.20 Table 3. Computation time (in seconds) of the immediate successors of ⊥ and imme- diate predecessors of >. 90 Clément Guérin, Karell Bertet and Arnaud Revel [p1, p2, p3, p4, p5] [] [p4, p5] [p3, p5] [p2, p5] [p1, p2, p3, p4] [t] [m] [w] [b] [p5] [p3] [p1, p4] [p2] [m, t, w] [b, m] [b, h] [b, w] [p4] [b, h, t] [] [b, h, m, t, w] Fig. 3. Concept lattice generated from the inversion of the context presented in Table 1 Intent: Observations, Extent: Attributes The bitset improvement over the LOA implementation shows a reduction of the execution time going from 14 to over 900 times. The calculation of the immediate predecessors of > over the set of 3533 attributes is the worst possible case as it results in 848 different concepts of one observation, each of them with a set of around 20 attributes. The running time is almost entirely taken by the million of extent calculations, which is why the gain is more spectacular here. A test on 500 randomly picked concepts has been run over the third dataset (|O| = 100, |I| = 848) resulting in a mean processing time of 0.18 second. Computation time shrinkage is minimized on the classical method as the op- timization only applies on the closure operation, which is a fraction of the global computation time. We deal here with computation times kept below the second on a reasonable machine. This starts to be interesting in terms of human-machine interaction capabilities where at least a dozen of concept’s immediate successors have to be calculated at each step. An efficient Java implementation of the immediate successors calculation 91 6 Conclusion and ongoing work We presented an efficient Java implementation of the immediate successors cal- culation. The short processing times on quite large datasets are promising and make the query by navigation through a lattice possible. The source code will be made available soon, along a full Java library to handle lattices. 7 Acknowledgment This work was supported by the European Regional Development Fund, the region Poitou-Charentes (France), the General Council of Charente Maritime (France) and the town of La Rochelle (France). References 1. G. Birkhoff. Lattice theory. American Mathematical Society, 3d edition, 1967. 2. J.P. Bordat. Calcul pratique du treillis de Galois d’une correspondance. Math. Sci. Hum., 96:31–47, 1986. 3. Claudio Carpineto and Giovanni Romano. Ulysses: A lattice-based multiple in- teraction strategy retrieval interface. In Brad Blumenthal, Juri Gornostaev, and Claus Unger, editors, Human-Computer Interaction, volume 1015 of Lecture Notes in Computer Science, pages 91–104. Springer Berlin Heidelberg, 1995. 4. N. Caspard and B. Monjardet. The lattice of closure systems, closure operators and implicational systems on a finite set: a survey. Discrete Applied Mathematics, 127(2):241–269, 2003. 5. Cyb. Bubblegôm Gôm vol. 1, pp. 3, volume 1. Studio Cyborga, Goven, France, 2009. 6. C. Demko and K. Bertet. Generation algorithm of a concept lattice with limited object access. In Proc. of Concept lattices and Applications (CLA’11), pages 113– 116, Nancy, France, October 2011. 7. B. Ganter. Two basic algorithms in concept analysis. Technische Hochschule Darmstadt (Preprint 831), 1984. 8. B. Ganter and R. Wille. Formal Concept Analysis, Mathematical foundations. Springer Verlag, Berlin, 1999. 9. R. Godin, C. Pichet, and J. Gecsei. Design of a browsing interface for information retrieval. SIGIR Forum, 23(SI):32–39, May 1989. 10. Clément Guérin. Ontologies and spatial relations applied to comic books read- ing. In PhD Symposium of Knowledge Engineering and Knowledge Management (EKAW), Galway, Ireland, October 2012. 11. Clément Guérin, Karell Bertet, and Arnaud Revel. An approach to Semantic Con- tent Based Image Retrieval using Logical Concept Analysis. Application to comic- books. In International Workshop ”What can FCA do for Artificial Intelligence?” FCA4AI, pages 53–56, France, August 2012. 12. Munro I. Efficient determination of the transitive closure of a directed graph. Information Processing Letter, pages 56–58, 1971. 13. S. Kuznetsov and S. Obiedkov. Comparing performance of algorithms for generat- ing concept lattices. Journal of Experimental and Theorical Artificial Intelligence, 14(2-3):189–216, 2002. 92 Clément Guérin, Karell Bertet and Arnaud Revel 14. Christian Lindig. Fast concept analysis. Working with Conceptual Structures- Contributions to ICCS, pages 235–248, 2002. 15. Fisher M.J. and Meyer A.R. Boolean matrix multiplication and transitive closure. In 12th Annual Sympsosium on Switching and Automata Theory, pages 129–131, 1971. 16. E. Norris. An algorithm for computing the maximal rectangles in a binary relation. Revue Roumaine de Mathématiques Pures et Appliquées, 23(2), 1978. 17. L. Nourine and O. Raynaud. A fast algorithm for building lattices. Information Processing Letters, 71:199–204, 1999. 18. Uta Priss. Lattice-based information retrieval. Knowledge Organization, 27:132– 142, 2000. 19. Christophe Rigaud, Norbert Tsopze, Jean-Christophe Burie, and Jean-Marc Ogier. Robust frame and text extraction from comic books. In Young-Bin Kwon and Jean-Marc Ogier, editors, Graphics Recognition. New Trends and Challenges, vol- ume 7423 of Lecture Notes in Computer Science, pages 129–138. Springer Berlin Heidelberg, 2013. 20. Yong Rui, Thomas S Huang, Michael Ortega, and Sharad Mehrotra. Relevance feedback: a power tool for interactive content-based image retrieval. Circuits and Systems for Video Technology, IEEE Transactions on, 8(5):644–655, 1998. 21. Burr Settles. Active learning literature survey. Computer Sciences Technical Re- port 1648, University of Wisconsin–Madison, 2009. 22. G. Stumme, R. Taouil, Y. Bastide, N. Pasquier, and L. Lakhal. Computing iceberg concept lattices with TITANIC. Data and Knowledge Engineering, 42(2):189–222, August 2002. CryptoLat - a Pedagogical Software on Lattice Cryptomorphisms and Lattice Properties Florent Domenach Computer Science Department, University of Nicosia 46 Makedonitissas Ave., 1700 Nicosia, Cyprus domenach.f@unic.ac.cy Abstract. Although lattice theory is a rich field dating from Dedekind, Birkhoff and Öre, few studies in FCA use lattice properties to enhance their results. Moreover, out of the many cryptomorphisms associated with lattices, only the ones associating context, lattice and implicational system are effectively studied. CryptoLat is a software implemented in C] which provides an intuitive view on different cryptomorphisms of lattices as well as on different prop- erties of lattices. Its purpose is pedagogical, for students and researchers likewise, and work by showing incremental changes in the lattice and the associated cryptomorphisms. Keywords: Lattice Cryptomorphisms, Lattice Properties, Pedagogy 1 Introduction This article, together with the software, originates from an observation about the current state of research in the lattice and the FCA communities. Lattice theory dates back to the works of Dedekind, Birkhoff [7] and Öre [19], and is a rich field in which FCA is deeply and fundamentally rooted. Despite that fact, relatively few studies in FCA takes advantage of lattice properties to enhance their results. This dichotomy of the two communities is apparent in the research interests: on the one hand, researchers from the graph and ordered set communities are focusing on equivalence theorem and characterizations, while on the other hand data mining researchers are more focused on practical or practically oriented results. Although it is natural that this dichotomy exists because of the nature of each community’s focus of interest, it is the author’s suggestion that improvement of the communication between the two communities may produce a synergistic effect. The study of lattice cryptomorphisms and lattice properties is important for many reasons: other than giving a better understanding of the tools being used, it was shown to lead to the discovery of efficient algorithms in counting the number of Moore families [16] or calculating the stem basis [6] for example. There are two main purposes for this software: first, to promote and to give a better understanding of the many shapes and forms of lattices thanks to an incremental approach - any change made in any equivalent cryptomorphism is c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 93–103, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 94 Florent Domenach transcribed to the other cryptomorphisms. Second, to help familiarize users to fundamental latticial properties that are recalculated after any modification. Its purpose is pedagogical for both students and researchers. Students can learn and get a better understanding on what is happening during the construction of the lattice and the implicational basis, while researchers can test hypothe- ses and find small illustrating examples. The program is written in C] and is freely available (executable and source code) at http://www.cs.unic.ac.cy/ florent/software.htm This paper is organized as follows: we start in Sec. 2 by describing the soft- ware itself. Sec 3 will recall the well-known definitions of lattices and some of the existing cryptomorphisms implemented in CryptoLat, together with a short explanation on how the equivalence is done. Finally, we compare in Sec. 5 Cryp- toLat with already existing software. 2 Description of CryptoLat CryptoLat software is structured around a model view controller type of software architecture: each cryptomorphism described in Sec. 3 is a view with which the user can interact. The model is the reduced context associated with a Moore family on which all the calculations are based. When a view is updated, by adding or deleting a Sperner family for example, then the Moore family associated is calculated, the associated concept lattice, together with all the properties, is computed, and the other views get updated. Depending on which view getting updated, the process may involve different steps. If the overhanging list or the Sperner village change, then first the Moore family associated with the new list, and the reduced context is then calculated. Similarly, if the input is an arbitrary set system, then the closure system is cal- culated as in Sec. 3.2. If the input is on the set of implications, since implications are usually on the set of attributes, the corresponding Moore family will be dual to the previous ones. From the reduced context, we are using Closed by One algorithm to calculate the concept lattice. Fig. 1 shows a screen shot of the software with the five different views: the Moore family on top, the context as a datagrid, the list of implications, the list of overhanging and the list of Sperner families. The drawing of the lattice is done with a simple algorithm that optimise the position of each concept depending on the number (and position) of concepts covered. 3 Cryptomorphisms of Lattices In this section, we present the different cryptomorphisms of lattices implemented in CryptoLat in details; we do not claim to be exhaustive, so we refer the readers to [9] for a survey on those cryptomorphisms. Since we are describing implemen- tations, the following descriptions needs only to be for the finite case. CryptoLat - a Pedag. Soft. on Lattice Cryptomorphisms and Lattice Prop. 95 Fig. 1. CryptoLat software with the different views displaying our running example 3.1 Lattice and Irreducible Elements Different yet equivalent definitions for lattices exist: here, we will define a lat- tice (L, ∧, ∨) as a set L with two binary operators satisfying the following four properties: – Associativity: x ∧ (y ∧ z) = (x ∧ y) ∧ z and x ∨ (y ∨ z) = (x ∨ y) ∨ z – Commutativity: x ∧ y = y ∧ x and x ∨ y = y ∨ x – Idempotence: x ∧ x = x and x ∨ x = x – Absorption: x ∧ (y ∨ x) = x and x ∨ (y ∧ x) = x One can associate an order on the elements of L to these operators as follow: ∀x, y ∈ L, x ≤ y if x ∧ y = x or, equivalently, x ∨ y = y. Fig. 2 shows a lattice having six elements using its Hasse diagram representation: the elements of L are depicted by nodes in the plane, and a line segment connects the nodes corresponding to a covering pair x ≺ y (i.e. x ≤ y and ∀z, x ≤ z ≤ y implies x = z or y = z), where the node representing y is placed ’higher’ in the plane than the node representing x. Some elements of lattices are of particular interest: in any lattice, we have a minimal element, usually denoted by 0L or ⊥, and a maximal element 1L or >. Irreducible elements of the lattice are also the subject of studies since they constitute minimal generating sets, and are often used to characterize classes of lattices. An element j of L is join-irreducible if j = ∨X then j ∈ X, or, 96 Florent Domenach f e b c d a Fig. 2. Example of a lattice with 6 elements equivalently, j covers only one element in L. Dually, an element m of L is meet- irreducible if m = ∧X then m ∈ X, or m is covered by only one element of L. Let JL and ML be the sets of join and meet-irreducible of L. 3.2 Moore Family and Closure Operator Let S be a finite set. A closure system (or Moore family) C on S is a family of subsets of S satisfying S ∈ C and, for all A, B ∈ C, A ∩ B ∈ C. A closure system is a lattice with the following operations: – C1 ∧ C2 = C1 ∩ C2 – C1 ∨ C2 = ∩{C ∈ C : C1 ∪ C2 ⊆ C} Let A be an arbitrary set system on a set S. Then one can associate a closure system CA to A: CA = {∩{Ai : Ai ∈ A}} ∪ {S} Example 1 (continued). The family {∅, {G0 }, {G1 }, {G2 }, {G1 , G2 }, {G0 , G1 , G2 }}, with the operators previously defined, constitute a lattice isomorphic to the lat- tice of Fig. 2. Another fundamental cryptomorphism of lattice concerns closure operators. A closure operator on a set S is a map σ : P(S) → P(S) satisfying ∀X, Y ⊆ S: – Isotone: X ⊆ Y ⇒ σ(X) ⊆ σ(Y ) – Extensive: X ⊆ σ(X) – Idempotent: σ(σ(X)) = σ(X) These three properties together are equivalent to extensivity and path indepen- dence property [20]: σ(X ∪ Y ) = σ(σ((X) ∪ σ((Y )). The well-known equivalence between closure operators and closure systems is the following: given the closure system C, the associated closure operator is σC (X) = ∩{C ∈ C : X ⊆ C}. Conversely, given a closure operator σ, the associated closure system is the set of fixed points of σ, i.e. Cσ = {X ⊆ S : X = σ(X)}. CryptoLat - a Pedag. Soft. on Lattice Cryptomorphisms and Lattice Prop. 97 3.3 Context Associated with a Lattice One of the most celebrated cryptomorphism in the FCA community is the one between a lattice and a binary relation, also known as the basic theorem of Formal Concept Analysis [3, 13]. Formally, a context (G, M, I) is a binary relation I between a set of objects G and a set of attributes M . One can associate the Galois connection between P(G) and P(M ) to this binary relation as ∀A ⊆ G, B ⊆ M , A0 = {m ∈ M : ∀g ∈ A, (g, m) ∈ I} B 0 = {g ∈ G : ∀m ∈ B, (g, m) ∈ I} The lattice associated with the context (G, M, I), also called the concept lattice or Galois lattice, is the set of all concepts (A, B), with A0 = B and B 0 = A, together with the order (A1 , B1 ) ≤ (A2 , B2 ) ⇐⇒ A1 ⊆ A2 ( ⇐⇒ B1 ⊇ B2 ). Conversely, any lattice L is isomorphic to the Galois lattice of the context (JL , ML , ≤), also called the reduced context. Two other binary relations, the arrows relations, on P(J) × P(M ) are often used for characterization theorems. Let j ∈ J, m ∈ M , we define: – j ↑ m ⇐⇒ j 6≤ m and j < m+ – j ↓ m ⇐⇒ j 6≤ m and j − < m – j l m ⇐⇒ j ↑ m and j ↓ m Example 1 (continued). The lattice associated with the context of Fig. 3 is iso- morphic to the lattice of Fig. 2. Fig. 3. The reduced context, together with the arrows relations, associated with our running example. 3.4 Implications An implicational system I on S is a binary relation on P(S), and if (A, B) ∈ I, we denote it A →I B or A → B if no confusion is possible. We say that A implies B or A → B is an implication (of I). A complete implicational system I is an implicational system on P(S) satisfying, ∀A, B, C, D ⊆ S: – B ⊆ A implies A → B; 98 Florent Domenach – A → B and B → C imply A → C; – A → B and C → D imply (A ∪ C) → (B ∪ D). [2] showed that a one-to-one correspondence between closure operators and complete implicational system exists. The closure system associated to a com- plete implicational system is CI = {C ⊆ S : ∀X ⊆ S, [X ⊆ C and X → Y ] ⇒ Y ⊆ C}, while the implicational system associated to a closure mapping is {X → Y : Y ⊆ σ(X)}. Example 1 (continued). The complete implicational system associated with the lattice in Fig. 2 is the following: c → e; d → e; b, c → d; b, c → e; bc → d, e; b, d → c; b, d → e; b, d → c, e; b, e → c; b, e → d; b, e → c, d; c, d → b; c, d → e; c, d → b, e; c, d, e → b; b, d, e → c; b, c, e → d; b, c, d → e; As the above example shows, many implications in a complete implicational system can be redundant: in our example, it is evident that if we have c → e then we have b, c → e. So smaller implicational system allowing a smaller representation of a complete implicational system is of interest. We say that an implicational system Σ is a generating system for I if any implication of I can be obtained from Σ by applying recursively the rules defining a complete implicational system. A minimal generating system for I is called a basis for I, and a minimum basis is called a canonical basis. One particular basis, called the stem basis [15], can be directly defined: the stem basis is made of all implications X → σ(X) − X, with X a critical set. A set Q ⊆ S is called a quasi-closed set if Q 6∈ C and C + {Q} is a closure system, and Q is a F -quasi-closed set if Q is quasi-closed and σ(Q) = F . So a set C ⊆ S is critical if there exists F ∈ C such that C is a minimal F -quasi-closed set. Example 1 (continued). Canonical basis associated with the lattice of Fig.2. b, e → c, d; c → e; d → e; c, d, e → b; 3.5 Overhanging Relation An overhanging relation O is a binary relation on P(S) that was originated in [1] in consensus theory on trees under the term of nesting, and was generalized in [12] to any lattice. We will indifferently write (A, B) ∈ O or A O B to signify that a set A is overhanged in B. An overhanging relation satisfies the following properties: – for all A, B ∈ S, A O B implies A ⊂ B; – for all A, B, C ∈ S, A ⊂ B ⊂ C implies [A O C ⇐⇒ A O B or B O C]; – for all A, B ∈ S, A O (A ∪ B) implies (A ∩ B) O B. CryptoLat - a Pedag. Soft. on Lattice Cryptomorphisms and Lattice Prop. 99 We showed in [12] that overhanging relations and closure operators (and so lattices) are in a one-to-one correspondence by associating the overhanging relation defined as A O B ⇐⇒ A ⊂ B and σ(A) ⊂ σ(B) to any closure operator, and, conversely, associating the closure operator σ(X) = {x ∈ S : x Oc X ∪ {x}} to any overhanging relation. In fact, an overhanging relation can be seen as a kind of negative implication, as given by the equivalence that A → B if and only if (A, A ∪ B) 6∈ O Example 1 (continued). The overhanging relation associated with the lattice of Fig.2 is as follows: ∅Ob ∅Oc ∅Od ∅ O b, c ∅ O b, d ∅ O c, d ∅ O b, c, d b O b, c b O b, d b O b, c, d c O b, c c O c, d c O b, c, d d O b, d d O c, d d O b, c, d c, d O b, c, d 3.6 Sperner Family A Sperner family F on S is a family s.t. ∀X, Y ∈ F, X and Y are incomparable for set inclusion. A Sperner village V = (F1 , ..., Fn ) on S is a set of n Sperner families. The equivalence between a closure operator and a Sperner village is obtained as follows: given σ closure operator, for any x ∈ S we create the Sperner family Cx = {X ⊆ S : x ∈ σ(X) and X minimal for that property}. Conversely, the closure operator associated with V is defined as σ(X) = {x ∈ S : X contains a set of Cx }. Example 1 (continued). The Sperner village equivalent with our running exam- ple is the following Fig. 4. When we add to the existing Sperner village the Sperner family {{e}, {b, c}}, Fig. 4. Sperner village associated with our running example. the software computes the smallest Sperner village possible from the existing village together with the new family, and from this Sperner village finds the associated concept lattice. Fig. 5 shows the results. 100 Florent Domenach Fig. 5. Screenshot of the software after adding a new Sperner family 4 Properties of lattices The main focus of the software concerns the dependency between the different cryptomorphisms associated with lattices. In the same pedagogical spirit, we also implemented different properties of lattices and elements of lattices, briefly described in Tab. 1 and in Tab. 2 for completeness sake. We refer the readers to [11, 14, 22] for more information on lattices and lattice properties. 5 Existing Software All of the software mentioned in Table 3 have different goals. In terms of ease of use, Concept Explorer is the closest to our goal, but offers limited functionalities. OpenFCA is similar to Concept Explorer, offering an interesting, web based and intuitive approach to context creation, lattice visualization and attribute explo- ration. FCAstone’s main purpose is file formats conversion to improve interoper- ability between FCA and graph editing. The other software (Galicia, ToscanaJ, Lattice Miner, FCART) were designed to push the boundaries of the scalability of analysis and lattice drawing. Research wise, Formal Concept Analysis Re- search Toolbox (FCART) is a particularly interesting approach of a universal CryptoLat - a Pedag. Soft. on Lattice Cryptomorphisms and Lattice Prop. 101 Table 1. List of lattice properties Types of Lattices Atomistic Every join-irreducible element of L is an atom Co-atomistic Every meet-irreducible element is covered by 1L Ranked Tthere is a ranking function r : L → N such that ∀x, y ∈ L, x ≺ y implies r(y) = r(x) + 1 Upper semi-modular ∀x, y ∈ L: x ∧ y ≺ x ⇒ y ≺ x ∨ y Lower semi-modular ∀x, y ∈ L: y ≺ x ∨ y ⇒ x ∧ y ≺ x Modular Upper and lower semi-modular Distributive ∀x, y, z ∈ L, x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z) Semi-distributive ∀x, y, z ∈ L, we have both x ∧ y = x ∧ z ⇒ x ∧ y = x ∧ (y ∨ z) and x ∨ y = x ∨ z ⇒ x ∨ y = x ∨ (y ∧ z) Families of Lattices Chain ∀x ∈ L, x 6= 0L , x ∈ JL Hierarchy ∀x ∈ S, {x} ∈ L and ∀A, B ∈ L, A ∩ B ∈ {∅, A, B} Weak hierarchy ∀x ∈ S, {x} ∈ L and ∀A, B, C ∈ L, A∩B ∩C ∈ {A∩B, A∩C, B ∩C} Boolean Isomorphic to the power set of some set Complemented Lattices Complemented ∀x ∈ L, ∃y ∈ L: x ∧ y = 0L and x ∨ y = 1L Uniquely complemented The complement is unique Pseudo-complemented ∀x ∈ L, ∃y ∈ L: x ∧ y = 0L and ∀z ∈ L, x ∧ z = 0L ⇒ z ≤ y Relatively comple- Any [u, v] is relatively complemented, i.e. ∀x in [u, v], ∃y such that mented x ∧ y = u and x ∨ y = v Uniquely relatively com- The complement in [u, v] is unique plemented Sectionally comple- Any [0L , v] is complemented mented Other Lattices Properties δ-hard ∀j, j 0 ∈ JL , jδj 0 , i.e. there exists x ∈ L such that j 6≤ x, j 0 6≤ x and j < j0 ∨ x δ-strong The transitive graph of the δ relation is complete Sperner poset L is ranked, and the size of the maximal antichain is equal to the maximal size rank Table 2. List of elements properties x is distributive ∀y, z ∈ L, x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z) x is standard ∀y, z ∈ L, y ∧ (x ∨ z) = (y ∧ x) ∨ (y ∧ z) x is neutral ∀y, z ∈ L, (x ∧ y) ∨ (y ∧ z) ∨ (x ∧ z) = (x ∨ y) ∧ (x ∨ z) ∧ (y ∨ z) x is an articulation point ∀y ∈ L, either x ≤ y or y ≤ x x is join-prime x ≤ a ∨ b implies x ≤ a or x ≤ b x is meet-prime a ∧ b ≤ x implies a ≤ x or b ≤ x 102 Florent Domenach integrated environment to lattice construction and Formal Concept Analysis techniques, where one can test new algorithms for drawing lattice for example. Table 3. Some FCA software tools (taken from [18]) Program title Authors Web-site Concept Explorer S.A. Yevtushenko [25] conexp.sourceforge.net Galicia P. Valtchev et al. [23] www.iro.umontreal.ca/~galicia ToscanaJ U. of Queensland, TU Darmstadt [24] toscanaj.sourceforge.net FcaStone U. Priss et al. [21] fcastone.sourceforge.net Lattice Miner B. Lahcen et al. [17] lattice-miner.sourceforge.net Conexp-clj TU-Dresden, D. Brochman daniel.kxpq.de/math/conexp-clj OpenFCA P. Borza, O. Sabou et al. [8] code.google.com/p/openfca FCART A. Neznanov and D. Ilvovsky [18] 6 Concluding Remarks CryptoLat is a pedagogical and research oriented software in active development phase, and it is open source and freely available. It is still in alpha testing, and the next milestone of development is to make it cloud based with a web interface. Many other cryptomorphisms of concept lattices exist but are not imple- mented yet. For example, [4] proved that we can associate a minimal separator of the co-bipartite graph to every concept of the concept lattice, and [16] showed a bijection between Moore families and ideal colour sets of the coloured poset. Similarly we are planning to increase the number of properties available, adding for example the dismantlable property (one can repeatedly remove a doubly ir- reducible element until the lattice becomes a chain) or being a convex geometry (∅ ∈ L and ∀x ∈ L, there is a unique minimal (for inclusion) generator of x). the lattice drawing component is also under consideration, to be enhance and more user friendly. References 1. Adams III, E.N.: N-trees as nestings: complexity, similarity and consensus. Journal of Classification 3, 299–317 (1986) 2. Armstrong, W.W.: Dependency structures of data base relationships. Information Processing 74, 580583 (1974) 3. Barbut, M., Monjardet, B.: Ordres et classification: Algèbre et combinatoire (tome II). Hachette, Paris (1970) 4. Berry, A., Sigayret, A.: Representing a concept lattice by a graph. Discrete Applied Mathematics 144 (12), 27–42 (2004) 5. Berry, A., Sigayret, A.: A Peep through the Looking Glass: Articulation Points in Lattices. In: Domenach, F., Ignatov, D., Poelmans, J. (Eds.) Formal Concept Analysis, Springer Berlin Heidelberg, 7278, 45-60 (2012) CryptoLat - a Pedag. Soft. on Lattice Cryptomorphisms and Lattice Prop. 103 6. Bertet, K.: The dependence graph of a lattice. In Szathmary, L., Priss, U. (Eds.): CLA 2012, 223–231 (2012) 7. Birkhoff, G.: Lattice Theory (Third ed.). Providence, R.I.: Amer. Math.Soc.(1967) 8. Borza, P.V., Sabou, O., Sacarea, C.: OpenFCA, an open source formal concept analysis toolox. Proc. of IEEE International Conference on Automation Quality and Testing Robotics (AQTR), 1–5 (2010) 9. Caspard, N., Monjardet, B.: The lattices of Moore families and closure operators on a finite set: a survey. Disc. App. Math. 127, 241–269 (2003) 10. Caspard, N., Leclerc, B., Monjardet, B.: Finite Ordered Sets: Concepts, Results and Uses. Cambridge University Press (2012) 11. Davey, B.A., Priestley, H. A.: Introduction to Lattices and Order, 2nd ed. Cam- bridge University Press (2002) 12. Domenach, F., Leclerc, B.: Closure systems, Implicational Systems, Overhanging Relations and the case of Hierarchical Classification. Math. Soc. Sci. 47 (3), 349–366 (2004) 13. Ganter, B., Wille, R.: Formal Concept Analysis, Mathematical Foundations, Springer Verlag (1999) 14. Grätzer, G.: General lattice theory. Academic Press (1978). 15. Guigues, J.-L., Duquenne, V.: Familles minimales d’implications informatives résultant d’un tableau de données binaires. Math. Sci. Hum. 95 , 5-18 (1986) 16. Habib, M., Nourine, L.: The number of Moore families on n=6. Disc. Math. 294(3), 291–296 (2005) 17. Lahcen, B., Kwuida, L.: Lattice Miner: A Tool for Concept Lattice Construction and Exploration. In Boumedjout, L., Valtchev, P., Kwuida, L., Sertkaya, B. (eds.): Supplementary Proceeding of International Conference on Formal concept analysis (ICFCA’10), 59-66 (2010) 18. Neznanov, A.A., Ilvovsky, D.A., Kusnetsov, S.O.: FCART: A New FCA-based System for Data Analysis and Knowledge Discovery. In Cellier, P., Distel, F., Ganter, B. (eds.): Contributions to the 11th International Conference on Formal Concept Analysis, 65–78 (2013) 19. Öre, O.: Galois connexions. Trans. Amer. Math. Soc. 55(3), 494-513 (1944) 20. Plott, C.R.: Path independence, rationality and social choice. Econometrica 41 (6), 10751091 (1973) 21. Priss, U.: FCA Software Interoperability. In: Belohlavek, R., Kuznetsov, S.O. (eds.), CLA 2008, 33144, (2008) 22. Roman, S: Lattices and Ordered Sets. Springer (2000) 23. Valtchev, P., Grosser, D., Roume, C., Rouane Hacene, M.: Galicia: An Open Plat- form for Lattices. In Using Conceptual Structures: Contributions to the 11th Intl. Conference on Conceptual Structures (ICCS’03), 241–254 (2003) 24. Vogt, F., Wille, R.: TOSCANA - a graphical tool for analyzing and exploring data. In Tamassia R., Tollis, I.G. (eds.), Graph Drawing, LNCS 894, 226-233 (1994) 25. Yevtushenko, S.A.: System of data analysis ”Concept Explorer”. Proceedings of the 7th national conference on Artificial Intelligence KII-2000, Russia (2000) 127-134 CRL-Chu correspondences Ondrej Krı́dlo1 and Manuel Ojeda-Aciego2 1 University of Pavol Jozef Šafárik, Košice, Slovakia? 2 Dept. Matemática Aplicada, Univ. Málaga, Spain?? Abstract. We continue our study of the general notion of L-Chu cor- respondence by introducing the category CRL-ChuCors incorporating residuation to the underlying complete lattice L, specifically, on the ba- sis of a residuation-preserving isotone Galois connection λ. Then, the L-bonds are generalized within this same framework, and its structure is related to that of the extent of a suitably defined λ-direct product. 1 Introduction Morphisms have been suggested [7] as fundamental structural properties for the modelling of, among other applications, communication, data translation, and distributed computing. Our approach can be seen within a research topic linking concept lattices with the theory of Chu spaces [10, 11]; in the latter, it is shown that the notion of state in Scott’s information system corresponds precisely to that of formal concepts in FCA with respect to all finite Chu spaces, and the entailment relation corresponds to association rules (another link between FCA with database theory) and, specifically, on the identification of the categories associated to certain constructions. Other researchers have studied as well the relationships between Chu con- structions and L-fuzzy FCA. For instance, in [1] FCA is linked to both order- theoretic developments in the theory of Galois connections and to Chu spaces; as a result, not surprisingly from our previous works, they obtain further rela- tionships between formal contexts and topological systems within the category of Chu systems. Recently, Solovyov, in [9], extends the results of [1] to clar- ify the relationships between Chu spaces, many-valued formal contexts of FCA, lattice-valued interchange systems and Galois connections. This work is based on the notion, introduced by Mori in [8], of Chu corre- spondences as morphisms between formal contexts. This categorical approach has been used in previous works [3, 5, 6]. For instance, in [6], the categories asso- ciated to L-formal contexts and L-CLLOS were defined and a constructive proof was given of the equivalence between the categories of L-formal contexts with L- Chu correspondences as morphisms and that of completely lattice L-ordered sets and their corresponding morphisms. Similar results can be found in [2], where a ? Partially supported by grant VEGA 1/0832/12 and APVV-0035-10. ?? Partially supported by Spanish Ministry of Science and FEDER funds through project TIN09-14562-C05-01 and Junta de Andalucı̈¿ 21 ı̈¿ 12 a project P09-FQM-5233. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 105–116, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 106 Ondrej Krı́dlo and Manuel Ojeda-Aciego new notion of morphism on formal contexts resulted in a category equivalent to both the category of complete algebraic lattices and Scott continuous functions, and a category of information systems and approximable mappings. We are concerned with the category of fuzzy formal contexts and λ-Chu correspondences, built on the basis of a residuation-preserving isotone Galois connection λ. Then, the corresponding extension of the notion of bond between contexts is generalized to this framework, and its properties are studied. 2 Preliminaries 2.1 Residuated lattice Definition 1. A complete residuated lattice is an algebra hL, ∧, ∨, 0, 1, ⊗, →i where – hL, ∧, ∨, 0, 1i is a complete lattice with the top 1 and the bottom 0, – hL, ⊗, 1i is a commutative monoid, – h⊗, →i is an adjoint pair, i.e. for any a, b, c ∈ L: a ⊗ b ≤ c is equivalent to a ≤ b → c Definition 2. A complete residuated lattice L = hL, ∧, ∨, 0, 1, ⊗, →i such that for any value k ∈ L holds ¬¬k = k where ¬k = k → 0 is said to be endowed with double negation law. Lemma 1. Let L be a complete residuated lattice satisfying the double negation law. Then for any k, m ∈ L holds ¬k → m = ¬m → k. 2.2 Basics of Fuzzy FCA Definition 3. An L-fuzzy formal context C is a triple hB, A, L, ri, where B, A are sets, L is a complete residuated lattice, and r : B × A → L is an L-fuzzy binary relation. Definition 4. Let C = hB, A, L, ri be an L-fuzzy formal context. A pair of derivation operators h↑, ↓i of the form ↑: LB → LA and ↓: LA → LB , is de- fined as follows ^ ↑ (f )(a) = (f (b) → r(b, a)) for any f ∈ LB and a ∈ A, b∈B ^ ↓ (g)(b) = (g(a) → r(b, a)) for any g ∈ LA and b ∈ B. a∈A Lemma 2. Let h↑, ↓i be a pair of derivation operators defined on an L-fuzzy for- mal context C. A pair h↑, ↓i forms a Galois connection between complete lattices of all L-sets of objects LB and attributes LA . CRL-Chu correspondences 107 Definition 5. Let C = hB, A, L, ri be an L-fuzzy formal context. A formal con- cept is a pair of L-sets hf, gi ∈ LB × LA such that ↑ (f ) = g and ↓ (g) = f . The set of all L-concepts of C will be denoted as FCL(C). The object (resp. at- tribute) part of any concept is called extent (resp. intent). The sets of all extents or intents of C will be denoted as Ext(C) or Int(C), respectively. 2.3 L-Bonds and L-Chu correspondences Definition 6. Let X and Y be two sets. An L-multifunction from X to Y is said to be a mapping from X to LY . Definition 7. Let Ci = hBi , Ai , L, ri i for i ∈ {1, 2} be two L-fuzzy formal con- texts. A pair of L-multifunctions ϕ = hϕL , ϕR i such that – ϕL : B1 −→ Ext(C2 ), – ϕR : A2 −→ Int(C1 ), where ↑2 (ϕL (o1 ))(a2 ) = ↓1 (ϕR (a2 ))(o1 ) for any (o1 , a2 ) ∈ B1 × A2 , is said to be an L-Chu correspondence between C1 and C2 . A set of all L-Chu corresepondences between C1 and C2 will be denoted by L-ChuCors(C1 , C2 ). Definition 8. Let Ci = hBi , Ai , L, ri i for i ∈ {1, 2} be two L-fuzzy formal con- texts. An L-multifunction β : B1 −→ Int(C2 ), such that β t : A2 −→ Ext(C1 ), where β t (a2 )(o1 ) = β(o1 )(a2 ) for any (o1 , a2 ) ∈ B1 × A2 , is said to be an L- bond. A set of all L-bonds between C1 and C2 will be denoted by L-Bonds(C1 , C2 ). Lemma 3. Let Ci = hBi , Ai , L, ri i for i ∈ {1, 2} be two L-fuzzy formal con- texts. The sets L-Bonds(C1 , C2 ) and L-ChuCors(C1 , C2 ) form complete lattices and, moreover, there exists a dual isomorphism between them. 3 Residuation-preserving isotone Galois connections Definition 9. An isotone Galois connection between two complete lattices L1 = (L1 , ≤1 ) and L2 = (L2 , ≤2 ) is a pair of monotone mappings λ = hλL , λR i with λL : L1 −→ L2 and λR : L2 −→ L1 such that, for any k1 ∈ L1 and k2 ∈ L2 , the following equivalence holds k1 ≤1 λR (k2 ) ⇐⇒ λL (k1 ) ≤2 k2 . (1) The general theory of adjunctions provides the following result: Lemma 4. Let hλL , λR i be an isotone Galois connection, then for all k1 ∈ L1 and k2 ∈ L2 _ λR (k2 ) = {m ∈ L1 : λL (m) ≤2 k2 } (2) ^ λL (k1 ) = {m ∈ L2 : k1 ≤1 λR (m)} (3) 108 Ondrej Krı́dlo and Manuel Ojeda-Aciego Definition 10. An isotone Galois connection λ between two complete residuated lattices L1 = (L1 , ⊗1 , →1 ) and L2 = (L2 , ⊗2 , →2 ) is said to be a residuation- preserving isotone Galois connection if for any k1 , m1 ∈ L1 and k2 , m2 ∈ L2 the following equalities hold: λL (k1 ⊗1 m1 ) = λL (k1 ) ⊗2 λL (m1 ) (4) λR (k2 ⊗2 m2 ) = λR (k2 ) ⊗1 λR (m2 ) (5) k2 →2 λL (m1 ) ≥2 λL (λR (k2 ) →1 m1 ) (6) The set of all residuation-preserving isotone Galois connections from L1 to L2 will be denoted as CRL(L1 , L2 ). There is no need to consider other →-preserving rules, since they follow from the previous ones, as stated by the following lemmas. Lemma 5. For all k ∈ L1 and m ∈ L2 the following equality holds k →1 λR (m) = λR (λL (k) →2 m) (7) Proof. Consider the following chain of equivalences (1) l ⊗1 k ≤1 λR (m) ⇐⇒ λL (l ⊗1 k) ≤2 m (4) ⇐⇒ λL (l) ⊗2 λL (k) ≤2 m (adj) ⇐⇒ λL (l) ≤2 λL (k) →2 m As a result, we can write _ k →1 λR (m) = {l ∈ L1 : l ⊗1 k ≤ λR (m)} _ = {l ∈ L1 : λL (l) ≤ λL (k) →2 m} (2) = λR (λL (k) →2 m) It is worth to note that this proof does not work in the case of (6) because, for the construction of λL , one had to use (3) instead of (2). t u Lemma 6. For all ki , mi ∈ Li for i ∈ {1, 2}, the following inequalities hold λL (k1 →1 m1 ) ≤2 λL (k1 ) →2 λL (m1 ) (8) λR (k2 →2 m2 ) ≤1 λR (k2 ) →1 λR (m2 ) (9) Proof. By the adjoint property and the following chain of inequalities (4) λL (k1 →1 m1 ) ⊗2 λL (k1 ) = λL ((k1 →1 m1 ) ⊗1 k1 ) ≤2 λL (m1 ) Similarly, we obtain the other one. t u CRL-Chu correspondences 109 Below, we recall the notion of fixpoint of a Galois connection, the definition is uniform to the different types of Galois connection, either antitone or isotone, or with any other extra requirement. Definition 11. Let λ be a Galois connection between complete residuated lat- tices L1 and L2 . The set of all fixpoints of λ is defined as FPλ = {hk1 , k2 i ∈ L1 × L2 : λL (k1 ) = k2 , λR (k2 ) = k1 }. Lemma 7. Given λ ∈ CRL(L1 , L2 ), the set of its fixpoints can be provided with the structure of complete residuated lattice Φλ = hFPλ , ∧, ∨, 0, 1, ⊗, →i where 0 = hλR (02 ), 02 i, 1 = h11 , λL (11 )i, and ⊗ and → are defined componentwise. Proof. We have to check just that the componentwise operations provide a resid- uated structure to the set of fixed point of λ. Conditions (4) and (5) allow to prove that componentwise product ⊗ is a closed operation in FPλ , whereas condition (6) allows to prove that the compo- nentwise implication is a closed operation in FPλ . It is not difficult to show that, in fact, hFPλ , ⊗, 1i is a commutative monoid: commutativity and associativity follow directly; for the neutral element just consider the following chain of equalities: For any hk1 , k2 i ∈ FPλ holds hk1 , k2 i ⊗ h11 , λL (11 )i = hk1 ⊗1 11 , λL (k1 ) ⊗2 λL (11 )i = hk1 , λL (k1 ⊗1 11 )i = hk1 , λL (k1 )i = hk1 , k2 i The adjoint property follows by definition. t u 4 CRL-Chu correspondences and their category In this section, the notion of L-Chu correspondence is generalized on the basis of a residuation-preserving isotone Galois connection λ. The formal definition is the following: Definition 12. Let Ci = hBi , Ai , Li , ri i for i ∈ {1, 2} be two fuzzy formal contexts, and consider λ ∈ CRL(L1 , L2 ). A pair of fuzzy multifunctions ϕ = hϕL , ϕR i of types ϕL : B1 −→ Ext(C2 ) and ϕR : A2 −→ Int(C1 ) such that for any (o1 , a2 ) ∈ B1 × A2 the following inequality holds λL (↓1 (ϕR (a2 ))(o1 )) ≤2 ↑2 (ϕL (o1 ))(a2 ) (10) is said to be a λ-Chu correspondence. Note that (10) is equivalent to ↓1 (ϕR (a2 ))(o1 ) ≤1 λR (↑2 (ϕL (o1 ))(a2 )). 110 Ondrej Krı́dlo and Manuel Ojeda-Aciego It is not difficult to check that the definition of λ-Chu correspondence generalizes the previous one based on a complete (residuated) lattice L; formally, we have the following Definition 13. Let X be an arbitrary set. Mapping idX defined by idX (x) = x for any x ∈ X is said to be an identity mapping on X. Lemma 8. Any L-Chu correspondence is a hidL , idL i-Chu correspondence. We are now in position to define the category of parameterized fuzzy formal contexts and λ-Chu correspondences between them: Definition 14. We introduce a new category whose objects are parameterized fuzzy formal contexts hB, A, L, ri and λ-Chu correspondences between them. The identity arrow of an object hB, A, L, ri is the hidL , idL i-Chu correspon- dence ι such that – ιL (o) = ↓↑ (χo ) for any o ∈ B – ιR (a) = ↑↓ (χa ) for any a ∈ A – where χx (x) = 1 and χx (y) = 0 for any y 6= x. Composition of arrows3 hλ, ϕi : C1 → C2 and hµ, ψi : C2 → C3 where Ci = hBi , Ai , Li , ri i for i ∈ {1, 2, 3} is defined as: – (hµ, ψi ◦ hλ, ϕi)L (o1 ) = ↓3 ↑3 (ψL+ (ϕL (o1 ))) – (hµ, ψi ◦ hλ, ϕi)R (a3 ) = ↑1 ↓1 (ϕR+ (ψR (a3 ))) where, for any (oi , ai ) ∈ Bi × Ai , i ∈ {1, 3}, _ ψL+ (ϕL (o1 ))(o3 ) = ψ(o2 )(o3 ) ⊗3 µL (ϕL (o1 )(o2 )) o2 ∈B2 _ ϕR+ (ψR (a3 ))(a1 ) = ϕR (a2 )(a1 ) ⊗1 λR (ψR (a3 )(a2 )) a2 ∈A2 Obviously, one has to check that the proposed notions of composition and iden- tity are well-defined, and this is stated in the following lemmas. Lemma 9. The identity arrow of any fuzzy formal context hB, A, L, ri is a hidL , idL i-Chu correspondence. Lemma 10. Consider hλ, ϕi : C1 → C2 and hµ, ψi : C2 → C3 , then hµ, ψi ◦ hλ, ϕi is a (µ ◦ λ)-Chu correspondence. Moreover, composition of λ-correspondences is associative. 3 Any λ-Chu correspondence ϕ can be conveniently denoted by hλ, ϕi. CRL-Chu correspondences 111 5 λ-Bonds and λ-direct product of two contexts We proceed with the corresponding extension of the notion of bond between contexts, and the study of its properties. Definition 15. Given a multifunction ω : X → (L1 × L2 )Y , its projections ω i for i ∈ {1, 2} are defined by ω i (x)(y) = ki , provided that ω(x)(y) = (k1 , k2 ). Transposition of such multifunction is defined by ω t (y)(x) = ω(x)(y). Definition 16. Given two fuzzy formal contexts Ci = hBi , Ai , Li , ri i, i ∈ {1, 2}, and λ ∈ CRL(L1 , L2 ). A λ-bond is a multifunction β : B1 → (L1 × L2 )A2 such that, for any (o1 , a2 ) ∈ B1 × A2 : β 2 (o1 ) is an intent of C2 (11) t 1 (β ) (a2 ) is an extent of C1 (12) 1 2 1 2 β (o1 )(a2 ) ≤1 λR (β (o1 )(a2 )) or equivalently λL (β (o1 )(a2 )) ≤2 β (o1 )(a2 ) (13) The known relation between L-bonds and L-Chu correspondences is pre- served in the λ-case. Formally, Lemma 11. Let β be a λ-bond between two fuzzy contexts Ci = hBi , Ai , Li , ri i for i ∈ {1, 2}. Then ϕβ defined as ϕβL (o1 ) = ↓2 (β 2 (o1 )) (14) t 1 ϕβR (a2 ) = ↑1 ((β ) (a2 )) (15) is λ-Chu correspondence. Proof. By calculation (14) (11) ↑2 (ϕβL (o1 ))(a2 ) = ↑2 ↓2 (β 2 (o1 ))(a2 ) = β 2 (o1 )(a2 ) (13) ≥ λL (β 1 (o1 )(a2 )) = λL ((β t )1 (a2 )(o1 )) (12) = λL (↓1 ↑1 ((β t )1 (a2 ))(o1 )) (15) = λL (↓1 (ϕβR (a2 ))(o1 )) t u Lemma 12. Let L1 , L2 be two complete residuated lattices satisfying the double negation law and let λ ∈ CRL(L1 , L2 ). Then Φλ satisfies double negation law. Proof. Consider an arbitrary hk1 , k2 i ∈ FPλ . We have that, by definition, ¬¬hk1 , k2 i = (hk1 , k2 i → 0) → 0 = (hk1 , k2 i → hλR (02 ), 02 i) → hλR (02 ), 02 i = h(k1 →1 λR (02 )) →1 λR (02 ), (k2 →2 02 ) →2 02 i 112 Ondrej Krı́dlo and Manuel Ojeda-Aciego The result for the second component is obvious; for the first one, taking into account that (λR (02 ), 02 ) is a fixed point, we have λL (k1 ) = k2 = (k2 →2 02 ) →2 02  = k2 →2 λL λR (02 ) →2 λL λR (02 ) (6) ≥ 2 λL (λR λL (λR (k2 ) →1 λR (02 )) →1 λR (02 )) (?) = λL ((λR (k2 ) →1 λR (02 )) →1 λR (02 )) = λL ((k1 →1 λR (02 )) →1 λR (02 )) (∗) ≥ 2 λL (k1 ) where equality (?) follows because, by Lemma 7, λR (k2 ) →1 λR (02 ) is a closed value in L1 for the composition λR λL , and inequality (∗) follows from the mono- tonicity of λL . As a result of the previous chain we obtain the following equality λL (k1 ) = λL ((k1 →1 λR (02 )) →1 λR (02 )) and, again by Lemma 7, since k1 and λR (02 ) are closed for λR λL , as a result (k1 →1 λR (02 )) →1 λR (02 ) is closed too, and k1 = (k1 →1 λR (02 )) →1 λR (02 ). t u We are now ready to include the characterization result on the structure of λ-bonds, but we have to introduce the notion of λ-direct product of contexts. Definition 17. Let Ci = hBi , Ai , Li , ri i for i ∈ {1, 2} be two fuzzy formal contexts, λ ∈ CRL(L1 , L2 ) and L1 , L2 satisfy the double negation law. The fuzzy formal context hB1 × A2 , B2 × A1 , Φλ , ∆λ i where ∆λ ((o1 , a2 ), (o2 , a1 )) = ¬(λ1 (r1 )) → λ2 (r2 (o2 , a2 )) is said to be the λ-direct product of C1 and C2 , where λ1 (k) = hλR λL (k), λL (k)i for all k ∈ L1 (16) λ2 (k) = hλR (k), λL λR (k)i for all k ∈ L2 (17) Lemma 13. Let C1 ∆λ C2 be the λ-direct product of fuzzy formal contexts C1 and C2 , and λ ∈ CRL(L1 , L2 ). For any extent of C1 ∆λ C2 there exists a λ-bond between C1 and C2 . 1 ×A2 Proof. Let hβ, γi be a concept of C1 ∆λ C2 . Then β ∈ FPB λ ⊆ (L1 ×L2 )B1 ×A2 . β(o1 , a2 ) = ↓∆λ (γ)(o1 , a2 ) ^ ^ = (γ(o2 , a1 ) → ∆λ ((o1 , a2 ), (o2 , a1 ))) o2 ∈B2 a1 ∈A1 ^ ^ = (γ(o2 , a1 ) → (¬λ1 (r1 (o1 , a1 ))) → λ2 (r2 (o2 , a2 ))) o2 ∈B2 a1 ∈A1 CRL-Chu correspondences 113 Then ^ ^ β 1 (o1 , a2 ) = (γ 1 (o2 , a1 ) →1 (¬λR λL (r1 (o1 , a1 ))) →1 λR (r2 (o2 , a2 ))) o2 ∈B2 a1 ∈A1 ^ ^ = ((γ 1 (o2 , a1 ) ⊗1 ¬λR λL (r1 (o1 , a1 ))) →1 λR (r2 (o2 , a2 ))) o2 ∈B2 a1 ∈A1 (7) ^ ^ = λR (λL (γ 1 (o2 , a1 ) ⊗1 ¬λR λL (r1 (o1 , a1 ))) →2 r2 (o2 , a2 )) o2 ∈B2 a1 ∈A1 ^ ^ = λR ( (λL (γ 1 (o2 , a1 ) ⊗1 ¬λR λL (r1 (o1 , a1 ))) →2 r2 (o2 , a2 ))) o2 ∈B2 a1 ∈A1 ^ _ = λR ( ( (λL (γ 1 (o2 , a1 ) ⊗1 ¬λR λL (r1 (o1 , a1 )))) →2 r2 (o2 , a2 ))) o2 ∈B2 a1 ∈A1 ^ = λR ( (σ(o1 )(o2 ) →2 r2 (o2 , a2 ))) o2 ∈B2 = λR (↑2 (σ(o1 ))(a2 )) Similarly ^ ^ β 2 (o1 , a2 ) = ((γ 2 (o2 , a1 ) ⊗2 ¬λL λR (r2 (o2 , a2 ))) →2 λL (r1 (o1 , a1 ))) o2 ∈B2 a1 ∈A1 (6) ^ ^ ≥2 λL (λR (γ 2 (o2 , a1 ) ⊗2 ¬λL λR (r2 (o2 , a2 ))) →2 r1 (o1 , a1 )) o2 ∈B2 a1 ∈A1 ^ ^ ≥2 λ L ( (λR (γ 2 (o2 , a1 ) ⊗2 ¬λL λR (r2 (o2 , a2 ))) →1 r1 (o1 , a1 ))) o2 ∈B2 a1 ∈A1 ^ _ = λL ( ( (λR (γ 2 (o2 , a1 ) ⊗2 ¬λL λR (r2 (o2 , a2 )))) →1 r1 (o1 , a1 ))) a1 ∈A1 o2 ∈B2 ^ = λL ( (τ (a2 )(a1 ) →1 r1 (o1 , a1 ))) = λL (↓1 (τ (a2 ))(o1 )) a1 ∈A1 Then let us define a multifunction βb : B1 −→ (L1 × L2 )A2 as follows βb2 (o1 ) = ↑2 (σ(o1 )) (βbt )1 (a2 ) = ↓1 (τ (a2 )) where σ and τ are multifunctions above. We see that βb2 (o1 ) is the intent of C2 , (βbt )1 (a2 ) is the extent of C1 and moreover β(o1 , a2 ) ∈ FPλ , hence λL (β 1 (o1 , a2 )) = β 2 (o1 , a2 ) and λL ((βbt )1 (a2 )(o1 )) = λL (↓1 (τ (a2 ))) ≤2 β 2 (o1 , a2 ) = λL (β 1 (o1 , a2 )) = λL λR (↑2 (σ(o1 ))(a2 )) ≤2 ↑2 (σ(o1 ))(a2 ) = βb2 (o1 )(a2 ) 114 Ondrej Krı́dlo and Manuel Ojeda-Aciego Therefore βb is a λ-bond between C1 and C2 . t u 6 Motivation example Lets have two tables of the following data. First table of students, school subjects and study results. Second table of universities (or areas of study) and their requirements for results of students. We would like to find the assignment of students and universities that depends on study results and requirements of universities. U CS Tech Med S Math Phi Chem Bio Math Ex G W Anna A A B C Phi G Ex G Boris C B A B Chem W Ex Ex Cyril D E B C Bio W W Ex First table is filled by degrees from well known structure {A,B,C,D,E,F} where A is best and F means failed. Second one is filled by degrees {Ex,G,W} that means Ex-excelent, G-good, W-weak. Now lets define a λ-translation between such truth-degrees structures. A B C D E F Ex G W λL (−) Ex G W W W W λR (−) A B C hλL , λR i is an isotone Galois connection. In fact, hλL , λR i is a residuation- preserving isotone Galois connection over Lukasiewicz logic, whose set of fix- points is FPλ = {(A, Ex); (B, G); (C, W)} The λ-direct product S∆λ U is the following table that has 510 concepts. Lets simplify the table with translation (A,Ex) as 1, (B,G) as 0.5 and (C,W) as 0. 1 1 0.5 0 1 1 1 0.5 1 1 1 1 1 1 1 1 1 1 1 0.5 1 1 1 1 1 1 1 1 1 1 0.5 0 1 1 1 1 1 1 1 0.5 1 1 0.5 0 1 1 0.5 0 0 0.5 1 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 0.5 1 1 1 1 1 1 1 1 1 1 1 0 0.5 1 0.5 1 1 1 1 0.5 1 1 1 0 0.5 1 0.5 0 0.5 1 0.5 0 0 0.5 0 0.5 0.5 1 0.5 1 1 1 1 1 1 1 1 0.5 0.5 1 0.5 1 1 1 1 1 1 1 1 0 0 0.5 0 1 1 1 1 0.5 0.5 1 0.5 0 0 0.5 0 0 0 0.5 0 Extents of S∆λ U are tables of the form students×universities and intents are tables of the form subjects×subjects. One of the concepts that their intents has 1 on diagonal (it means that any subject is assigned to itself) is shown below. CRL-Chu correspondences 115 Math Phi Chem Bio Med Tech CS Math A,Ex A,Ex B,G C,W Anna B,G B,G A,Ex Phi B,G A,Ex A,Ex B,G Boris A,Ex B,G C,W Chem C,W B,G A,Ex B,G Cyril B,G B,G C,W Bio C,W B,G A,Ex B,G Such concept should be translated into {1; 0.5; 0} structure. Math Phi Chem Bio Med Tech CS Math 1 1 0.5 0 Anna 0.5 0.5 1 Phi 0.5 1 1 0.5 Boris 1 0.5 0 Chem 0 0.5 1 0.5 Cyril 0.5 0.5 0 Bio 0 0.5 1 0.5 Now we can see the result. Due to results of students and requirements of universities we can advise Anna to study Computer science; similarly, we can advise Boris to study Medicine or Technical area; finally, it is hard to advise anything to Cyril. The assignment is right as it is obvious from study results. Relaxing the connection Let’s change the λ-connection between such truth degrees structures as follows: A BC D E F Ex G W λL (−) Ex G G W W W λR (−) A B D The set of fixpoints is FPλ = {(A, Ex); (B, G); (D, W)} such that is easy to translate (A, Ex) as 1, (B, G) as 0.5 and (D, W) as 0. The direct product is shown below, and has 104 concepts. 1 1 1 1 1 1 1 1 1 1 0.5 0.5 1 1 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.5 0.5 1 1 0.5 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.5 0.5 1 0.5 0.5 0.5 1 0.5 1 1 1 1 1 1 1 1 1 1 1 1 0.5 0.5 1 0.5 0.5 0.5 1 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.5 0.5 1 1 0 0 0.5 0.5 0 0 0.5 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1 0 0 0.5 0.5 0 0 0.5 0.5 0.5 0.5 1 1 1 1 1 1 1 1 1 1 We have chosen one with 1-diagonal in the intent. Math Phi Chem Bio Med Tech CS Math A,Ex A,Ex B,G B,G Anna B,G A,Ex A,Ex Phi A,Ex A,Ex A,Ex A,Ex Boris A,Ex A,Ex B,G Chem B,G B,G A,Ex B,G Cyril B,G B,G D,W Bio B,G B,G B,G B,G 116 Ondrej Krı́dlo and Manuel Ojeda-Aciego Translating the context into {1; 0.5; 0} structure, we obtain Math Phi Chem Bio Med Tech CS Math 1 1 0.5 0.5 Anna 0.5 1 1 Phi 1 1 1 0.5 Boris 1 1 0.5 Chem 0.5 0.5 1 0.5 Cyril 0.5 0.5 0 Bio 0.5 0.5 0.5 0.5 It can seen that our advice is more generous but still coincide to input data. 7 Conclusion We continue our study of the general notion of L-Chu correspondence by intro- ducing the category CRL-ChuCors incorporating residuation to the underlying complete lattice L, specifically, on the basis of a residuation-preserving isotone Galois connection λ. Then, the L-bonds are generalized within this same frame- work, and its structure is related to that of the extent of a suitably defined λ-direct product. A first relationship between extents of λ-direct product have been proved; it is expected to find a proof of the stronger result which states an isomorphism between the extents of the λ-direct product and the λ-bonds between C1 and C2 . Potential applications are primary motivations for further future work, for instance, to consider possible classes of formal L-contexts induced from existing datamining notions, and study its associated categories. References 1. J. T. Denniston, A. Melton, and S. E. Rodabaugh. Formal concept analysis and lattice-valued Chu systems. Fuzzy Sets and Systems, 216:52–90, 2013. 2. P. Hitzler and G.-Q. Zhang. A cartesian closed category of approximable concept structures. Lecture Notes in Computer Science, 3127:170–185, 2004. 3. S. Krajči. A categorical view at generalized concept lattices. Kybernetika, 43(2):255–264, 2007. 4. O. Krı́dlo, S. Krajči, and M. Ojeda-Aciego. The category of L-Chu correspondences and the structure of L-bonds. Fundamenta Informaticae, 115(4):297–325, 2012. 5. O. Krı́dlo and M. Ojeda-Aciego. On L-fuzzy Chu correspondences. Intl J of Computer Mathematics, 88(9):1808–1818, 2011. 6. O. Krı́dlo and M. Ojeda-Aciego. Linking L-Chu Correspondences and Completely Lattice L-ordered Sets. Proceedings of the Intl Conf. on Concept Lattices and its Applications (CLA’12), pp 233–244, 2012 7. M. Krötzsch, P. Hitzler, and G.-Q. Zhang. Morphisms in context. Lecture Notes in Computer Science, 3596:223–237, 2005. 8. H. Mori. Chu correspondences. Hokkaido Mathematical Journal, 37:147–214, 2008. 9. S. Solovyov. Lattice-valued topological systems as a framework for lattice-valued formal concept analysis. Journal of Mathematics, 2013. To appear. 10. G.-Q. Zhang. Chu spaces, concept lattices, and domains. Electronic Notes in Theoretical Computer Science, 83, 2004. 11. G.-Q. Zhang and G. Shen. Approximable concepts, Chu spaces, and information systems. Theory and Applications of Categories, 17(5):80–102, 2006. Formal Concept Analysis of higher order Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni University of Pavol Jozef Šafárik, Košice, Slovakia? Abstract. The second order formal context is a formal context such that its object and attribute sets are disjoint unions of object and at- tribute sets of external formal contexts. Every subset of object or at- tribute set will be evaluated from concept lattice of corresponding ex- ternal formal context. The paper provides a method how to compute such second order formal concepts by using of bonds between external formal contexts or by using of heterogeneous formal contexts methods. Last part of the paper shows how this structure generalizes homogenic fuzzy formal context and its derivation operators. 1 Motivation example Imagine the following situation as a motivation. Lets have a group of people that everybody knows each other (schoolmates, co-workers, etc.). All of them are going to travel somewhere together and you (as an organizer of the trip) would like to know their requirements for accommodation. Consider the following formal context. Set of objects represents a group of co-workers (Anna, Bob, Cyril, David, Erik). Set of attributes expresses their requirements (TV, Wellness, Closeness to a city center, Restaurant in a hotel). An example of such context is in the following table. Lets denote the following table as P as preferences. P TV W Ce R Anna • • • Bob ◦ ◦ • • Cyril ◦ • • ◦ David • • ◦ Erik • • ◦ • A particular formal concept of the given context describes a set of co-workers such that these people together have a common requirements for accommoda- tion. In addition, there are another two formal contexts. The first one describes a friendship relation inside the group of such people (denoted as F). The second one describes a situation about hotels and services they offer (denoted as H). ? Partially supported by grant VEGA 1/0832/12 and APVV-0035-10. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 117–128, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 118 Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni F Anna Bob Cyril David Erik H TV W C R Anna • ◦ ◦ H1 • • • • Bob ◦ • • ◦ ◦ H2 • • • Cyril ◦ • • • • H3 • David ◦ • • • H4 • • • Erik ◦ • • • All contexts are filled by truth degrees from the following set {• = true, ◦ = middle, ” ” = false}. Computing of L-concepts is based on Lukasiewicz logic. Now, we aim at connecting such table data with known intercontextual mech- anisms in order to obtain closed sets of friends from F that are able to stay in any of a closed set of hotels from H. The hotels of this closed set offer as much requirements from P as it gets. 2 Preliminaries 2.1 Basics Formal Concept Analysis (FCA) as an applied Lattice Theory [7] has become a very useful tool for discovering of hidden knowledge inside a data of object- attribute table, so called formal contexts. Fundamental construction of FCA is a Galois connection between complete lattices of all subsets of objects and attributes. A Galois connection consists of two mappings such that a compo- sition of these mappings form a closure operators on each subsets of complete lattice. Pair of closed subset of objects and subset of attributes connected to each other by the Galois connection is called formal concept. The set of formal concepts forms a complete lattice. The mentioned notions were generalized over a fuzzy logic based on a complete residuated lattice. The notions of order, Galois connection and complete lattice were also generalized by Bělohlávek in [3–6]. Definition 1. Complete residuated lattice is an algebra hL, ∧, ∨, 0, 1, ⊗, →i, where – hL, ∧, ∨, 0, 1i is a complete lattice with top 1 and bottom 0, – hL, ⊗, 1i is a commutative monoid, – h⊗, →i is an adjoint pair, i.e. a ⊗ b ≤ c is equivalent to a ≤ b → c for any a, b, c ∈ L. Definition 2. L-fuzzy formal context C is a triple hB, A, ri, where r : B × A → L is an L-fuzzy binary relation and L is the complete residuated lattice. Definition 3. Let hB, A, ri be an L-fuzzy formal context. Lets define a pair of derivation operators h↑, ↓i of the form ↑: LB −→ LA and ↓: LA −→ LB , where ^ ↑ (f )(a) = (f (b) → r(b, a)) for any f ∈ LB and a ∈ A, b∈B ^ ↓ (g)(b) = (g(a) → r(b, a)) for any g ∈ LA and b ∈ B. a∈A Formal Concept Analysis of higher order 119 Lemma 1. Let h↑, ↓i be a pair of derivation operators defined on an L-fuzzy for- mal context hB, A, ri. A pair h↑, ↓i forms a Galois connection between complete lattices of all L-sets of objects LB and attributes LA . Definition 4. Let C = hB, A, ri be an L-fuzzy formal context. Formal concept is a pair of L-sets hf, gi ∈ LB × LA such that ↑ (f ) = g and ↓ (g) = f . The set of all L-concepts of C will be denoted by FCL(C). Object or attribute part of any concept is called extent or intent. Sets of all extents or intents of C will be denoted as Ext(C) or Int(C), respectively. 2.2 Bonds and Chu correspondences FCA provides the useful methods how to connect two formal contexts. A struc- ture of the so called Chu correspondence was introduced by Mori [13, 14] that is very close to the notion of bond [7]. The notions of Chu correspondence and bond were extended into L-fuzzy Chu correspondence and L-bond in [8]. The corresponding notions are introduced now. Definition 5. Let Ci = hBi , Ai , ri i for i ∈ {1, 2} be two L-fuzzy formal contexts. Pair of L-multimappings ϕ = hϕL , ϕR i such that – ϕL : B1 −→ Ext(C2 ), – ϕR : A2 −→ Int(C1 ), where ↑2 (ϕL (o1 ))(a2 ) =↓1 (ϕR (a2 ))(o1 ) for any (o1 , a2 ) ∈ B1 × A2 , is said to be an L-Chu correspondence between C1 and C2 . Set of all L-Chu correspondences between L-contexts C1 and C2 will be denoted by L-ChuCors(C1 , C2 ). Definition 6. Let Ci = hBi , Ai , ri i for i ∈ {1, 2} be two L-fuzzy formal contexts. L-multimapping β : B1 −→ Int(C2 ), such that β t : A2 −→ Ext(C1 ), where β t (a2 )(o1 ) = β(o1 )(a2 ) for any (o1 , a2 ) ∈ B1 × A2 , is said to be an L-bond. Set of all L-bonds beyween L-contexts C1 and C2 will be denoted by L-Bonds(C1 , C2 ). Lemma 2. Let Ci = hBi , Ai , ri i for i ∈ {1, 2} be two L-fuzzy formal contexts. Each set L-Bonds(C1 , C2 ) and L-ChuCors(C1 , C2 ) forms a complete lattice and, moreover, there exists a dual isomorphism between them. The dual isomorphism between bonds and Chu correspondences is based on the following construction. Consider two L-fuzzy formal contexts Ci = hBi , Ai , ri i for i ∈ {1, 2} and let β ∈ L-Bonds(C1 , C2 ), then hϕβL , ϕβR i such that for any (o1 , a2 ) ∈ B1 × A2 ϕβL (o1 ) =↓2 (β(o1 )) and ϕβR (a2 ) =↑1 (β t (a2 )) is an L-Chu correspondence from L-ChuCors(C1 , C2 ). On the other hand, let ϕ ∈ L-ChuCors(C1 , C2 ). Then βϕ defined as βϕ (o1 )(a2 ) =↓1 (ϕR (a2 ))(o1 ) =↑2 (ϕL (o1 ))(a2 ) for any (o1 , a2 ) ∈ B1 × A2 is an L-bond from L-Bonds(C1 , C2 ). 120 Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni 2.3 Categorical relationship to fuzzy Galois connection Categories ChuCors and L-ChuCors of classical or fuzzy formal contexts and classical or fuzzy Chu correspondences are described in [9, 13]. Important cate- gorical property of ∗-autonomism is also proved in mentioned papers. The con- tinuation of categorical research in [10] resulted in a categorical equivalence of L-ChuCors and a category L-CLLOS of so called completely lattice L-ordered sets and monotone fuzzy Galois connections. Equivalence is proved by construct- ing of equivalence functor between these categories. Definition 7. Lets define a functor Γ : L-ChuCors −→ L-CLLOS in the fol- lowing way: 1. Γ (C) = hhL-FCL(C), ≈i, i for any L-context C 2. Γ (ϕ) = hλϕ ϕ ϕ L , λR i for any ϕ ∈ L-ChuCors(C1 , C2 ) such that λL : FCL(C1 ) −→ ϕ FCL(C2 ) and λR : FCL(C2 ) −→ FCL(C1 ) λϕ L (hf, ↑1 (f )i) = h↓2 ↑2 (ϕL+ (f )), ↑2 (ϕL+ (f ))i λϕ R (h↓2 (g), gi) = h↓1 (ϕR+ (g)), ↑1 ↓1 (ϕR+ (g))i for any two L-concepts hf, ↑1 (f )i ∈ FCL(C1 ) and h↓2 (g), gi ∈ FCL(C2 ), Y X Y W multifunction ω : X −→ L is ωX+ : L −→ L defined as where for any ω+ (f )(y) = x∈X f (x) ⊗ ω(x)(y) for any f ∈ L and y ∈ Y . In [10] is proved that Γ is the equivalence functor. Hence, it holds for the particular two L-concepts that     hf, ↑1 (f )i 1 λϕ ϕ R (h↓2 (g), gi) = λL (hf, ↑1 (f )i) 2 h↓2 (g), gi . Lemma 3. Consider two L-contexts Ci = hBi , Ai , ri i for i ∈ {1, 2} and let ϕ ∈ L-ChuCors(C1 , C2 ). A functor Γ (ϕ) is a fuzzy Galois connection between hhFCL(C1 ), ≈1 i, 1 i and hhFCL(C2∗ ), ≈2 i, 2 i where C2∗ = hA2 , B2 , r2t i. Proof.  Due to order reversing of dual L-context  C2∗ for any two L-concepts  we ϕ ϕ obtain hf, ↑1 (f )i 1 λR (h↓2 (g), gi) = h↓2 (g), gi 2 λL (hf, ↑1 (f )i) . t u 3 Formal concept analysis of second order Once we have introduced preliminaries, the formal context of second order and the corresponding results are presented now in details. Definition 8.S Consider S two non-empty index sets I and J and an L-fuzzy for- mal context h i∈I Bi , j∈J Aj , ri, whereby – Bi1 ∩ Bi2 = ∅ for any i1 , i2 ∈ I, – Aj1S∩ Aj2 = ∅Sfor any j1 , j2 ∈ J, – r : i∈I Bi × j∈J Aj −→ L. Formal Concept Analysis of higher order 121 Moreover, consider two non-empty sets of L-contexts notated – {Ci = hBi , Ti , pi i : i ∈ I} – {Dj = hOj , Aj , qj i : j ∈ J}. Formal context of second order is a tuple D[ [ [ E Bi , {Ci ; i ∈ I}, Aj , {Dj ; j ∈ J}, ri,j , i∈I j∈J (i,j)∈I×J where ri,j : Bi × Aj −→ L defined as ri,j (o, a) = r(o, a) for any o ∈ Bi and a ∈ Aj . Q In what follows, consider the below used notation. S Lets have an L-set f : i∈I Xi −→ L for a non-empty universe set X = i∈I Xi , where Xi1 ∩ Xi2 = ∅ for any i1 , i2 ∈ I. Then f i : Xi −→ L is defined as f i (x) = f (x) for an arbitrary x ∈ Xi and i ∈ I. With the help of functor Γ , we define the mappings between products of fuzzy concept lattices of objects and attributes formal contexts of the following form: Definition 9. Lets define the mappings h⇑, ⇓i as follows Y Y Y Y ⇑: FCL(Ci ) −→ FCL(Dj ) and ⇓: FCL(Dj ) −→ FCL(Ci ) i∈I j∈J j∈J i∈I ^ Y j i ⇑ (Φ) = λijL (Φ ), for any Φ ∈ FCL(Ci ) i∈I i∈I ^ Y ⇓ (Ψ )i = λijR (Ψ j ), for any Ψ ∈ FCL(Dj ) j∈J j∈J such that λij = hλijL , λijR i = Γ (ϕρij ), where _ ρij = {β ∈ L-Bonds(Ci , Dj ) : (∀(oi , aj ) ∈ Bi × Aj )β(oi )(aj ) ≤ rij (oi , aj )}. Lemma 4. Let {hf, gi} ∪ {hfk , gk i : k ∈ K} be a non-empty set of L-concepts of any L-context and K be a non-empty index set. Then ^ ^ hf, gi  hfk , gk i = (hf, gi  hfk , gk i). k∈K k∈K Proof. Let the L-context be of the form hB, A, ri. Hence ^ ^ ^   ^ ^  hf, gi  hfk , gk i = f (o) → fk (o) = f (o) → fk (o) k∈K o∈B k∈K o∈B k∈K ^ ^  ^  = f (o) → fk (o) = hf, gi  hfk , gk i . k∈K o∈B k∈K t u 122 Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni Lemma Q 5. Pair of mappings h⇑, Q⇓i forms a Galois connection between complete lattices h i∈I FCL(Ci ), vI i and h j∈J FCL(Dj ), vJ i. Proof. Proof is provided in fuzzy ordering as a generalization of classical one. ^ ^ ^  Ψ vJ ⇑ (Φ) = (Ψ j j ⇑ (Φ)j ) = Ψ j j λijL (Φi ) j∈J j∈J i∈I ^^ ^^ = (Ψ j j λijL (Φi )) = (Φi i λijR (Ψ j )) i∈I j∈J i∈I j∈J ^ ^  ^ i j = Φ i λijR (Ψ ) = (Φi i ⇓ (Ψ )i ) i∈I j∈J i∈I = Φ vI ⇓ (Ψ ). t u 3.1 Simplification In this subsection will be presented a method that simplifies the previous con- sideration. Definition 10. Let Ci = hBi , Ai , ri i for i ∈ {1, 2} be two L-fuzzy contexts and let β be an arbitrary L-bond between C1 and C2 . Consider the following pair of mappings ↑β : LB1 −→ LA2 and ↓β : LA2 −→ LB1 such that ^ ^ ↑β (f )(a) = (f (o) → β(o)(a)), ↓β (g)(o) = (g(a) → β(o)(a)) o∈B1 a∈A2 for any f ∈ LB1 and g ∈ LA2 . Lemma 6. Let Ci = hBi , Ai , ri i for i ∈ {1, 2} be two L-fuzzy contexts and let β be an arbitrary L-bond between C1 and C2 . A pair h↑β , ↓β i forms a Galois connection between complete lattices hExt(C1 ), ≤i and hInt(C2 ), ≤i, where ≤ is ordering based on fuzzy sets inclusion. Proof. Proof of the fact that h↑β , ↓β i forms a Galois connection between hLB1 , ≤i and hLA2 , ≤i is simple, h↑β , ↓β i is a pair of derivation operators for L-context hB1 , A2 , β r i, where binary L-relation β r is defined as β r (o1 , a2 ) = β(o1 )(a2 ). Now, we will show that h↑β , ↓β i is a pair of mappings between complete lattices of extents and intents of C1 and C2 , respectively. First, let f be an extent of C1 . ^ ↑β (f )(a) = (f (o) → β(o)(a)) o∈B1 ^ = (f (o) →↑2 (ϕβL (o))(a)) o∈B1 ^  ^  = f (o) → (ϕβL (o)(b) → r2 (b, a)) o∈B1 b∈B2 Formal Concept Analysis of higher order 123 ^ ^ = (f (o) → (ϕβL (o)(b) → r2 (b, a))) b∈B2 o∈B1 ^ ^ = ((ϕβL (o)(b) ⊗ f (o)) → r2 (b, a))) b∈B2 o∈B1 ^ _  = (ϕβL (o)(b) ⊗ f (o)) → r2 (b, a)) b∈B2 o∈B1 ^ = (ϕβL+ (f )(b) → r2 (b, a))) b∈B2 =↑2 (ϕβL+ (f ))(a). So ↑β (f ) is an intent of C2 . Proof of ↓β (g) is an extent of C1 is easy to obtain similarly with equality β(o)(a) =↓1 (ϕβR (o))(a). t u We define an L-context such that its L-concept lattice is isomorphic to a complete lattice of all second order formal concepts. Definition 11. Let K be a second order formal context of the form D[ [ [ E K= Bi , {Ci : i ∈ I}, Aj , {Dj : j ∈ J}, rij . i∈I j∈J (i,j)∈I×J b Lets define an L-context K D[ [ [ E b= K Bi , Aj , ρij , i∈I j∈J (i,j)∈I×J where _ ρij = {β ∈ L-Bonds(Ci , Dj ) : (∀(oi , aj ) ∈ Bi × Aj )β(oi )(aj ) ≤ rij (oi , aj )}. b are isomorphic. Lemma 7. Concept lattices of K and K b and o ∈ Bi . Proof. Let hΦ, Ψ i be an L-concept of K ^ ^ Φi (o) = (↓Kb (Ψ ))i (o) = (Ψ j (a) → ρij (o)(a)) j∈J a∈Aj ^ ^ = (Ψ j (a) →↓i (ϕρij R (a))(o)) j∈J a∈Aj ^ = ↓i (ϕρij R+ (Ψ j ))(o). j∈J ^ ^ ϕρ Φi = (↓Kb (Ψ ))i = ↓i (ϕρij R+ (Ψ j )) = ext(λR ij (Ψ j )) j∈J j∈J ^ ϕ  ρ = ext λR ij (Ψ j ) = ext(⇓ (Ψ )i ), j∈J 124 Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni j where Ψ = h↓j (Ψ j ), Ψ j i for any j ∈ J. Then Φ =⇓ (Ψ ) and hΦ, Ψ i is a second order concept of K. t u 4 Motivation example – solution The motivation example introduced in Section 1 can be considered as the second order formal context h{Anna,Bob,Cyril,David,Eva}, F, {TV,W,Ce,R}, H, ri, whereby r represents the L-relation from P. Firstly, we find a bond ρ that is the closest to r. P TV W Ce R ρ(P) TV W Ce R Anna • • • Anna • • • Bob ◦ ◦ • • Bob ◦ ◦ • ◦ Cyril ◦ • • ◦ Cyril ◦ ◦ • ◦ David • • ◦ David ◦ Erik • • ◦ • Erik ◦ There are just six (instead of twenty-eight L-concepts of P) L-concepts of ρ(P) such that we can easily convert into the form of second order concepts. The following table contains the list of the all second order concepts. concepts of F concepts of H {◦/A, •/B, •/C, ◦/D, ◦/E} {◦/TV, ◦/W, •/Ce, ◦/R} {◦/A, •/B, •/C, ◦/D, ◦/E} {•/H1, /H2, ◦/H3, ◦/H4} {•/A, •/B, •/C, •/D, •/E} { /TV, /W, ◦/Ce, /R} { /A, ◦/B, ◦/C, /D, /E} {•/H1, ◦/H2, •/H3, •/H4} {•/A, •/B, •/C, ◦/D, ◦/E} {◦/TV, /W, •/Ce, ◦/R} {◦/A, ◦/B, ◦/C, /D, /E} {•/H1, /H2, ◦/H3, •/H4} {•/A, ◦/B, ◦/C, /D, /E} {•/TV, /W, •/Ce, •/R} {•/A, ◦/B, ◦/C, /D, /E} {•/H1, /H2, /H3, •/H4} {◦/A, ◦/B, ◦/C, /D, /E} {•/TV, ◦/W, •/Ce, •/R} {•/A, •/B, •/C, ◦/D, ◦/E} {•/H1, /H2, /H3, ◦/H4} { /A, ◦/B, ◦/C, /D, /E} {•/TV, •/W, •/Ce, •/R} {•/A, •/B, •/C, •/D, •/E} {•/H1, /H2, /H3, /H4} The first concept can be interpreted as follows. Friends Bob and Cyril with their common requirements should stay in hotel H1. They should stay also in H3 and H4 with a little relaxation of their requirements. The fourth concept is saying that Anna as a very lonely person should stay in H1 or H4. The second concept includes the whole group of co-workers who have very poor common requirements. Thus, all people should stay in an arbitrary hotel together. Formal Concept Analysis of higher order 125 5 Connection to heterogeneous formal contexts The fruitful idea is to view the second order formal context in terms of a het- erogeneous formal context proposed in [2]. The corresponding notions of the underlying structures are introduced now. Definition 12. Heterogeneous formal context is a tuple hB, A, P, R, U, V, i, where – B and A are non-empty sets, – P = {hPb,a , ≤Pb,a i : (b, a) ∈ B × A} is a system of posets, – R is a mapping from B × A such that R(b, a) ∈ Pb,a for any b ∈ B and a ∈ A, – U = {hUb , ≤Ub i : b ∈ B} and V = {hVa , ≤Va i : a ∈ A} are systems of complete latices, – = {◦b,a : (b, a) ∈ B × A} is a system of isotone and left-continuous mappings ◦b,a : Ub × Va −→ Pb,a . Lets describe our situation in terms of heterogeneous formal contexts. Below is the translation: – B and A will be the index sets I and J, – complete lattices Ui or Vj for any (i, j) ∈ B × A = I × J will be the complete lattices hExt(Ci ), ≤i and hInt(Dj ), ≤i, – Pi,j will be a complete lattice of all fuzzy relations from LBi ×Aj , – any value of relation r will be a binary relation r(i, j) = ri,j ∈ LBi ×Aj , – operation ◦i,j : Ext(Ci ) × Int(Dj ) −→ LBi ×Aj is defined as (f ◦i,j g)(b, a) = f (b) ⊗ g(a) for any f ∈ Ext(Ci ) and g ∈ Int(Dj ) and any (b, a) ∈ Bi × Aj . The mapping ◦i,j is isotone due to isotonicity of ⊗. Lemma 8. The mapping ◦i,j is left-continuous. Proof. Let (fk ◦ g)(b, a) = fk (b) ⊗ g(a) ≤ m for all k ∈ K and for some (b, a) ∈ B × A and Wm ∈ L. It is equivalent to inequality fk (b) ≤ g(a) → m for all k ∈ K. Hence, k∈K fk (b) ≤ g(a) → m and it is equivalent to _  _ fk ◦ g (b, a) = fk (b) ⊗ g(a) ≤ m. k∈K k∈K Proof of left-continuity of the second argument is similar. t u 126 Ondrej Krı́dlo, Patrik Mihalčin, Stanislav Krajči and Lubomı́r Antoni Definition 13. Q Lets define aQpair of derivation operators Q h-, &i ofQthe follow- ing form -: i∈I Ext(Ci ) → j∈J Int(Dj ) and &: j∈J Int(Dj ) → i∈I Ext(Ci ) defined for heterogeneous formal context mentioned above as follows: _ - (Φ)j = {g ∈ Int(Dj ) : (∀i ∈ I)Φi ◦i,j g ≤ ri,j } _ & (Ψ )i = {f ∈ Ext(Ci ) : (∀j ∈ J)f ◦i,j Ψ j ≤ ri,j } Q Q for any Φ ∈ i∈I Ext(Ci ) and any Ψ ∈ j∈J Int(Dj ). S S S Lemma 9. Let K = h i∈I Bi , {Ci ; i ∈ I}, j∈J Aj , {Dj ; j ∈ J}, (i,j)∈I×J ri,j i be a second order formal context. Then ↑Kb (Φ) ≤- (Φ) and ↓Kb (Ψ ) ≤& (Ψ ) Q Q for any Φ ∈ i∈I Ext(Ci ) and Ψ ∈ j∈J Int(Dj ). Proof. Let j ∈ J be arbitrary. ^ ^ ↑Kb (Φ)j (a) = (Φi (o) → ρij (o)(a)) i∈I o∈Bi _ = {g ∈ Int(Dj ) : (∀i ∈ I)(∀o ∈ Bi )Φi (o) ⊗ g(a) ≤ ρij (o)(a)}. Then _ ↑Kb (Φ)j = {g ∈ Int(Dj ) : (∀i ∈ I)(∀o ∈ Bi )Φi ◦ij g ≤ ρij } because of ρij ≤ rij _ ≤ {g ∈ Int(Dj ) : (∀i ∈ I)(∀o ∈ Bi )Φi ◦ij g ≤ rij } =- (Φ)j . Hence ↑Kb (Φ) ≤- (Φ). Similarly for ↓Kb and &. t u 6 Connections to standard homogenic fuzzy operators In this part, we focus on an appropriate generalization of the standard homogenic fuzzy formal concept derivation operators in two different ways. 6.1 Singleton connection Lemma 10. Lets have an L-fuzzy formal context h{x}, L, λi, where for an ar- bitrary k ∈ L is ⊥x = λ(x, k) = k. Any value k ∈ L is an extent of ⊥x . Proof. Let k be an arbitrary value from L. ^ ^ ^ ↓↑ (k)(x) = (↑ (k)(m) → m) = ( (k → m) → m) m∈L m∈L x∈{x} Formal Concept Analysis of higher order 127 ^ ^ = (1 → m) ∧ ((k → m) → m) m∈L:m≥k m∈L:m where each value is denoted as t[Aj ] = vj ∈ dom(Aj ) ∪ {N U LL}. N U LL in- dicates that the value is unknown for the field in the entry. The relation state r(Ri ) = {t1 , t2 , ..., tri } of table Ri denotes its total set of entries. In a table Ri , the set of fields SK ⊂ Ri denotes a superkey which identifies a tuple as unique. A primary key P K is defined as a superkey where |SK| = 1 and |.| denotes set cardinality, i.e. P K is a single field and we say that Ri .P K is the primary key of table Ri the value of which unequivocally identifies an entry in table Ri . Finally, a field R1 .F K is called a foreign key iff R1 .F K = R2 .P K which indicates a re- lation between R1 and R2 . In the particular case of the CNCA database for ICH documentation, a notion of inheritance of tables is supported. We define this as 166 Renzo Stanley, Hernán Astudillo, Vı́ctor Codocedo and Amedeo Napoli Agent   Fes+ve  Event   Ritual   id_agent   id_fest   id_ritual   rut_number   name   name   background   descrip4on   descrip4on   phone   background   views   name   views   place   address   dura4on   id_agent   email   id_agent   Individual  Agent   Collec+ve  Agent   birthday   establishment   gender   gender_composi4on   Fig. 2: Data schema example from the ICH domain follows: table R1 inherits from table R2 iff R2 ⊂ R1 and R1 .P K = R2 .P K, i.e. table R1 contains all the fields in table R2 and they share the same primary key. Figure 2 illustrates a data schema example S = {Festive Event, Ritual , Agent, Individual Agent, Collective Agent} where arrows represent relation be- tween two tables and a line with a rhombus at the end represents inheritance. Table Ritual can be represented as Ritual(id ritual, name, description, views, place, id agent) where dom(name) = string, Ritual.id ritual is the primary key of table Ritual and Ritual.id agent is a foreign key relating Ritual with Agent. The example also shows that Individual Agent and Collective Agent inherit from table Agent, meaning that all the attributes from table Agent are also present in tables Individual Agent and Collective Agent. 3.2 Formal context definition Considering data schema S = {R1 , R2 , ..., R|S| } and the tables of the form Ri (A1 , A2 , ..., Ani ) composed by the fields Aj , we define the formal context K = (S, A, I) where [ A= Ri .Aj Ri ∈S I = {(Ri , Aj ) / ∀Ri ∈ S, ∀Aj ∈ Ri } Formal context K is composed by tables in the set S (all the tables or a sub-set of them), the set of fields A (composed by the set of all fields from all tables considered in S) and the relation set I (the relations between tables in S and their fields in A). Notice that we define a formal context by making the cor- respondences object-table and attribute-field. To avoid confusions, in this work we differentiate between these correspondences by using different font faces for objects or attributes and for tables or fields. Along with the formal con- text, we also define the following rules of attribute integration based on the characteristics of the fields: A Conceptual-KDD approach and its application to cultural heritage 167 – The special attribute id represents all primary keys: id ∈ A , (Ri , id) ∈ I ∀Ri ∈ S. – Fields with the same name are integrated into a single attribute (e.g. at- tribute name represents Agent.name and Ritual .name) 3.3 Relational attribute scaling In the context of FCA, foreign keys correspond to relational attributes. For example, in Figure 2 we do not say “table Ritual contains a foreign key” (as in the case of Ritual contains a primary key), but rather “Ritual is related to Agent by a foreign key”. Such kind of attributes cannot be included in a binary formal context. To deal with relational attributes, we scale them and treat them as normal attributes in the lines of [11]. We do so by prepending the prefix related to: to the name of the table where the foreign key directs to (e.g. in the formal context in Table 1, we say that the object Ritual contains the attribute related to:Agent). This is formalized as Rj .F K = Ri .P K; Ri , Rj ∈ S ⇒ related to:Ri ∈ A ∧ (Rj ,related to:Ri ) ∈ I In the case the table Ri pointed to by a foreign key do not exist in S, then we simply do not take into consideration that table nor we create the scaled relation related to:Ri . gender composition related to:Agent establishment description background rut number birthday duration address gender email phone views place name id Agent ××××××× IndividualAgent × × × × × × × ×× CollectiveAgent × × × × × × × ×× FestiveEvent × × ××× × × Ritual × × ×××× Table 1: Formal context created from the data schema example 4 Second Step of the CKDD process: Formal Concept Analysis This step receives a formal context and ends when a concept lattice is con- structed. Figure 3(a) shows the concept lattice calculated for the formal context 168 Renzo Stanley, Hernán Astudillo, Vı́ctor Codocedo and Amedeo Napoli in Table 1. Along with the concept lattice, the original formal context is sent to step 3 to allow modifications in it for further iterations of the process. We develop two tasks related to the identification of elements which would help in the redesign of the data schema. 4.1 Attribute concept identification The attribute concept of attribute Aj is defined by µAj = (A0j , A00j ), where ()0 is the derivation operator in FCA [3]. The identification of attribute concepts is rather simple and we do it by navigating from the top to the bottom of the lattice. Attribute concepts are the most general concepts in the lattice containing a given attribute. In our case, the attribute concept of a given field contains the largest set of tables related to it. This is important since, as we will describe in the next step of interpretation, we process each field separately in order to create the ontological schema. Attribute concepts make this simpler as for each field we only need one concept and not the whole lattice. 4.2 Extensional stability calculation: Since we are looking to enhance the design of a data schema in the database, within the lattice we would like to have only those concepts which group together in their extents tables of the same domain. This would allow us to address the modularization of information per domain issue which is one of the request of the CNCA, assuming that tables in the same domain are likely to share similar fields. In order to do so, we use the notion of extensional stability as firstly described in [6] and later in [10] as a way to measure “the probability of a concept to preserve its extent after leaving out an arbitrary number of attributes”. 5 Third Step of the CKDD process: Interpretation The final step receives a formal context and its associated concept lattice where each attribute concept is identified and each formal concept contains an exten- sional stability value. Since CKDD is an iterative process, this step has two possible outputs. If the expert decides to make another iteration, the process goes back to step 2 sending a modified version of the formal context received including feedback of the expert. If the expert decides to end the process, this will create an “ontological schema” which will be stored in a knowledge base and the process ends. For the iteration, there are two tasks to perform: Question creation/answering and Modularization. The task which transforms the concept lattice into an ontological schema ends the process. A further step of annotation which converts the entries in tables into linked data using the ontological schema can be considered, but for the sake of space we have left it out of this paper. A Conceptual-KDD approach and its application to cultural heritage 169 5.1 Question creation and answering We use extensional stability as an indicator of how related are tables within a given concept extent. A lower stability indicates that those tables are grouped more as an accident (for example, because of the misuse of a single (or several) field name(s)) rather than because they belong to the same domain. We look for unstable attribute concepts because they are the most general concepts con- taining a given attribute, so they are those that relate more tables together. Moreover, we can create questions for the expert to answer in the hope they provide information to “break” the attribute concept and separate domains. Consider the example in Figure 3(a) in which two domains are illustrated. The first relates events while the second relates people and communities. The most unstable attribute concepts (extensional stability of 0.5) correspond to those labelled with the attributes background and place. In the case of place, it only contains one table meaning that “breaking” this concept does not help in separating domains4 . The attribute concept of background contains four ob- jects, namely FestiveEvent, Agent, IndividualAgent and CollectiveAgent for which FestiveEvent belongs to a different domain than the others. Regarding the questions posed to the expert, we have: 1. Would you like to assign attribute to all the objects? 2. Would you like to eliminate the attribute from a single/a set of objects/s? 3. Would you like to split attribute into different attributes for different ob- jects? If the expert selects option 1, the attribute will be shared by every object and hence, it will be placed as part of the intent of the top of the lattice (like id and name in Figure 3(a)). In the case of option 2, the attribute is erased from the formal context and hence, its attribute concept is removed. With option 3, we can recommend the partition of the attribute by looking at the sub-concepts of the attribute concept. Then, a new attribute is created for each partition made while the original attribute disappears. Consider Ai to be the attribute for which the expert has to answer a question. For each option we can define a new formal context as follows: 1. Option 1: KA = (S, A, I ∪ {(R, Ai ); ∀R ∈ S}) 2. Option 2: KA = (S, A\{Ai }, I\{(R, Ai ; )∀R ∈ S}) 3. Option 3: Let Aj be the splits of attribute Ai assigned to objects Rj , then KA = (S, (A\{Ai }) ∪ Aj , I\{(R, Ai ); ∀R ∈ S} ∪ {(Rj , Aj )}) In the example, the expert selected option 3 splitting background into an attribute for FestiveEvent (practice background) and another for the Agents (records). This example is actually an extract of a real case study where the 4 A low stability in a singled-object attribute concept may indicate that the table should be split in two or more different tables. We do not address this issue in this work 170 Renzo Stanley, Hernán Astudillo, Vı́ctor Codocedo and Amedeo Napoli expert realized that the term “background” was used with multiple meanings and that it should be separated into an attribute registering the history of past events and another for the official records of people. Figure 3(b) presents the concept lattice created from the formal context yielded by this decision. 5.2 Modularization The expert may choose to perform this task disregarding answering questions. We start from the already processed concept lattice L and find its sublattices such as Li ∩ Lj = {>, ⊥} where Li , Lj are sublattices of L and >, ⊥ represent the top and the bottom of L respectively. We achieve this by obtaining the connected graphs from the lattice once > and ⊥ are removed. Each sublattice is a candidate to represent a domain which must be labelled by the expert. The label is included into the formal context as a special attribute of the form domain:Label with relations to all the objects in the sublattice. The concept lattice is later recalculated. Figure 3(b) depicts the final form of the lattice for the running example. Finally, the expert may also be interested in merging more than one sublattice into a single domain. In that case, the special attribute is added to all objects in the set of sublattices selected by the expert. (a) Concept lattice created from the data (b) Concept lattice after the expert’s de- schema example cision (attribute background split into practice background and records) in- cluding domain labels Fig. 3: Concept lattices for CNCA (before and after the expert’s decision) 5.3 Ontological schema creation The final task of the process derives an ontological model from the concept lattice that can be used for data integration and linked data publication. This is done A Conceptual-KDD approach and its application to cultural heritage 171 Concept Element Triples created > = (S, ∅) Ri ∈ S Ri rdf:type rdfs:Class e.g. cnca:Agent rdf:type rdfs:Class ⊥ = (∅, A) Aj ∈ A Aj rdf:type rdfs:Property Aj rdfs:range rdfs:Literal e.g. cnca:establishment rdf:type rdfs:Property cnca:establishment rdfs:range rdfs:Literal ⊥ = (∅, A) related to:Ri ∈ A related to:Ri rdf:type rdfs:Property related to:Ri rdf:range rdfs:Ri e.g. cnca:participant rdf:type rdfs:Property cnca:participant rdfs:range cnca:Agent ⊥ = (∅, A) domain:Label ∈ A cnca:Label rdf:type cnca:Domain cnca:Domain rdf:type rdfs:Class cnca:in domain rdf:type rdfs:Property e.g. cnca:People rdf:type cnca:Domain µAj = (A0j , A00j ) Ri ∈ A0j cnca:Aj rdfs:domain cnca:Ri e.g. cnca:participant rdfs:domain cnca:Ritual µAj = (A0j , A00j ) (Aj =domain:Label and cnca:Ri cnca:in domain cnca:Label Ri ∈ A0j ) e.g. cnca:Agent cnca:in domain cnca:People Table 2: Formal concept translation into RDF triples. Triples in the third column are created for the elements described in the second column within the formal concepts in the first column by creating a set of RDF triples5 for given elements in the formal concepts of the lattice. Table 2 shows this conversion where for example, in the first row it is shown that for the top concept, all the tables in its extent are modelled as RDFS classes6 [7]. For simplicity purposes, Table 2 only presents a part of the total set of triples created considering the top >, the bottom ⊥ and attribute µAj concepts. 6 Case study: CNCA Intangible Cultural Heritage Database The database schema of the CNCA for ICH documentation consists of nearly 300 tables, however only 27 tables were selected by the experts on the basis of their representative and multi-disciplinary knowledge. Selected tables consider descriptions of agents, collective agents, festive events, culinary manifestations, geolocations and more. The formal context derived from the database contains 27 objects, 56 attributes, and 25 relational attributes. Figure 4 depicts the concept lattice built from this formal context. 5 Resource Description Framework (RDF) is a standard specification for semantic web and linked data based on triples http://www.w3.org/RDF/. 6 Resource Description Framework Schema (RDFS) is an extension of RDF which supports classes, properties and more complex definitions. 172 Renzo Stanley, Hernán Astudillo, Vı́ctor Codocedo and Amedeo Napoli Fig. 4: Concept lattice from the ICH database schema Iteration Attribute Action 1 name Assign to all tables 2 description Assign to all tables 3 background Split the attribute 4 background Split the attribute 5 related to:Commune Eliminate from some tables 6 related to:Localization Eliminate from some tables 7 - Domain labelling 8 - Domain labelling 9 - Domain labelling Table 3: Iterations made for the case study Table 3 shows the actions taken by the domain expert during 9 iterations of the CKDD process. We distinguished between facts, questions and actions. Facts represent database assertions which are displayed for helping the expert in decision taking. For example, in iteration 1 the expert is presented with the facts: “71% of the objects contain the attribute name” and “The attribute name has a value in 100% of the entries in the objects where it appears”. The first fact helps the expert to understand that name is actually very common among the objects and can easily be extended to the whole object set. The second fact combines information from the DB and the concept lattice to tell the expert that in all the entries t which contain the field name (represented by the attribute name), the value t[name] is different than N U LL. This indicates him that the attribute should not be removed from any object. Questions and actions were already detailed in Section 5.1. In iterations 3 and 4 the expert split the attribute background (“antecedentes” in Spanish). This attribute appears in several objects (46% of object set) through all the domains, however with different semantics. Finally, the expert created the attributes historical background, records, practice background and culinary background. In iteration 5 and 6, the expert decided to eliminate some attributes from the object set. For example, the relation related to:Commune A Conceptual-KDD approach and its application to cultural heritage 173 which represented a foreign key in the database, was not being used in 3 tables from which it was removed. Finally, in iterations 7, 8 and 9 the expert labelled the modules as subdomains of ICH FestiveFeatures, Geo and AgentFeatures. Figure 5 illustrates the final concept lattice presenting the different subdo- mains identified from left to right, namely; Agent descriptors subdomain, Fes- tive Event descriptors subdomain, Culinary descriptors subdomain, Geographi- cal subdomain, Content creators subdomain, Photo subdomain, ICH subdomain. The last subdomain includes all the manifestations about ICH in this database schema. Fig. 5: Concept lattice after 9 iterations 7 Related Work, Discussion and Conclusion Modelling semantic relations in DBs is proposed in [8] where the author presents a framework to formalize semantics in a lexical database. A lexical database maintains information about concepts and their semantic position w.r.t. each other (hypernymy or meronymy). In general, relational DBs do not share the same characteristics nor structure as lexical databases, allowing to store more heterogeneous data. In [9] the same author proposes an algebra for relational DBs which can be interpreted also in terms of a formal context in FCA. A similar idea was proposed by [5] where the author uses the algebra to translate a relational database into a family of formal contexts to benefit from both, the simplicity of the relational model description and the power of FCA in analysis. By contrast, our approach is more straightforward since we are not interested in data operations using the concept lattice, but rather in a direct translation of the data schema. Thus, we do not work with the entries in the tables of the database. In our approach we use the concept lattice as a support for guiding the redesign process in which a domain expert is the main provider of knowledge. To conclude, in this article we have presented an application of a conceptual knowledge discovery in databases process designed to redesign and convert a database schema into an ontological model. The process is heavily human centred as it considers a domain expert as the main source of knowledge to guide the process. To support him, we use formal concept analysis with a formal context 174 Renzo Stanley, Hernán Astudillo, Vı́ctor Codocedo and Amedeo Napoli created from the set of tables and fields extracted from the database schema. The concept lattice calculated from this formal context is used to analyse the schema and create questions which the user should answer. Each question has an associated set of actions aimed at redesigning the database schema model. The application is implemented over an excerpt of the Chilean National Council of Culture and Arts (CNCA) database for intangible cultural heritage documentation. Currently, we are implementing the process in full scale includ- ing more domain experts. Future work include the annotation process of data using the ontological schema created which has already been considered, how- ever not described in this article. As pointed out by one of the reviewers of this work, the approach presented in this article may also be applied in the con- text of software engineering, specifically in code re-factoring and object-model re-engineering [4]. References 1. Joachim Hereth Correia, Gerd Stumme, Rudolf Wille, and Uta Wille. Conceptual knowledge discovery–a human-centered approach. Applied Artificial Intelligence, 17(3):281–302, March 2003. 2. Ramez A Elmasri and Shankrant B Navathe. Fundamentals of Database Systems. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 3rd edition, 1999. 3. Bernhard Ganter and Rudolf Wille. Formal Concept Analysis: Mathematical Foun- dations. Springer, December 1999. 4. Robert Godin and Petko Valtchev. Formal concept analysis-based class hierar- chy design in object-oriented software development. In Formal Concept Analysis, volume 3626 of Lecture Notes in Computer Science. 2005. 5. Joachim Hereth. Relational scaling and databases. In Conceptual Structures: Integration and Interfaces, volume 2393 of Lecture Notes in Computer Science, pages 62–76. Springer Berlin Heidelberg, 2002. 6. Sergei O Kuznetsov. On stability of a formal concept. Annals of Mathematics and Artificial Intelligence, 49(1-4):101–115, 2007. 7. Brian McBride. The resource description framework (rdf) and its vocabulary de- scription language rdfs. In Handbook on Ontologies, International Handbooks on Information Systems, pages 51–65. Springer Berlin Heidelberg, 2004. 8. Uta Priss. Efficient implementation of semantic relations in lexical databases. Computational Intelligence, 15:79–87, 1999. 9. Uta Priss. Establishing connections between formal concept analysis and relational databases. In Common Semantics for Sharing Knowledge: Contributions to ICCS 2005, pages 132–145, 2005. 10. Camille Roth, Sergei Obiedkov, and Derrick Kourie. Towards concise representa- tion for taxonomies of epistemic communities. Concept Lattices and Their Appli- cations, 2008. 11. Mohamed Rouane-Hacene, Marianne Huchard, Amedeo Napoli, and Petko Valtchev. A proposal for combining Formal Concept Analysis and description Logics for mining relational data. In Proceedings of ICFCA 2007, 2007. 12. Rudolf Wille. Why can concept lattices support knowledge discovery in databases? Journal of Experimental and Theoretical Artificial Intelligence, 14(2-3):81–92, 2002. Analogical proportions and the factorization of information in distributive lattices Nelly Barbot1 , Laurent Miclet1 , and Henri Prade2 1 IRISA, University Rennes 1 ENSSAT, 6 rue Kerampont, 22305 Lannion, France 2 IRIT, Université Paul Sabatier 118 route de Narbonne, 31062 Toulouse cedex 9, France Abstract. Analogical proportions are statements involving four enti- ties, of the form ‘A is to B as C is to D’. They play an important role in analogical reasoning. Their formalization has received much attention from different researchers in the last decade, in particular in a proposi- tional logic setting. Analogical proportions have also been algebraically defined in terms of factorization, as a generalization of geometric nu- merical proportions (that equate ratios). In this paper, we define and study analogical proportions in the general setting of lattices, and more particularly of distributive lattices. The decomposition of analogical pro- portions in canonical proportions is discussed in details, as well as the resolution of analogical proportion equations, which plays a crucial role in reasoning. The case of Boolean lattices, which reflects the logical mod- eling, and the case corresponding to entities described in terms of gradual properties, are especially considered for illustration purposes. Keywords: analogical proportion, lattice, factorization 1 Introduction Analogical reasoning [1] plays an important role in human reasoning. It en- ables us to draw plausible conclusions by exploiting parallels between situations, and as such has been studied in AI for a long time, e.g., [2, 3] under various approaches [4]. A key pattern which is associated with the idea of analogical reasoning is the notion of analogical proportions, i. e. statements of the form ‘A is to B as C is to D’. However, it is only in the last decade that researchers working in computational linguistics have started to study these proportions in a formal way [5–7]. More recently, analogical proportions have been shown as being of particular interest for classification tasks [8] or for solving IQ tests [9]. Moreover, in the last five years, there has been a number of works, e.g., [10, 11] studying the propositional logic modeling of analogical proportions. The logical view of an analogical proportion amounts to expressing that the difference be- tween A and B (resp. B and A) is the same as the difference between C and D (resp. D and C). Although it can be proved that, beside symmetry, this view agrees with a crucial postulate of analogical proportions, namely that one can ex- change B and C in the proportion (as well as A and D), it is not straightforward c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 175–186, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 176 Nelly Barbot, Laurent Miclet and Henri Prade to see that it holds. In fact, a genuine parallel can be made between analogical proportions and numerical proportions. It suggests that since factorization plays a key role in geometric proportions (which equal two ratios of integers), factor- ization also makes sense for analogical proportions. This idea is investigated here in the abstract setting of lattices. In order to do this, we go back to a factorization-based formalization of ana- logical proportions proposed in [12, 13]. On this basis, these authors proposed a definition of analogical proportions in different settings such as sets, sets of sequences, set of trees, and lattices. As shown in this paper their definition sug- gested for the lattice setting is incomplete. We then correct and complete this definition. We show that it encompasses the Boolean lattice case that corre- sponds to the propositional logic encoding of analogical proportions. We then study the more general setting of distributive lattices, identify canonical propor- tions, and show how analogical proportions can be decomposed into canonical ones, before discussing the solving of analogical proportion equations, a key is- sue for application to algorithms for analogical reasoning. We also illustrate the approach in the case of a distributive lattice induced by fuzzy sets. The paper is organized as follows. The next section provides the necessary background on lattices and on analogical proportions. Section 3 establishes the basic form of analogical proportions in distributive lattices, which is illustrated on Boolean and on graded proportions, and then investigates their basic proper- ties. Section 4 introduces the notion of canonical proportions and takes advantage of them for studying the composition and the decomposition of analogical pro- portions. Section 5 discusses the resolution of analogical equations, and briefly studies the transitivity of analogical proportions. This paper is a preliminary investigation into the connexions between lattices and analogical proportion. In particular, we are interested in detecting analogical proportions in concept lattices (e.g. see [20]). However, since these lattices are generally non distributive, we will have to investigate which of the properties demonstrated here still hold true in concept lattices, and which of them have to be abandoned or weakened. A few hints are given in Sections 3 and 5. 2 Background: Lattices and analogical proportions Lattices. They are mathematical structures commonly encountered in the se- mantics of representation and programming languages, in formal concept anal- ysis, machine learning, data mining, and in other areas of computer sciences. (L, ∨, ∧, ≤) is a lattice when [14]: i) L has at least two elements, ii) ∧ and ∨ are two binary internal operations, both idempotent, commutative, associative, and satisfying the absorption laws. A lattice is distributive when u ∨ (v ∧ w) = (u ∨ v) ∧ (u ∨ w), or equivalently u ∧ (v ∨ w) = (u ∧ v) ∨ (u ∧ w) for all u, v and w in L. A bounded lattice has a greatest (or maximum) and least (or minimum) element, denoted > and ⊥. A bounded lattice is complemented if each element x has a complementary y such that x ∧ y = ⊥ and x ∨ y = >. A distributive, bounded and complemented lattice is called a Boolean lattice. Analogical proportions and the factorization of information in distrib. lattices 177 Duality theorem. If a theorem T is true in a lattice, then the dual of T is also true. This dual is obtained by replacing all occurrences of ∧ (resp. ∨, ≤) by ∨ (resp. ∧, ≥). Examples. (a) (2Σ , ∩, ∪, ⊆), where Σ is a finite set (alphabet), is a Boolean lattice. (b) (N+ , gcd, lcm, |) where (x | y) iff x divides y is a distributive lattice, with the minimum element 1 but no maximum element. (c) The set S of closed intervals on R, including ∅ and R, is a non-distributive lattice when ∧ is the intersection and [a, b] ∨ [c, d] = [min(a, c), max(b, d)], where min and max are defined according to the order in R. Analogical proportions. They are characterized by three axioms. They acknowledge the symmetrical role played by the pairs (A, B) and (C, D) in the proportion ‘A is to B as C is to D’, and enforce the idea that B and C can be interchanged if the proportion is valid, just as in the equality of two numerical ratios where means can be exchanged. This view dates back to Aristotle [15]. A third, optional, axiom insists on the unicity of the solution x = B for completing the analogical proportion A : B :: A : x . These axioms are studied in [16]. Definition 1 (Analogical proportion) An analogical proportion3 (AP ) on a set X is a quaternary relation on X, i.e. a subset of X 4 . An element of this subset, written A : B :: C : D , which reads ‘A is to B as C is to D’, must obey the following two axioms: 1) Symmetry of ‘as’: A : B :: C : D ⇔ C : D :: A : B 2) Exchange of means: A : B :: C : D ⇔ A : C :: B : D Then, thanks to symmetry, it can be easily seen that A : B :: C : D ⇔ D : B :: C : A should also hold (exchange of the extremes). According to the first two axioms, five other formulations are equivalent to the canonical form A : B :: C : D , B : A :: D : C , D : B :: C : A , C : A :: D : B , D : C :: B : A and B : D :: A : C . Example. Let us take the lattice (2Σ , ∪, ∩, ⊆), where Σ is a finite set {a, . . . , n}. Σ may be for example a set of Boolean properties, and a subset of Σ can be used to characterize some object described by the corresponding properties. The four objects described by the subsets x = {a, b, e}, y = {b, c, e}, z = {a, d, e} and t = {c, d, e} are in analogical proportion in this order. Indeed, it suggests an intuitive meaning for ‘is to’: To transform x into y, one has to remove property a and to include property c; namely x \ y = {a} and y \ x = {c}. z is transformed into t by exactly the same operations; namely z \ t = {a} and t \ z = {c}. Such a view of the relation linking x, y, z, t is clearly symmetrical, and satisfies the exchange of the means: namely x \ z = {b}, z \ x = {d} and y \ t = {b}, t \ y = {d}. This idea that x (resp. y) differs from y (resp. x) in the same way as z (resp. t) differs from t (resp. z) is at the core of the definition of the analogical proportion x : y :: z : t in the Boolean setting [10], as further discussed in the following. 3 When there is no ambiguity, an analogical proportion is also called a proportion. 178 Nelly Barbot, Laurent Miclet and Henri Prade Proportions in commutative semigroups. Stroppa and Yvon [12, 13] have given another definition of the analogical proportion, based on the notion of factorization, when the set of objects is a commutative semigroup (X, ⊕). Definition 2 A 4-tuple (x, y, z, t) in a commutative semigroup (X, ⊕) is an AP x : y :: z : t when: 1) either (y, z) ∈ {(x, t), (t, x)}, 2) or there exists (x1 , x2 , t1 , t2 ) ∈ X 4 such that x = x1 ⊕ x2 , y = x1 ⊕ t2 , z = t1 ⊕ x2 and t = t1 ⊕ t2 . This definition satisfies the two basic axioms of the analogical proportion (Definition 1). For example, in (X, ⊕) = (N+ , ×), with x1 = 2, x2 = 3, t1 = 5 and t2 = 7, one has (2×3) : (2×7) :: (5×3) :: (5×7), i.e. 6 : 14 :: 15 : 35, a numerical geometric analogical proportion. Note that this particular proportion corresponds equivalently to the equality: 6 × 35 = 14 × 15. 3 Analogical proportion in lattices In this section, we are interested in studying how the definition of an analogical proportion by factorization applies to lattices. In particular we are wondering whether the equivalence of the two formulations in the preceding example can be transposed to this algebraic structure. 3.1 Definition Considering that a lattice (L, ∨, ∧) is both a commutative semigroup (L, ∨) and (L, ∧), we define an analogical proportion as follows. Definition 3 A 4-tuple (x, y, z, t) in (L, ∨, ∧) is an AP (x : y :: z : t) when: 1) there exists (x1 , x2 , t1 , t2 ) ∈ X 4 such that x = x1 ∨ x2 , y = x1 ∨ t2 , z = t1 ∨ x2 and t = t1 ∨ t2 , 2) and there exists (x01 , x02 , t01 , t02 ) ∈ X 4 such that x = x01 ∧ x02 , y = x01 ∧ t02 , z = t01 ∧ x02 and t = t01 ∧ t02 . Note that when x2 = t2 then y = x and z = t and that when x1 = t1 then y = t and z = x. Hence we can have (y, z) = (x, t) or (y, z) = (t, x). Examples. (a) In (N+ , gcd, lcm, |), we have (20 : 4 :: 60 : 12), with x1 = 20, x2 = t1 = 60, t2 = 12, x01 = t02 = 4, x02 = 20 and t01 = 12. (b) In the lattice S of closed intervals on R, we have ([0, 3] : {3} :: [0, 4] : [3, 4]) with x1 = {3}, x2 = {0}, t1 = [3, 4], t2 = ∅, x01 = [0, 3], x02 = [0, 4], t01 = [0, 4] and t02 = [3, 4]. Proposition 1 A 4-tuple (x, y, z, t) in (L, ∨, ∧) is an AP (x : y :: z : t) iff: x = (x ∧ y) ∨ (x ∧ z) x = (x ∨ y) ∧ (x ∨ z) y = (x ∧ y) ∨ (y ∧ t) y = (x ∨ y) ∧ (y ∨ t) z = (z ∧ t) ∨ (x ∧ z) z = (z ∨ t) ∧ (x ∨ z) t = (z ∧ t) ∨ (y ∧ t) t = (z ∨ t) ∧ (y ∨ t) Analogical proportions and the factorization of information in distrib. lattices 179 Proof. (⇒). Taking x1 = x ∧ y, x2 = x ∧ z, t1 = z ∧ t and t2 = y ∧ t show directly that there exist factors satisfying Definition 3. (⇐). Let us show that x = (x ∧ y) ∨ (x ∧ z). Since x = x1 ∨ x2 and y = x1 ∨ t2 , we have x1 ≤ x and x1 ≤ y. Then x1 ≤ x ∧ y. Similarly, factor x2 satisfies x2 ≤ x ∧ z. Hence, x ≤ (x∧y)∨(x∧z). Besides, x being greater than (x∧y) and (x∧z), (x∧y)∨(x∧z) ≤ x. The antisymmetry of ≤ implies that x = (x ∧ y) ∨ (x ∧ z). We show the other equalities in the same manner.  The above definition applies to general lattices. In this paper, we focus on dis- tributive lattices, since most of the properties to come require this property. Boolean lattices Every finite Boolean lattice is isomorphic to the lattice (X, ∪, ∩, ⊆), where X is a finite set. When considering this lattice, the quantities involved in Defi- nition 1 can be described more precisely (see [16, 17]), as explained below. Proposition 2 A 4-tuple (x, y, z, t) in the Boolean lattice (2Σ , ∪, ∩, ⊆) is in the AP (x : y :: z : t) iff there exists a partition of Σ composed of six subsets (a, b, c, d, e, f ) such that x = a ∪ c ∪ e, y = b ∪ c ∪ e, z = a ∪ d ∪ e and t = b ∪ d ∪ e. The link with Definition 3 is made by taking4 .: x1 = c∪e, x2 = a∪e, t1 = d∪e and t2 = b ∪ e, and by duality: x01 = d¯ ∩ f¯, x02 = b̄ ∩ f¯, t01 = c̄ ∩ f¯ and t02 = ā ∩ f¯. It is also easy to check that this definition is equivalent to Definition 3. f b c e a d Fig. 1. An AP (x : y :: z : t) in a Boolean lattice. x = a ∪ c ∪ e, y = b ∪ c ∪ e, z = a ∪ d ∪ e and t = b ∪ d ∪ e. It is worth noticing that the above result has a nice interpretation in practice. Let us view x, y, z, t as subsets of properties that hold true in four different situations. It is then clear that a is the subset of properties that are true in the first situation, but false in the second one, and again true in the third situation and false in the fourth one. Conversely, b is the subset of properties that are false in the first situation, true in the second one, and again false in the third situation and true in the fourth one. Besides, c (resp. d) is the set of properties that are true for both the first and the second situations and false for the third and the fourth ones (resp. false for the first and the second situations and true for the third and the fourth ones. In other words, the disjoint subsets a, b, c, d, e, f have the following interpretations a = x \ y = z \ t, b = y \ x = t \ z, c ∪ e = x ∩ y, d ∪ e = z ∩ t, where e = x ∩ y ∩ z ∩ t is the set of properties that are 4 We denote the complement in 2Σ with an overline 180 Nelly Barbot, Laurent Miclet and Henri Prade true in all situations (and f the set of properties that are false in all situations); see Figure 1. Thus, one can say that x, y, z, and t are respectively factorized under the form of pairs of disjoint subsets, namely (a, c ∪ e) for x, (b, c ∪ e) for y, (a, d ∪ e) for z, and (b, d ∪ e) for x, which perfectly parallels the equality of two numerical ratios of the form α×γ α×δ β×γ = β×δ . Moreover, the above decomposition using the partition of the referential into six subsets exactly corresponds to the truth table of the analogical proportion in a propositional setting [10, 18] defined equivalently by x : y :: z : t = (x ∧ ¬y) ≡ (z ∧ ¬t) ∧ (y ∧ ¬x) ≡ (t ∧ ¬z) or x : y :: z : t = (x ∧ t) ≡ (y ∧ z) ∧ (x ∨ t) ≡ (y ∨ z). Indeed, in the Boolean lattice associated to the two truth values 0, 1, x : y :: z : t is true (i.e., is equal to ‘1’) for the six patterns (x, y, z, t) = (1, 0, 1, 0), (x, y, z, t) = (0, 1, 0, 1), (x, y, z, t) = (1, 1, 0, 0), (x, y, z, t) = (0, 0, 1, 1), (x, y, z, t) = (1, 1, 1, 1) and (x, y, z, t) = (0, 0, 0, 0), and false for the ten other possible pat- terns which are (x, y, z, t) = (1, 0, 0, 1), (x, y, z, t) = (0, 1, 1, 0) and the eight patterns having an odd number of ‘1’ and ‘0’ (e.g., (x, y, z, t) = (0, 0, 1, 0) or (x, y, z, t) = (0, 1, 1, 1)). The six above patterns which make x : y :: z : t true clearly correspond to the subsets a, b, c, d, e, f . The case of graded properties Analogical proportions have been also extended when properties are graded on a chain which is finite, or such as the unit interval [0, 1] [19]. For instance, a property may be half-true. Then, in the case of a finite chain with three elements {0, ω, 1}, two views make sense, for which the patterns having truth value ‘1’ are respectively – the 15 patterns, that includes the 6 of the binary case (1, 0, 1, 0), (0, 1, 0, 1), (1, 1, 0, 0), (0, 0, 1, 1), (1, 1, 1, 1), (0, 0, 0, 0), together with their 9 counterparts (ω, 0, ω, 0), (0, ω, 0, ω), (1, ω, 1, ω), (ω, 1, ω, 1), (ω, ω, 0, 0), (0, 0, ω, ω), (1, 1, ω, ω), (ω, ω, 1, 1), (ω, ω, ω, ω) – the 15 above patterns together with the 4 additional ones (1, ω, ω, 0), (0, ω, ω, 1), (ω, 0, 1, ω), (ω, 1, 0, ω). In the second view, we acknowledge the fact that when there is a change from x to y there is the same change from z to t, and otherwise there is no change between x and y, and between z and t, but also the fact that the proportion still holds when the change from x to y has the same direction and intensity as the change from z to t (considering that ω is exactly in the “middle” between 0 and 1). It is easy to see that the lattice-based definition proposed here agrees with the first view only, while the 4 additional patterns do not make analogical proportions. In the case of the unit interval [0, 1], this leads to the following graded view of the analogical proportion: x : y :: z : t = min(1 − | min(x, t) − min(y, z)|, 1 − | max(x, t) − max(y, z)|). It is easy to see that the above definition is a direct counterpart of the second form of the propositional expression of the analogical proportion given above. Moreover, it is equal to 1 only for the 15 patterns mentioned above. Analogical proportions and the factorization of information in distrib. lattices 181 3.2 Basic properties We show here that in distributive lattices, a 4-tuple in analogical proportion is such that “the product of the means is equal to the product of the extremes”. Proposition 3 In a distributive lattice, (x : y :: z : t) is an AP iff: y ∧ z ≤ x ≤ y ∨ z, x ∧ t ≤ y ≤ x ∨ t, x ∧ t ≤ z ≤ x ∨ t and y ∧ z ≤ t ≤ y ∨ z (1) Proof. (⇒). Using the derivations of x given in Proposition 1, we have x = x∧(y ∨z) and x = x ∨ (y ∧ z) by distributivity and then y ∧ z ≤ x ≤ y ∨ z. The other inequalities are similarly derived. (⇐). By distributivity, (x ∧ y) ∨ (x ∧ z) = x ∧ (y ∨ z). Moreover, x ∧ (y ∨ z) = x since x ≤ y ∨ z. The other equalities are obtained in the same way.  The next property is a stronger result: the four values of the bounds in the preceding property are actually only two. Proposition 4 In a distributive lattice, (x : y :: z : t) is an analogical pro- portion iff x ∨ t = y ∨ z and x ∧ t = y ∧ z. Proof. (⇒). Using the expressions of x, y, z and t given by Proposition 1, we easily check that x ∨ t = y ∨ z and x ∧ t = y ∧ z. (⇐). By absorption law and distributivity, we have x = x ∧ (x ∨ t) = x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z). The other equations of Proposition 1 can be obtained in a similar way.  Comment 1. In [13, 7], an incomplete definition of a proportion in a lattice has been given. Actually, only four equalities of Definition 3 were given, and only four equalities of Proposition 1 were demonstrated (in a different manner than here). This definition was flawed, since for example in the lattice ({0, 1}, ∨, ∧) it would have given (0 : 1 :: 1 : 1) as a proportion, although it does not satisfy the basic axioms. In the particular case of Boolean lattices, Proposition 4 has been shown in [10]. Comment 2. If the lattice is not distributive, Proposition 4 is not an equiv- alence, but an implication. For example, let us consider the elements x = [2, 3], y = [2, 6], z = [8, 9] and t=[6, 9] of the lattice of closed intervals on R. We have x ∨ t = y ∨ z and x ∧ t = y ∧ z but the conditions of Definition 3 are not satisfied. We are currently studying in general lattices and concept lattices the properties of what can be called a weak analogical proportion, namely the fact that four elements are linked by the equalities x ∨ t = y ∨ z and x ∧ t = y ∧ z. 3.3 Determinism The first and second axioms of Definition 1 are straightforwardly verified by Definition 3. What about the third axiom? Proposition 5 (Determinism in a distributive lattice) Let x and y be two elements of a distributive lattice, the equation in z: (x : x :: y : z) has the unique solution z = y. This is also true for the equation (x : y :: x : z). 182 Nelly Barbot, Laurent Miclet and Henri Prade Proof. Let us consider a solution z of (x : x :: y : z). From Proposition 4, we have x∧z =x∧y and x∨z = x∨y. (2) Besides, using absorption law, z = (x∨z)∧z. Consequently, using (2) and distributivity, z = (x ∨ y) ∧ z = (x ∧ z) ∨ (y ∧ z). Then, using (2), distributivity and absorption, we can conclude: z = (x ∧ y) ∨ (y ∧ z) = (x ∨ z) ∧ y = (x ∨ y) ∧ y = y.  4 Composition and decomposition of analogical equations We present in this section a particular case of analogical proportion which will be shown later (see section 4) to be a “building block” of the general proportion. Proposition 6 (Canonical proportions) Let y and z be two arbitrary ele- ments of a lattice. Then the following analogical proportion is true: y : y ∨ z :: y ∧ z : z . (3) Proof. Equations of Proposition 4 are straightforwardly satisfied.  In the following, we will call this particular analogical proportion a canonical analogical proportion (CAP ). Note that the previous property holds in general lattices, not only distributive lattices. In general, analogical proportions in a lattice are not canonical, such as (14 : 21 :: 10 : 15) in (N+ , gcd, lcm, |). Note that a canonical proportion can be written in eight different forms (see Definition 1), by applying the axioms of analogical proportion. We suppose in the following that one of the two particular following forms are used: y : y ∨ z :: y ∧ z : z or z : y ∨ z :: y ∧ z : y. This form is called the CAP 1 form, as opposed to the CAP 2 one: y : y ∧ z :: y ∨ z : z or z : y ∧ z :: y ∨ z : y. We are interested in here in defining primitive proportions, that will be used as “building blocks” of the general proportion. This is done in particular to enlighten primitive chunks in a process of reasoning by analogy. Definition 4 Let a = (x, y, z, t) and A = (X, Y, Z, T ) be two 4-tuples of a dis- tributive lattice (L, ∨, ∧). We define the ∨ -composition and the ∧ -composition of these two 4-tuples as the 4-tuples: a ∨ A = (x ∨ X, y ∨ Y, z ∨ Z, t ∨ T ) and a ∧ A = (x ∧ X, y ∧ Y, z ∧ Z, t ∧ T ) Note that these operations are commutative and associative. Definition 5 A degenerated analogical proportion (DAP ) is (x : x :: x : x). A simple analogical proportion (SAP ) is (x : y :: x : y) (SAP 1) or (x : x :: y : y) (SAP 2). The next results are all established in a distributive lattice. Analogical proportions and the factorization of information in distrib. lattices 183 Proposition 7 (Composition of an AP and a DAP ) The composition of an AP by a DAP is a AP . Proof. Using Proposition 4 and distributivity.  This property is a generalisation of a property in Boolean lattices, shown in [10]. Analogical proportions are not closed for general composition, as shown below. Note that the composition of two AP ’s is not necessarily an AP (nor is the composition of an AP and a SAP ) and that the composition of two CAP ’s is not necessarily an AP . Proposition 8 In a distributive lattice, for every AP a1 there exists a SAP 1 a2 and a SAP 2 a3 such that a1 = a2 ∨ a3 . There also exists a SAP 1 a3 and a SAP 2 a4 such that a1 = a3 ∧ a4 . Proof. We check that (x : y :: z : t) is the ∧ -composition of (x ∨ y) : (x ∨ y) :: (z ∨ t) : (z ∨ t) and (x ∨ z) : (y ∨ t) :: (x ∨ z) : (y ∨ t), by proposition 1. It is also the ∨ -composition of (x ∧ y) : (x ∧ y) :: (z ∧ t) : (z ∧ t) and (x ∧ z) : (y ∧ t) :: (x ∧ z) : (y ∧ t).  Proposition 9 In a distributive lattice, for every AP a1 there exists a CAP 1 a2 and a CAP 2 a3 such that a1 = a2 ∨ a3 . There exists also a CAP 1 a3 and a CAP 2 a4 such that a1 = a3 ∧ a4 . Proof. We check that (x : y :: z : t) is the ∨ -composition of (x ∧ y) : y :: (x ∧ y ∧ z ∧ t) : (y ∧ t) and (x ∧ z) : (x ∧ y ∧ z ∧ t) :: z : (z ∧ t) and the ∧ -composition of (x ∨ y) : y :: (x ∨ y ∨ z ∨ t) : (y ∨ t) and (x ∨ z) : (x ∨ y ∨ z ∨ t) :: z : (z ∨ t).  Proposition 10 In a distributive lattice, for every AP a1 there exists a CAP 1 a2 such that a1 ∨ a2 is a CAP 2. Proof. Let a1 = (x : y :: z : t), and take a2 = ((z ∧t) : z :: (x∧y ∧z ∧t) : (x∧z)). We have to show that [x∨(z∧t)] : (y∨z) :: z : [t∨(x∧z)]. According to property 1, we show equivalently the two equalities: [x ∨ (z ∧ t)] ∨ [t ∨ (x ∧ z)] = (y ∨ z) ∨ z and [x ∨ (z ∧ t)] ∧ [t ∨ (x ∧ z)] = (y ∨ z) ∧ z. For the second: x ∨ (z ∧ t)] ∧ [t ∨ (x ∧ z) = [(x ∨ z) ∧ (x ∨ t)] ∧ [(t ∨ x) ∧ (t ∨ z)] = (x ∨ z) ∧ (t ∨ z) ∧ (x ∨ t) = z ∧ (x ∨ t) = z ∧ (y ∨ z). The first equality has a similar demonstration.  5 Resolution of analogical equations. Transitivity In this section, we answer the following question: given three elements of an AP , can we find the fourth one? This is an important issue in analogical reasoning. Let us suppose that in a distributive lattice we know three elements a, m and M . We are looking for an x satisfying the couple of equations: a∨x=M and a ∧ x = m (4) This is a more general question that wondering whether the analogical equation in a distributive lattice (a : b :: c : x) has solutions, since we can take M = b∨c and m = b ∧ c. 184 Nelly Barbot, Laurent Miclet and Henri Prade Proposition 11 (Unicity of the solution) When there is a solution to equa- tions 4 in a distributive lattice, then it is unique. Consequently, if there exists a solution to the analogical equation (a : b :: c : x), then it is unique. Proof. Supposing the equations have two solutions x1 and x2 leads to a contradiction with the distributivity between a, x1 and x2 .  Proposition 11 doesn’t hold in general lattices: eq. 4 may have several solutions. Proposition 12 Let a, m and M be three elements of a distributive lattice such    that m ≤ a ≤ M . If there exists a such that: (a ∨ a ≥ M ) and (a ∧ a ≤ m) then   x = (M ∧ a) ∨ m = (m ∨ a) ∧ M is the unique solution to equations (4).  Proof. Firstly, we show that x∧a = m with the equalities: x∧a = [(M ∧ a)∨m]∧a =   (M ∧ a ∧ a) ∨ (m ∧ a) = (a ∧ a) ∨ m = m. Secondly, the equality x ∨ a = M is demonstrated in the same manner, using    M ≤ (a ∨ a) instead of (a ∧ a) ≤ m. Then x = (M ∧ a) ∨ m is the solution.  Thirdly, we show in the same manner that x = (m ∨ a) ∧ M is a solution to (4). Since the solution is unique, the property is demonstrated.  When two or three elements are comparable, the solutions of the analogical equation are severely constrained. Proposition 13 Let x, y, z and t be four elements of a distributive lattice such as (x : y :: z : t). If the three first elements are comparable then this AP is a SAP or a CAP . More precisely, (x : y :: z : t) is 1) (y ∧ z : y :: z : y ∨ z) if x ≤ y ∧ z, and (y ∨ z : y :: z : y ∧ z) if x ≥ y ∨ z. In particular, it is a SAP 1 if y ≤ z ≤ x or x ≤ z ≤ y, and a SAP 2 if z ≤ y ≤ x or x ≤ y ≤ z 2) a CAP 1 (resp. CAP 2 )if z ≤ x ≤ y (resp. y ≤ x ≤ z). Proof. 1) We have from (1) y ∧ z ≤ x ≤ y ∨ z. Let us consider the case where x ≤ y ∧ z. We then have x = y ∧ z and we can easily check that t = y ∨ z is solution of equations x ∨ t = y ∨ z and x ∧ t = y ∧ z. Then, using Propositions 4 and 11, t = y ∨ z is the unique solution of (y ∧ z : y :: z : t). Moreover, if x ≤ z ≤ y, t = y ∨ z = y and then x = z. The other cases have a similar demonstration. 2) If z ≤ x ≤ y, y = x ∨ t and z = x ∧ t using Proposition 4, 3) The reasoning is similar to the previous one.  In the Boolean case, we recall a previous result. Proposition 14 ([16]) The analogical equation in t: (x : y :: z : t) has a solution in a Boolean lattice if and only if y ∩ z ⊆ x ⊆ y ∪ z. In this case, the unique solution is t = ((y ∪ z)\x) ∪ (y ∩ z). Finally, let us investigate transitivity, which propagates (dis)similarity. In the Boolean case, (a : b) :: (c : d) :: (e : f ) holds for general proportions [10]. In the distributive case, CAP 1 (resp. CAP 2) are transitive. Proof is omitted due to space limitation. Analogical proportions and the factorization of information in distrib. lattices 185 Proposition 15 (Transitivity of CAP ) If (x : (x ∨ t) :: (x ∧ t) : t) and ((x∧t) : t :: u : v) are two canonical proportions of form CAP 1 (resp. CAP 2), then x : (x ∨ t) :: u : v is a canonical proportion of form CAP 1 (resp. CAP 2). Conjecture 1 (Non transitivity of proportions) If (x : y :: z : t) and (z : t :: u : v) are two analogical proportions in a distributive lattice, it does not necessarily imply that (x : y :: u : v) is an analogical proportion. We have not found any example to show this property, albeit the transitivity seems impossible to prove. Therefore, the non transitivity in a general distribu- tive lattice is a conjecture. However, we have found an example to show that transitivity doesn’t hold in general in a non transitive lattice. We have not found any counter example to show this property. We conjecture there is no transitivity in distributive lattices. Indeed, in a non distributive lat- tice, transitivity does not holds, as shown in the following example. In S (see sec- tion 2) we have [0, 3] : {3} :: {0} : ∅ by considering Definition 3 and x1 = {3}, x2 = {0}, t1 = ∅, t2 = ∅, x01 = x02 = [0, 3], t01 = {0} and t02 = {3}. Similarly, we have {0} : ∅ :: [0, 4] : {4} using x1 = ∅, x2 = {0}, t1 = {4}, t2 = ∅, x01 = {0}, x02 = [0, 4], t01 = [0, 4] and t02 = {4}. However, [0, 3] : {3} :: [0, 4] : {4} is not true because it is impossible to satisfy the second condition of Definition 3. Indeed, if there exists four elements x01 , x02 , t01 and t02 of S such that [0, 3] = x01 ∧ x02 , {0} = x01 ∧ t02 , [0, 4] = t01 ∧ x02 and {4} = t01 ∧ t02 , the closed interval t02 contains 0 and 4 and then [0, 4] ⊂ t02 . Moreover, [0, 4] ⊂ t01 . Consequently, t01 ∧ t02 6= {4}. 6 Conclusion The results of this paper provide a better understanding of analogical pro- portions in the general setting of lattices structures. In particular, it relates a factorization-based view of analogical proportions to its propositional logical reading in the case of Boolean lattices. For graded proportions, where the un- derlying lattice of grades is a chain, it leads to consider that the only fully valid logical proportions are of the form x : y :: x : y (and x : x :: y : y ) where x and y are elements in the chain. It acknowledges the fact that the change should be exactly the same on both sides of the proportion in order to make it (completely) valid, an idea which is for instance (successfully) at work in [9]. The paper has also introduced canonical forms of analogical proportions that are instrumental in the decomposition of analogical proportions in distributive lattices. The unicity of the solution of an analogical proportion equation when it exists, is a important property that is preserved in distributive lattices, and which enables us to generate accurate conclusions. Generally speaking, the results presented should be useful to design algo- rithms helping to propagate information in lattices, especially for purposes of reasoning and learning. Moreover, in [20] a first attempt has been provided for relating analogical proportions to formal concept analysis, and searching for ana- logical proportions that may hold in a formal context by exploiting the lattice structure of the set of formal concepts. This study of analogical proportions in 186 Nelly Barbot, Laurent Miclet and Henri Prade lattice structures should contribute in the long range to a clearer view of the links between these formalizations of the two key cognitive processes that are conceptual categorization and analogical reasoning. References 1. Gentner, D., Holyoak, K. J., Kokinov, B. N.: The Analogical Mind: Perspectives from Cognitive Science. MIT Press, Cambridge (2001) 2. Hofstadter, D., Mitchell, M.: The Copycat project: A model of mental fluidity and analogy-making. In: Fluid Concepts and Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought, pp. 205–267, Basic Books (1995) 3. Melis E., Veloso M.: Analogy in problem solving. In: Handbook of Practical Rea- soning: Computational and Theoretical Aspects, Oxford Univ. Press (1998) 4. French, R. M.: The computational modeling of analogy-making. Trends in Cogni- tive Sciences, 6(5), 200–205 (2002) 5. Lepage, Y.: Analogy and formal languages. Elec. Notes Theo. Comp. Sci., 53 (2001) 6. Stroppa, N., Yvon, F.: An analogical learner for morphological analysis. Proc. Conf. Comput. Natural Language Learning, pp. 120–127. (2005) 7. Stroppa, N., Yvon, F.: Du quatrième de proportion comme principe inductif : une proposition et son application à l’apprentissage de la morphologie. Traitement Automatique des Langues, 47(2), 1–27 (2006) 8. Miclet, L., Bayoudh, S., Delhay, A.: Analogical dissimilarity: definition, algorithms and two experiments in machine learning. JAIR, 32, 793–824 (2008) 9. Correa, W., Prade, H., Richard, G.: When intelligence is just a matter of copying. In: Eur. Conf. on Artificial Intelligence, pp. 276–281, IOS Press (2012) 10. Miclet, L., Prade, H.: Handling Analogical Proportions in Classical Logic and Fuzzy Logics Settings. Proc. 10th Eur. Conf. on Symbolic and Quantitative Approaches to Reasoning with Uncertainty, Springer, LNCS 5590, pp. 638–650, (2009) 11. Prade, H., Richard, G.: Homogeneous logical proportions: Their uniqueness and their role in similarity-based prediction. Proc. 13th Int. Conf. on Principles of Knowledge Represent. and Reasoning, pp. 402–412. (2012) 12. Stroppa, N., Yvon, F.: Formal Models of Analogical Proportions. Technical report 2006D008, ENST, Paris (2006) 13. Stroppa, N.: Définitions et caractérisations de modèles à base d’analogies pour l’apprentissage automatique des langues naturelles. ENST Paris (2005) 14. Faure, R., Heurgon, E.: Structures Ordonnées et Algèbres de Boole. Gauthier- Villars (1970) 15. Dorolle, M.: Le Raisonnement par Analogie. PUF, Paris (1949) 16. Lepage, Y.: De l’analogie rendant compte de la commutation en linguistique. Ha- bilitation à diriger les recherches, Université de Grenoble (2003) 17. Miclet, L., Delhay, A.: Relation d’analogie et distance sur un alphabet défini par des traits. Technical report 1632, IRISA, Rennes (2004) 18. Prade, H., Richard, G.: Reasoning with logical proportions. Proc. 12th Int. Conf. on Principles of Knowledge Representation and Reasoning, pp. 545–555. (2010) 19. Prade, H., Richard, G.: Multiple-valued logic interpretations of analogical, reverse analogical, and paralogical proportions. Proc. 40th IEEE Int. Symp. on Multiple- Valued Logic, pp 258–263 (2010) 20. Miclet, L., Prade, H., Guennec, D.: Looking for analogical proportions in a formal concept analysis setting. Int. Conf. on Concept Lattices & App., pp. 295–307 (2011) Boolean Factor Analysis of Multi-Relational Data Marketa Krmelova, Martin Trnecka Data Analysis and Modeling Lab (DAMOL) Department of Computer Science, Palacky University, Olomouc marketa.krmelova@gmail.com, martin.trnecka@gmail.com Abstract. The Boolean factor analysis is an established method for analysis and preprocessing of Boolean data. In the basic setting, this method is designed for finding factors, new variables, which may ex- plain or describe the original input data. Many real-world data sets are more complex than a simple data table. For example almost every web database is composed from many data tables and relations between them. In this paper we present a new approach to the Boolean factor analy- sis, which is tailored for multi-relational data. We show our approach on simple examples and also propose future research topics. 1 Introduction Many data sets are Boolean by nature, that is, they contain only 0s and 1s. For example, any data recording the presence (or absence) of variables in ob- servations are Boolean. Boolean data can be seen as a binary data table (or matrix or formal context) C, where the rows represent objects and the columns represent attributes of these objects. Between objects and attributes exists an incidence relation with meaning that an object i has an attribute j and this fact is represented by one in the Boolean table, i.e. Cij = 1. If an object i has not an attribute j, than Cij = 0. Many real-word data sets are more complex that a simple data table. Usually, they are composed from many data tables, which are interconnected by relations. An example of such data can be found in almost every sector of human activity. We call this kind of data multi-relational data. In this kind of data, this relations are crucial, because they represent additional information about the relationship between data tables and this information is important for understanding data as a whole. The Boolean factor analysis (BFA) is used for many data mining purposes. The basic task in the BFA is to find new variables, called factors, which may explain or describe original single input data. Finding factors is obviously an important step for understanding and managing data. Boolean nature of data is in this case beneficial especially from the standpoint of interpretability of the results. On the other hand BFA is suitable for single input Boolean data table with just one relation between objects and attributes. The main aim of this work c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 187–198, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 188 Marketa Krmelova and Martin Trnecka is to present the BFA of multi-relational data, which takes into account relations between data tables and extract more detailed information from this complex data. 2 Preliminaries and basic notions We assume familiarity with the basic notions of FCA [3]. In this work, we use the binary matrix terminology, because it is more convenient from our point of view. Consider an n × m object-attribute matrix C with entries Cij ∈ {0, 1} expressing whether an object i has an attribute j or not, i.e. C can be understood as a binary relation between objects and attributes. Because there is no danger of confusion we can consider this matrix as a formal context hX, Y, Ci, where X represents a set of n objects and Y represents a set of m attributes. A formal concept of hX, Y, Ci is any pair hE, F i consisting of E ⊆ X (so- called extent) and F ⊆ Y (so-called intent) satisfying E ↑ = F and F ↓ = E where E ↑ = {y ∈ Y | for each x ∈ X : hx, yi ∈ C}, and F ↓ = {x ∈ X | for each y ∈ Y : hx, yi ∈ C}. The goal of the BMF (the idea from [1, 6]) is to find decomposition C =A◦B (1) of I into a product of an n × k object-factor matrix A over {0, 1}, a k × m matrix B over {0, 1}, revealing thus k factors, i.e. new, possibly more funda- mental attributes (or variables), which explain original m attributes. We want k < m and, in fact, k as small as possible in order to achieve parsimony: The n objects described by m attributes via C may then be described by k factors via A, with B representing a relationship between the original attributes and the factors. This relation can be interpreted in the following way: an object i has an attribute j if and only if there exists a factor l such that i has l (or, l applies to i) and j is one of the particular manifestations of l. The product ◦ in (1) is a Boolean matrix product, defined by Wk (A ◦ B)ij = l=1 Ail · Blj , (2) W where denotes maximum (truth function of logical disjunction) and · is the usual product (truth function of logical conjunction). For example the following matrix can be decomposed into two Boolean matrices with k < m.     110 01   1 1 1 = 1 1 ◦ 1 0 1 110 101 10 The least k for which an exact decomposition C = A ◦ B exists is in the Boolean matrix theory called the Boolean rank (or Schein rank). An optimal decomposition of the Boolean matrix can be found via Formal concept analysis. In this approach, the factors are represented by formal con- cepts, see [2]. The aim is to decompose the matrix C into a product AF ◦ BF of Boolean Factor Analysis of Multi-Relational Data 189 Boolean matrices constructed from a set F of formal concepts associated to C. Let F = {hA1 , B1 i , . . . , hAk , Bk i} ⊆ B(X, Y, C), where B(X, Y, C) represents set of all formal concepts of context hX, Y, Ci. De- note by AF and BF the n × k and k × m binary matrices defined by   1 if i ∈ Al 1 if j ∈ Bl (AF )il = (BF )lj = 0 if i ∈ / Al 0 if j ∈ / Bl for l = 1, . . . , k. In other words, AF is composed from characteristic vectors Al . Similarly for BF . The set of factors is a set F of formal concepts of hX, Y, Ci, for which holds C = AF ◦ BF . For every C such a set always exists. For details see [2]. Interpretation factors as a formal concepts is very convenient for users and we follow this point of view in our work. Because a factor can be seen as a formal concept, we can consider the intent part (denoted by intent(F )) and the extent part (denoted by extent(F )) of the factor F . 3 Related work The Boolean matrix factorization (or decomposition), also known as the Boolean factor analysis, has gained interest in the data mining community during the past few years. In the literature, we can find a wide range of theoretical and application papers about the Boolean factor analysis. The overview of the Boolean matrix theory can be found in [8]. A good overview from the BMF viewpoint is in e.g. [12]. For our work is the most important [2], where were first used formal concepts as factors. Several heuristic algorithms for the BMF were proposed. In our work we adopt algorithm GreConD [2] (originally called Algorithm 2), but there exist several different approaches, which use so-called “tiles” in Boolean data [4], hyper-rectangles [15] or which introduce some noise [12, 10] in Boolean data. From wide range of applications papers let us mentioned only [13] and [14], where the BMF is used for solving the Role mining problem. In the literature, there can be found several methods for the latent factor analysis of ordinal data and also of multi-relational data [9], but using these methods for Boolean data has proved to be inconvenient many times. The BMF of multi-relational data is not directly mentioned in any previous work. Indirectly, it is mentioned, in a very specific form, in [11] as Joint Subspace Matrix Factorization, where there are two Boolean matrices, which both share the same rows (or columns). The main aim is to find a set of shared factors (factors common for both matrices) and a set of specific factors (factors which are either in first or second matrix, not in both). This can be viewed as particular, very limited setting of our work. 190 Marketa Krmelova and Martin Trnecka From our point of view are also relevant works [5, 7]. These introduce the Relational formal concept analysis (RCA), i.e. the Formal concept analysis on multi-relational data. Our approach is different from the RCA. In our approach, we extract factors from each data table and connect these factors into more general factors. In RCA, they iteratively merge data tables into one in the fol- lowing way: in each step they computed all formal concepts of one data table and these concepts are used as additional attributes for the merged data table. After obtaining a final merged data table, all formal concepts are extracted. Let us mention that our approach delivers more informative results than a simple use of BMF on merged data table from RCA, moreover getting merged data table is computationally hard. 4 Boolean factor analysis of multi-relational data In this section we describe our basic problem setting. We have two Boolean data tables C1 and C2 , which are interconnected with relation RC1 C2 . This relation is over the objects of first data table C1 and the attributes of second data table C2 , i.e. it is an objects-attributes relation. In general, we can also define an objects- objects relation or an attributes-attributes relation. Our goal is to find factors, which explain the original data and which take into account the relation RC1 C2 between data tables. Definition D E 1. Relation factor (pair factor) on data tables C1 and C2 is a pair F1 , F2 , where Fi1 ∈ F1 and F2j ∈ F2 (Fi denotes set of factors of data table i j Ci ) and satisfying relation RC1 C2 . There are several ways how to define the meaning of “satisfying relation” from Definition 1. We will define the following three approaches (this definition holds for an object-attribute relation, other types of relations can be defined in similar way): – F1i and F2j form pair factor hF1i , F2j i if holds: \ \ Rk 6= ∅ and Rk ⊆ intent(F2j ), k∈extent(F1i ) k∈extent(F1i ) where Rk is a set of attributes, which are in relation with an object k. This approach we called narrow (it is analogy of the narrow operator in [7]). – F1i and F2j form pair factor hF1i , F2j i if holds:    \ j  Rk  ∩ intent(F1 ) 6= ∅. k∈extent(F1i ) We called this approach wide (it is analogy of the wide operator in [7]). Boolean Factor Analysis of Multi-Relational Data 191 – for any α ∈ [0, 1], F1i and F2j form pair factor hF1i , F2j i if holds: T  i k∈extent(F1 ) R k ∩ intent(F2j ) T ≥ α. k∈extent(F i ) Rk 1 We called it an α-approach. Remark 1. It is obvious, that for α = 0 and replacing ≥ by >, we get the wide approach and for α = 1, we get the narrow one. Lemma 1. For α1 > α2 holds, that a set of relation factors counted by α1 is a subset of a set of relation factors obtained with α2 . We demonstrate our approach to factorisation of mutli-relational Boolean data by a small illustrative example. Example 1. Let us have two data tables CW (Table 1) and CM (Table 2). CW represents women and their characteristics and CM represents men and their characteristics. Table 1: CW Table 2: CM Table 3: RCW CM undergraduate undergraduate undergraduate is attractive is attractive is attractive wants kids wants kids wants kids athlete athlete Abby ××× Adam × × Abby athlete ×× Becky × × Ben ×× Becky × × Claire × × Carl × × × Claire × × × Daphne × × × × Dave ×× Daphne × × × × Moreover, we consider relation RCW CM (Table 3) between the objects of first the data table and the attributes of the second data table. In this case, it could be a relation with meaning “woman looking for a man with the characteristics”. Remark 2. Generally, nothing precludes the object-object relation (whose mean- ing might be “woman likes a man”) and the attribute-attribute relation (whose meaning might be “the characteristics of women are compatible with the char- acteristics of men in the second data table”). Factors of data table CW are: – F1W = h{Abby, Daphne}, {undergraduate, wants kids, is attractive}i – F2W = h{Becky, Daphne}, {athlete, wants kids}i – F3W = h{Abby, Claire, Daphne}, {undergraduate, is attractive}i Factors of data table CM are: 192 Marketa Krmelova and Martin Trnecka – F1M = h{Ben, Carl}, {undergraduate, wants kids}i – F2M = h{Adam}, {athlete, is attractive}i – F3M = h{Adam, Carl}, {athlete}i – F4M = h{Dave}, {wants kids, is attractive}i These factors were obtained via GreConD algorithm from [2]. We have two 1 2 3 sets of factors (formal concepts), first set FW = {FW , FW , FW } factorising data 1 2 3 table CW and FM = {FM , FM , FM } factorising data table CM . Now we use so far unused relation RCW CM , between CW and CM to joint factors of CW with factors of CM into relational factors. For the above defined approaches we get results which are shown below. We write it as binary relations, i j i j i j i.e FW and FM belongs to relational factor hFW , FM i iff FW and FM are in relation: Narrow approach Wide approach 1 2 3 4 1 2 3 4 FM FM FM FM FM FM FM FM 1 1 FW × FW × × 2 2 FW FW × × × × 3 3 FW × FW × 0.6-approach 0.5-approach 1 2 3 4 1 2 3 4 FM FM FM FM FM FM FM FM 1 1 FW × FW × × 2 2 FW × FW × 3 3 FW × FW × i j The relational factor in form hFW , FM i can be interpreted in the following ways: i j – Women, who belong to extent of FW like men who belong to extent of FM . 1 1 Specifically in this example, we can interpret factor hFW , FM i, that Abby and Daphne should like Ben and Carl. i – Women, who belong to extent of FW like men with characteristic in intent j 1 1 of FM . Specifically in this example, we can interpret factor hFW , FM i, that Abby and Daphne should like undergraduate men, who want kids. i – Women, with characteristic from intent FW like men who belong to extent j 1 1 FM . Specifically in this example, we can interpret factor hFW , FM i, that undergraduate, attractive women, who want kids should like Ben and Carl. i – Women, with characteristic from intent FW like men with characteristic in j 1 1 intent of FM . Specifically in this example, we can interpret factor hFW , FM i, that undergraduate, attractive women, who want kids should like undergrad- uate men, who want kids. i j Interpretation of the relation between FW and FM is driven by used approach. i j If we obtain factor hFW , FM i by narrow approach, we can interpret relation be- i j i tween FW and FM : “women who belong to FW , like men from FjM completely”. 1 1 For example factor hFW , FM i can be interpreted: “All undergraduate attractive women, who want kids, wants undergraduate men, who want kids.” Boolean Factor Analysis of Multi-Relational Data 193 i j If we obtain factor hFW , FM i by wide approach, we can interpret the relation i j i between FW and FM : “women who belong to FW , like something about the men M 2 1 from Fj ”. For example hFW , FM i can be interpreted: “All athlete woman, who want kids, like undergraduate men or man, who want kids.” i j If we get hFW , FM i by α-approach with value α, we interpret the relation i j i between FW and FM as: “women from FW , like men from FjM enough”, where α determines measurement of tolerance. Remark 3. Not all factors from data tables CW or CM must be present in any relational factor. It depends on the used relation. For example in Example 1 in 2 3 4 narrow approach, the factors FM , FM , FM are not involved. In this case, we can add these simple factors to the set of relational factors and consider two types of factors. This factors are not pair factors, but classical factors from CW or CM . Of course this depends on a particular application. Remark 4. For one factor F1i from the data table C1 , two factors from the data table C2 (for example F2j1 and F2j2 ) can satisfy the relation. In this case we can add factor hF1i , F2j1 &F2j2 i, where F2j1 &F2j2 means extent(F2j1 &F2j2 ) = extent(F2j1 ) ∪ extent(F2j2 ) and intent(F2j1 &F2j2 ) = intent(F2j1 ) ∩ intent(F2j2 ), instead of hF1i , F2j1 i and hF1i , F2j2 i to the relation factor set (in the case, that we consider an object-attribute relation). For example, by using 0.5-approach in Example 1, we get relational factors h{Abby, Daphne}, {undergraduate, wants kids, is attractive}i, h{Ben, Carl}, {undergraduate, wants kids}i and h{Abby, Daphne}, {undergraduate, wants kids, is attractive}i, h{Dave}, {wants kids, is attractive}i . This factors can be replaced with factor h{Abby, Daphne}, {undergraduate, wants kids, is attractive}i, h{Ben, Carl, Dave}, {wants kids}i . Remark 5. Another, simpler approach to multi-relational data factorization is such, that we do factorization of the relation RC1 C2 . This is correct because we can imagine the relation between data tables C1 and C2 as another data table. For each factor, we take the extent of this factor and compute concept in C1 , which contains this extent. Similarly for intents of factors and concepts in C2 . For example one of the factors of RCW CM from Example 1 is: h{Becky, Daphne}, {athlete, wants kids}i. 194 Marketa Krmelova and Martin Trnecka Relational factor computed from this factor will be h{Becky, Daphne}, {athlete, wants kids}i, h{Carl}, {athlete, undergraduate, wants kids}i . This approach seems to be better in terms of that we get pair of concepts for every factors, but we do not get an exact decomposition of data tables C1 and C2 . Moreover this approach can not be extended to n-ary relations. 4.1 n-tuple relational factors, n-ary relations Above approaches can be generalized for more than two data tables. In this generalization, we do not get factor pairs, but generally factor n-tuples. Now we extend Definition 1 to general definition of relational factor. Definition 2. Relation factor on data tables C1 , C2 , . . . Cn is a n-tuple i F1i1 , F2i2 , . . . Fnin , where Fj j ∈ Fj where j ∈ {1, . . . , n} (Fj denotes set of factors of data table Cj ) and satisfying relations RCl Cl+1 or RCl+1 Cl for l ∈ {1, . . . , n − 1}. We considered only binary relations between data tables, for which holds, that there exists only one relation interconnecting data tables Ci and Ci+1 for i ∈ {1, . . . , n − 1}. We left more general relations into the extended version of this paper. Let us mentioned, that this generalization of our approach is possible in the opposite of Remark 5. We show n-tuple relational factors on example. Example 2. Let data table CP (Table 4) represents people and their characteris- tic, CR (Table 5) represents restaurants and their characteristics and CC (Table 6) represents which ingredients are included in national cuisines. Table 4: CP Table 5: CR American European expensive female Asian male ordinal luxury cheap Adam ×× Ben × × Restaurant 1 × × Carol × × Restaurant 2 × × Dale × × Restaurant 3 × × Emily × Restaurant 4 × × Frank × Restaurant 5 × × Gabby × × Boolean Factor Analysis of Multi-Relational Data 195 Table 6: CC bamboo shoot pasta/noodle mushroom vegetable hot spice sea food legumes venison mutton poultry insides cheese potato pastry rabbit herbs lamb olive fruit corn pork vine lard rice beef fish nut 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 Greek × ×× ×××××××× × Chinese × ×× × ×××× × ×××× × French × ×× ×× ×××× × × × ××× Indian × ×× × ×× ×× × Czech × × × ××× × × × ×××× × Spanish × × × × ××× ×× × × Mexican × × × × × ××× × × × Italian × ×× × ××××× × × × American × ×× × × × × ×× Japanese × ×× × German × × × × × × × × Table 7: RCP CC bamboo shoot pasta/noodle mushroom vegetable hot spice sea food legumes venison mutton poultry insides cheese potato pastry rabbit herbs lamb olive fruit corn pork vine lard rice beef fish nut 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 Adam × × × × × × Ben × × × × ××× Carol × × ×××× × ×× × Dale × × × × × ×× × × Emily × × × × × ×× Frank ×× × ×× Gabby × × × × × Relation RCP CC (Table 7) represents relationship “person likes ingredients” and relation RCR CC (Table 8) represents relationship “restaurant cooks national cuisine”. In Tables 9, 10, 11, we can see factors of data tables CP , CR and CC , respectively. 196 Marketa Krmelova and Martin Trnecka Table 8: RCR CC American Japanese Mexican German Chinese Spanish French Italian Indian Czech Greek Restaurant 1 × × × × × Restaurant 2 × × × ×× × Restaurant 3 × ×× × Restaurant 4 ×××× Restaurant 5 × × ×× Table 9: Factors of data table CP FPi Extent Intent Table 10: Factors of data table CR FP1 {Adam, Ben, Dale, Frank} {male} FRi Extent Intent FP2 {Adam, Emily, Frank} {American} FR1 {Restaurant 4, Restaurant 5} {ordinal, cheap} FP3 {Carol, Emily, Gabby} {female} FR2 {Restaurant 1, Restaurant 2} {luxury, expensive} FP4 {Ben, Carol} {European} FR3 {Restaurant 3} {luxury, cheap} FP5 {Dale, Gabby} {Asian} Table 11: Factors of data table CC FCi Extent Intent FC1 {Chinese, French, Spanish, Mexican, American, German} {1, 3, 15, 16, 17} FC2 {Greek, Spanish, Italian} {1, 2, 3, 4, 8, 9, 10} FC3 {French, Czech} {1, 10, 11, 12, 15, 16, 17, 21, 22, 23} FC4 {Chinese, Indian, Spanish, Mexican, Italian, Japanese} {1, 3, 4, 14} FC5 {Greek, French, Indian} {1, 3, 4, 6, 7} FC6 {Chinese} {1, 3, 4, 5, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25} FC7 {Italian, American} {1, 3, 4, 11, 27} FC8 {Greek, Czech, Mexican} {1, 2, 5} FC9 {Indian, Mexican} {1, 2, 3, 4, 13, 14, 17} 10 FC {Czech, Itelian, German} {1, 2, 12} FC11 {Czech, , American} {1, 15, 16, 17, 26} FC12 {Greek} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 19} FC13 {Greek, French, Spanish, Italian} {1, 3, 4, 9, 10} FC14 {Chinese, Czech} {1, 5, 12, 15, 16, 17, 20} FC15 {French, Czech, German} {1, 12, 15, 16, 17, 22} FC16 {Mexican} {1, 2, 3, 4, 5, 13, 14, 15, 16, 17, 24} 17 FC {Chinese, Itelian} {1, 3, 4, 12, 14, 25} One of the relational factors, which we get by 0.5-approach, is hFP1 , FC11 , FR3 i and could be interpreted as “men would enjoy eating in luxury restaurants where the meals are cheap”. Another factor is hFP3 , FC2 , FR1 i and could be interpreted as “women enjoy eating in ordinal cheap restaurants”. Boolean Factor Analysis of Multi-Relational Data 197 4.2 Representation of connection between factors We can represent the relational factors via graph (n-partite). See Figure 1, which presents the results from the previous example. Each group of nodes (FPi , FCi , FRi ) represents factors of a specific data table. Between two nodes, there is an edge iff factors representing nodes satisfy the input relation. Relational factor is path between nodes, which include at most one node from each group. For example, FP2 , FC3 , FR1 is a relational factor because there is an edge between nodes FP2 and FC3 and between FC3 and FR1 . 5 FP 17 FC 3 FR 16 FC 15 FC 14 FC 4 FP 13 FC 12 FC 11 FC 10 FC 2 FR 3 FP 9 FC 8 FC 7 FC 6 FC 2 FP 5 FC 4 FC 3 FC 2 FC 1 FP 1 FC 1 FR Fig. 1: Representation factors connections via graph. 5 Conclusion and Future Research In this paper we present the new approach to BMF of multi-relational data, i.e. data which are composed from many data tables and relations between them. This approach, as opposed from to BMF, takes into account the relations and uses these relations to connect factors from individual data tables into one com- plex factor, which delivers more information than the simple factors. 198 Marketa Krmelova and Martin Trnecka A future research shall include the following topics: generalization multi- relational Boolean factorization for ordinal data, especially data over residuated lattices. Design an effective algorithm for computing relational factors. Develop new approaches for connecting factors which utilize statistical methods and last but not least drive factor selection in the second data table, using information about factors in the first one and relation between them, for obtaining more relevant data. Acknowledgment We acknowledge support by the Operational Program Ed- ucation for Competitiveness Project No. CZ.1.07/2.3.00/20.0060 co-financed by the European Social Fund and Czech Ministry of Education. References 1. Bartholomew D. J., Knott M.: Latent Variable Models and Factor Analysis, 2nd Ed., London, Arnold, 1999. 2. Belohlavek R., Vychodil V.: Discovery of optimal factors in binary data via a novel method of matrix decomposition. J. Comput. Syst. Sci. 76(1):3–20, 2010. 3. Ganter B., Wille R.: Formal Concept Analysis: Mathematical Foundations. Springer, Berlin, 1999. 4. Geerts F., Goethals B., Mielikäinen T.: Tiling databases, Proc. Discovery Science 2004, pp. 278–289. 5. Hacene M. R., Huchard M., Napoli A., Valtechev P.: Relational concept analy- sis: mining concept lattices from multi-relational data. Ann. Math. Artif. Intell. 67(1)(2013), 81–108,. 6. Harman H. H.: Modern Factor Analysis, 2nd Ed. The Univ. Chicago Press, Chicago, 1970. 7. Huchard M., Napoli A., Rouane H. M., Valtchev P.: A proposal for combining formal concept analysis and description logics for mining relational data. ICFCA 2007. 8. Kim K.H.: Boolean Matrix Theory and Applications. Marcel Dekker, New York, 1982. 9. Lippert, C., Weber, S. H., Huang, Y., Tresp, V., Schubert, M., and Kriegel, H.- P.: Relation-prediction in multi- relational domains using matrix-factorization. In NIPS 2008 Workshop on Structured Input - Structured Output, NIPS, 2008. 10. Lucchese C., Orlando S., Perego R.: Mining top-K patterns from binary datasets in presence of noise, SIAM DM 2010, pp. 165–176. 11. Miettinen P.: On Finding Joint Subspace Boolean Matrix Factorizations. Proc. SIAM International Conference on Data Mining (SDM2012), pp. 954-965, 2012. 12. Miettinen P., Mielikäinen T., Gionis A., Das G., Mannila H.: The discrete basis problem, IEEE Trans. Knowledge and Data Eng. 20(10)(2008), 1348–1362. 13. Nau D.S., Markowsky G., Woodbury M.A., Amos D.B.: A mathematical analysis of human leukocyte antigen serology. Math Bioscience 40(1978), 243–270. 14. Vaidya J., Atluri V., Guo Q.: The role mining problem: finding a minimal descrip- tive set of roles. In: Proc. SACMAT 2007, pp. 175–184, 2007. 15. Xiang Y., Jin R., Fuhry D., Dragan F. F.: Summarizing transactional databases with overlapped hyperrectangles, Data Mining and Knowledge Discovery 23(2011), 215–251. On Projections of Sequential Pattern Structures (with an application on care trajectories) Aleksey Buzmakov1,2 , Elias Egho1 , Nicolas Jay1 , Sergei O. Kuznetsov2 , Amedeo Napoli1 , and Chedy Raı̈ssi1 1 LORIA (CNRS – Inria NGE – U. de Lorraine), Vandœuvre-lès-Nancy, France 2 National Research University Higher School of Economics, Moscow, Russia {aleksey.buzmakov, chedy.raissi}@inria.fr, {elias.egho, nicolas.jay, amedeo.napoli}@loria.fr, skuznetsov@hse.ru Abstract. In this paper, we are interested in the analysis of sequen- tial data and we propose an original framework based on FCA. For that, we introduce sequential pattern structures, an original specifica- tion of pattern structures for dealing with sequential data. Sequential pattern structures are given by a subsumption operation between set of sequences, based on subsequence matching. To avoid a huge number of resulting concepts, domain knowledge projections can be applied. The original definition of projections is revised in order to operate on sequen- tial pattern structures in a meaningful way. Based on the introduced definition, several projections of sequential pattern structures involving domain or expert knowledge are defined and discussed. This projections are evaluated on a real dataset on care trajectories where every hos- pitalization is described by a heterogeneous tuple with different fields. The evaluation reveals interesting concepts and justify the usage of in- troduced projections of sequential pattern structures. This research work provides a new and efficient extension of FCA to deal with complex data, which can be an alternative to the analysis of sequential datasets. Keywords: formal concept analysis, pattern structures, projections, se- quential pattern structures, sequences Introduction Analysis of sequential data is a challenging task. In the last two decades, the main emphasis has been on developing efficient mining algorithms with effective pattern representations for sequences of itemsets [1–4]. The traditional sequential pattern mining algorithms generate a large number of frequent sequences while a few of them are truly relevant. Moreover, in some particular cases, only sequential patterns of a certain type are of interest and should be mined first. Are we able to develop a framework for taking into account only patterns of required types? Furthermore, in many cases sequential data are described by sequences with complex elements, e.g. a text is a sequence of syntactic trees. To process such kind of data with existing algorithms, elements of sequences can be scaled c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 199–210, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 200 Aleksey Buzmakov et al. into itemsets as it is done in the case of multilevel multidimensional data [5]. However, in this case it is rather difficult to introduce expert requirements within a sequence, which leads to even a larger set of resulting patterns. We approach this problem with FCA and pattern structures [6, 7]. FCA is successfully used for analysis of sequential data [8, 9]. Moreover, it allows one to use different measures of interestingness for the resulting patterns (concepts). Pattern structures allows to directly process sequential data without a scaling step. Furthermore, there are projections of pattern structures, which were intro- duced in order to simplify the computation of pattern lattices, by simplifying descriptions. Moreover, projections can be efficiently used as special domain knowledge requirements, allowing to reduce the number of irrelevant patterns. We generalize the original definitions of projections, in order to deal with pro- jections respecting domain knowledge. For example, sequences of length 1 are rare useful but they cannot be excluded by the original definition of projections. The rest of the paper is organized as follows. In Section 1 we remind FCA, pattern structures and measures of concept interestingness. Section 2 states the problem of complex sequences analysis and introduces sequential pattern struc- tures. In Section 3, first, the generalization of projections is defined, and, second, some projections specific to sequential pattern structures are introduced and analyzed. And finally before concluding the paper, we discuss an experimental evaluation in Section 4. 1 FCA and Pattern Structures FCA [6] is a mathematical formalism having many applications in data anal- ysis. Pattern structures is a generalization of FCA for dealing with complex structures, such as sequences or graphs [7]. Definition 1. A pattern structure is a triple (G, (D, u), δ), where G is a set of objects, (D, u) is a complete meet-semilattice of descriptions and δ : G → D maps an object to a description. The lattice operation in the semilattice (u) corresponds to the similarity between two descriptions. Standard FCA can be presented in terms of pattern structures. In this case, G is the set of objects, the semilattice of descriptions is (℘(M ), u), where a description is a set of attributes, with the u operation corresponding to the set intersection (℘(M ) denotes the powerset of M ). If x = {a, b, c} and y = {a, c, d} then x u y = x ∩ y = {a, c}. The mapping δ : G → ℘(M ) is given by, δ(g) = {m ∈ M | (g, m) ∈ I}, and returns the description for a given object as a set of attributes. The Galois connection for (G, (D, u), δ) is defined as follows: l A := δ(g), for A ⊆ G g∈A d := {g ∈ G | d v δ(g)}, for d ∈ D On Projections of Sequential Pattern Structures (with an appl. on care traj.) 201 The Galois connection makes a correspondence between sets of objects and descriptions. Given a set of objects A, A returns the description which is common to all objects in A. And given a description d, d is the set of all objects whose description subsumes d. More precisely, the partial order (or the subsumption order) on D (v) is defined w.r.t. the similarity operation u: c v d ⇔ c u d = c, and c is subsumed by d. Definition 2. A pattern concept of a pattern structure (G, (D, u), δ) is a pair (A, d) where A ⊆ G and d ∈ D such that A = d and d = A, A is called the concept extent and d is called the concept intent. As in standard FCA, a pattern concept corresponds to the maximal set of objects A whose description subsumes the description d, where d is the maximal common description for objects in A. The set of all concepts can be partially ordered w.r.t. partial order on extents (dually, intent patterns, i.e v), within a concept lattice. An example of a pattern structure is given and described in the next sections. It can be noticed that Table 1 defines a pattern structure, while the corresponding lattice is depicted in Figure 1. It is worth mentioning, that the size of the concept lattice can be exponential w.r.t. to the number of objects, and, thus, we need a special ranking method to select the most interesting concepts for further analysis. Several techniques are considered in [10], where it is shown that stability index [11] is more reliable in noisy data. Thus, we use this index in our current work. Definition 3. Given a concept c, the concept stability Stab(c) is the percent of subsets of the concept extent (denoted Ext(c)), whose description is equal to the concept intent (denoted Int(c)). |{s ∈ ℘(Ext(c)) | s = Int(c)}| Stab(c) := (1) |℘(Ext(c))| Stability measures how much the concept depends on the initial dataset. The larger the stability the more objects can be deleted from the context without affecting the intent of the concept, i.e. the intent of the most stable concepts are likely to be a characteristic pattern of a studied phenomena rather than an artifact of a data set. After a brief general description of the analysis with pattern structures, the analysis of sequential data can be specified. 2 Sequential Pattern Structures 2.1 An Example of Sequential Data Imagine that we have medical trajectories of patients, i.e. sequences of hospital- izations, where every hospitalization is described by a hospital name and a set of procedures. An example of sequential data on medical trajectories with three patients is given in Table 1. There are a set of procedures P = {a, b, c, d}, a 202 Aleksey Buzmakov et al. Patient Trajectory p1 h[H1 , {a}]; [H1 , {c, d}]; [H1 , {a, b}]; [H1 , {d}]i p2 h[H2 , {c, d}]; [H3 , {b, d}]; [H3 , {a, d}]i p3 h[H4 , {c, d}]; [H4 , {b}]; [H4 , {a}]; [H4 , {a, d}]i Table 1: Toy sequential data on patient medical trajectories. set of hospital names TH = {H1 , H2 , H3 , H4 , CL, CH, ∗}, where hospital names are hierarchically organized (by the level of generality), H1 and H2 are central hospitals (CH) and H3 and H4 are clinics (CL), and ∗ denotes the root of this hierarchy. For the sake of simplicity, we use the u operator in order to denote the least common ancestor in TH , i.e. H1 u H2 = CH. Every hospitalization is described with one hospital name and may contain several procedures. The pro- cedure order in each hospitalization is not important in our case. For example, the first hospitalization [H2 , {c, d}] for the second patient (p2 ) was in hospital H2 and during this hospitalization the patient underwent procedures c and d. An important task is to find the “characteristic” sequences of procedures and associated hospitals in order to improve hospitalization planning, optimize clin- ical processes or detect anomalies. This sequences can be found by searching for the most stable concepts in the lattice corresponding to a pattern structure. 2.2 Partial Order on Complex Sequences A sequence is constituted of elements from an alphabet. The classical subse- quence matching task requires no special properties of the alphabet. Several generalizations of the classical case were made by introducing a subsequence relation based on itemset alphabet [8] or on multidimensional and multilevel alphabet [5], scaled to itemset alphabet as well. Both these alphabets are cer- tain semilattices, and, thus, we generalize the previous cases, requiring for an alphabet to form a general semilattice (E, uE )1 . Thanks to pattern structure formalism we are able to process in a unified way all types of sequential datasets with poset-shaped alphabet. However, some sequential data can have connec- tions between elements, e.g. [12], and, thus, cannot be immediately processed by our approach. Definition 4. A sequence is an ordered list of e ∈ (E, uE ), such that e 6= ⊥E . Here, ∀e ∈ E, ⊥E = ⊥E uE e. The bottom element is required by the lattice structure but provide us with no useful information (it matches to any other element), thus, it is excluded from the sequences. In the same way, in mining of sequences of itemsets the empty itemset cannot be a proper element [2]. Definition 5. A sequence t = ht1 ; ...; tk i is a subsequence of a sequence s = hs1 ; ...; sn i, denoted t ≤ s, iff k ≤ n and there exist j1 , ..jk such that 1 ≤ j1 < j2 < ... < jk ≤ n and for all i ∈ {1, 2, ..., k}, ti vE sji (⇔ ti uE sji = ti ). 1 In this paper we consider two semilattices, the first one is related to the characters of the alphabet, (E, uE ), and the second one is related to pattern structures, (D, u). On Projections of Sequential Pattern Structures (with an appl. on care traj.) 203 n o  p1 , p2 , p3 ; ss4 , ss5 n o  n o  n o  p1 , p2 ; ss2 , ss3 p1 , p3 ; ss11 , ss12 p2 , p 3 ; ss6 , ss7 , ss8 n o  n o  n o  p1 ; p1 p2 ; p2 p3 ; p3 (∅; ∗) Fig. 1: The concept lattice for the pattern structure given by Table 1. Concept intents reference to sequences in Tables 1 and 2. Subsequences Subsequences ss1 h[CH, {c, d}]; [H1 , {b}]; [∗, {d}]i ss2 h[CH, {c, d}]; [∗, {b}]; [∗, {d}]i ss3 h[CH, {}]; [∗, {d}]; [∗, {a}]i ss4 h[∗, {c, d}]; [∗, {b}]i ss5 h[∗, {a}]i ss6 h[∗, {c, d}]; [CL, {b}]; [CL, {a}]i ss7 h[CL, {d}]; [CL, {}]i ss8 h[CL, {}]; [CL, {a, d}]i ss9 h[CH, {c, d}]i ss10 h[CL, {b}]; [CL, {a}]i ss11 h[∗, {c, d}]; [∗, {b}]i ss12 h[∗, {a}]; [∗, {d}]i Table 2: Subsequences of patient sequences in Table 1. With complex sequences and such kind of subsequences the computational procedure can be difficult, thus, to simplify the procedure, only “contiguous” subsequences are considered, where only the order of consequent elements is taken into account, i.e. given j1 in Definition 5, ji = ji−1 +1 for all i ∈ {2, 3, ..., k}. Such a restriction makes sens for our data, because a hospitalization is a discrete event and it is likely that the next hospitalization has a relation with the previous one, for example, hospitalizations for treating aftereffects of chemotherapy. Below the word “subsequence” refers to “contiguous” subsequence. Example 1. In the running example (Section 2.1), the alphabet is E = TH ×℘(P ) with the similarity operation (h1 , P1 ) u (h2 , P2 ) = (h1 u h2 , P1 ∩ P2 ), where h1 , h2 ∈ TH are hospitals and P1 , P2 ∈ ℘(P ) are sets of procedures. Thus, the sequence ss1 in Table 2 is a subsequence of p1 in Table 1 because if we set ji = i + 1 (Definition 5) then ss11 v p1j1 (‘CH’ is an ancestor for H1 and {c, d} ⊆ {c, d}), ss12 v p1j2 (the same hospital and {b} ⊆ {b, a}) and ss13 v p1j3 (‘*’ is an ancestor for anything and {d} ⊆ {d}). 2.3 Meet-semilattice of Sequences Using the previous definitions, we can precisely define the sequential pattern structures that are used for representing and managing sequences. For that, we make an analogy with pattern structures for graphs where the meet-semilattice operation u respects subgraph isomorphism [13]. Thus, we introduce a sequential meet-semilattice respecting subsequence relation. Let us consider S as the set of all sequences based on an alphabet (E, uE ). S is partially ordered w.r.t. Definition 5. (D, u) is a semilattice on sequences S, where D ⊆ ℘(S) such that 204 Aleksey Buzmakov et al. if d ∈ D contains a sequence s then all subsequences of s should be included into d, ∀s ∈ d, @s̃ ≤ s : s̃ ∈ / d, and the similarity operation is the set intersection for two sets of sequences. Given two patterns d1 , d2 ∈ D, the set intersection operation ensures that if a sequence s belongs to d1 u d2 then any subsequence of s belongs to d1 u d2 and thus d1 u d2 ∈ D. As the set intersection operation is idempotent, commutative and associative, (D, u) is a valid semilattice. Example 2. The sequential pattern  structure for our example (Subsection 2.1) is (G, (D, u), δ), where G = p1 , p2 , p3 is the set of patients, (D, u) is the semilattice of sequential descriptions, and δ is the mapping (shown in Table 1) associating a patient in G to a description in D. Figure 1 shows the resulting lattice of sequential pattern concepts for this particular pattern structure. The set of all possible subsequences for a given sequence can be rather large. Thus, it is more efficient and readable to keep a pattern d ∈ D as a set of only maximal sequences d, ˜ d˜ = {s ∈ d | @s∗ ∈ d : s∗ ≥ s}. In the rest of the paper, every pattern  2  3 is  given only by the set of its maximal sequences. For example, p u p = ss6 , ss7 , ss8 (see Tables 1 and 2), i.e. ss6 , ss7 , ss8 is the set of all  2maximal  sequences specifying the  intersection result  of two sets of sequences p and p3 , in the same way ss6 , ss7 , ss8 u p1 = ss4 , ss5 . Note that representing a pattern by the set of all maximal sequences allows for an efficient implementation of the intersection “u” of two patterns. The next proposition is follows from this subsection and Definition 5. Proposition 1. Given (G, (D, u), δ) and x, y ∈ D, x v y if and only if ∀sx ∈ x there is a sequence sy ∈ y, such that sx ≤ sy . 3 Projections of Sequential Pattern Structures Pattern structures can be hard to process due to the usually large number of concepts in the concept lattice and the complexity of the involved similarity operation (make the parallel with the graph isomorphism problem). Moreover, a given pattern structure can produce a lattice with a lot of patterns which are not interesting for an expert. Can we save computational time by avoiding the construction of unnecessary patterns? Projections of pattern structures “sim- plify” to some degree the computation and allow one to work with a reduced description. In fact, projections can be considered as constraints (or filters) on patterns respecting certain mathematical properties. These mathematical prop- erties ensure that the projection of a lattice is a lattice where projected concepts have certain correspondence to original ones. Moreover, the stability measure of projected concepts never decreases w.r.t the corresponding concepts. We in- troduce projections on sequential patterns, revising them from [7]. An extended definition of projections w.r.t. the definition in [7] should be provided in order to deal with interesting projections for real-life sequential datasets. Definition 6. A projection ψ : D → D is an interior operator, i.e. it is (1) mono- tone (x v y ⇒ ψ(x) v ψ(y)), (2) contractive (ψ(x) v x) and (3) idempotent (ψ(ψ(x)) = ψ(x)). On Projections of Sequential Pattern Structures (with an appl. on care traj.) 205 Under a projection ψ, a pattern structure (G, (D, u), δ) becomes the pro- jected pattern structure ψ((G, (D, u), δ)) = (G, (Dψ , uψ ), ψ ◦ δ), where Dψ = ψ(D) = {d ∈ D | ∃d∗ ∈ D : ψ(d∗ ) = d} and ∀x, y ∈ D, x uψ y := ψ(x u y). Note that in [7] ψ((G, (D, u), δ)) = (G, (D, u), ψ ◦ δ). Now we should show that (Dψ , uψ ) is a semilattice. Proposition 2. Given a semilattice (D, u) and a projection ψ, for all x, y ∈ D ψ(x u y) = ψ(ψ(x) u y). Proof. 1. ψ(x) v x, thus, x, y w (x u y) w (ψ(x) u y) w ψ(ψ(x) u y) 2. x v y ⇒ ψ(x) v ψ(y), thus, ψ(x u y) w ψ(ψ(x) u y) 3. ψ(x u y) u ψ(x) u y = ψ(x u y) u y = ψ(x u y), ψ(xuy)vψ(x) ψ(xuy)vy then (ψ(x) u y) w ψ(x u y) and ψ(ψ(x) u y) w ψ(ψ(x u y)) = ψ(x u y) 4. From (2) and (3) follows that ψ(x u y) = ψ(ψ(x) u y). Corollary 1. X1 uψ X2 uψ · · · uψ XN = ψ(X1 u X2 u · · · u XN ) Corollary 2. Given a semilattice (D, u) and a projection ψ, (Dψ , uψ ) is a semi- lattice, i.e. uψ is commutative, associative and idempotent. The concepts of a pattern structure and a projected pattern structure are connected with the next proposition, following from Corollary 1: Proposition 3. An extent in ψ((G, (D, u), δ)) is an extent in (G, (D, u), δ). An intent in ψ((G, (D, u), δ)) is of the form ψ(d), where d is the intent of the concept with the same extent. Moreover, preserving extents of some concepts, projections cannot decrease the stability of the projected concepts, i.e. if the projection preserves a stable concept, then its stability (Definition 3) can only increase. Proposition 4. Given a pattern structure (G, (D, u), δ), its concept c and a projected pattern structure (G, (Dψ , uψ ), ψ ◦ δ), and the projected concept c̃, if the concept extents are equal (Ext(c) = Ext(c̃)) then Stab(c) ≤ Stab(c̃). Proof. Concepts c and c̃ have the same extent. Thus, according to Definition 3, in order to prove the proposition statement, it is enough to prove that for any subset A ⊆ Ext(c), if A = Int(c) in the original pattern structure, then A = Int(c̃) in the projected one. It can be proven from contrary. Suppose that ∃A ⊂ Ext(c) such that A = Int(c) in the original pattern structure and A 6= Int(c̃) in the projected one. Then there is a descendant concept d˜ of c̃ in the projected pattern structure such that A = Int(d) ˜ in the projected lattice. Then there is an original concept d for the projected concept d˜ with the same Ext(d). Then A w Int(d) A Int(c) and, so, A cannot be equal to Int(c) in the original lattice. Contradiction. No we are going to present two projections of sequential pattern structures. The first projection comes from the following observation. In many cases it may 206 Aleksey Buzmakov et al. be more interesting to analyze quite long subsequences rather than short one. This kind of projections is called Minimal Length Projection (MLP) and it de- pends on the minimal allowed length parameter l for the sequences in a pattern. The corresponding function ψ maps a pattern without short sequences to it- self, and a sequence with short sequences to the pattern containing only long sequences, ψ(d) = {s ∈ d | length(s) > l}. Later, propositions 1 and 5 stay that MLP is coherent with Definition 6. Example 3. If we prefer common subsequences of length ≥ 3, then between p2 and p3 in Table 1 there is only one maximal common subsequence, ss6 in Table 2, while ss7 and ss8 are too short to be considered. Figure 2a shows the lattice corresponding the projected pattern structure (Table 1) with patterns of length more or equal to 3. Proposition 5. MLP is a monotone, contractive and idempotent function on the semilattice (D, u). Proof. The contractivity and idempotentcy are quite clear from the definition. Remains the proof for monotonicity. If X v Y where X and Y are sets of sequences then for every sequence x ∈ X there is a sequence y ∈ Y such that x ≤ y (Proposition 1). We should show that ψ(X) v ψ(Y ), or in other words for every sequence x ∈ ψ(X) there is a sequence y ∈ ψ(Y ), such that x ≤ y. Given x ∈ ψ(X), since ψ(X) is a subset of X and X v Y , then there is a sequence y ∈ Y such that x ≤ y, with |y| ≥ |x| ≥ l (l is a parameter of MLP), and thus, y ∈ ψ(Y ). The second projection of a sequential pattern structure is connected to a projection of an alphabet semilattice, (E, uE ). Example 4. An expert is interested in finding sequential patterns on how a pa- tient changes hospitals, but he has little interest in procedures. Thus, any el- ement of the alphabet lattice, containing a non-empty set of procedures can be projected to the element with the same hospital but with the empty set of procedures. Example 5. An expert is interested in finding sequential patterns containing some information about the hospital in every hospitalization, and the corre- sponding procedures, i.e. hospital field in the patterns cannot be equal to the element “any hospital”, denoted ∗, e.g., ss5 is an invalid pattern, while ss6 is a valid pattern in Table 2. Thus, any element of the alphabet semilattice with ∗ hospital can be projected to the ⊥E . Figure 2b shows the lattice corresponding to the projected pattern structure (Table 1), where projection comes from the projection of the alphabet semilattice. Below we formally define how the alphabet projection of a sequential pattern structure should be processed. Intuitively, every sequence in a pattern should be substituted with another sequence, by applying the alphabet projection to all its elements. However, the result can be an incorrect sequence, because ⊥E is forbidden to be in a sequence, thus, sequences in a pattern should be “developed” w.r.t. ⊥E , as it is explained below. On Projections of Sequential Pattern Structures (with an appl. on care traj.) 207 n o  n o  p1 , p2 , p3 ;∅ p1 , p 2 , p 3 ;∅ n o  n o  n o  n o  p1 , p 2 ; ss2 , ss3 p2 , p3 ; ss6 p1 , p2 ; ss9 p2 , p 3 ; ss7 , ss8 , ss10 n o  n o  n o  n o  n o  n o  p1 ; p1 p2 ; p2 p3 ; p3 p1 ; p1 p2 ; p2 p3 ; p3 (∅; ∗) (∅; ∗) (a) MLP projection, l = 3 (b) Projection removing ‘*’ hospitals Fig. 2: The projected concept lattices for the pattern structure given by Table 1. Concept intents refer to the sequences in Tables 1 and 2. Definition 7. Given an alphabet (E, uE ), an alphabet projection ψ and a se- quence s based on E, the projection of the sequence ψ(s) is the sequence s̃ such that, s̃i = ψ(si ) (si is the i-th element of sequence s). Here, it should be noted that s̃ can be incoherent with Definition 4, since it allows ⊥E to be an element. For simplicity, we allow this incoherence here. Definition 8. Given an alphabet (E, uE ), an alphabet projection ψ, and a pat- tern d ∈ D, an alphabet-projected pattern d˜ = ψ(d), is the set of sequences obtained by the following procedure. For every sequence s ∈ d, the projection of s is computed (Definition 7) and, then, the projection of the sequence is substi- tuted by the set of its maximal subsequences containing no ⊥. All the resulting ˆ and d˜ is the set of maximal sequences in d. sequences constitute the set d, ˆ Example 6. {ss6 } is an alphabet-projected pattern for the pattern {ss10 }, where alphabet lattice projection is given in Example 5. {h[CH, {c, d}]i} is an alphabet-projected pattern for the pattern {ss2 }, where alphabet lattice projection is given by projecting every element with medical pro- cedure b to the element with the same hospital and with the same set procedures excluding b. The projected sequence of sequence ss2 is h[CH, {c, d}]; [∗, {}]; [∗, {d}]i, but [∗, {}] = ⊥E , and, thus, in order to project the pattern {ss2 } the projected sequence is substituted by its maximal subsequences, i.e. ψ({h[CH, {c, d}]; [∗, {b}]; [∗, {d}]i}) = {h[CH, {c, d}]i}. Proposition 6. Considering an alphabet (E, uE ), the projection of an alphabet ψ, a sequential pattern structure (G, (D, u), δ), the procedure given by Defini- tion 8 is monotone, contractive and idempotent. Proof. This procedure is idempotent, since the projection of the alphabet is idempotent. It is contractive because for a pattern d, for any sequences s ∈ d, the projection of the sequence s̃ = ψ(s) is a subsequence of s. In the Definition 8 the projected sequences should be substituted by its maximal subsequences in order to avoid ⊥E , building the sets {s̃i }. Thus, s is a supersequence for any s̃i , and, so, the projected pattern d˜ = ψ(d) is subsumed by the pattern d. 208 Aleksey Buzmakov et al. Finally, we should show monotonicity. Given two patterns x, y ∈ D, such that x v y, i.e. ∀sx ∈ x, ∃sy ∈ y : sx ≤ sy , consider the projected sequence of sx , ψ(sx ). As sx ≤ sy for some sy then for some j0 < j1 < j|sx | (see Definition 5) sxi vE syji (i ∈ 1, 2, ..., |sx |), then ψ(sxi ) vE ψ(syji ) (by the monotonicity of the alphabet projection), i.e. projected sequence preserve the subsequence relation. Thus, the alphabet projection of the pattern preserve pattern subsumption re- lation, ψ(x) ≤ ψ(y) (Proposition 1), i.e. the alphabet projection is monotone. 4 Sequential Pattern Structure Evaluation 4.1 Implementation Nearly all state-of-the-art FCA algorithms can be adapted to process pattern structures. We adapted AddIntent algorithm [14], as the lattice structure is im- portant for us to calculate stability (see the algorithm for calculating stability in [15]). To compute the semilattice operation (u, v) between two sets of se- quences S = {s1 , ...sn } and T = {t1 , ..., tm }, S u T is calculated according to Section 2.3, i.e. maximal sequences among all maximal common subsequences for any pair of si and tj . To find all common subsequences of two sequences, the following observations is useful. If ss = hss1 ; ...; ssl i is a subsequence of s = hs1 ; ...; sn i with jis = k s +i (Definition 5: k s is the index difference from which ss is a subsequence of s) and a subsequence of t = ht1 ; ...; tm i with jit = k t + i (likewise), then for any index i ∈ {1, 2, ..., l}, ssi vE (sjis u tjit ). Thus, to find maximal common subsequences between s and t, we, first, align s and t in all pos- sible ways, and then for every alignment we compute the resulting intersection and keep only the maximal ones. 4.2 Experiments and Discussion The experiments are carried out on an “Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz” computer with 8Gb of memory under the Ubuntu 12.04 operating system. The algorithms are not parallelized and are coded in C++. The dataset considered here comes from a French healthcare system [16]. Each elements of a sequence has a “complex” nature. This dataset contains 2400 patients suffering from cancer. Every patient is described as a sequence of hos- pitalizations without any timestamps. The hospitalization is a tuple with three fields: (i) healthcare institution (e.g. University Hospital of Paris (CHUP aris )), (ii) reason of the hospitalization (e.g. a cancer disease), and (iii) set of medical procedures that the patient underwent. An example of a medical trajectory of a patient is h[CHUP aris , Cancer, {P1 , P2 }]; [CHN ancy , Chemo, {}]; [CHN ancy , Chemo, {}]i . This sequence represents a patient trajectory with three hospitalizations. It ex- presses that the patient was first admitted to the University Hospital of Paris (CHUP aris ) for a cancer problem as the reason, and underwent procedures P1 and P2 . Then he had two consequent hospitalizations in Central Hospital of Nancy (CHN ancy ) in order to do chemotherapy with no additional procedures. On Projections of Sequential Pattern Structures (with an appl. on care traj.) 209 For this dataset the computation of the whole lattice is infeasible. However a medical expert is not interested in all possible patterns, but rather in patterns which answer his analysis question(s). First of all, the patterns of length 1 are unlikely to be of interest for him. Thus, we use the MLP projection of length 2 or 3 taking into account the small average length of the sequences in the dataset. For the search of patterns containing only information about reasons and medical procedures, we should project every alphabet element on the element with the same reason and the same set of procedures, but substitute hospital- ization institution by the most general element in the corresponding taxonomy. Moreover, we do not want to allow reason to be empty, i.e. all such elements should be projected onto ⊥E . In this case computation takes 18 seconds pro- ducing a lattice with around 34700 concepts. One of the stable concepts has the following intent h[Cancer, {App.}]; [Ch.P rep, {}]; [Chemo, {}]i, specifying that a cancer was found during the appendix removal surgery, followed by a chemother- apy. This patterns highlight a discovered fact that acute appendicitis has been shown to occur antecedent to cancer within three years because of a carcinoma in colon or rectum [17]. To find patterns revealing dependences between hospitals and reasons all the procedures should be removed from each alphabet element and elements with most general hospital and/or with most general reason should be projected to ⊥E . The computation of the corresponding lattice takes 10 seconds, producing around 4200 concepts. h[Region Lorraine, Cancer]; [Clinic in Lorraine, Chemo]i is among stable concepts which is rather interesting, because the patients de- tected cancer somewhere in Region A but then went to exactly the same clinic for chemotherapy. It suggests that the department can lack from clinics for chemotherapy or the quality of the clinic is high. Conclusion In this paper, we present sequential pattern structures, an original specification of pattern structures able to deal with complex sequences. Projections of sequen- tial pattern structures allow us to efficiently build concept lattices, by specifying expert demands. To be able to introduce interesting projections, their classical definition is extended. This extension allows us to introduce special projections for sequential pattern structures. The introduced projections are efficiently used for analysis of a dataset on care trajectories. There are two main directions for future work. First, a study on properties of generalized projections within the overall framework of FCA should be carried out. Second, projections of sequential pattern structures can be deeper analyzed, for producing even more interesting and readable patterns. Acknowledgements: this research received funding from the Basic Research Program at the National Research University Higher School of Economics (Rus- sia) and from the BioIntelligence project (France). 210 Aleksey Buzmakov et al. References 1. Pei, J., Han, J., Mortazavi-Asl, B., Pinto, H., Chen, Q., Dayal, U., Hsu, M.C.: PrefixSpan Mining Sequential Patterns Efficiently by Prefix Projected Pattern Growth. In: 17th International Conference on Data Engineering. (2001) 215–226 2. Yan, X., Han, J., Afshar, R.: CloSpan: Mining Closed Sequential Patterns in Large Databases. In: Proc. of SIAM Int’l Conf. Data Mining (SDM’03). (2003) 166–177 3. Raı̈ssi, C., Calders, T., Poncelet, P.: Mining conjunctive sequential patterns. Data Min. Knowl. Discov. 17(1) (2008) 77–93 4. Ding, B., Lo, D., Han, J., Khoo, S.C.: Efficient Mining of Closed Repetitive Gapped Subsequences from a Sequence Database. In: Proc. of IEEE 25th International Conference on Data Engineering, IEEE (March 2009) 1024–1035 5. Plantevit, M., Laurent, A., Laurent, D., Teisseire, M., Choong, Y.W.: Mining mul- tidimensional and multilevel sequential patterns. ACM Transactions on Knowledge Discovery from Data 4(1) (January 2010) 1–37 6. Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. 1st edn. Springer, Secaucus, NJ, USA (1997) 7. Ganter, B., Kuznetsov, S.O.: Pattern Structures and Their Projections. In Delu- gach, H., Stumme, G., eds.: Conceptual Structures: Broadening the Base SE - 10. Volume 2120 of LNCS. Springer Berlin Heidelberg (2001) 129–142 8. Casas-Garriga, G.: Summarizing Sequential Data with Closed Partial Orders. In: Proc. of the 5th SIAM Int’l Conf. on Data Mining (SDM’05). (2005) 9. Ferré, S.: The Efficient Computation of Complete and Concise Substring Scales with Suffix Trees. In Kuznetsov, S.O., Schmidt, S., eds.: Formal Concept Analysis SE - 7. Volume 4390 of Lecture Notes in Computer Science. Springer (2007) 98–113 10. Klimushkin, M., Obiedkov, S.A., Roth, C.: Approaches to the Selection of Relevant Concepts in the Case of Noisy Data. In: Proc. of the 8th International Conference on Formal Concept Analysis. ICFCA’10, Springer (2010) 255–266 11. Kuznetsov, S.O.: On stability of a formal concept. Annals of Mathematics and Artificial Intelligence 49(1-4) (2007) 101–115 12. Adda, M., Valtchev, P., Missaoui, R., Djeraba, C.: A framework for mining mean- ingful usage patterns within a semantically enhanced web portal. In: Proceedings of the 3rd C* Conference on Computer Science and Software Engineering. C3S2E ’10, New York, NY, USA, ACM (2010) 138–147 13. Kuznetsov, S.O.: Learning of Simple Conceptual Graphs from Positive and Neg- ative Examples. In Żytkow, J., Rauch, J., eds.: Principles of Data Mining and Knowledge Discovery SE - 47. Volume 1704 of LNCS. Springer Berlin Heidelberg (1999) 384–391 14. Merwe, D.V.D., Obiedkov, S., Kourie, D.: AddIntent: A new incremental algorithm for constructing concept lattices. In Goos, G., Hartmanis, J., Leeuwen, J., Eklund, P., eds.: Concept Lattices. Volume 2961. Springer (2004) 372–385 15. Roth, C., Obiedkov, S., Kourie, D.G.: On succinct representation of knowledge community taxonomies with formal concept analysis A Formal Concept Analy- sis Approach in Applied Epistemology. International Journal of Foundations of Computer Science 19(02) (April 2008) 383–404 16. Fetter, R.B., Shin, Y., Freeman, J.L., Averill, R.F., Thompson, J.D.: Case mix definition by diagnosis-related groups. Med Care 18(2) (February 1980) 1–53 17. Arnbjörnsson, E.: Acute appendicitis as a sign of a colorectal carcinoma. Journal of Surgical Oncology 20(1) (May 1982) 17–20 Spectral Lattices of reducible matrices over completed idempotent semifields Francisco J. Valverde-Albacete1 and Carmen Peláez-Moreno2? 1 Departamento de Lenguajes y Sistemas Informáticos Univ. Nacional de Educación a Distancia, c/ Juan del Rosal, 16. 28040 Madrid, Spain fva@lsi.uned.es 2 Departamento de Teorı́a de la Señal y de las Comunicaciones Universidad Carlos III de Madrid, 28911 Leganés, Spain carmen@tsc.uc3m.es Abstract. Previous work has shown a relation between L-valued ex- tensions of FCA and the spectra of some matrices related to L-valued contexts. We investigate the spectra of reducible matrices over completed idempotent semifields in the framework of dioids, naturally-ordered semi- rings, that encompass several of those extensions. Considering special sets of eigenvectors also brings out complete lattices in the picture and we argue that such structure may be more important than standard eigenspace structure for matrices over completed idempotent semifields. 1 Motivation The eigenvectors and eigenspaces over certain naturally ordered semirings called dioids seem to be intimately related to multi-valued extensions of Formal Con- cept Analysis [1]. For instance [2, 3] prove that formal concepts are optimal factors for decomposing a matrix with entries in complete residuated semirings. Notice the strong analogy to the SVD, with formal concepts taking the role of pairs of left and right eigenvectors. Indeed, [4] prove that, at least on a particular kind of dioids, the idempotent semifields, formal concepts are related to the eigenvectors of the unit in the semi- ring. This result, however, cannot be unified with the former both for theoretical reasons, since idempotent semifields are incomplete (see below), as well as for practical reasons, since the carrier set of idempotent semifields is almost never included in [0, 1] . A possible way forward is to develop these theories under the common frame- work of the L-fuzzy sets, where L is any complete lattice [5]. Such an endeavour has already been called for [6], although it remains unfulfilled, hence this paper has a two-fold aim: 1. to clarify the spectral theory over completed idempotent semifields, and ? FJVA is supported by EU FP7 project LiMoSINe (contract 288024). CPM has been partially supported by the Spanish Government-Comisión Interministerial de Ciencia y Tecnologı́a project TEC2011-26807 for this paper. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 211–224, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 212 Francisco José Valverde-Albacete and Carmen Peláez-Moreno 2. to take steps towards a common framework for the interpretation of L- Formal Concept Analysis as a spectral construction. First steps have been taken in this direction with the development of a spec- tral theory of irreducible matrices [7] over complete idempotent semifields, whose summary we include below, but the general case, here presented, shows a more intimate relation to lattice theory. 1.1 Dioids and their spectral theory A semiring is an algebra S = hS, ⊕, ⊗, , ei whose additive structure, hS, ⊕, i, is a commutative monoid and whose multiplicative structure, hS\{}, ⊗, ei, is a monoid with multiplication distributing over addition from right and left and with additive neutral element absorbing for ⊗, i.e. ∀a ∈ S,  ⊗ a =  . Let Mn (S) be the semiring of square matrices over a semiring S with the usual operations. Given A ∈ Mn (S) the right (left) eigenproblem is the task of finding the right eigenvectors v ∈ S n×1 and right eigenvalues ρ ∈ S (respectively left eigenvectors u ∈ S 1×n and left eigenvalues λ ∈ S) satisfying: u⊗A=λ⊗u A⊗v =v⊗ρ (1) The left and right eigenspaces and spectra are the sets of these solutions: Λ(A) = {λ ∈ S | Uλ (A) 6= {n }} P(A) = {ρ ∈ S | Vρ (A) 6= {n }} Uλ (A) = {u ∈ S 1×n | u ⊗ A = λ ⊗ u} Vρ (A) = {v ∈ S n×1 | A ⊗ v = v ⊗ ρ} [ [ U(A) = Uλ (A) V(A) = Vρ (A) (2) λ∈Λ(A) ρ∈P(A) Since Λ(A) = P(At ) and Uλ (A) = Vλ (At ) , from now on we will omit refer- ences to left eigenvalues, eigenvectors and spectra, unless we want to emphasize differences. With so little structure it might seem hard to solve (1), but a very generic solution based in the concept of transitive closure A+ and transitive-reflexive closure A∗ of a matrix is given by the following theorem: Theorem 1 (Gondran and Minoux, [8, Theorem 1]). Let A ∈ S n×n . If A∗ exists, the following two conditions are equivalent: 1. A+ ∗ .i ⊗ µ = A.i ⊗ µ for some i ∈ {1 . . . n}, and µ ∈ S. 2. A.i ⊗ µ (and A∗.i ⊗ µ) is an eigenvector of A for e , A+ + .i ⊗ µ ∈ Ve (A) . In [7] this result was made more specific in two directions: on the one hand, by focusing on particular types of completed idempotent semirings—semirings with a natural order where infinite additions of elements exist so transitive closures are guaranteed to exist and sets of generators can be found for the eigenspaces— and, on the other hand, by considering more easily visualizable subsemimodules than the whole eigenspace—a better choice for exploratory data analysis. Specifically, every commutative semiring accepts a canonical preorder, a ≤ b if and only if there exists c ∈ D with a ⊕ c = b . A dioid is a semiring D Spectral Lattices of reducible matrices over completed idempotent semifields 213 where this relation is actually an order. Dioids are zerosumfree and entire, that is they have no non-null additive or multiplicative factors of zero. Commutative complete dioids are already complete residuated lattices. Similarly, semimodules over complete commutative dioids are also complete lattices. An idempotent semiring is a dioid whose addition is idempotent, and a se- lective semiring one where the arguments attaining the value of the additive operation can be identified. Example 1. Examples of idempotent dioids are 1. The Boolean lattice B = h {0, 1}, ∨, ∧, 0, 1 i 2. All fuzzy semirings, e.g. h [0, 1], max, min, 0, 1 i 3. The min-plus algebra Rmin,+ = h R ∪ {∞}, min, +, ∞, 0 i 4. The max-plus algebra Rmax,+ = h R ∪ { −∞ }, max, +, −∞, 0 i u t Of the semirings above, only the boolean lattice and the fuzzy semirings are complete dioids, since the rest lack the top element > as an adequate inverse for the bottom in the order. The second important feature of spectra over complete dioids, as proven in [7], is that the set of eigenvalues on complete dioids is extended with respect to the incomplete case, and it makes sense to distinguish those which are associated to finite eigenvectors, the proper eigenvalues Pp(A), and those associated with non-finite eigenvectors, the improper eigenvalues P(A)\Pp(A). Moreover, as said above, the eigenspaces of matrices over complete dioids have the structure of a complete lattice. But since these lattices may be contin- uous and difficult to represent we introduce the more easily-represented eigen- lattices Lρ (A) and Lλ (A), complete finite sublattices of the eigenspaces to be used as scaffolding in visual representations. 1.2 Completed idempotent semifields and their spectral theory A semiring is a semifield if there exists a multiplicative inverse for every element a ∈ S, notated as a−1 , and radicable if the equation ab = c can be solved for a. As exemplified above, idempotent semifields are incomplete in their natural order. Luckily, there are procedures for completing such structures [9] and we will not differentiate between complete or completed structures, Example 2. The maxplus Rmax,+ and minplus Rmin,+ semifields can be com- pleted as,  1. the completed Minplus semifield, Rmin,+ = hR ∪ {−∞, ∞}, min, +, −·, ∞, 0i . 2. the completed Maxplus semifield, Rmax,+ = hR∪{−∞, ∞}, max, +, −·, −∞, 0i ,   In this notation we have ∀c, −∞ + c = −∞ and ∞ + c = ∞, which solves several  issues in dealing with the separately completed dioids. These two completions −1 are inverses Rmin,+ = Rmax,+ , hence order-dual lattices. Indeed they are better  min,+ jointly called the max-min-plus semiring Rmax,+ . t u  214 Francisco José Valverde-Albacete and Carmen Peláez-Moreno   In fact, idempotent semifields K = hK, ⊕, ⊕, ⊗, ⊗, ·−1 , ⊥, e, >i , appear as   enriched structures, the advantage of working with them being that meets can be expressed by means of joins and inversion as a ∧ b = (a−1 ⊕ b−1 )−1 . On a  practical note, residuation in complete commutative idempotent semifields can be expressed in terms of inverses, and this extends to eigenspaces. Given A ∈ Mn (S), the network (weighted digraph) induced by A, NA = (VA , EA , wA ), consists of a set of vertices VA = n̄, a set of arcs , EA = {(i, j) | Aij 6= S }, and a weight wA : VA × VA → S, (i, j) 7→ wA (i, j) = aij . This allows us to apply intuitively all notions from networks to matrices and vice versa, like + the underlying graph GA = (VA , EA ), the set of paths ΠA (i, j) between nodes + i and j or the set of cycles CA . Matrix A is irreducible if every node of VA is connected to every other node in VA though a path, otherwise it is reducible. We will use the spectra of irreducible matrices as a basic block for that of re- + + ducible matrices: if CA is the set of cycles of A then µ⊕ (A) = ⊕{µ⊕ (c) | c ∈ CA }  + + −1 is their aggregate cycle mean. For finite µ⊕ (A), let à = (A ⊗ µ⊕ (A) ) be the normalized transitive closure of A, and define the set of (right) fundamental + + eigenvectors of irreducible A for ρ as FEVρ(A) = {à ·i | à ii = e} , with left t fundamental eigenvectors FEVρ(At ) = FEVρ(A) . Then, Theorem 2 ((Right) spectral theory for irreducible matrices, [7]). Let A ∈ Mn (K) be an irreducible matrix over a complete commutative selective radicable semifield. Then: 1. Λ(A) = K\{⊥} = P(A) . 2. Λp(A) = {µ⊕ (A)} = Pp(A) . 3. If ρ ∈ P(A)\Pp(A), then Vρ (A) = {⊥n , >n } = Lρ (A) . 4. If ρ = µ⊕ (A) < >, then Vρ (A) = hFEVρ(A)iK ⊃ Lρ (A) = hFEVρ(A)i3 . In this paper we try and find analogue results to Theorem 2 for the reducible case. First, we completely describe the spectra with Theorem 3 in Section 3.1. Then, we provide in Section 3.2 a bottom-up construction of the eigenspaces of certain reducible matrices from that of their irreducible blocks, using from Section 2.2 a recursive scheme to render matrices over idempotent semifields into specialised Upper Frobenius Normal Forms (UFNF). Finally, we discuss our findings in Section 4 and relate them to previous approaches. 2 Preliminaries 2.1 Some partial orders and lattices In this paper we assume familiarity with basic order notions as described in [1, 10]. We only introduce notation when departing from there. Recall that every set V with |V | = n elements and a total order ≤ ⊆ V × V is isomorphic to a lattice called the chain of n elements, hV, ≤i ∼ = n . When the relation is the empty order relation ∅ ∈ V × V , it is called an anti-chain of n elements, hV, ∅i ∼= n . Lattice 1 ∼= 1 is the vacuously-ordered singleton. Lattice Spectral Lattices of reducible matrices over completed idempotent semifields 215 2 is the boolean lattice isomorphic to chain 2. Lattice 3 is a lattice lying at the heart of completed semifields, the 3-bounded lattice-ordered group ⊥ < e < >, isomorphic to chain 3. If set of order ideals of a poset P is O(P ), then Proposition 1 ( [10, Chap. 1]). Let hP, ≤i be a finite poset. Then hO(P ), ⊆i is a lattice obtained by the embedding ϕ : P → O(P ), ϕ(x) =↓ x , with ∀A1 , A2 ∈ O(P ), A1 ∨ A2 = A1 ∪ A2 and A1 ∧ A2 = A1 ∩ A2 . Note that x ≤ y in P if and only if ↓ x ⊆↓ y in O(P ). Furthermore, O(P ) can be obtained systematically from the ordered set in a number of cases: Proposition 2 ( [10, Chap. 1]). Let hP, ≤i be a finite poset. Then 1. O(P ⊕ 1) ∼= O(P ) ⊕ 1 and O(1 ⊕ P ) ∼ = 1 ⊕ O(P ) . 2. O(P1 ] P2 ) ∼ = O(P1 ) × O(P2 ) . 3. O(P d ) ∼ = F(P ) ∼ = O(P )d . ∼ ∼ 4. O(n) = n ⊕ 1 = 1 ⊕ n . 5. O(n) ∼= 2n . 2.2 An inductive structure for reducible matrices Recall that a digraph (or directed graph), is a pair G = (V, E) with V a set of vertices and E ⊆ V × V a set of arcs (directed edges), ordered pairs of vertices, such that for every i, j ∈ V there is at most one arc (i, j) ∈ E . If (i, j) ∈ E then we say that “i is a predecessor of j” or “j is a successor of i”, and E ∈ Mn (B) is the associated relation of G. If there is a walk from a vertex i to a vertex j in G we say that “i has access to j” or j is reachable from i, i j . Hence, reachability is the transitive closure of the associated relation, = E + [11]. However, vertices j ∈ V with no incoming or outgoing arcs cannot be part of any cycle, hence j 6 j for such nodes, so it is not reflexive, in general. ( ∩IV ) is the reflexive restriction of , that is, the biggest reflexive relation included in it. If there is a walk from a vertex i to vertex j in G or viceversa we say that i and j are connected, i j∨j i. Connectivity is the symmetric closure of the reachability relation: its transitive, reflexive restriction is an equivalence relation on VG whose classes are called the (dis)connected components of G . Note that each of the (outwards) disconnected components is actually (inwards) connected. Let K ≥ 1 be the number of disconnected components of G. Then V and E are partitioned into the S subsets of vertices {Vk }K K S {Ek }k=1 k=1 and arcs of each disconnected component k Vk = V , Vk ∩ Vl = ∅, k 6= l, k Ek = E, Ek ∩ El = ∅, k 6= l and we may write G = ]K k=1 Gk is a disjoint union of graphs. G is called connected itself if K = 1 . On the other hand, since reachability is transitive by construction, its sym- metric, reflexive restriction i ! j ⇔ i j ∧j i is a refinement of connectiv- ity called strong connectivity. Its equivalence classes are the strongly connected components of G . For each disconnected component Gk , let Rk be the number of its strongly connected components. If Rk = 1 then the k-th component is strongly 216 Francisco José Valverde-Albacete and Carmen Peláez-Moreno connected, otherwise just connected and composed of a number of strongly con- nected components itself. G is strongly connected itself if K = R = 1 . Given a digraph G = (V, E), the reduced or condensation digraph, G = (V , E) is induced by the set V = V / ! of strongly connected components, and C, C 0 ∈ V , (C, C 0 ) ∈ E iff there exists one arc (i, j) ∈ E for some i ∈ C, j ∈ C 0 and we say that component C has access to C 0 , and write C 4 C 0 . It is well known that G = (V , E) is a partially ordered set called a directed acyclic graph (dag). Given a matrix A ∈ Mn (S), its condensation digraph is the partial order of strong connectivity classes GA = (V A , E A ), as in Figure 2b in Example 4, of its associated digraph GA = (VA , EA ) . This can be proven by means of an Upper Frobenius Normal Form (UFNF) [12], a structure for matrices that we intend to specialise and use as a scheme for structural induction over reducible matrices. In the following, for a set of indices Vx ⊆ n we write P (Vx ) for a permutation of it, and Exy is an empty matrix of conformal dimension most of the times represented on matrix patterns as elliptical dots. Lemma 1 (Recursive Upper Frobenius Normal Form, UFNF). Let A ∈ Mn (S) be a matrix over a semiring and GA its condensation digraph. Then, 1. (UFNF3 ) If A has zero lines it can be transformed by a simultaneous row and column permutation of VA into the following form:   Eιι · · ·  · Eαα Aαβ Aαω  P3t ⊗ A ⊗ P3 =   · · Aββ Aβω   (3) · · · Eωω where: either Aαβ or Aαω or both are non-zero, and either Aαω or Aβω or both are non-zero. Furthermore, P3 is obtained concatenating permutations for the indices of simultaneously zero columns and rows Vι , the indices of zero columns but non-zero rows Vα , the indices of zero rows but non-zero columns Vω and the rest Vβ as P3 = P (Vι )P (Vα )P (Vβ )P (Vω ) . 2. (UFNF2 ) If A has no zero lines it can be transformed by a simultaneous row and column permutation P2 = P (A1 ) . . . P (Ak ) into block diagonal UFNF   A1 · . . . ·  · A2 . . . ·    P2t ⊗ A ⊗ P2 =  . . . .  (4)  .. .. . . ..  · · . . . AK where {Ak }Kk=1 , K ≥ 1 are the matrices of connected components of GA . 3. (UFNF1 ) If A is reducible with no zero lines and a single connected compo- nent it can be simultaneously row- and column-permuted by P1 to   A11 A12 · · · A1R  · A22 · · · A2R    P1t ⊗ A ⊗ P1 =  . .. . . .  (5)  .. . . ..  · · · · · ARR Spectral Lattices of reducible matrices over completed idempotent semifields 217 where Arr are the matrices associated to each of its R strongly connected components (sorted in a topological ordering), and P1 = P (A11 ) . . . P (ARR ) . The particular choice of UFNF is clarified by the following Lemma, since the condensation digraph will prove important later on: Lemma 2 (Scheme for structural induction over reducible matrices). Let A ∈ Mn (S) be a matrix over an entire zerosumfree semiring and GA its condensation digraph. Then: 1. If A is irreducible then GA ∼ =U1 . 2. If A is in UFNF2 then GA = GAk . 3. If A is in UFNF3 then GA = GAββ . 4. GAt = (GA )d . Note that for A in UFNF1 , GA may be any connected ordered set. 3 Results 3.1 Generic results for reducible matrices The following lemma clarifies the order relation between eigenvectors in ordered semimodules, Lemma 3. Let X be a naturally-ordered semimodule. 1. Vectors with incomparable supports are incomparable. 2. If X is further complete, vectors with incomparable saturated supports are incomparable. Proof. Let v and w be two vectors in X . Comparability of supports lies in the ⊆ relation: if supp(v) k supp(w) then supp(v) 6⊆ supp(w) and supp(w) 6⊆ supp(v) . C C Therefore from supp(v) ∩ supp(w) 6= ∅ we have v(supp(v) ∩ supp(w) ) 6= ⊥ C and w(supp(v) ∩ supp(w) ) = ⊥ , hence v 6≤ w . Similarly, from supp(w) ∩ C supp(v) 6= ∅ we have w 6≤ v , therefore v k w . Claim 2 is likewise argued on the support taking the role of n, and the saturated support taking the role of the original support. t u Let A ∈ Mn (S) be a matrix andS GA be its condensation S digraph. Consider a class Cr ∈ V A and call Vu = ( C 0 ∈↓Cr C 0 )\Cr , Vd = ( C 0 ∈↑Cr C 0 )\Cr and Vp = VA \(Vu ∪ Cr ∪ Vd ) the sets of upstream, downstream and parallel vertices for Cr , respectively. Using permutation Pr = P (Vu )P (Cr )P (Vp )P (Vd ) we may suppose a blocked form of A(Cr ) like the one in Fig. 1 without loss of generality. Notice that any of Vu , Vd or Vp may be empty. However, if Vu (resp. Vd ) is not of null dimension, then Aur (resp. Ard ) cannot be empty. Proposition 3. Let A ∈ Mn (K) be a matrix over a complete commutative + selective radicable semifield with CA 6= ∅. Then a scalar ρ > ⊥ is a proper eigenvalue of A if and only if there is at least one class in its condensation digraph Cr ∈ GA such that ρ = µ⊕ (Arr ) . 218 Francisco José Valverde-Albacete and Carmen Peláez-Moreno Vd Ard Apd   Vr Aud Vp Auu Aur Aup Aud  · Arr · Ard  A(Cr ) =   ·  · App Apd  · · · Add Aur Aup Vu (a) Blocked form of A(CR ) (b) Digraph of A(CR ) Fig. 1: Matrix A focused on Cr , A(Cr ) = Pr t ⊗ A ⊗ Pr and associated digraph. The loops at each node, consisting of (possibly empty) Auu , Arr , App , Add are not shown. Proof. The proof, for instance, in [8] extends even to ρ = >,. t u The proper spectrum is clarified by: Lemma 4. Let A ∈ Mn (S) be a reducible matrix over a complete radicable selective semifield. Then, there are no other finite eigenvectors in Vρ (A) con- tributed by Ãρ than those selected by the critical circuits in Cr ∈ V A such that µ⊕ (Arr ) = ρ , + FEVf(A) = ∪Cr ∈V A {(Ãρ )·i | i ∈ Vrc , µ⊕ (Arr ) = ρ} . Proof. If ρ = µ⊕ (Arr ), from Proposition 3 we see that the finite eigenvectors + ∗ mentioned really belong in Vρ (A). If ρ > µ⊕ (Arr ) then (Ãρrr )ii < e = (Ãρrr )ii hence the columns selected by Cr do not generate eigenvectors. If ρ < µ⊕ (Arr ) + then (Ãρrr )ij = > and whether those classes with cycle mean ρ are upstream or downstream of Cr the only value that is propagated is >, hence the eigenvectors are all saturated. t u Theorem 3 (Spectra of generic matrices). Let A ∈ Mn (D) be a reducible matrix over an entire zerosumfree semiring. Then, 1. If CA+ = ∅ then P(A) = Pp(A) = {} . + 2. If CA 6= ∅ and further D is a complete selective radicable semifield, (a) If zc(A) 6= ∅ then P(A) = K and Pp(A) = {⊥}∪{µ⊕ (Arr ) | Cr ∈ V A } . (b) If zc(A) = ∅ then P(A) = K\{⊥} and Pp(A) = {µ⊕ (Arr ) | Cr ∈ V A } . Proof. First, call zc(A) the set of empty columns of A. If GA has no cycles + + CA = ∅, claim 1 follows from a result in [7] . But if CA 6= ∅ then by Proposition p 3, P (A) ⊇ {µ⊕ (Arr ) | Cr ∈ V A } and no other non-null proper eigenvalues may exist by Lemma 4. ⊥ is only proper when zc(A) 6= ∅ hence claims 2a and 2b follow. t u Spectral Lattices of reducible matrices over completed idempotent semifields 219 Translating to UFNF terms: Corollary 1. Let A ∈ Mn (K) be a matrix over a complete selective radicable semifield with CA + 6= ∅. Then P(A) = K\{⊥} and Pp(A) = {µ⊕ (Arr ) | Cr ∈ V A }, unless A is in UFNF3 and zc(A) 6= ∅ whence ⊥ ∈ Pp(A) ⊆ P(A) too. Proof. If A is irreducible or in UFNF1 or UFNF2 it has no empty columns or rows. This can only happen in UFNF3 in which case the result follows from Theorem 3. t u Since this solves entirely the description of the spectrum, only the description of the eigenspaces is left pending. 3.2 Eigenspaces of matrices in UFNF1 In this section we offer an instance of how the UFNF can be used to obtain, inductively, the spectrum of reducible matrices. If for every parallel condensation class Cp ⊆ VA in A(Cr ) illustrated in Cr of Fig. 1 Aup 6= Eup or Apd 6= Epd or both, then A is in UFNF1 with a single connected block. In this case, we can relate the order of the eigenvectors to the condensation digraph: define the support of a class supp(C) as the support of any of the non-null eigenvectors it induces in A. Lemma 5. Let A ∈ Mn (S) be a matrix in UFNF1 over S a complete zerosumfree semiring. Then, for any class Cr ∈ V A , supp(Cr ) = {Clr | Clr ∈ ↓ Cr } . Proof. Since Arr is irreducible, if ρ = µ⊕ (Arr ) then for any vr ∈ Vρ (Arr ) we have that supp(vr ) = Vr , hence Vr ⊆ supp(Cr ) . Also, since S is complete and + + zerosumfree (Ãρ )rr exists and is full [7]. Since (Ãρ )uu Ãρur must have a full column for any Clr ∈↓ Cr meaning precisely that Cr is downstream from Clr , the product + + (Ãρ )uu Ãρur (Ãρ )rr for the nodes in Clr is non-null and Vlr ⊆ supp(Cr ) . t u Lemma 5 establishes a bijection between the supports of condensation classes and downsets in GA which is actually an isomorphism of orders, Proposition 4. Let A ∈ Mn (K) be a matrix over a commutative complete selective radicable semifield admitting an UFNF1 . Then 1. Each class Cr ∈ V A generates a distinct saturated eigenvector, vr> . 2. {vr> | Cr ∈ V A } ∼ = GA . Proof. Let v ∈ Vρ (A) where ρ = µ⊕ (Arr ) then by Lemma 5 supp(v) =↓ Cr , hence vr> = >v ∈ Vρ (A) is the unique saturated eigenvector, since sat-supp (>v) = supp(>v) = supp(C), and the bijection follows. By Lemma 3, claim 2 the order relation between classes is maintained between eigenvectors, whence the order isomorphism in claim 2. tu 220 Francisco José Valverde-Albacete and Carmen Peláez-Moreno We call FEV1,>(A) = {vr> | Cr ∈ V A } the set of of saturated fundamental d eigenvectors of A. Notice that V At = V A but E At = E A , so FEV1,>(At ) ∼ = d GA . + For every finite ρ ∈ Pp(A) we define the critical nodes Vρc = {i ∈ n | (Ãρ )ii = + e} and FEV1,f ρ c ρ (A) = {(à )·i | i ∈ Vρ } the (maybe partially) finite fundamental eigenvectors of ρ. Next, let δρ (ρ ) = e if ρ0 = ρ and δρ−1 (ρ0 ) = > otherwise. for −1 0 ρ ∈ P(A) the set of (right) fundamental eigenvectors of A in UFNF1 for ρ as FEV1ρ (A) = ∪ρ0 ∈P(A) {δρ−1 (ρ0 ) ⊗ FEV1,f ρ0 (A)} . (6)  This definition absorbs two cases, actually, Lemma 6. Let A ∈ Mn (K) be a matrix over a commutative complete selective radicable semifield admitting an UFNF1 . Then, 1. for ρ ∈ P(A)\Pp(A) , FEV1ρ (A) = FEV1,>(A) . 2. for ρ ∈ Pp(A), ρ 6= >, FEV1ρ (A) = FEV1,f ρ (A)∪FEV 1,> (A) \(> ⊗ FEV1,f ρ (A)) .  3. for ρ ∈ P(A), ρ 6= >, FEV1,>(A) = > ⊗ FEV1ρ (A).  p 0 Proof. If ρ ∈ P(A)\P (A), then for all ρ ∈ K, δρ−1 (ρ0 ) = >. By Proposition 4 claim 1 follows as we range ρ0 ∈ Pp(A) . Similarly, when ρ ∈ Pp(A), those classes whose ρ0 6= ρ supply a single saturated eigenvector. However, if ρ0 = ρ, then δρ−1 (ρ0 ) = e obtains the (partially) finite fundamental eigenvectors FEV1,f ρ (A), the saturated eigenvectors of which cannot be considered fundamental, since they can be obtained from FEV1,f 1 ρ0 (A) linearly, and will not appear in FEVρ (A). Claim 3 is a corollary of the other two. t u Call V >(A) = hFEV1,>(A)iK the saturated eigenspace of A , then Corollary 2. Let A ∈ Mn (K) be a matrix over a commutative complete selec- tive radicable semifield admitting an UFNF1 . Then, 1. For ρ ∈ P(A), V >(A) ⊆ Vρ (A) . 2. For ρ ∈ P(A)\Pp(A), furthermore,V >(A) = Vρ (A) . Proof. Since we have FEV1,>(A) ⊆ Vρ (A), then V >(A) ⊆ Vρ (A) . For ρ ∈ P(A)\Pp(A), FEV1ρ (A) = FEV1,>(A) by Lemma 6, so claim 2 follows. t u Hence, V >(A) provides a common “scaffolding” for every eigenspace, while the peculiarities for proper eigenvalues are due to the finite eigenvectors. Also, since V >(A) is a complete lattice, FEV1,>(A) ⊆ V >(A) is actually a lattice embedding, Proposition 5. Let A ∈ Mn (K) be a matrix over a commutative complete selective radicable semifield admitting an UFNF1 . Then 1. For ρ ∈ P(A)\Pp(A), t U >(A) = hFEV1,>(At ) i3 ∼ = F(GA ) V >(A) = hFEV1,>(A)i3 ∼ = O(GA ) . (7) Spectral Lattices of reducible matrices over completed idempotent semifields 221 2. for all ρ ∈ Pp(A), ρ < > t Uλ (A) = hFEV1λ (At ) iK Vρ (A) = hFEV1ρ (A)iK . Proof. If vr> ∈ FEV1,>(A) then λvr> = λ(>vr> ) = vr> , whence V >(A) = hFEV1,>(A)i3 . In fact, the generation process may proceed on only a subsemiring of K which need not even be complete. For instance, we may use any of the isomorphic copies of 2 embedded in K, for instance {⊥, k} ∼= 2, with k 6= ⊥ . Since the number of saturated eigenvectors is finite, being identical to the number of condensation classes, we only have to worry about binary joins and  −1  > > > > > > > > > −1 > −1 meets. Recall that vr ∨vk = vr ⊕ vk and vr ∧vk = vr ⊕ vk = (vr ) ⊕(vk ) .   Then supp(vr> ⊕ vk> ) = supp(vr> ) ∪ supp(vk> ) and also    c supp(vr> ⊕ vk> ) = suppc vr> ∪ suppc vk> = supp(vr> ) ∩ supp(vk> ) for Cr , Ck ∈ V A and Proposition 1 gives the result. For ρ ∈ Pp(A), FEV1ρ (A) ⊆ Vρ (A) implies that hFEV1ρ (A)iK ⊆ Vρ (A), and Corollary 4 ensures that no finite vectors are missing. And dually for left eigenspaces. t u This actually proves that FEV1ρ (A) is join-dense in Vρ (A). As already mentioned, Vρ (A) is a hard-to-visualize semimodule. An eigen- space schematics is a modified order diagram where the saturated eigenspace is + represented in full but the rays generated by finite eigenvalues {κ ⊗ (Ãρ )·i | i ∈  Vrc , ρ = µ⊕ (Arr )} are drawn with discontinuous lines, as in the examples below. We are now introducing another representation inspired by (7): we define the (left) right eigenlattices of A for (λ ∈ Λ(A)) ρ ∈ P(A) as t Lλ (A) = hFEV1ρ (At ) i3 Lρ (A) = hFEV1ρ (A)i3 . Example 3 (Spectral lattices of irreducible matrices). Since irreducible matri- ces are in UFNF1 with a single class, FEV0µ⊕(A) (A) = FEV1µ⊕(A) (A). For ρ ∈ P(A)\Pp(A) we have FEV0,>(A) = {>n }, whence GA ∼ = 1 and V >(A) = {⊥n , >n } ∼ = p 2. For ρ ∈ P (A), ρ < >, as proven in [7], Vρ (A) is finitely generable from FEV0ρ (A), but the form of the eigenspace and eigenlattice for Λp(A) = {µ⊕ (A)} = Pp(A) depends on the critical cycles and the eigenvectors they induce. t u Example 4. Consider the matrix A ∈ Mn (Rmax,+ ) from [13, p. 25.7, example 2] in UFNF1 depicted in Fig. 2.(a). The condensed graph GA in Fig. 2.(b) has for vertex set V A = {C1 = {1}, C2 = {2, 3, 4}, C3 = {5, 6, 7}, C4 = {8}} , so consider the strongly connected components GAkk = (Ck , E ∩ Ck × Ck ), 1 ≤ k ≤ 4. Their maximal cycle means are µk = µ⊕ (Akk ) : µ1 = 0, µ2 = 2, µ3 = 1 and µ4 = −3 , respectively, corresponding to critical circuits: C c (GA11 ) = {1 } , C c (GA22 ) = {2 → 3 → 2} , C c (GA33 ) = {5 , 6 → 7 → 6} , C c (GA44 ) = {8 } . 222 Francisco José Valverde-Albacete and Carmen Peláez-Moreno C4 8 10 C2 −3 23   0 4 C3 0 · 0 · 7 · · · 0 · · 3 0 · · · ·    2 2 6 7 · 1 · · · · · ·  3 2    · 2 · · · · · 10  1 A3 =  · · · · 1 0 · ·   1 3 0 5 −1   · · · · · · 0 ·  C1   0 7  · · · · −1 2 · 23  1 · · · · · · · −3 0 (a) A reducible matrix in UFNF1 (b) Class diagram (rectangles) overlaid on GA3 1 2 3 5 6 7 8     0 −3 −2 6 5 4 > 1 0 > > > > > > > · 0 1 · · · >   2  · >  · 0 1 −2 · · · 6   −1 0 · · ·  3 · −1 0 −3 · · · 5  · 0 1 · · · >     5 · · · · 0 −1 −2 20  · · · 0 −1 −2 >     6  · · · · −3 0 −1 21  · · · −3 0 −1 >    7  · · · · −2 1 0 22 · · · −2 1 0 > 8 · · · · · · · 0 · · · · · · 0 (c) Left fundamental eigenvectors (d) Right fundamental eigenvectors >v8 ≡ >8 >v8 ≡ >8 >v8 ≡ >8 v8 >v2 ⊕ >v5 >v2 ⊕ >v5 >v2 ⊕ >v5 >v2 >v5 >v2 >v5 >v2 >v5 v3 v3 >v1 v6 >v1 >v1 v5 v2 v2 v7 v1 ⊥8 ⊥8 ⊥8 (e) V >(A3 ) (f) Schematics of V2 (A3 ) (g) Schematics of V(A3 ) Fig. 2: Matrix A3 (a), its associated digraph and class diagram (b), its left (c) and right (d) fundamental eigenvectors annotated with their eigennodes to the left and above, respectively; the eigenspace of improper eigenvectors V >(A3 ) in (e), a schematic of the right eigenspace of proper eigenvalue ρ = 2, V2 (A3 ) in (f) and the schematics of the whole right eigenspace V(A3 ) in (g). Spectral Lattices of reducible matrices over completed idempotent semifields 223 Note that node 4 does not generate an eigenvector in either spectrum, since it does not belong to a critical cycle. Therefore Λp(A3 ) = Pp(A3 ) = {2, 1, 0, −3} each left eigenspace is the span of the set of eigenvectors chosen from distinct critical cycles for each class of + + + A: Uµ1 (A) = h(Ã3 µ1 )1· i , Uµ2 (A) = h(Ã3 µ2 )2· i , Uµ3 (A) = h(Ã3 µ3 ){5,6}· i , and + Uµ4 (A) = h(Ã3 µ4 )8· i –as described by the row vectors of Fig. 2.(c)–and the + + right eigenspaces are Vµ1 (A) = h(Ã3 µ1 )·1 i , Vµ2 (A) = h(Ã3 µ2 )·2 i , Vµ3 (A) = + + h(Ã3 µ3 )·{5,6} i , and Vµ4 (A) = h(Ã3 µ4 )·8 i –as described by the column vectors of Fig. 2.(d). The saturated eigenspace is easily represented by means of an order diagram– Hasse diagram–as that of Fig. 2.(e). Note how it is embedded in that of any proper eigenvalue like ρ = 2 in Fig. 2.(f). Since the representation of continuous eigenspaces is problematic, we draw schematics of them, as in Fig. 2.(f). Fig. 2.(g) shows a schematic view of the union of the eigenspaces for proper eigenvalues V(A3 ) = ∪ρ∈Pp(A) Vρ (A3 ) . t u 4 Discussion In this paper, we have discussed the spectrum of reducible matrices with entries in completed idempotent semifields. To the extent of our knowledge, this was pioneered in [14] and both [7] and this paper can be understood as systematic explorations to try and understand what was stated in there. For this purpose, the consideration of particular UFNF forms for the matrices has been crucial: while the description in [14] is combinatorial ours is constructive. The usual notion of spectrum as the set of eigenvectors with more than one (null) eigenvector appears in this context as too weak: when a matrix has at least one cycle then all the values in the semifield (except the bottom ⊥) belong to the spectrum. If the matrix has at least one empty column (resp. empty row) and a cycle then all of the semifield is the spectrum. Rather than redefine the notion of spectrum we have decided to introduce the proper spectrum as the set of eigenvalues with at least one vector with finite support. Regarding the eigenspaces, we found not only that they are complete con- tinuous lattices for proper eigenvalues, but also that they are finite (complete) lattices for improper eigenvalues. Looking for a device to represent the informa- tion within each proper eigenspace we focus on the fundamental eigenvectors of an irreducible matrix for each eigenvalue: those with unit values in certain of their coordinates. The span of those eigenvectors by the action of the 3-bounded lattice-ordered group generates the finite eigenlattices. Interestingly, since im- proper eigenvectors only have non-finite coordinates, their span by the 3-blog is exactly the same finite lattice as their span by the whole semifield itself. With these building blocks it is easy to build finite lattices for reducible matrices of any UFNF description, as exemplified above. We believe this will 224 Francisco José Valverde-Albacete and Carmen Peláez-Moreno be a useful technique to understand and visualize the concept lattices of formal contexts with entries in an idempotent semifield and other dioids. Bibliography [1] Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. Springer, Berlin, Heidelberg (1999) [2] Belohlavek, R., Vychodil, V.: Discovery of optimal factors in binary data via a novel method of matrix decomposition. Journal Of Computer And System Sciences 76(1) (2010) 3–20 [3] Belohlavek, R.: Optimal decompositions of matrices with entries from resid- uated lattices. Journal Of Logic And Computation 22(6) (November 2012) 1405–1425 [4] Valverde-Albacete, F.J., Pelaez-Moreno, C.: Spectral lattices of (Rmax,+ )- formal contexts. In: Formal Concept Analysis. Volume LCNS 4933. (2008) 124–139 [5] Goguen, J.A.: L-fuzzy sets. J. Math. Anal. Appl 18(1) (1967) 145–174 [6] Gondran, M., Minoux, M.: Dioids and semirings: links to fuzzy set and other applications. Fuzzy Sets And Systems 158(1273–1294) (April 2007) [7] Valverde-Albacete, F.J., Peláez-Moreno, C.: The spectra of irreducible ma- trices over completed commutative idempotent semifields. In preparation (2013) [8] Gondran, M., Minoux, M.: Valeurs propres et vecteurs propres dans les dioı̈des et leur interprétation en théorie des graphes. EDF, Bulletin de la Direction des Etudes et Recherches, Serie C, Mathématiques Informatique 2 (1977) 25–41 [9] Valverde-Albacete, F.J., Pelaez-Moreno, C.: Extending conceptualisation modes for generalised Formal Concept Analysis. Information Sciences 181 (May 2011) 1888–1909 [10] Davey, B., Priestley, H.: Introduction to lattices and order. 2nd edn. Cam- bridge University Press, Cambridge, UK (2002) [11] Schmidt, G., Ströhlein, T.: Relations and Graphs. Discrete Mathematics for Computer Scientists. Springer (1993) [12] Brualdi, R.A., Ryser, H.J.: Combinatorial Matrix Theory. Volume 39 of Encyclopedia of Mathematics and its Applications. Cambridge University Press (1991) [13] Akian, M., Bapat, R., Gaubert, S.: 25. [15] 25–1–25–17 [14] Jun, M., Yan, G., zhi Yong, D.: The eigen-problem in the completely max- algebra. In: Proceedings of the Sixth International Conference on Parallel and Distributed Computing. (2005) [15] Hogben, L., ed.: Handbook of Linear Algebra. Discrete Mathematics and Its Applications. Chapman & Hall/CRC (2007) On information retrieval in morphological image and signal processing C. Alcalde1 , A. Burusco2 , J.C. Dı́az3 , R. Fuentes-González2 , and J. Medina3? 1 Dpt. Matemática Aplicada. Universidad del Paı́s Vasco UPV/EHU. Spain Email: c.alcalde@ehu.es 2 Dpt. Automática y Computación, Univ. Pública de Navarra. Spain Email: {burusco,rfuentes}@unavarra.es 3 Dpt. of Mathematics, University of Cádiz. Spain† Email: {juancarlos.diaz,jesus.medina}@uca.es Abstract. Mathematical Morphology is a theory concerned with the processing and analysis of images or signals using filters and other oper- ators that modify them. This paper studies how the original images and signals can be retrieved using fuzzy property-oriented concept lattices and fuzzy relation equations. 1 Introduction The fundamentals of mathematical morphology (initiated by G. Matheron [18] and J. Serra [22]), are in the set theory, the integral geometry and the lattice algebra. This methodology is used in the recent years in general contexts related to activities as the information extraction in digital images, the noise elimination or the pattern recognition. The generalization of this theory, in order to consider fuzzy subsets as objects, was given in [5–9, 16, 17] using L-fuzzy sets as images and structuring elements, which was called fuzzy morphological image processing. On the other hand, the fuzzy property-oriented concept lattice framework [15] arises as a fuzzy generalization of Rough Set Theory and in which a set of objects and a set of attributes are assumed, following the view point of Formal Concept Analysis. This theory has been considered to solve fuzzy relation equations [12] and important results, in order to obtain the whole set of solutions, are given. Recently, both theories, fuzzy mathematical morphology and fuzzy property- oriented concept lattice, have been related [1], extending the initial relation given in [2]. In mathematical morphology, the usual procedure is, given a structuring image, to obtain the dilation and the erosion from an initial image. But what happen if we lose the original image or, simply, we have not got it because we ? Corresponding author. † Partially supported by the Spanish Science Ministry projects TIN2009-14562-C05 and TIN2012-39353-C04, and by Junta de Andalucı́a project P09-FQM-5233. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 225–235, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 226 Cristina Alcalde et al. only know its corresponding dilation or erosion, how can the original image be obtained? This paper studies the problem of objects retrieval in the framework of math- ematical morphology. It is usual that there is noise in the transmission of infor- mation or, in several cases, it is easier to send a kind of image than another one. Hence, the received object is not equal to the original one. Note that this problem is also related to other settings, such as object recognition. Specifically, we focus on solving the problem of obtaining the original object A from another one received B, assuming a structuring image and that B is the dilation or the erosion of the original image A. For that, this problem will be written as a fuzzy relation equation and the relationship introduced in [1] and the results given in [12] will be used to solve it. 2 Preliminaries This section recalls the fuzzy property-oriented concept lattice framework [15], fuzzy mathematical morphology [5–9, 16, 17], the relationship beetween them, introduced in [1], and fuzzy relation equations [21]. 2.1 L-fuzzy property-oriented concept lattice In this framework a complete residuated lattice (L, ∨, ∧, ∗, I, 0, 1, ≤? ) is con- sidered as algebraic structure. Moreover, a fuzzy (formal) context is assumed, (X, Y, R), where R : X × Y → L is a fuzzy relation between the sets X and Y , where X can be interpreted as a set of objects and Y as a set of properties (attributes). Given a fuzzy context (X, Y, R), two mappings R∃ : LX → LY and R∀ : LY → X L can be defined as: R∃ (A)(y) = sup{A(x) ∗ R(x, y) | x ∈ X} (1) ∀ R (B)(x) = inf{I(R(x, y), B(y)) | y ∈ Y } (2) for all A : X → L, B : Y → L, x ∈ X and y ∈ Y , where I is the residuated implication associated with the conjunctor ∗. Examples of these operators are given in [3, 19]. As a first result, the pair (R∃ , R∀ ) forms an isotone Galois connection [13]. Therefore, a property-oriented concept (or, a concept based on rough set theory) of (X, Y, R) is a pair (A, B) ∈ LX × LY such that B = R∃ (A) and A = R∀ (B). The set of all property-oriented concepts of (X, Y, R) is denoted by P(X, Y, R) and it is a complete lattice [15], which is called the property-oriented concept lattice of (X, Y, R) (or, the concept lattice of (X, Y, R) based on rough set the- ory) [15]. For that isotone Galois connection (R∃ , R∀ ) and lattice P(X, Y, R) interesting properties have been proven, e.g., in [3, 4, 13, 15]. On information retrieval in morphological image and signal processing 227 2.2 Fuzzy mathematical morphology Fuzzy morphological image processing has been developed using L-fuzzy sets A and S (with X = R2 or X = Z2 ) as images and structuring elements in [5–9, 16, 17]. The structuring image S represents the effect that we want to produce over the initial image A. Fuzzy morphological dilations δS : LX → LX and fuzzy morphological ero- sions εS : LX → LX are defined using some operators of the fuzzy logic. In the literature (see [6, 9, 14, 17]) erosion and dilation operators are introduced associated with the residuated pair (∗, I) as follows: If S : X → L is an image that we take as structuring element, then we consider the following definitions associated with (L, X, S) Definition 1. [6] The fuzzy erosion of the image A ∈ LX by the structuring element S is the L-fuzzy set εS (A) ∈ LX defined as: εS (A)(x) = inf{I(S(y − x), A(y)) | y ∈ X} for all x ∈ X The fuzzy dilation of the image A by the structuring element S is the L-fuzzy set δS (A) defined as: δS (A)(x) = sup{S(x − y) ∗ A(y) | y ∈ X} for all x ∈ X From these definitions arise two mappings which will be called the fuzzy erosion and dilation operators εS , δS : LX → LX . 2.3 Relationship between both theories In [1] these previous theories were related. For that, first of all, any fuzzy image S ∈ LX was associated with the fuzzy relation RS ∈ LX×X , defined as: RS (x, y) = S(y − x) for all x, y ∈ X. Hence, the fuzzy erosion and dilation of an L-fuzzy subset A of X are written as follows: εS (A)(x) = inf{I(RS (x, y), A(y)) | y ∈ X} δS (A)(x) = sup{RS (y, x) ∗ A(y) | y ∈ X} and the following results were proved. Proposition 1. Let (L, X, S) be the triple associated with the structuring ele- ment S ∈ LX . Let (L, X, X, RS ) be the L-fuzzy property-oriented context whose incidence relation is the relation RS associated with S. Then the erosion εS and dilation δS operators in (L, X, S) are related to the derivation operators (RS )∀ and (RS )∃ in the L-fuzzy property-oriented context (L, X, X, RS ) by: εS (A) = (RS )∀ (A) δS (A) = (RS )∃ (A) for all A ∈ LX . 228 Cristina Alcalde et al. This relation provides that the dilation and erosion have the properties of the isotone Galois connection (R∃ , R∀ ). The following result shows the connec- tion between the outstanding morphological elements and the L-fuzzy property- oriented concepts. Theorem 1. Let S ∈ LX and its associated relation RS ∈ LX×X , the following statements are equivalent: 1. The pair (A, B) ∈ LX × LX is an L-fuzzy property-oriented concept of the context (L, X, X, RS ). 2. A is S-closed (i.e. εS ◦ δS (A) = A) and B is the S-dilation of A. 3. B is S-open (i.e. δS ◦ εS (B) = B) and A is the S-erosion of B. 2.4 Systems of fuzzy relation equations Systems of fuzzy relation equations have been widely studied, for instance in [10, 11, 20]. This section recalls these kind of systems for which a residuated lattice (L, ∨, ∧, ∗, I, 0, 1, ≤) is fixed. A system of fuzzy relation equations with sup-∗-composition (SFRE∗), is the following system of equations _ Ai ◦ R = Bi , or (Ai (u) ∗ R(u, v)) = Bi (v), i ∈ {1, . . . , n} (3) u∈U where R ∈ LU ×V is an unknown fuzzy relation, A1 , . . . , An ∈ LU and B1 , . . . , Bn ∈ LV . Its counterpart is a system of fuzzy relation equations with inf-I-composition (SFREI), that is, ^ A∗j C R = Dj or I(Aj (v), R(u, v)) = Dj (u), j ∈ {1, . . . , m} (4) v∈V considered with respect to an unknown fuzzy relation R ∈ LU ×V and the fuzzy subsets A∗1 , . . . , A∗m ∈ LV and D1 , . . . , Dm ∈ LU . Given the universes U = {u1 , . . . , um } and V = {v1 , . . . , vn }, an unknown fuzzy relation R ∈ LU ×V and two arbitrarily chosen fuzzy subsets of respective universes A1 . . . , An ∈ LU , B1 , . . . , Bn ∈ LV . If an element of V is fixed, v ∈ V , Ai (uj ) = aij for i ∈ {1, . . . , n}, j ∈ {1, . . . , m}, R(uj , v) = xj , Bi (v) = bi , then System (3) can be written as a11 ∗ x1 ∨ · · · ∨ a1m ∗ xm = b1 .. .. .. .. (5) . . . . an1 ∗ x1 ∨ · · · ∨ anm ∗ xm = bn Consequently, for each v ∈ V , we obtain a column of R, thus, solving n SFRE∗ systems, we will obtain the unknown relation. In order to obtain a SFREI system where the considered universes U , V and the unknown fuzzy relation R ∈ LU ×V are as in the previous system, an element of U is fixed, u ∈ U , fuzzy On information retrieval in morphological image and signal processing 229 subsets A∗1 , . . . , A∗m ∈ LV , D1 , . . . , Dm ∈ LU are assumed, such that A∗j (vi ) = aij for i ∈ {1, . . . , n}, j ∈ {1, . . . , m}, R(u, vi ) = yi and Dj (u) = dj . Therefore, System (4) can be written as I(a11 , y1 ) ∧ · · · ∧ I(an1 , yn ) = d1 .. .. .. .. (6) . . . . I(a1m , y1 ) ∧ · · · ∧ I(anm , yn ) = dm Therefore, for each u ∈ U , we obtain a row of R, thus, solving m SFRE→ systems, the unknown relation will be obtained. 3 Images and signals retrieval This section introduces an application of fuzzy relation equation to objects re- trieval in the fuzzy mathematical morphology setting. From the relationship be- tween fuzzy mathematical morphology and fuzzy property-oriented concept lat- tice, recalled in Section 2.3, and the relationship between fuzzy property-oriented concept lattice and fuzzy relation equations [12], we will solve the problem of obtaining the original object A : X → L from another one received B : X → L and a fixed structuring image S : X → L. Specifically, given an image B : X → L, we can consider a structuring image S : X → L and ask if there exists A : X → L such that δS (A) = B and, if there exists, how to obtain it. Analogously, for each image A : X → L, we can ask if there exists B : X → L such that εS (B) = A, for a structured image S, and, if there exists, how to obtain it. First of all, we will write this mathematical morphology problem in terms of fuzzy relation equations. Given a finite subset X0 = {x1 , . . . , xn } of X, an image B : X0 → L and a structuring image S : X0 → L, if we want to obtain an image A : X0 → L such that δS (A) = B, then we need to solve the following system: RS (x1 , x1 ) ∗ A(x1 ) ∨ · · · ∨ RS (xn , x1 ) ∗ A(xn ) = b1 .. .. .. .. (7) . . . . RS (x1 , xn ) ∗ A(x1 ) ∨ · · · ∨ RS (xn , xn ) ∗ A(xn ) = bn in which B(xi ) = bi , for all i ∈ {1, . . . , n}. Analogously, given an image A : X0 → L and a structuring image S : X0 → L, obtaining an image B : X0 → L, such that εS (B) = A, is equivalent to solve the system: I(RS (x1 , x1 ), B(x1 )) ∧ · · · ∧ I(RS (x1 , xn ), B(xn )) = a1 .. .. .. .. (8) . . . . I(RS (xn , x1 ), B(x1 )) ∧ · · · ∧ I(RS (xn , xn ), B(xn )) = an Next, several results will be presented in the fuzzy mathematical morphology framework, based on the properties introduced in [12]. The first one is about the solvability of Systems (7) and (8). 230 Cristina Alcalde et al. Theorem 2. Given a finite subset X0 ⊆ X and B ∈ LX0 , defined by B(xi ) = bi , for each i ∈ {1, . . . , n}. System (7) can be solved if and only if B is S-open in X0 . In that case, εS (B) ∈ LX0 is the greatest solution. Analogously, given A ∈ LX0 , defined by A(xi ) = ai , for each i ∈ {1, . . . , n}. System (8) can be solved if and only if A is S-closed in X0 . In that case, δS (A) ∈ LX0 is the least solution. As a consequence, if the values bi satisfy that δS (A)(xi ) = bi ∈ L, for all i ∈ {1, . . . , n}, then we can find a solution A ∈ LX0 of System (7). Analogously, if εS (B)(xi ) = ai ∈ L is known for all i ∈ {1, . . . , n}, then we can find B ∈ LX0 solving System (8). The second result relates the independent term and greatest solution to a property-oriented concept. Theorem 3. System (7) can be solved if and only if (εS (B), B) is an L-fuzzy property-oriented concept of the context (L, X0 , X0 , RS ), where B ∈ LX0 is de- fined by B(xi ) = bi , for all i ∈ {1, . . . , n}. Similarly, System (8) can be solved if and only if (A, δS (A)) is an L-fuzzy property-oriented concept of the context (L, X0 , X0 , RS ), where A ∈ LX0 is de- fined by A(xi ) = ai , for all i ∈ {1, . . . , n}. Now, we present an application to digital signals. Example 1. Let us assume the set X = {0, 1, 2, . . . , 21, 22} ⊆ Z, the linear struc- ture L = {0, 0.1, 0.2, . . . , 0.9, 1}, the mapping B : X → L, which is represented in Figure 1, and the structuring set S = {−1, 0, 1}. Note that B can be interpreted as a 1-D discrete signal. L 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 14 16 18 20 22 X Fig. 1. Discrete signal received From this environment a system of fuzzy relation equations similar to Sys- tem (7) is considered, in order to obtain a signal A with dilation B. On information retrieval in morphological image and signal processing 231 First of all, we need to check if this system has a solution. Hence, we consider the context (L, X, X, RS ), where the fuzzy relation RS ⊆ X × X is defined, for each (x, y) ∈ X × X, as ( 1 if |y − x| ≤ 1 RS (x, y) = S(y − x) = 0 otherwise Since the signal B is S-open in X, that is (δS ◦ εS )(B) = B, by Theorems 2 and 3, we have that the considered system has, at least, one solution and the greatest solution Ag is εS (B), which is given in Figure 2 and defined as εS (B)(x) = inf{I(RS (x, y), B(y)) | y ∈ X} = inf{B(y) | |y − x| ≤ 1} for all x ∈ X. Moreover, (Ag , B) is a fuzzy property-oriented concept. S = −1 1 L 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 14 16 18 20 22 X Fig. 2. Greatest solution It is clear, in Example 1, that the original signals A may not be the greatest solution, but another one of the proposed system. In order to obtain the whole set of solutions the following result is introduced and can be proven from [12]. Theorem 4. Given an S-open object B ∈ LX0 , if A ∈ LX0 is the original object, such that δS (A) = B, then either A0 < A ≤ εS (B) for some (A0 , B 0 ) lower neighbour of (εS (B), B) in P(X0 , X0 , RS ); or A < εS (B) and A is incomparable with A0 , for all (A0 , B 0 ) lower neighbour of (εS (B), B) in P(X0 , X0 , RS ). Analogously, given an S-closed object A ∈ LX0 , if B ∈ LX0 is the original ob- ject, such that εS (B) = A, then either δS (A) ≤ B < B 0 for some upper neighbour (A0 , B 0 ) of (A, δS (A)) in P(X0 , X0 , RS ); or δS (A) < B and B is incomparable with B 0 , for all (A0 , B 0 ) upper neighbour of (A, δS (A)) in P(X0 , X0 , RS ). 232 Cristina Alcalde et al. Therefore, Theorem 4 can be applied in order to obtain the whole set of solutions of the system given in Example 1. However, we need to remark that, since straightforward εS (B) ≤ B, we have that Ag is the solution closest to B. Hence, considering the greatest solution can be a good election. The following example focus on images retrieval. Example 2. We consider a two dimensional pixelated image. Hence, X = Z2 , L = {0, 1} and the mappings A : Z2 → L are interpreted as two dimensional images. The elements of X are denoted as x = (x1 , x2 ) ∈ R2 . In this case, the image B : Z2 → L, given in Figure 3, is obtained and we want to retrieve the original image or a good approximation. Fig. 3. Initial image The structuring binary image S is the unit ball: S = {(x1 , x2 ) ∈ Z × Z | x1 + x2 ≤ 1} given in Figure 4. Fig. 4. Structuring set Now, we consider a System (7) and a context ({0, 1}, Z2 , Z2 , RS ), where the associated incidence relation RS ⊆ Z2 × Z2 is defined, for each x = (x1 , x2 ), On information retrieval in morphological image and signal processing 233 y = (y1 , y2 ), as ( 1 if (y1 − x1 ) + (y2 − x2 ) ≤ 1 RS (x, y) = S(y − x) = 0 otherwise Therefore, by the previous results, the greatest solution Ag : Z2 → L, asso- ciated with B and the structuring image, is the best approximation of B. That is, the image closer to B. This image is given in Figure 5 and it is defined as: Fig. 5. Greatest solution εS (B)(x) = (RS )∀ (B)(x) = inf{I(RS (x, y), B(y) | y ∈ X} = inf{B((y1 , y2 )) | (y1 − x1 ) + (y2 − x2 ) ≤ 1}   0 if there exists (y1 , y2 ) ∈ Z2 such that B((y1 , y2 )) = 0 = and (y1 − x1 ) + (y2 − x2 ) ≤ 1   1 otherwise By Theorem 3, the pair (A, B) is a property-oriented concept of the context ({0, 1}, Z2 , Z2 , RS ). However, in this case, the considered original image is not the greatest solution Ag but a solution less than it. This is given in Figure 6. This is not a problem, but it shows that it is also interesting to compute the whole set of solutions. Theorem 4 provides an interesting mechanism to get all the solutions of Systems (7) and (8), although another more operative results will be studied in the future. 4 Conclusions and future work In mathematical morphology, the usual procedure is, given a structuring image, to obtain the dilation and the erosion of an original image. This paper have 234 Cristina Alcalde et al. Fig. 6. Original image studied the opposite problem, that is, given a fuzzy object B : X → L and a structuring object S : X → L, find out the original object A : X → L such that B is the dilation of A, δS (A) = B, or the erosion of A, εS (A) = B, and, if there exists, how to obtain it. We have shown that this problem is associated with solving systems of fuzzy relation equations. Therefore, the results given in [12] and the relationship intro- duced in [1] have been used to obtain the original image or a good approximation. Moreover, we have introduced some results focus on searching the whole set of possible original images. In the future, more properties and applications will be studied, for instance in object recognition. References 1. C. Alcalde, A. Burusco, J. C. Dı́az, R. Fuentes-González, and J. Medina-Moreno. Fuzzy property-oriented concept lattices in morphological image and signal pro- cessing. Lecture Notes in Computer Science, 7903:246–253, 2013. 2. C. Alcalde, A. Burusco, and R. Fuentes-González. An interpretation of the l-fuzzy concept analysis as a tool for the morphological image and signal processing. In Proc. of CLA 2012, pages 81–92, 2012. 3. E. Bartl, R. Bělohlávek, J. Konecny, and V. Vychodil. Isotone galois connections and concept lattices with hedges. In 4th International IEEE Conference “Intelli- gent Systems”, pages 15.24–15.28, 2008. 4. R. Bělohlávek. Concept lattices and order in fuzzy logic. Annals of Pure and Applied Logic, 128:277–298, 2004. 5. I. Bloch. Duality vs. adjunction for fuzzy mathematical morphology and general form of fuzzy erosions and dilations. Fuzzy Sets and Systems, 160(0):1858–1867, 2009. 6. I. Bloch and H. Maı̂tre. Fuzzy mathematical morphologies: a comparative study. Télécom Paris 94D001, 1994. On information retrieval in morphological image and signal processing 235 7. P. Burillo, N. Frago, and R. Fuentes-González. Inclusion grade and fuzzy implica- tion operators. Mathware & Soft Computing, VIII(0):31–46, 2001. 8. P. Burillo, R. Fuentes-González, and N. Frago. Inclusion grade and fuzzy implica- tion operators. Fuzzy Sets and Systems, 114(0):417–429, 2000. 9. B. De Baets. Fuzzy morphology: a logical approach. In B. Ayyub and M. Gupta, editors, Uncertainty Analysis, Engineering and Science: Fuzzy Logic, Statistics and neural network Approach, pages 53–67. Kluwer Academic Publishers, 1997. 10. B. De Baets. Analytical solution methods for fuzzy relation equations. In D. Dubois and H. Prade, editors, The Handbooks of Fuzzy Sets Series, volume 1, pages 291– 340. Kluwer, Dordrecht, 1999. 11. A. Di Nola, E. Sanchez, W. Pedrycz, and S. Sessa. Fuzzy Relation Equations and Their Applications to Knowledge Engineering. Kluwer Academic Publishers, Norwell, MA, USA, 1989. 12. J. C. Dı́az and J. Medina. Solving systems of fuzzy relation equations by fuzzy property-oriented concepts. Information Sciences, 222:405–412, 2013. 13. G. Georgescu and A. Popescu. Non-dual fuzzy connections. Arch. Math. Log., 43(8):1009–1039, 2004. 14. J. Goutsias and H. Heijmans. Fundamenta morphologicae mathematicae. Funda- menta Informaticae, 41(0):1–31, 2000. 15. H. Lai and D. Zhang. Concept lattices of fuzzy contexts: Formal concept analysis vs. rough set theory. International Journal of Approximate Reasoning, 50(5):695– 707, 2009. 16. P. Maragos. Lattice image precessing: A unification of morphological and fuzzy algebric systems. Journal of Mathematical Imaging and Vision, 22(0):333–353, 2005. 17. M. Mas, M. Monserrat, and J. Torrens. S-implications and r-implications on a finite chain. Kybernetika, 40(1):3–20, 2004. 18. G. Matheron. Random Sets and Integral Geometry. Wiley, 1975. 19. J. Medina. Multi-adjoint property-oriented and object-oriented concept lattices. Information Sciences, 190:95–106, 2012. 20. I. Perfilieva and L. Nosková. System of fuzzy relation equations with inf-→ com- position: Complete set of solutions. Fuzzy Sets and Systems, 159(17):2256–2271, 2008. 21. E. Sanchez. Resolution of composite fuzzy relation equations. Information and Control, 30(1):38–48, 1976. 22. J. Serra. Image Analysis and Mathematical Morphology. Academic Press, I (fourth printing 1990) and II (second printing 1992). A Study on the Correspondence between FCA and ELI Ontologies Melisachew Wudage Chekol, Mehwish Alam, and Amedeo Napoli LORIA (INRIA, CNRS, and Université de Lorraine) France {melisachew.chekol,mehwish.alam,amedeo.napoli}@inria.fr Abstract. The description logic EL has been used to support ontol- ogy design in various domains, and especially in biology and medicine. EL is known for its efficient reasoning and query answering capabilities. By contrast, ontology design and query answering can be supported and guided within an FCA framework. Accordingly, in this paper, we propose a formal transformation of ELI (an extension of EL with inverse roles) ontologies into an FCA framework, i.e. KELI , and we provide a formal characterization of this transformation. Then we show that SPARQL query answering over ELI ontologies can be reduced to lattice query an- swering over KELI concept lattices. This simplifies the query answering task and shows that some basic semantic web tasks can be improved when considered from an FCA perspective. 1 Introduction Relying on Semantic Web (SW) languages and principles, several ontologies have been created in various domains, especially, in biology and medicine. In addition to that, since the conception of linked data publishing principles, over 295 linked (open) datasets have been produced1 . Querying these data is mainly done through the W3C recommended query language SPARQL2 . In parallel, knowledge discovery in data represented by means of objects and their properties can be done using formal concept analysis (FCA) [9]. Concept lattices can reveal hidden relations within data and can be used for organizing and classifying data. A survey of the benefits of FCA to SW and vice versa has been proposed in [14]. As mentioned in that paper, a few of these benefits ranges from knowledge discovery, ontology completion, to computing subsumption hier- archy of least common subsumers. Additionally, studies in [7] and [12] are based on FCA for managing SW data while finite models of description logics (as EL) are explored in [3,4]. All these studies propose methods to use FCA in the anal- ysis of SW data. Nevertheless, none of them offer a precise way of representing SW data within a formal context. We deem it necessary to provide mathemat- ically founded methods to formalize the representation and the analysis of SW data. 1 http://linkeddata.org/ 2 http://www.w3.org/TR/sparql11-query/ c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 237–248, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 238 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli In this work, we focus particularly on ELI (an extension of EL with inverse roles) ontologies. EL is one of OWL 2 profiles (OWL 2 EL). In fact, OWL 2 EL is used mainly for designing large biomedical ontologies such as SNOMED- CT3 , and the NCI thesaurus4 . A common feature of these ontologies is that they possess large concept hierarchies that can be queried with SPARQL. Answering SPARQL queries is done by binding variables of the query into terms of the queried ontology. However, including inferred data in the query answers requires either a reasoner to infer all implicit data or query rewriting using regular ex- pression patterns (that enable navigation in a hierarchy) [10]. The latter obliges the user to know the nuts and bolts of SPARQL. To overcome these difficulties, we reduce SPARQL query answering in ELI ontologies into query answering in concept lattices along with the transformation of the queried ontology into a formal context. Querying a concept lattice appears to be a less complex task than using SPARQ. Further, the lattice organization, i.e., partial ordering, can help understanding the relations between data and visualization of SW data. Overall, in this paper, we work towards (i) a formal characterization of the translation of ontologies into a formal context, (ii) minimizing the difficulty of SPARQL query answering over ontologies into LQL (Lattice Query Language) query answering over concept lattices, and finally (iii) providing organization of SPARQL query answers with the use of concept lattices. Outline: after presenting the basics of ELI, SPARQL and FCA (§2), we show how to transform ELI ontologies into formal contexts (§3). We then present a query language for concept lattices called LQL (§4). Therefore, SPARQL query answering over ELI ontologies can be reduced to LQL query answering over KELI concept lattices (§5). Finally, we present the related works (§6) along with a summary of concluding remarks (§7). 2 Preliminaries In this section, we provide a very brief and intuitive introduction of the de- scription logic ELI and FCA. For a detailed discussion, we refer the readers to [11,2,9,6]. In ELI, classes are inductively defined from a set NC of class names, a set NR of role names, and a set NI of individual names (NC , NR , and NI are finite), using the constructors: >, C u D, and ∃R.C are classes. Where C and D refer to classes, R refers to a role name or its inverse R− , and in the assertion C(a), a refers to an individual. In this paper, we consider ∃R.C classes with C ∈ NC , i.e, C is an atomic concept in the expression of ∃R.C. The TBox of a EL knowledge base contains a set of class inclusion axioms such as C v D. The ABox contains class and role assertions: C(a) and R(a, b). The semantics of ELI is broadly discussed in [2]. The semantics of ELI-classes is defined in terms of an interpretation I = (∆I , .I ). The domain ∆I is a non-empty set of 3 http://www.ihtsdo.org/snomed-ct/ 4 http://ncit.nci.nih.gov/ A Study on the Correspondence between FCA and ELI Ontologies 239 individuals and the the interpretation function .I maps each class name A ∈ NC to a subset C I of ∆I , each role name R ∈ NR to a binary relation RI on ∆I , and each individual name a ∈ NI to an individual aI ∈ ∆I . The extension of .I to arbitrary class descriptions is defined inductively [2]. SPARQL is a W3C recommended query language [13] based on simple graph patterns. It allows variables to be bound to components in the queried graph. In addition, operators akin to relational joins, unions, left outer joins, selections, and projections can be combined to build more expressive queries. Queries are formed from query patterns which in turn are defined inductively from path patterns, i.e., tuple t ∈ UBV × e × UBLV, with V a set of variables disjoint from UBL (URIs, Blank nodes and Literals – are used to identify values such as strings, integers and dates.), and e is regular path expression. Path patterns grouped together using operators AND (.) and UNION form query patterns. Definition 1. A query pattern q is inductively defined as: q ::= UBV × e × UBLV | q1 . q2 | {q1 } UNION {q2 } e ::=  | U | V | e1 /e2 | e1 p e2 | e+ | e∗ A SPARQL SELECT query can be formed according to the following syntax: SELECT W FROM O WHERE {q}. The FROM clause identifies the queried ontology O on which the query will be evaluated, WHERE contains a query pattern q that the query answers should satisfy and SELECT singles out the answer variables W ∈ V from the query pattern. For this work, we consider only AND and UNION SPARQL queries. A formal context represents data using objects, attributes, and their rela- tionships. Formally, it is a triple K = (G, M, I) where G a set of objects, M a set of attributes, and I ⊆ G × M is a relation. A derivation operator (0 ) is used to compute formal concepts of a context. Given a set of objects, the oper- ator derives common attributes of these objects and vice versa. A set of formal concepts ordered with the set inclusion relation form a concept lattice [6]. In the next section, we show the transformation of ELI ontologies into formal contexts. 3 Transforming ELI Ontologies into Formal Contexts In the following, we introduce some terms and notions that we use. Materializa- tion (closure) refers to computing the deductive closure of an ontology (alterna- tively, making all implicitly stored data explicit by using inference) [15]. Ontology completion [5] –refers to computing the closure of the ontology and adding addi- tional instances by following class inclusions in the TBox (for instance, if Actor is a subclass of Artist and the instance Tom is an Actor, add another instance who is not an Actor but is an Artist. In this case, if an instance is not known, one can use anonymous resource to identify the unknown instance). Loss of seman- tics–the transformation of an ontology into a formal context results in loss of semantics if the context mixes TBox (schema axioms) and ABox (instance) data 240 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli and if the concept lattice obtained from the formal context does not maintain the class hierarchy. Before presenting how a ELI ontology can be transformed into a formal context, we motivate our approach with an example. 3.1 Motivation Example 1. Consider the following ELI ontology O = hT , Ai: T = {ActorsFromNewYork v Actor, FilmProducer v Artist, Actor v Artist, Artist v Person} A = {tomCruiseI ∈ ActorsFromNewYorkI } In order to compare graphical representations of DL ontologies and their corre- sponding concept lattices, we represent O and its respective materialization O0 as graphs as shown below: Person Person Artist Artist FilmProducer Actor FilmProducer Actor ActorsFromNewYork ActorsFromNewYork tomCruise tomCruise In the graphs, dotted edges denote inferred instance and class subsumption re- lations. Starting with Example 1, one can ask whether it is possible to obtain a formal context from the ontology O while maintaining its semantics. The problem here is that DLs and FCA work on different assumptions, i.e, while DL languages are based on the open world assumption (OWA), FCA relies on the closed world assumption (CWA). The former permits to specify only known data whereas the later demands all data should be explicitly specified. To slightly close the gap between these two worlds: – one can generate the formal context from the closure of the ontology. How- ever, this approach fails when it is not possible to compute the closure of the ontology as this is the case for ontologies created from a DL language equipped with negation and disjunction constructs5 , and – before transforming the ontology into a formal context, complete the ontol- ogy. A drawback of the second approach is that it adds unnecessary data, consequently, giving unwanted results when querying. 5 http://www.w3.org/TR/owl2-primer/ A Study on the Correspondence between FCA and ELI Ontologies 241 Person Artist FilmProducer Actor ActorsFromNewYork tomCruise (a) Target lattice associated with the ontol- (b) Lattice associated with the ogy in Example 1. context in Example 2. Fig. 1: tomCruise (tC) and (.) are objects and the rest are attributes. To this end, our main objective is to come up with an approach which transforms an ontology into a formal context while maintaining the semantics. Accordingly, a formal context corresponding to the ontology in Example 1 has an associated lattice that looks like the one in Figure 1a. From this onwards, when we speak of this lattice, we refer to it as the target lattice. The target lattice maintains the semantics because: the class hierarchy of the ontology (TBox) is the same as that of the lattice, and the instance (ABox) and schema (TBox) part of the ontology are treated separately as discussed in Section 3.2. In the following, we provide various formal contexts associated with the on- tology in Example 1. For the sake of readability, we shorten concept and in- dividual names as: ActorsFromNewYork (AFNY), FilmProducer (Prd), Actor (Act), Artist (Art), Person (Per), and tomCruise (tC). Consider the following transformations: Naive approach: materialized ABox AFNY Prd Act Art Per tC x x x x x This formal context is obtained from the materialized ABox of the ontology. It does not include subclass relations as they can be acquired using attribute ex- ploration [9]. But unfortunately, the resulting lattice considers all the attributes to be equivalent, implying loss of semantics, as it can be seen from the lattice in Figure 2b. Direct approach: materialized ABox and TBox 242 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli (a) (b) Fig. 2: Concept lattice associated with the ontology in Example 1. {tC} AFNY Prd Act Art Per {tC} x x x x x x AFNY x x x x Prd x x x Act x x x Art x x Per x This formal context is produced by taking all the subclass hierarchy of all atomic concepts C and all nominal concepts {a} for all individuals a. For- mally, a formal context is constructed using: (i) aI ∈ C I into {a}, C ∈ G, M , and ({a}, {a}), (C, C), ({a}, C) ∈ I, and (ii) C v D into C, D ∈ G, M , and (C, D), (C, C), (D, D) ∈ I. The context is a transformation of the materialized ontology (both the closures of the ABox and TBox are computed as depicted in the right-hand graph of Example 1). The concept lattice of this formal context is shown in Figure 2a. As it can be seen, it does not maintain the semantics because the concept hierarchy is different from that of our target lattice (in Fig- ure 1a). In other words, the concept hierarchy of the concept lattice is different from that of the ontology (in Example 1). Everything is mixed: attributes are also objects and vice versa. Obviously, it is possible to find several other ways of transforming an ontology into a formal context. To avoid any semantic loss, we propose an another approach, where we separately manage the transformation of ABox and TBox assertions. In FCA, attribute exploration is used to discover implicit knowledge. In that, given a concept lattice, a domain expert is asked a series of questions to produce implications that correspond to DL like inclusion axioms. Ontologies contain instance and schema data, where the latter is similar to implications of concept lattices. Hence, when transforming, individuals in the ABox to become objects and concept names to become attributes, besides, asser- tions in the ABox are transformed into relations. Additionally, class inclusions of the TBox become background implications. The overall transformation pro- A Study on the Correspondence between FCA and ELI Ontologies 243 cedure leads to a formal context with respect to existing knowledge (this is also known as background implications according to [8]). This procedure is formally described in definition 2. 3.2 Proposal To transform a ELI knowledge base KB = hT , Ai into a formal context K = (G, M, I), the schema axioms in the TBox become background implications L((G, M, I)) and the ABox assertions become objects, attributes and relations. To elaborate, in K, individuals in the ABox constitute objects G, class names in the ABox and TBox yield attributes in M , and ABox assertions create relations between objects and attributes I ⊆ G × M . Here, we consider acyclic TBoxes so as to avoid class names becoming objects in a context. Definition 2 (Transforming ELI Ontologies into Formal Contexts). We define the transformation of KB = hT , Ai into a formal context (G, M, I) thanks to a transformation function σ as follows: – An axiom C v D in T corresponds to an implication in L((G, M, I)), i.e., the set of implications based on (G, M, I): C v D 7−→ C → D ∈ L((G, M, I)). – Concept expressions C (class name), ∃R.C, and ∃R− .C, correspond respec- tively to attributes C, ∃R.C, and ∃R− .C in M . – An individual a in A corresponds to an object a in G. – When a is an instance of C resp. ∃R.C, ∃R− .C, then (a, C) ∈ I resp. (a, ∃R.C) ∈ I, (a, ∃R− .C) ∈ I. – When a is related to b through R, then (a, ∃R.>) ∈ I and (b, ∃R− .>) ∈ I. Example 2. The translation of the ontology in Example 1 into a formal context K and its background implications L are shown below: K AFNY Prd Act Art Per L = { AFNY → Act, Prd → Art, tC x Act → Art, Art → Per } Construction of concept lattices: there are several algorithms that can compute concept lattices associated with a formal context. Some of these are discussed in the literature [9,6] and have also been implemented. They work on an empty implication base. Thus, most are not suitable for contexts with background im- plications. In [8], the author provides an algorithm for attribute exploration with background implications. This technique can be employed for our purpose. As a result, the concept lattice associated with the formal context and background implications of Example 2 is depicted in Figure 1b. Next we show that concept lattices associated with ELI ontologies can be queried by LQL – lattice query language. 244 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli 4 Querying Concept Lattice SPARQL query answering over ELI ontologies can be considered as lattice query answering over KELI concept lattices. To do this, we need to introduce a query language for concept lattices. Each node in a lattice can be seen as a query formed by a conjunction of: a concept intent and a concept extent. Intuitively, querying concept lattices amounts to fetching the objects given a set of attributes as query constants, alternatively, fetching the attributes given a set of objects as query constants or terms. Query terms can be connected using the logical operators: AND and OR to form a complex term. A term is either a set of objects called object term (OT) or a set of attributes called attribute term (AT). Definition 3 (Object and Attribute Terms). Given a formal context K = (G, M, I), an object term (OT) and an attribute term (AT) are defined induc- tively as: OT = {g} | OT1 AND OT2 | OT1 OR OT2 , where g ∈ G AT = {m} | AT1 AND AT2 | AT1 OR AT2 , where m ∈ M The expression OT1 AND OT2 denotes the greatest lower bound (GLB) in the concept lattice B(G, M, I). The expression OT1 OR OT2 denotes the least upper bound (LUB) in B(G, M, I). Dually, the expression AT1 AND AT2 denotes the GLB in the concept lattice B(G, M, I) (keeping the orientation of B(G, M, I) based on the extents). Finally, the expression AT1 OR AT2 denotes the LUB in B(G, M, I). Based on the definitions of object and attribute terms, we introduce LQL queries. In this paper, we do not address the problem of negation in the query (and thus set difference). Definition 4 (LQL - Lattice Query Language). Given an object term OT, an attribute term AT, and variables x, y ∈ V where V is a finite set of variables, an LQL query can take the following forms: q(y) = (OT, y); q(x) = (x, AT); q() = (OT, AT ) q(y), q(x), and q() do not necessarily correspond to formal concepts, only when OT and AT are closed sets. If OT is a closed set in q(y) = (OT, y), then y corresponds to the intent associated with OT. The same thing happens with x when AT is a closed set in q(x) = (x, AT). For evaluating x and y in every possible case we do the following: – if OT = {g}, then y = {g}0 , i.e., all attributes that are associated with the object g. – if OT = {g1 } AND {g2 }, then y = {g1 , g2 }0 – if OT = {g1 } OR {g2 }, then y = {g1 }0 ∪ {g2 }0 Similarly, the evaluation of q(x) = (x, AT) is given as follows: A Study on the Correspondence between FCA and ELI Ontologies 245 – if AT = {m}, then x = {m}0 , i.e., all objects that are associated with the attribute m. – if AT = {m1 } AND {m2 }, then x = {m1 , m2 }0 – if AT = {m1 } OR {m2 }, then x = {m1 }0 ∪ {m2 }0 Finally, the evaluation of q() = (OT, AT) is: – true if OT = AT0 or AT = OT0 and false otherwise. Example 3. Let us consider querying the concept lattice shown in Figure 3. Fig. 3: A concept lattice representing artists professions. – For q1 (x) = (x, {actor} AND {comedian} AND {writer}), we have x = {JerrySeinf eld}. – q2 (x) = (x, {writer} OR {director}), we have x = {DavidSchwimmer, W illSmith, JerrySeinf eld}. – q3 (y) = ({JustinT imberlake} AND {W illSmith}, y), we have y = {actor, musician}. – q4 (y) = ({DavidSchwimmer} OR {JustinT imberlake}, y), we have y = {actor, director, musician}. The complexity of answering LQL queries is polynomial in the size of the formal context, i.e., O|(G, M, I)|. The advantage of LQL over SPARQL is that, it allows to compute the least upper bound and greatest lower bound of query answers. We now present one important part of this work which is reducing SPARQL query answering over ELI ontologies into LQL query answering over KELI concept lattices. 246 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli 5 SPARQL query answering over ontologies vs LQL query answering over concept lattices Recently, SPARQL has been extended with different entailment regimes and reg- ular path expressions6 . The semantics of SPARQL relies on the definition of basic graph pattern matching that is built on top of simple entailment [10]. However, it may be desirable to use SPARQL to query triples entailed from subclass, sub- property, range, domain, and other relations which can be represented using DL schema languages such as ELI. The SPARQL specification defines the results of queries based on simple entailment. The specification also presents a gen- eral parametrized definition of graph pattern matching that can be expanded to other entailments beyond simple entailment. Query answering under an entail- ment regime can be achieved via: (1) materialization (computing the deductive closure of the queried graph), (2) rewriting the queries using the schema, and (3) hybrid (combining materialization and query rewriting) [10]. Example 4. Let us consider the evaluation of the SPARQL query Q on the on- tology O and O0 of Example 1. Q = select all those who are artists. SELECT ?x WHERE {? x a A r t i s t . } Under simple entailment evaluation of a SPARQL query, the answers of Q over O is empty, i.e., Q(O) = ∅. For the reason that, simple entailment is based on graph matching which requires the variable ?x in the query to be bound with a term in the graph. Since there is no term where it can be bound to, the result is empty. However, under higher entailment regimes (such as the RDFS entailment [10]) the result of Q is non-empty because inferred instances obtained through reasoning are taken into account for computing the answers. To get a non-empty answers for the above query, one can use one of the following approaches: 1. Materialization: involves all implicit data to be computed before the evalu- ation of the query. This can be done by using a DL reasoner. Consequently, in Example 1, the materialization of O is O0 . Thus, the evaluation of Q over O is Q0 (O) = {tomCruise}. 2. Query rewriting: is the task of converting a SPARQL query into one that involves schema axioms. It can be done using SPARQL property paths (a.k.a. regular path expressions). For instance, the above query can be rewritten as: SELECT ?x WHERE {? x a/v∗ A r t i s t . } This query Q0 selects all instances of Artist and that of its subclasses by nav- igating through the subclass relation (v∗ ). The rewriting can be evaluated over O to obtain Q0 (O) = {tomCruise}. In summary, materialization requires a reasoner to expand the knowledge base, the complexity of this task depends on the type of the schema language. On the other hand, query rewriting requires modifying query patterns using SPARQL 6 http://www.w3.org/TR/sparql11-query/ A Study on the Correspondence between FCA and ELI Ontologies 247 property paths. This also results in a further jump in the complexity of query answering. As described above, unlike SPARQL query answering over ontologies, query answering over a concept lattice is relatively easier. Due to the fact that once the concept lattice is obtained from the ontology, LQL can be used to query the lattice. Consequently, alleviating those expensive tasks. The above SPARQL query can be converted into an LQL query as: q(x) = (x, Artist). The evaluation of this query over a concept lattice obtained from O is as expected Q0 (O) = {tomCruise}. The complexity of SPARQL query answering over ELI ontologies is larger than that of LQL query answering over KELI concept lattices. Since, the ex- pressive power of SPARQL is superior than that of LQL. For ELI ontologies a query language like LQL is sufficient to retrieve individuals (or objects) and classes (or attributes). 6 Related work To date, several studies have been carried out to assess the relevance and bene- fits of FCA for DL [5,3,4,14,7,12]. Notably, the work in [14] presents a survey on the advantageous of FCA for DL ontologies. Accordingly, some of the benefits that FCA can bring to the DL world include: knowledge discovery, extended subsumption hierarchy (of conjunctions of concepts) [1], subsumption hierarchy of least common subsumers, exploring finite models [3,4], role assertion analysis, supporting bottom-up construction and completion of ontologies. Since the sur- vey, other studies, [7] and [12], have carried out experiments to characterize and analyse SW data using FCA tools. The former provides an entry point to a linked data using questions in a way that can be navigated. It gives a translation of an RDF graph into a formal context where the subject of an RDF triple becomes the object, a composition of the predicate and object of the triple becomes an attribute. The latter obliges the user to specify objects and attributes of a con- text. With that, it creates SPARQL queries to extract content from linked data in order to populate the formal context. Despite the fact that all these works have employed FCA techniques, to the best of our knowledge, none of them pro- vide a formal and precise translation of ontologies into a formal context as we did here. 7 Conclusion In this work, firstly, we have proposed a formal transformation of ELI ontologies into formal contexts. This enables to benefit from some advantages that FCA may offer to the DL world. Then we have shown that SPARQL query answering over ELI ontologies can be considered as lattice query answering over KELI concept lattices. This alleviates some reasoning and query rewriting tasks that are required for SPARQL query answering. 248 Melisachew Wudage Chekol, Mehwish Alam and Amedeo Napoli Moreover, even if there already exist substantial work relating DL, semantic web and FCA, there remains a lot of research work to be carried out. Such a research work is concerned with the correspondence between concept lattices from FCA and DL-based class hierarchies, query answering and information retrieval, and scalability as well. In addition, as FCA could benefit from DL- based reasoning capabilities, semantic web and DL-driven applications can take advantage of FCA-based ontology design, data analysis and knowledge discovery capabilities of FCA. In the future, we plan to extend and experiment with the proposed approach. We will investigate how well it scales, given the size of ontologies. References 1. Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press (2007), iSBN 9780511717383 2. Baader, F., Brandt, S., Lutz, C.: Pushing the EL envelope. In: IJCAI. vol. 5, pp. 364–369 (2005) 3. Baader, F., Distel, F.: A finite basis for the set of el-implications holding in a finite model. In: ICFCA. pp. 46–61. Springer (2008) 4. Baader, F., Distel, F.: Exploring finite models in the description logic EL gfp. In: ICFCA. pp. 146–161. Springer (2009) 5. Baader, F., Ganter, B., Sertkaya, B., Sattler, U.: Completing description logic knowledge bases using formal concept analysis. In: Proc. of IJCAI. vol. 7, pp. 230–235 (2007) 6. Carpineto, C., Romano, G.: Concept data analysis: Theory and applications. Wiley (2004) 7. d’Aquin, M., Motta, E.: Extracting relevant questions to an RDF dataset using formal concept analysis. In: Proceedings of the sixth international conference on Knowledge capture. pp. 121–128. ACM (2011) 8. Ganter, B.: Attribute exploration with background knowledge. Theoretical Com- puter Science 217(2), 215 – 233 (1999) 9. Ganter, B., Wille, R.: Formal Concept Analysis. Springer, Berlin (1999) 10. Glimm, B.: Using SPARQL with RDFS and OWL entailment. Reasoning Web. Semantic Technologies for the Web of Data pp. 137–201 (2011) 11. Hayes, P.: RDF semantics. W3C Recommendation (2004) 12. Kirchberg, M., Leonardi, E., Tan, Y.S., Link, S., Ko, R.K., Lee, B.S.: Formal concept discovery in semantic web data. In: ICFCA. pp. 164–179. Springer-Verlag (2012) 13. Prud’hommeaux, E., Seaborne, A.: SPARQL query language for RDF. W3C Rec. (2008) 14. Sertkaya, B.: A survey on how description logic ontologies benefit from FCA. In: CLA. vol. 672, pp. 2–21 (2010) 15. Ter Horst, H.: Completeness, decidability and complexity of entailment for RDF schema and a semantic extension involving the OWL vocabulary. Web Semantics: Science, Services and Agents on the World Wide Web 3(2-3), 79–115 (2005) From Triadic FCA to Triclustering: Experimental Comparison of Some Triclustering Algorithms Dmitry V. Gnatyshak, Dmitry I. Ignatov, and Sergei O. Kuznetsov National Research University Higher School of Economics dignatov@hse.ru http://www.hse.ru Abstract. In this paper we show the results of the experimental com- parison of five triclustering algorithms on real-world and synthetic data wrt. resource efficiency and 4 quality measures. One of the algorithms, the OAC-triclustering based on prime operators, is presented first time in this paper. Interpretation of results for real-world datasets is provided. Keywords: formal concept analysis, triclustering, triadic data, data mining 1 Introduction Recently analysis of triadic data attracts more and more attention in Data Min- ing community [1,2,3,4,5]. One particular example is mining of so-called folk- sonomies, structures composed by three sets: users, objects and tags. One of the first attempts of such an analysis[1] was done within the framework of For- mal Concept Analysis (FCA) [6], namely in Triadic Formal Concept Analysis (TCA) [7]. Triclustering methods, which are objects of our study, allow one to simultaneously discover three-component homogeneous groups in the considered three-sets. For example, these triclusters can be used for community detection [8] and recommender algorithms [9]. As a consequence, we would like to investi- gate peculiarities and reveal advantages and drawbacks of various triclustering approaches to choose the optimal one depending on the task. In this paper we compare the following triclustering methods: object-attribute- condition triclustering (2 modifications including new one) [10,11], TriBox [2], spectral triclustering [11] and Trias algorithm [1]. Even though there are some recent efficient [12] and even more general algorithms than Trias [13], it is well-known to the FCA community and sometimes outperforms its competitors [12]. Moreover, the aim of the paper is not in comparison of different algorithms for triadic formal concepts generation, but it is rather in comparison of the original patterns with their various approximations (triclusters) in terms of the introduced quality measures. We also suggest investigating different matrix de- composition approaches, e.g. Boolean ones [3,4], in a further study; note that c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 249–260, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 250 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov Boolean matrix factorization can be considered as an approach to the reduction of the number of the resulting triconcepts. The rest of the paper is organised as follows. In section 2 we give main definitions and describe the triclustering methods selected for the comparison. Section 3 describes all the experiments and their results on real and synthetic data along with specially introduced quality measures. Section 4 concludes the paper and indicates some further research direction. 2 Triclustering models and methods Object-attribute-condition triclustering (OAC-triclustering) is based on Formal Concept Analysis [6] and its triadic extension, Triadic Formal Concept Anal- ysis (TCA) [7]. In this paper we consider 2 types of OAC-triclustering: box operator based (box OAC-triclustering) [10], and prime operator based (prime OAC-triclustering). The latter is introduced in this paper. The set of triclusters is generated one by one and complete enumeration strategy is used. First, we recall some basic notions of Formal Concept Analysis (FCA) [6]. Let G and M be sets, called the set of objects and attributes, respectively, and let I be a relation I ⊆ G × M : for g ∈ G, m ∈ M , gIm holds iff the object g has the attribute m. The triple K = (G, M, I) is called a (formal) context. If A ⊆ G, B ⊆ M are arbitrary subsets, then the Galois connection is given by the following derivation operators: A0 = {m ∈ M | gIm for all g ∈ A}, (1) B 0 = {g ∈ G | gIm for all m ∈ B}. The pair (A, B), where A ⊆ G, B ⊆ M , A0 = B, and B 0 = A is called a (formal) concept (of the context K) with extent A and intent B (in this case we have also A00 = A and B 00 = B). The concepts, ordered by (A1 , B1 ) ≥ (A2 , B2 ) ⇐⇒ A1 ⊇ A2 form a com- plete lattice, called the concept lattice B(G, M, I). 2.1 Object-attribute-condition triclustering Here let us define the box operators and describe box OAC-triclustering. We use a slightly different introduction of the main TCA notions because of their further technical usage. Let K = (G, M, B, I) be a triadic context, where G, M , and B are sets, and I is a ternary relation: I ⊆ G × M × B. In addition to set of objects, G, and set of attributes, M , we have B, a set of conditions. Derivation (prime) operators for a triple (e e eb) ∈ I from triadic context K g , m, can be defined as follows: ge0 := { (m, b) | (e g , m, b) ∈ I} (2) From Triadic FCA to Triclustering: Exp. Comp. of Some Triclustering Alg. 251 Fig. 1. g addition condition (e e 0 := { b | (e g , m) e b) ∈ I} g , m, (3) e 0 , eb0 , (e m g , eb)0 , (m, e eb)0 prime operators can be defined the same way. Now for a triple (e e eb) ∈ I let us define box operator ge (m g , m, e  and eb are introduced in the same way): ge := { g | ∃m(g, m) ∈ eb0 ∨ ∃b(g, b) ∈ m e 0} (4) Definition 1. Suppose K = (G, M, B, I) is a triadic context. For a triple (g, m, b) ∈ I a triple T = (g  , m , b ) is called a box operator based OAC-tricluster. Tra- ditionally, its components are respectively called extent, intent, and modus. The density of a tricluster T = (X, Y, Z) is defined as the fraction of all triples of I in X × Y × Z: |I ∩ (X × Y × Z)| ρ(T ) := (5) |X||Y ||Z| Definition 2. The tricluster T is called dense iff its density is not less than some predefined threshold, i.e. ρ(T ) ≥ ρmin . Let us elaborate on the structure of box operator based triclusters. Suppose K = (G, M, B, I) is a triadic context, and the triple (e e eb) ∈ I is considered. g , m,  Then object g will be added to ge iff {(g, m, e b) | b ∈ B ∧ (g, m,e b) ∈ I} = 6 ∅ ∨ {(g, m, eb) | m ∈ M ∧(g, m, eb) ∈ I} = 6 ∅. It is clear that this condition is equivalent to the one in eq. (4), and can be easily illustrated (Fig. 1): if at list one of the elements from “grey” cells is an element of I, then g is added to ge . The idea of box OAC-triclustering is to enumerate all triples of the ternary relation I for a context K generating a box operator based tricluster for each. If generated tricluster T was not added to the set of all triclusters T on previ- ous steps, then T is added to T . It is possible to implement hash-fuctions for triclusters in order to significantly optimize computational time by simplifying the comparison of triclusters. Also a minimal density threshold can be used. Prime OAC-triclustering extends the biclustering method from [14] to the triadic case. It uses prime operators (eq. 3) to generate triclusters. 252 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov Fig. 2. Prime operator based tricluster structure Definition 3. Suppose K = (G, M, B, I) is a triadic context. For a triple (g, m, b) ∈ I a triple T = ((m, b)0 , (g, b)0 , (g, m)0 ) is called a prime operator based OAC- tricluster. Its components are called respectively extent, intent, and modus. Prime based OAC-triclusters are more dense than box operator based ones. Their structure is illustrated on Fig. 2: every element corresponding to the “grey” cell is an element of I. Thus, prime operator based OAC-triclusters in a three- dimensional matrix form contain a cross-like structure of ones. It may also be useful to implement hash functions for triclusters. Algorithm 1 Algorithm for prime OAC-triclustering. Input: K = (G, M, B, I) — tricontext; ρmin — density threshold Output: T = {T = (X, Y, Z)} 1: T := ∅ 2: for all (g, m) : g ∈ G,m ∈ M do 3: P rimesObjAttr[g, m] = (g, m)0 4: end for 5: for all (g, b) : g ∈ G,b ∈ B do 6: P rimesObjCond[g, b] = (g, b)0 7: end for 8: for all (m, b) : m ∈ M ,b ∈ B do 9: P rimesAttrCond[m, b] = (m, b)0 10: end for 11: for all (g, m, b) ∈ I do 12: T = (P rimesAttrCond[m, b], P rimesObjCond[g, b], P rimesObjAttr[g, m]) 13: T key = hash(T ) 14: if T key 6∈ T .keys ∧ ρ(T ) ≥ ρmin then 15: T [T key] := T 16: end if 17: end for From Triadic FCA to Triclustering: Exp. Comp. of Some Triclustering Alg. 253 2.2 TriBox method The TriBox method [2] implements an optimization approach in tricluster gen- eration. Suppose K = (G, M, B, I) is a triadic context. The idea is to select some triple of I, take it for the initial tricluster, and then to modify its ex- tent, intent, and modus so that they covered a significant part of the context while maintaining high density. Thus, TriBox aims at finding a set of triclusters T = {T = (X, Y, Z)} that maximize the criterion 6. The resulting triclusters compose locally optimal solution for the trade-off problem between the density and the volume of various possible triclusters. f (T ) = ρ(T )2 |X||Y ||Z| (6) Once again, hash-functions for triclusters may be used for optimizations. 2.3 Spectral triclustering method Spectral triclustering method [11] is based on the graph partition problem. The idea is to represent the given triadic context as a tripartite graph and then recursively divide it. To find an optimal partitioning spectral clustering uses the second minimal eigenvector of the Laplacian matrix. Let us elaborate on this technique. Suppose K = (G, M, B, I) is a triadic context First we need to transform K into tripartite graph Γ = hV, Ei. Since I is a ternary relation it is only possible to represent K as a tripartite hypergraph without the loss of information. The following transformation technique is con- sidered: V := G t M t B, for each triple (g, m, b) ∈ I edges (g, m), (g, b) and (m, b) are added to E to form an undirected non-weighted graph. As the result some additional triples will be added to I after inverse transformation. Still it is clear that these triples will be added only in ,,dense“ areas of I thus possibly filling missing values and “optimizing” tricontext for methods aiming at finding formal concepts. Thus this technique is acceptable for solving the problem. After the transformation Laplacian matrix is built for Γ :   degree(vi ), if i = j Lij = −1, if i 6= j and ∃ edge (vi , vj ) (7)   0, otherwise where vi is the ith vertex of V. The second minimal eigenvector of L is an optimal solution of the continuous variant of the optimal partition problem for Γ (finding the minimal set Ẽ ⊆ E so that the graph Γ̃ = (V, E \ Ẽ) is not connected). The sign of each component of this vector indicates one of the 2 new connected components. For convenience we find the optimal partition vector as the approximation of the obtained vector by setting its components to ±1 values. In order to avoid partitioning of dangling vertices or small subgraphs the generalized eigenvalue problem must be considered ([11], Appendix I): Lv = λDv (8) 254 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov where D is a diagonal matrix containing vertices’ degrees on the main diagonal. Also, some minimum size constraint can be used to avoid too deep partition- ing. Since spectral triclustering is not able to generate the same tricluster more than once, it is not necessary to use hash functions to speed up the calculations. 2.4 Trias method Formally, Trias [1] is a method for finding triadic formal concepts that are closed 3-sets. Since triadic formal concepts can be interpreted as absolutely dense triclusters, this method was added to the study. Trias is based on the NextClosure algorithm that enumerates all formal concepts of the dyadic context in lexicographical order. In Trias this approach is extended to the triadic case and minimal support constraints are added (tri- clusters with too small extent, intent or modus are skipped). As well as spectral triclustering, Trias is not able to generate the same tricluster more than once. 3 Experiments 3.1 Noise-tolerance. In order to test noise-tolerance of the algorithms 26 triadic contexts have been generated. The initial context contains 30 objects, 30 attributes, 30 conditions, and 3 non-overlapping 10 × 10 × 10 cuboids of ones on the main diagonal in its three-dimensional matrix form. Then this context has been sequentially noised by the inversions with the probability of an inversion of a triple varying from 0.1 to 0.5 with 0.1 interval (the latter context can be called uniform context, because probability of (g, m, b) ∈ I is equal for every triple). There have been 5 such series of context. Table 1 contains the average number of triples and total density for these sets of contexts. Table 1. Noised contexts. Context # triples Density p=0 3000 0.1111 p = 0.1 5069.6 0.1873 p = 0.2 7169.4 0.2645 p = 0.3 9290.2 0.3440 p = 0.4 11412.8 0.4222 p = 0.5 13533.4 0.5032 The noise tolerance of an algorithm has been defined as the ability to build triclusters similar to initial cuboids. We used the Jaccard similarity coefficient From Triadic FCA to Triclustering: Exp. Comp. of Some Triclustering Alg. 255 to find the most similar tricluster t for the given cuboid c and their similarity. Total similarity has been defined as follows (C is a number of cuboids): c 1 X C |Gc ∩ Gt | |Mc ∩ Mt | |Bc ∩ Bt | sim(c) = max (9) C c=c t=t1 ,...,tT |Gc ∪ Gt | |Mc ∪ Mt | |Bc ∪ Bt | 1 Following size measure for spectral triclustering has been chosen: |X| + |Y | + |Z| Size(X, Y, Z) = (10) |G| + |M | + |B| smin has been set to 0.34 to stop at the triclusters of correct size. All of the methods have been implemented by authors and incorporated in a single triclustering toolbox in order to make the comparison more accurate. The toolbox has been implemented in C# using MS Visual Studio 2010/2012. All the experiments have been performed on Windows 7 SP1 x64 system equipped with an Intel Core i7-2600 @ 3.40GHz processor and 8 GB of RAM. AlgLib1 library was used for eigenvalue decomposition. The results of the experiments are represented on Figure 3. It is clear that every method has managed to successfully find initial cuboids, but the results quickly deteriorate for most of methods with the growth of inversion probability. TriBox has shown the best results as it tries to optimize the density-volume trade-off (which most probably is the best for the areas of the former cuboids for small error probability). Though prime OAC-triclustering has been also rather noise-tolerant, it generated significantly more triclusters (most likely the high number of triclusters is the reason for these results). All the other methods have been unable to provide significant results for noisy contexts. Moreover, as it was expected, no adequate triclusters were generated by any of the methods for the contexts with inversion probability 0.5. 3.2 Time, quantity, coverage, density and diversity. The experiments on the computation time, triclusters count, coverage, density, and diversity were conducted on the following contexts (Table 2): 1. Uniform context (∀(g, m, b) P ((g, m, b) ∈ I) = 0.1) 2. Top 250 movies context from www.imdb.com, objects — movie titles, at- tributes — tags, conditions — genres 3. Random sample of 3000 of the first 100000 triples of the www.bibsonomy.org dataset, objects — users, attributes — tags, conditions – bookmark names Parallel versions of OAC-triclustering algorithms and TriBox have also been implemented via parallelization of their outer loops and the computation time for them has been compared. Coverage and diversity measures were introduced as additional quality measures. Coverage is defined simply as a fraction of the triples of the context (alternatively, objects, attributes or conditions) included 1 http://www.alglib.net/ 256 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov Fig. 3. Similarity for the noise-tolerance experiments Table 2. Contexts for the experiments with 5 chosen evaluation measures. Context |G| |M | |B| # triples Density Uniform 30 30 30 2660 0.0985 IMDB 250 795 22 3818 0.00087 BibSonomy 51 924 2844 3000 0.000022 in at least one of the triclusters of the resulting set. To define diversity we will use a binary function of 2 triclusters intersect(Ti , Tj ) that equals to 1 if both triclusters Ti and Tj have nonempty intersection of the sets of contained triples, and 0 otherwise. It is also possible to define intersect for the sets of objects, attributes and conditions. For instance, intersectG (Ti , Tj ) is equal to 1 if triclusters Ti and Tj have nonempty intersection of their extents, and 0 otherwise. Now we can define diversity of the tricluster set T : P P j i 24 hrs Trias 110554 - 1305 100.00 100.00 99.98 91.70 99.78 99.92 3.3 Results Trias is one of the most time consuming algorithms compared in the paper along with TriBox and SpecTric for large contexts. Though the resulting triclus- ters (triconcepts) can easily be interpreted their number and small size make it impossible to understand the general structure of the context. Since all tricon- cepts have been generated and thus every triple has been covered, the coverage is equal to 1. Since the concepts are small general diversity is rather high. Still, the set diversity depends on the size of the corresponding set: the smaller the set — the greater the chance of intersection and the lower the diversity. Examples of the triconcepts for the IMDB context: 1. {The Princess Bride (1987), Pirates of the Caribbean: The Curse of the Black Pearl (2003)}, {Pirate}, {Fantasy, Adventure} 2. {Platoon (1986), Letters from Iwo Jima (2006)}, {Battle}, {Drama, War} 3. {V for Vendetta (2005)}, {Fascist, Terrorist, Government, Secret Police , Fight}, {Action, Sci-Fi, Thriller} SpecTric has displayed rather good computation time only for small contexts. Most of this time is used for the eigenvalue decomposition of Laplacian matrix. Thus we intend to test some alternative linear algebra libraries in the toolbox 258 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov and compare the results as well. The resulting triclusters can be reasonably interpreted, though their average density is low. Their small number makes this method good for dividing the context into several non-overlapping parts. Also the diversities for SpecTric are always equal to 1 because the method generates partitions of the initial context. High diversity though leads to low coverage. Examples of the triclusters for the IMDB context: 1. ρ = 23.08%, {Alien (1979), The Shining (1980), The Thing (1982), The Ex- orcist (1973)}, {Spaceship, Egg, Parasite, Creature, Caretaker, Colorado, Ac- tress, Blood, Helicopter, Scientist, Priest, Washington D.C., Faith}, {Horror} 2. ρ = 2.09%, {The Shawshank Redemption (1994), The Godfather (1972), The Godfather: Part II (1974), . . . , Bonnie and Clyde (1967), Arsenic and Old Lace (1944)}, {Prison, Cuba, Business, 1920s, . . . , Texas, Cellar}, {Crime, Thriller } TriBox in this study generates the best triclusters. The only drawback of this method is high computation time, though the use of the parallel version of TriBox can significantly lower it for multi-core processors. Average density of the resulting triclusters is rather high, they have good interpretability. Coverage and diversities are also high in most of the cases. The only exception is set diversity in the situation when some of the sets are small, just as for Trias. Examples of the triclusters for the IMDB context: 1. 100%, {Million Dollar Baby (2004), Rocky (1976), Raging Bull (1980)}, {Boxer, Boxing}, {Drama, Sport} 2. 83.33%, {The Sixth Sense (1999), The Exorcist (1973), The Silence of the Lambs (1991)}, {Psychiatrist}, {Drama, Thriller} 3. 33.33%, {Platoon (1986), All Quiet on the Western Front (1930), Glory (1989), Apocalypse Now (1979), Lawrence of Arabia (1962), Saving Private Ryan (1998), Paths of Glory (1957), Full Metal Jacket (1987)}, {Army, Gen- eral, Jungle, Vietnam, Soldier, Recruit}, {Drama, Action, War} Box OAC-triclustering has been not that successful. Despite being rather fast (only OAC-triclustering based on prime operators and SpecTric for small con- texts are faster) and having good parallel version the resulting triclusters are quite large, have relatively low density and many intersections. It leads to the high coverage (1 for rhomin = 0) and rather low diversities. Also these triclus- ters are difficult to interpret (unlike SpecTric’s triclusters that also have large size and low density). In many cases extent sizes are small. Examples are given below: 1. 0.9%, {The Shawshank Redemption (1994), The Godfather (1972), Ladri di biciclette (1948), Unforgiven (1992), Batman Begins (2005), Die Hard (1988), . . . , The Green Mile (1999), Sin City (2005), The Sting (1973)}, {Prison, Murder, Cuba, FBI, Serial Killer, Agent, Psychiatrist,. . . , Window, Suspect, Organized Crime , Revenge, Explosion, Assassin, Widow}, {Crime, Drama, Sci-Fi, Fantasy, Thriller, Mystery} From Triadic FCA to Triclustering: Exp. Comp. of Some Triclustering Alg. 259 2. 1.07%, {The Great Escape (1963), Star Wars: Episode VI - Return of the Jedi (1983), Jaws (1975), Batman Begins (2005), Blade Runner (1982), Die Hard (1988),. . . , Metropolis (1927), Sin City (2005), Rebecca (1940)}, {Prison, Murder, Cuba, FBI, Serial Killer, Agent, Psychiatrist,. . . , Shower, Alimony, Phoenix Arizona, Assassin, Widow}, {Drama, Thriller, War} Prime OAC-triclustering showed rather good results. It is one of the fastest algorithms (though some additional optimizations specified for unparallel version made parallelization inefficient for small contexts). The number of triclusters is high, but they are easily interpreted. Once again for ρmin = 0 coverage is equal to 1, but remains high for different ρmin . At the same time diversities are also rather high. Examples of the triclusters for the IMDB context are given below: 1. 36%, {The Shawshank Redemption (1994), Cool Hand Luke (1967), Ameri- can History X (1998), A Clockwork Orange (1971), The Green Mile (1999)}, {Prison, Murder, Friend, Shawshank, Banker}, {Crime, Drama} 2. 56, 67%, {The Godfather: Part II (1974), The Usual Suspects (1995)}, {Cuba, New York, Business, 1920s, 1950s}, {Crime, Drama, Thriller} 3. 60%, {Toy Story (1995), Toy Story 2 (1999)}, {Jealousy, Toy, Spaceman, Little Boy, Fight}, {Fantasy, Comedy, Animation, Family, Adventure} 4 Conclusion We compared several different triclustering approaches and showed that there is no algorithm-winner with respect to the considered criteria. Also, we can con- clude that either (dense) prime OAC-triclustering or TriBox is a good alternative for TCA approach because the total number of triclusers for real data example is drastically less than the number of triconcepts. The proposed algorithm has a good scalability on real-world data and shows acceptable noise-tolerance level. Probably investigated spectral hierarchical partitioning of ternary relations can be a good alternative of concept-based triclustering as a tool for fast exploratory (preliminary) analysis. Our further work on triclustering will go in the following directions: – developing a unified theoretical framework for n-clustering, – mixing several constraint-based approaches to triclustering (e.g., mining dense triclusters first and then frequent tri-sets in them), – finding better approaches for estimating tricluster’s density, – taking into account the nature of real-world data for optimization (their sparsity, value distribution, etc.). – investigation of the existing approaches and developing their extensions to triadic numerical data for comparison purposes, – applying triclustering in recommender systems and social network analysis. 260 Dmitry V. Gnatyshak, Dmitry I. Ignatov and Sergei O. Kuznetsov Acknowledgements. We would like to thank our colleagues Boris Mirkin, Jonas Poelmans, Leonid Zhukov, Andrey Kramarenko, Svetlana Vasyukova for helpful comments, and Ruslan Magizov (box OAC-triclustering) and Zarina Sek- inaeva (SpecTric) for their programming support. This research was carried out in 2013 within a project of the Basic Research Program of the National Research University Higher School of Economics (Moscow) and affiliated Laboratory of Intelligent Systems and Structural Analysis. References 1. Jäschke, R., Hotho, A., Schmitz, C., Ganter, B., Stumme, G.: Trias–an algorithm for mining iceberg tri-lattices. In: Proceedings of the Sixth International Confer- ence on Data Mining. ICDM ’06, Washington, DC, USA, IEEE Computer Society (2006) 907–911 2. Mirkin, B., Kramarenko, A.V.: Approximate bicluster and tricluster boxes in the analysis of binary data. [15] 248–256 3. Miettinen, P.: Boolean tensor factorization. In Cook, D., Pei, J., Wang, W., Zaı̈ane, O., Wu, X., eds.: ICDM 2011, 11th IEEE International Conference on Data Mining, Vancouver, Canada, IEEE Computer Society, CPS (2011) 447–456 4. Belohlávek, R., Glodeanu, C., Vychodil, V.: Optimal factorization of three-way binary data using triadic concepts. Order 30(2) (2013) 437–454 5. Kaytoue, M., Kuznetsov, S., Macko, J., Napoli, A.: Biclustering Meets Triadic Concept Analysis. Ann. of Math. and Art. Intell. (2013) (to appear). 6. Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. 1st edn. Springer-Verlag New York, Inc., Secaucus, NJ, USA (1999) 7. Lehmann, F., Wille, R.: A triadic approach to formal concept analysis. In: Proceed- ings of the Third International Conference on Conceptual Structures: Applications, Implementation and Theory, London, UK, Springer-Verlag (1995) 32–43 8. Gnatyshak, D., Ignatov, D.I., Semenov, A., Poelmans, J.: Gaining insight in social networks with biclustering and triclustering. In: BIR. Volume 128 of Lecture Notes in Business Information Processing., Springer (2012) 162–171 9. Nanopoulos, A., Rafailidis, D., Symeonidis, P., Manolopoulos, Y.: Musicbox: Per- sonalized music recommendation based on cubic analysis of social tags. IEEE Transactions on Audio, Speech & Language Processing 18(2) (2010) 407–412 10. Ignatov, D.I., Kuznetsov, S.O., Magizov, R.A., Zhukov, L.E.: From triconcepts to triclusters. [15] 257–264 11. Ignatov, D.I., Kuznetsov, S.O., Poelmans, J., Zhukov, L.E.: Can triconcepts be- come triclusters? International Journal of General Systems 42(6) (2013) 572–593 12. Trabelsi, C., Jelassi, N., Ben Yahia, S.: Scalable mining of frequent tri-concepts from folksonomies. In Tan, P.N., Chawla, S., Ho, C., Bailey, J., eds.: Advances in Knowledge Discovery and Data Mining. Volume 7302 of Lecture Notes in Computer Science. Springer Berlin Heidelberg (2012) 231–242 13. Cerf, L., Besson, J., Robardet, C., Boulicaut, J.F.: Closed patterns meet n-ary relations. ACM Trans. Knowl. Discov. Data 3 (March 2009) 3:1–3:36 14. Ignatov, D.I., Kuznetsov, S.O., Poelmans, J.: Concept-based biclustering for inter- net advertisement. In: ICDM Workshops, IEEE Computer Society (2012) 123–130 15. Rough Sets, Fuzzy Sets, Data Mining and Granular Computing - 13th International Conference, 2011. Proceedings. In: RSFDGrC. Volume 6743 of Lecture Notes in Computer Science., Springer (2011) A lattice-free concept lattice update algorithm based on ∗CbO? Jan Outrata Dept. Computer Science, Palacky University, Olomouc 17. listopadu 12, CZ-77146 Olomouc, Czech Republic jan.outrata@upol.cz Abstract. Updating a concept lattice when introducing new objects to input data can be done by any of the so-called incremental algorithms for computing concept lattice of the data. The algorithms use and update the lattice while introducing new objects one by one. The present concept lattice of input data without the new objects is thus required before the update. In this paper we propose an efficient algorithm for updating the lattice from the present and new objects only, not requiring the possibly large concept lattice of present objects. The algorithm results as a modification of the CbO algorithm for computing the set of all formal concepts, or its modifications like FCbO, PCbO or PFCbO, to compute new and modified formal concepts only and the changes of the lattice order relation when input data changes. We describe the algorithm and present an experimental evaluation of its performance and a comparison with AddIntent incremental algorithm for computing concept lattice. 1 Introduction In applications of Formal Concept Analysis (FCA) [3, 16] the input data are often not fixed during the life of the application and concept lattice is not computed from the data once. The changes of input data result in corresponding changes of concept lattice of the data and to compute the new, changed, concept lattice we would like to compute the changes only and “update” the present lattice instead of recomputing the whole lattice from new, changed, input data. The particular change of object-attribute relational data processed in FCA, namely the introduction of new objects (described by particular values of at- tributes), can be handled by the so-called incremental algorithms for computing concept lattice, Norris’s [13], Object Intersections [2] or, more recent, AddIn- tent [12], for instance, or the incremental lattice update algorithms presented in [2]. The algorithms build/update the lattice incrementally by adding objects of input data, one by one, to present concept lattice computed so far from al- ready processed objects, starting from the first object and empty concept lattice. ? Support by the ESF project No. CZ.1.07/2.3.00/20.0059, the project co-financed by the European Social Fund and the state budget of the Czech Republic, is acknowl- edged. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 261–274, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 262 Jan Outrata The lattice is required for the computation and the present lattice of input data before the introduction of new objects would be required for the update of the lattice when adding the objects. However, that lattice can be large, the appli- cation may not store it (it can be even impossible due to space requirements) or it can be stored at different (presentation) place than the computation place, or there can be other drawbacks and difficulties of keeping the whole lattice. Moreover, handling of the other changes of input data like deletion or alteration (i.e. changing of values of attributes) of existing objects would call for more or less (depending on the particular algorithm) extensive modifications of the incremental algorithm. In the following we propose efficient algorithm for updating the concept lat- tice, i.e. computing the lattice changes resulting by input data changes, from the present (already processed) and new objects only, not requiring the concept lattice of present objects. The algorithm results as a modification of Kuznetsov’s Close-by-One (CbO) algorithm [8–10] for computing the set of all formal con- cepts or any of its recent derivatives including FCbO [14], PCbO [7] or PFCbO [6]. When introducing new objects to input data the modified algorithm computes and outputs the resulting new and modified formal concepts only and the respec- tive changes in the lattice order relation (pairs of formal concepts to be created or deleted). Note that (1) new formal concept here is a concept in new data with (some of the) introduced objects in its object set (extent) and attribute set (intent) not equal to intent of any concept in the data before the update and modified formal concept is a concept in new data with the same intent as some existing concept in data before update and enlarging its extent by (some of the) introduced objects, other formal concepts in new data are called old; (2) since the concept lattice (before update) is not required by the algorithm the computed changes in the lattice order relation are output only and have to be applied where the (part of the) lattice is stored and (3) introducing new ob- jects to input data cannot result in removal of formal concepts from the concept lattice [4, 15]. Moreover, considering instead the new objects to be some of the objects of input data to be deleted from the data, the present objects to be the set of objects of input data after the deletion and the computed formal con- cepts to be resulting concepts to remove or modify together with the “inverse” changes of the lattice order relation, we have easily handled also the change of input data consisting of deleting existing objects. The change by altering objects can be handled by first deleting the objects and then by introducing the altered objects, interpreting the output formal concepts accordingly. Finally, changes of input data by introducing new and deleting or altering existing attributes are completely analogical and can be handled (better than by altering objects) by an algorithm re-described with objects and attributes switched or by the present algorithm with objects and attributes switched in input data (transposed data) and in output formal concepts. The algorithm is described in Section 2, for the case of changing input data by introducing new objects, including an illustrative example. In Section 3 we present an experimental evaluation of performance of the algorithm and a com- A lattice-free concept lattice update algorithm based on *CbO 263 parison with AddIntent algorithm [12], which is considered one of the up-to-date most efficient incremental algorithms for computing concept lattice. 2 The algorithm We describe the algorithm as a modification of Fast Close-by-One (FCbO) al- gorithm [14], as it happens to be one of the up-to-date most efficient (sequen- tial/serial) derivatives of CbO [5]. In essence, the modification equally applies also to other CbO derivatives and CbO itself. A deep knowledge of FCbO is not required in the description, however, basic knowledge is beneficial. The modifi- cation consists of two parts: (1) computing new and modified formal concepts only when introducing new objects to input data and (2) determining changes in the lattice order relation. We describe the parts separately in Sections 2.1 and 2.2. In the descriptions below we assume the reader is familiar with basics of FCA, see [2, 3] for reference. Input object-attribute data (formal context) is denoted by the triplet hX, Y, Ii, with assumed finite nonempty sets of objects X = {0, 1, . . . , m} and attributes Y = {0, 1, . . . , n}, and I ⊆ X × Y being an incidence relation with hx, yi ∈ I saying that object x ∈ X has attribute y ∈ Y . Concept-forming operators defined on I as usual [3] are denoted by ↑I : 2X 7→ 2Y and ↓I : 2Y 7→ 2X , B(X, Y, I) denotes the set of all formal concepts in I and ≤ the partial order relation on B(X, Y, I) forming together a concept lattice. 2.1 New and modified concepts In this section we describe how to compute new and modified formal concepts when introducing new objects to input data. Let us suppose we are introducing to input data hX, Y, Ii (finite nonempty set of) new objects XN = {m + 1, . . . , m0 } not present in X (XN ∩ X = ∅), sharing (finite nonempty set of) attributes YN = {i, . . . , k}. We do not assume any overlap of YN and Y (YN can contain new attributes not present in Y ) but in usual scenario of introducing new objects to input data we have YN ⊆ Y . Denote the incidence relation between XN and YN by N ⊆ XN × YN and the new input data with new objects added by the triplet hX 0 , Y 0 , I 0 i, where X 0 = X ∪ XN = {0, . . . , m0 }, Y 0 = Y ∪ YN = {0, . . . , n0 }, n0 = k if k > n and n0 = n otherwise, and I 0 ⊆ X 0 ×Y 0 such that I 0 ∩(X ×Y ) = I, I 0 ∩ (XN × YN ) = N and I 0 ∩ (X × (YN \ Y )) = I 0 ∩ (XN × (Y \ YN )) = ∅. Hence I 0 is the union of I and N both extended to X 0 and Y 0 . First, observe that attributes of YN which are not shared by any of objects XN cannot participate in any new nor modified formal concept of B(X 0 , Y 0 , I 0 ), with the exception of formal concept hY 0↓I 0 , Y 0 i. Hence we will assume in the following, without loss of generality, that all attributes of YN are shared by at least one object from XN . For an algorithm for computing new and modified formal concepts only it is then sufficient to process only attributes YN . Now, for any B 0 = B ↓I 0 ↑I 0 ⊆ YN , if B 0 = B 00 = B ↓I ↑I then the formal concept hA0 , B 0 i ∈ B(X 0 , Y 0 , I 0 ) with the same intent B 0 = B 00 as formal con- cept hA00 , B 00 i ∈ B(X, Y, I) is a modified formal concept enlarging the extent of 264 Jan Outrata Algorithm 1: Procedure UpdateFastGenerate- From(hA, Bi, y, {Ny | y ∈ Y }), cf. [14] // list hA, Bi, e.g., print it on screen or store it 1 if (A ∩ X)↑I 0 = B then 2 if (A ∩ X) ⊂ A then 3 list hA, Bi as modified; 4 end 5 else 6 list hA, Bi as new; 7 end 0 0 8 if B = Y or y > n then 9 return 10 end 0 11 for j from y upto n do 12 set Mj to Nj ; // go through attributes from YN only 13 if j 6∈ B and j ∈ YN and Nj ∩ Yj ⊆ B ∩ Yj then 14 set C to A ∩ {j}↓I 0 ; 15 set D to C ↑I 0 ; 16 if B ∩ Yj = D ∩ Yj then 17 put hhC, Di, ji to queue; 18 else 19 set Mj to D; 20 end 21 end 22 end 23 while get hhC, Di, ji from queue do 24 UpdateFastGenerateFrom(hC, Di, j + 1, {My | y ∈ Y }); 25 end 26 return hA00 , B 00 i by objects A0 \ A00 ⊆ XN if A0 ⊃ A00 (otherwise hA0 , B 0 i = hA00 , B 00 i is old). Otherwise, if B 0 ⊂ B 00 = B ↓I ↑I (since the ⊃ inclusion cannot happen since X 0 ⊃ X) then the formal concept hA0 , B 0 i ∈ B(X 0 , Y 0 , I 0 ) is a new formal concept and the formal concept hA00 , B 00 i ∈ B(X, Y, I) is called its generator [4, 15]. In both cases, A0 ∩ X = A00 . We use the above presented ideas to modify FCbO algorithm described in [14] as recursive procedure FastGenerateFrom. The procedure computes and lists the set B(X, Y, I) of all formal concepts of input data hX, Y, Ii. We modify the procedure to compute and list the new and modified formal concepts of hX 0 , Y 0 , I 0 i only when adding new objects XN described by attributes YN to hX, Y, Ii. The modified procedure UpdateFastGenerateFrom is depicted in Algorithm 1. The original procedure FastGenerateFrom is thoroughly de- scribed in [14] so we describe only the modifications introduced in Update- FastGenerateFrom. A lattice-free concept lattice update algorithm based on *CbO 265 The procedure accepts as its arguments a formal concept hA, Bi (an initial formal concep t), an attribute y ∈ YN (first attribute to be processed) and a set {Ny ⊆ Y | y ∈ Y } of subsets of attributes Y (see [14] for the meaning of the set), and uses local variables queue as a temporary storage for computed formal concepts and My (y ∈ Y ) as sets of attributes which are used in pl ace of the third argument for further invocations of the procedure. After invocation, the procedure recursively descends through the space of new and modified for- mal concepts of hX 0 , Y 0 , I 0 i resulted by adding new objects XN described by attributes YN to hX, Y, Ii. When invoked with hA, Bi and y ∈ YN (first attribute to be processed) and {Ny | y ∈ Y }, UpdateFastGenerateFrom first checks if (A ∩ X)↑I 0 equals B (line 1), in which case, if further (A∩X) ⊂ A (line 2), hA, Bi is a modified formal concept (see above) and it is listed as such. In the other case, hA, Bi is a new formal concept. Then the procedure behaves exactly as the original procedure FastGenerateFrom, see [14] for full description, with the exception that it goes through attributes j ∈ YN only (line 13). Let us recall that the set Yj ⊆ Y 0 is defined by Yj = {y ∈ Y 0 | y < j}. In order to list all new and modified formal concepts of hX 0 , Y 0 , I 0 i which are not formal concepts of hX, Y, Ii, each of them exactly once, we invoke Up- dateFastGenerateFrom with h∅↓I 0 , ∅↓I 0 ↑I 0 i, y being the first attribute in YN and {Ny = ∅ | y ∈ Y } as its initial arguments. The correctness of Algorithm 1 follows from the correctness of FCbO algorithm [14] and the above description of its modification. Example 1. We illustrate Algorithm 1 on the following example. Consider an input data given in an usual way (rows correspond to objects, columns to at- tributes and table entries indicate whether an object has an attribute) by the upper part, rows 0 to 2, of the table depicted below (left). The data induces 8 formal concepts C1 to C8 depicted on the right. C1 = h{0, 1, 2}, ∅i, C5 = h{0}, {0, 2, 3}i, C2 = h{0, 2}, {0}i, C6 = h{1, 2}, {1, 5}i, I 0 1 2 3 4 5 C3 = h{2}, {0, 1, 5}i, C7 = h{1}, {1, 3, 4, 5}i, 0 × × × C4 = h∅, {0, 1, 2, 3, 4, 5}i, C8 = h{0, 1}, {3}i. 1 × × × × 2 × × × C1∗ = h{0, 1, 2, 3, 4}, ∅i, C6∗ = h{1, 2, 3}, {1, 5}i, C2∗ = h{0, 2, 4}, {0}i, C11 = h{1, 3}, {1, 3, 5}i, 3 × × × 4 × × × × C5∗ = h{0, 4}, {0, 2, 3}i, C8∗ = h{0, 1, 3, 4}, {3}i, C9 = h{4}, {0, 2, 3, 5}i, C12 = h{1, 3, 4}, {3, 5}i, C10 = h{2, 4}, {0, 5}i, C13 = h{1, 2, 3, 4}, {5}i. 266 Jan Outrata Now we introduce to the data two new objects represented by rows 3 and 4 of the lower part of the table. The introduction results in induction of 5 new formal concepts C9 to C13 and 5 modified formal concepts C ∗ depicted below the old formal concepts. The concepts are listed down-right in order in which they are listed by procedure UpdateFastGenerateFrom. Remark 1. Algorithm 1 can be easily used to list all formal concepts of input data hX 00 , Y 00 , I 00 i incrementally, i.e. processing the data object by object, as in- cremental algorithms for computing concept lattice do. Namely, we invoke proce- dure UpdateFastGenerateFrom with initial arguments repeatedly Si−1 for each object i ∈ X 00 = {0, . . . , n00 }, setting hX, Y, Ii := h{0, . . . , i − 1}, j=0 {j}↑I 00 , I ∩ Si−1 ({0, . . . , i − 1} × j=0 {j}↑I 00 )i, XN := {i}, YN := {i}↑I 00 and N := XN × YN for each invocation, and filter out listed modified formal concepts listing new formal concepts only. Such a computation of all formal concepts of data is, how- ever, quite inefficient due to many repeated (though efficient) computations of formal concepts listed as modified by procedure UpdateFastGenerateFrom, see the performance evaluation in Section 3. The concepts are, moreover, fil- tered out from the listing but, however, necessary to compute in order to decide whether a concept is new or modified. Incremental algorithms iterate over (so far) incrementally computed and stored concept lattice to decide and compute new formal concepts which is more efficient. On the other hand, as discussed in introduction Section 1, the concept lattice is required for the computation and must be stored by the incremental algorithms, while Algorithm 1 requires input data only/instead and does not need to store anything. 2.2 Lattice order relation In this section we describe how to determine the changes in the concept lattice order relation which need to be done with the addition of new formal concepts to the lattice. Note that the modified formal concepts cannot raise a change in the relation since attribute set (intent) of a modified concept remains unchanged with introduction of new objects to input data, as discussed above. In order to determine the changes in concept lattice order relation by the modified FCbO algorithm introduced in previous Section 2.1, we first have to determine the concept lattice order relation alone since the FCbO algorithm, as well as the modification, computes the set of formal concepts of input data only. So, in the following, we describe an extension of Fast Close-by-One (FCbO) algorithm [14] to determine the concept lattice order relation ≤ on the set of all formal concepts B(X, Y, I) of input data hX, Y, Ii computed by the original algorithm, i.e. making an algorithm for computing concept lattice of hX, Y, Ii. In fact, we will not determine the whole order relation but rather its cover relation. Recall that the cover relation on B(X, Y, I) for ≤ is defined such that a formal concept hA2 , B2 i covers a formal concept hA1 , B1 i if hA1 , B1 i ≤ hA2 , B2 i and there is no formal concept hA3 , B3 i distinct from both hA1 , B1 i and hA2 , B2 i such that hA1 , B1 i ≤ hA3 , B3 i ≤ hA2 , B2 i, i.e. the cover relation is the transitive reduct of ≤. And since we do not store and use the computed concept lattice in A lattice-free concept lattice update algorithm based on *CbO 267 our algorithm for updating the lattice, we will not store and use the computed formal concepts nor the concept lattice order cover relation in the extended FCbO algorithm as well. Besides listing the formal concepts, we will only list the pairs of formal concepts to be created or deleted in the relation at the place where it is stored. We now describe how to extend FCbO algorithm, as described in [14], to determine the concept lattice order cover relation on the set of computed for- mal concepts, i.e. to compute concept lattice. We can use the pseudocode in Algorithm 1 if we look apart from the modifications to FCbO introduced there (the check whether hA, Bi is new or modified formal concept between lines 1 and 6 and going through attributes from YN only at line 12), in which case we obtain the original procedure FastGenerateFrom from [14]. We will need a little knowledge of FCbO (or CbO) now. The algorithm, see the pseudocode of procedure UpdateFastGenerateFrom, computes a formal concept hC, Di = hA ∩ {j}↓ , (A ∩ {j}↓ )↑ i (lines 14 and 15) from a formal concept hA, Bi for all attributes j ∈ Y such that y ≤ j ≤ n which are not present in B (lines 12 and 13). Certainly hC, Di ≤ hA, Bi. If hC, Di passes the canonicity test (line 16) and is listed we list the pair hhC, Di, hA, Bii as to be created in the cover rela- tion in spite of that the formal concepts in it need not fulfill the definition of cover relation. We do it since a test for the fulfilment would be too expensive compared to that in the case of nonfulfilment we will list the pair later again as to be deleted from the relation. Next, since further formal concepts hC ∩ {j 0 }↓ , (C ∩ {j 0 }↓ )↑ i are computed from hC, Di in the next recursive invocation of(Update)FastGenerateFrom for attributes j 0 ≥ j + 1 (j + 1 is passed in y argument in the invocation, line 20), in order to list pairs hhE, F i, hC, Dii to be created in the cover re- lation, we determine formal concepts hE, F i = hC ∩ {i}↓ , (C ∩ {i}↓ )↑ i for all attributes j − 1 ≥ i ≥ 0 (which are not present in D). Due to the order in which formal concepts are computed by FCbO, formal concepts hE, F i were already computed (and listed) in some of the previous stages of the algorithm before the computation of hC, Di. However, since formal concepts are not stored in FCbO nor in our extension, we have to compute the concepts hE, F i repeatedly. Again, formal concepts hE, F i, hC, Di in the pairs need not fulfill the definition of cover relation. Here, however, we can use a cheap test known from Lindig’s NextNeighbor algorithm [11], but limited to attributes 0, . . . , j − 1 ∈ Y . The test is based on the fact that a formal concept hC, Di 6= hY ↓ , Y i covers a for- mal concept hE, F i = hC ∩ {i}↓ , (C ∩ {i}↓ )↑ i, i 6∈ D iff (C ∩ {k}↓ )↑ = F for all attributes k ∈ F \ D (cf. Theorem 1 in [11]). If the test passes, we list the pair hhE, F i, hC, Dii as to be created in the cover relation. We do it even for formal concepts in the pair which pass the test and do not fulfill the definition of cover relation due to the limitation of the test to attributes 0, . . . , j − 1 ∈ Y for the same reason as above for pairs hhC, Di, hA, Bii. To resolve these cases we simply, together with listing the pair hhE, F i, hC, Dii, list as to be deleted from the relation the pair hhE, F i, hA, Bii which does not fulfill the definition of the relation and could have been listed as to be created in the cover rela- 268 Jan Outrata tion in this or the previous stage (previous recursive invocation of procedure (Update)FastGenerateFrom) of the extended algorithm. The justification of this and that all such pairs will be listed as to be deleted from the cover relation is postponed to the full version of the paper. The modified procedure LatticeFastGenerateFrom, which implements the above presented ideas to procedure FastGenerateFrom to extend FCbO algorithm to determine the concept lattice order cover relation on the set of formal concepts computed by FCbO, i.e. to compute concept lattice, is depicted in Algorithm 2. As with the procedure UpdateFastGenerateFrom in Sec- tion 2.1, we describe only the modifications introduced to FastGenerateFrom. The original FCbO algorithm remains in essence intact, including its argu- ments and local variables, all the modifications to original procedure FastGen- erateFrom are in the computed formal concept hC, Di processing part before the recursive call of the procedure (line 28), between lines 16 and 29. First note that the listing of hC, Di moved from the beginning of the procedure (see Algo- rithm 1) here, resulting effectively in the need to list the formal concept passed in the initial invocation of the procedure before the invocation. Note also that this move does not change the order of listed formal concepts. Then, after listing the pair hhC, Di, hA, Bii as to be created in the cover relation, between lines 18 and 27, formal concepts hE, F i = hC ∩{i}↓ , (C ∩{i}↓ )↑ i, i 6∈ D covered by hC, Di are re-computed (lines 20 and 21) and listed in pairs hhE, F i, hC, Dii as to be created in the cover relation, for attributes j − 1 ≥ i ≥ 0. The test of cover- ing (line 23) is performed using the min local variable in a slightly modified form borrowed from the original description of Lindig’s NextNeighbor algorithm in [11]. With listing of hhE, F i, hC, Dii, the pair hhE, F i, hA, Bii is listed as to be deleted from the cover relation as discussed above. In order to output concept lattice of hX, Y, Ii, that means to list all for- mal concepts of hX, Y, Ii, each of them exactly once, together with all pairs of formal concepts to create or delete (if the pair exists) in order to obtain the cover relation of concept lattice of hX, Y, Ii, each pair of formal concepts in the cover relation listed exactly once, we first list h∅↓ , ∅↓↑ i and then invoke Lat- ticeFastGenerateFrom with h∅↓ , ∅↓↑ i, y = 0 and {Ny = ∅ | y ∈ Y } as its initial arguments. The correctness of Algorithm 2 follows from the correctness of FCbO algorithm [14] and the above description of its extension. Determination of changes in (the cover relation of) concept lattice of hX, Y, Ii needed to be done in reaction to the introduction of new objects to input data is then a matter of merging the Algorithms 1 and 2. In addition to that we list, for each new formal concept hC, Di computed from formal concept hA, Bi (or hC, Di = h∅↓I 0 , ∅↓I 0 ↑I 0 i) and its generator hE, F i = hC ∩ X, (C ∩ X)↑I 0 i, with listing of hC, Di also pairs hhF ↓I 0 , F i, hC, Dii as to be created in the cover rela- tion and hhF ↓I 0 , F i, hA, Bii as to be deleted from the cover relation. The pairs will then not be listed in the extension introduced in procedure LatticeFast- GenerateFrom. Due to space limitations of the paper, the merged algorithm is postponed to the full version of the paper. A lattice-free concept lattice update algorithm based on *CbO 269 Algorithm 2: Procedure LatticeFastGenerate- From(hA, Bi, y, {Ny | y ∈ Y }), cf. [14] 1 if B = Y or y > n then 2 return 3 end 4 for j from y upto n do 5 set Mj to Nj ; 6 if j 6∈ B and Nj ∩ Yj ⊆ B ∩ Yj then 7 set C to A ∩ {j}↓ ; 8 set D to C ↑ ; 9 if B ∩ Yj = D ∩ Yj then 10 put hhC, Di, ji to queue; 11 else 12 set Mj to D; 13 end 14 end 15 end 16 while get hhC, Di, ji from queue do // list hC, Di, e.g., print it on screen or store it // list hhC, Di, hA, Bii as to be created in the cover relation, e.g., print C and A (or D and B) on screen or store them 17 set min to Yj ; 18 for i from j − 1 downto 0 do 19 if i 6∈ D then 20 set E to C ∩ {i}↓ ; 21 set F to E ↑ ; 22 set min to min \ {i}; 23 if D ∩ Yj ∩ min = F ∩ Yj ∩ min then // list hhE, F i, hC, Dii as to be created in the cover relation // list hhE, F i, hA, Bii as to be deleted from the cover relation 24 set min to min ∪ {i}; 25 end 26 end 27 end 28 LatticeFastGenerateFrom(hC, Di, j + 1, {My | y ∈ Y }); 29 end 30 return Example 2. We illustrate Algorithm 2 and the merged algorithm for the input data from Example 1. Below (top left) there is depicted concept lattice consisting of the 8 formal concepts C1 to C8 , with the concepts and pairs of concepts in cover relation of the lattice, listed in the order in which they are listed by procedure LatticeFastGenerateFrom, below the lattice. 270 Jan Outrata Next (to the right) to the lattice there is then the concept lattice and below the listing of the 8 formal concepts the listing of the 5 new formal concepts C9 to C13 and changes in the cover relation after the introduction of the two new objects to the data. The changes are depicted in bold face in the lattice and the listing of concepts and pairs of concepts in the changes are again listed down-right in order in which they would be listed by a procedure describing the merged algorithm. C1 C1 C8 C2 C13 C8 C2 C6 C5 C6 C12 C5 C10 C3 C11 C3 C9 C7 C7 C4 C4 C1 , C5 : hC5 , C2 i, hC4 , C5 i, C2 : hC2 , C1 i, C6 : hC6 , C1 i, hC3 , C6 i, C3 : hC3 , C2 i, C7 : hC7 , C6 i, hC4 , C7 i, C4 : hC4 , C3 i, C8 : hC8 , C1 i, hC7 , C8 i, hC5 , C8 i. ∗ ∗ C9 : hC9 , C5 i, hC4 , C9 i, C12 : hC12 , C8 i, hC11 , C12 i, hC9 , C12 i, ∗ ∗ ∗ C10 : hC10 , C2 i, hC3 , C10 i, hC9 , C10 i, C13 : hC13 , C1 i, hC6 , C13 i, hC12 , C13 i, hC10 , C13 i. ∗ C11 : hC11 , C6 i, hC7 , C11 i, 3 Experimental evaluation The asymptotic worst-case time complexity of Algorithm 1 remains the same as of FCbO (and CbO) algorithm, O(|B(X, Y, I)|·|Y |2 ·|X|), because when “intro- ducing” all objects to empty data it actually performs FCbO. The complexity of Algorithm 2 is in the worst case |Y | factor higher but on average it performs a constant factor slower than FCbO (and ramification of the worst-case time complexity of FCbO itself remains a challenging open problem [14]). We have run several experiments to evaluate the performance of Algorithms 1 and 2 and also the merged algorithm. For listing all formal concepts or concept lattice of input data we also compared the algorithms with AddIntent incre- mental algorithm [12] for computing concept lattice. In the comparison, we also run Algorithm 1 and the merged algorithm in the way processing input data incrementally as mentioned in Remark 1, for the sake of presenting more fair comparison with true incremental algorithm, though such usage of our algo- rithms is not efficient (as mentioned in the remark). In the experiments, we used our implementations of the presented algorithms in ANSI C, which are modifications of our (performance efficient) FCbO algo- rithm implementation used for performance evaluation in [14], while the imple- mentation of AddIntent algorithm was borrowed from one of the authors of [12]. A lattice-free concept lattice update algorithm based on *CbO 271 10 320 30 time (seconds) time (seconds) 256 24 time (seconds) 8 6 192 18 4 128 12 2 64 6 0 0 0 500 60 70 800 900 1000 10 12 14 16 18 20 0 1 2 3 4 5 attributes fill ratio (%) log(new objects) Fig. 1. Running time of Algorithm 1 on random data dependent on number of at- tributes (on the left, introducing a single new object), on fill ratio (percentage of ×s, in the middle, introducing a single new object) and on number of new objects (on the right). 1.25 60 time (seconds) 1.25 time (seconds) time (seconds) 1 48 1 0.75 36 0.75 0.50 24 0.50 0.25 0.25 12 0 0 0 0 0.6 1.2 1.8 2.4 3 0 205 410 615 820 1025 0 205 410 615 820 1025 log(new objects) new objects new objects Fig. 2. Running time of Algorithm 1 dependent on number of new (last) objects for mushroom (on the left), anonymous-msweb (in the middle) and T10I4D100K datasets (on the right), solid line—orig. object ordering, dashed line—random object ordering. The experiments were run on otherwise idle 32-bit i386 hardware (2× Intel Xeon 3.2 GHz, 3 GB RAM) and we were interested in the performance of all algorithms measured by running time. We have run the algorithms on synthetic randomly generated data with various size and percentage of ×s in the table (fill ratio, with normal distribution) as well as with three selected real benchmark datasets from the UCI Machine Learning Repository [1]. In the first set of experiments we evaluated Algorithm 1 for updating the set of all formal concepts (computing new and modified concepts) when introducing new objects to input data. The performance for introducing a single new ob- ject (with randomly generated attributes) to random data with 100000 objects is illustrated in Figure 1. The graphs show the dependency of time required to compute the update on the number of attributes, of data with fixed table fill ratio 5 % (the graph on the left) and on the fill ratio of tables with fixed 150 attributes (the graph in the middle). Figure 1 (right) then illustrates the per- formance for introducing a growing number of new objects to random data with the number of objects being 100000 minus the number of the new objects, 200 attributes and 5 % table fill ratio. Note that the number of new objects in the graph is in logarithmic scale. The illustration for the benchmark datasets, of the performance of introducing a growing number of last objects of the data to the data without the objects, is presented in Figure 2 (right). In the graph the solid line is for data with objects ordered as in the original dataset and the dashed line is for data with randomly ordered objects (the time is an average from three orderings). We can see from the graphs showing the performance of updating the set of all formal concepts when introducing a single new object to the data (Figure 1, 272 Jan Outrata 60 510 60 time (seconds) 408 time (seconds) time (seconds) 48 48 36 306 36 24 204 24 12 102 12 0 0 0 150 170 190 210 230 250 10 12 14 16 18 20 150 170 190 210 230 250 attributes fill ratio (%) attributes Fig. 3. Running time dependent on number of attributes (on the left and right) and on fill ratio (percentage of ×s, in the middle), solid line—Algorithm 2 (left, mid- dle)/merged algorithm (right), dashed line—AddIntent, dotted line—FCbO (left, mid- dle)/Algorithm 1 (right). Table 1. Running time (in seconds) of determining the cover relation of concept lattice and numbers of formal concepts for selected datasets. orig. object ordering random object ordering dataset size fill ratio #concepts Alg. 2 AddInt. FCbO Alg. 2 AddInt. FCbO mushroom 8124 × 119 19.167 % 238710 10.010 9.760 0.830 11.025 8.061 0.919 anon. web 32711 × 296 1.019 % 129009 2.860 6.540 1.326 2.841 6.521 1.306 T10I4D100K 100000 × 1000 1.010 % 2347376 453.060 342.966 55.523 452.893 343.056 55.490 left and middle) that this operation is extremely fast compared to computing all formal concepts which took 7061 seconds for 500 attributes and 355 seconds for fill ratio 10 %! The reason is of course computing only a bare fraction of new and modified formal concepts among all concepts. Introducing more new objects (Figure 1, right, and Figure 2) is much faster too, up to a limit of the number of new objects depending on the total number of objects in data and then being close to the time of computing all formal concepts (compare for benchmark datasets with FCbO times in Table 1). Note also that running times for mushroom dataset differ for original and random orderings of objects. In the second set of experiments we evaluated Algorithm 2 for determining the cover relation of concept lattice of input data. The performance for random data is illustrated in Figure 3. The graph on the left shows the dependency of required time on the number of attributes, of data with 10000 objects and fixed table fill ratio 5 %, the graph in the middle shows the dependency on the fill ratio of tables with 1000 objects and fixed 100 attributes. The graphs show also the comparison with AddIntent algorithm and the original FCbO algorithm; the solid line is for Algorithm 2, the dashed line is for AddIntent and the dotted line is for FCbO. The performance for the benchmark datasets is presented in Table 1. Again, the times are given for data with objects ordered as in the original dataset and for data with randomly ordered objects (the time is an average from three orderings), and we also put information on size, fill ratio and the number of all formal concepts for each dataset. From the graphs we can see that Algorithm 2 considerably outperforms AddIntent algorithm on synthetic random data (in particular for higher fill ratio of data table), while for real benchmark datasets this must not always be the case (T10I4D100K, closely mushroom). This, however, heavily depends on the concept lattice structure (size of the cover relation) of the datasets. We can also A lattice-free concept lattice update algorithm based on *CbO 273 Table 2. Running time (in seconds) of computing all formal concepts or concept lattice when processing input data incrementally and numbers of formal concepts computed in total for selected datasets. orig. object ordering random object ordering dataset #concepts in total merged alg. AddInt. Alg. 1 merged alg. AddInt. Alg. 1 mushroom 9577435 130.746 9.760 128.993 284.983 8.061 284.130 anon. web 992259 41.386 6.540 41.320 41.342 6.521 41.077 T10I4D100K 14240918 2389.180 342.966 2384.160 2388.793 343.056 2378.703 see from the comparison with FCbO algorithm, as to the rest expected, that determining the cover relation takes considerably more time than computing just the set of the formal concepts. Also, ordering of objects in the benchmark datasets makes almost no difference in the running times. Finally, the comparison of performance of Algorithm 1 and the merged al- gorithm with AddIntent, of computing the set of all formal concepts or concept lattice when processing input data incrementally as mentioned in Remark 1, is presented in Figure 3 (right) and Table 2. The graph shows the performance for the data with 10000 objects and fixed table fill ratio 5 % from the preceding evaluation of Algorithm 2 (the time is an average from three random order- ings of objects); the solid line is for the merged algorithm, the dashed line is for AddIntent and the dotted line is for Algorithm 1. In the table we also put, for our algorithms, for the sake of comparison, the numbers of formal concepts computed in total (for original ordering of objects in datasets). The results are really interesting here. For the real benchmark datasets AddIntent algorithm significantly outperforms our algorithms, see Table 2. This was expected since, as hinted by Remark 1, the algorithms are not designed and ment to be used as incremental algorithms (processing objects one by one). What is, however, very surprising is that on synthetic random data both Algorithm 1 and the merged algorithm considerably outperform AddIntent and, moreover, computing concept lattice (determining cover relation) takes just a little more time than computing the set of formal concepts only. It seems that the usage of the algorithms as incremental algorithms, after all, deserves more attention! 4 Conclusion We have introduced algorithms for updating the set of all formal concepts of object-attribute relational data when the data change (new objects or attributes are introduced or existing are deleted or altered) by computing only new and modified formal concepts and for determining the concept lattice order relation, i.e. computing concept lattice of the data. Together the algorithms form an algo- rithm for updating concept lattice of object-attribute data from the data only, not requiring the possibly large concept lattice computed before the update as the so-called incremental (update) algorithms do. The algorithms result as mod- ification or extension of FCbO algorithm for computing the set of all formal concepts of data and the modifications can be equally applied to any other re- cent algorithms (PCbO, PFCbO) derived from Kuznetsov’s CbO algorithm. The 274 Jan Outrata experimental evaluation of performance of the algorithms have shown that the update is performed by the first algorithm significantly faster than re-computing all formal concepts or whole concept lattice and that the second algorithm is per- formance comparable to incremental algorithms for computing concept lattice. The future research will be focused on further experimental and real-world application use evaluation of the algorithms and performance comparison with other incremental (update) algorithms for computing concept lattice. References 1. Bache K., Lichman M.: UCI Machine Learning Repository. University of California, Irvine, CA, School of Information and Computer Sciences, 2013. http://archive.ics.uci.edu/ml 2. Carpineto C., Romano G.: Concept data analysis. Theory and applications. J. Wi- ley, 2004. 3. Ganter B., Wille R.: Formal concept analysis. Mathematical foundations. Berlin: Springer, 1999. 4. Godin R., Missaoui R., Alaoui H.: Incremental Concept Formation Algorithms Based on Galois Lattices. Computation Intelligence 11(1995), 246-267. 5. Kirchberg M., Leonardi E., Tan Y. S., Link S., K L Ko R., Lee B. S.: Formal Con- cept Discovery in Semantic Web Data. In: Proc. ICFCA 2012, LNAI, 7278(2012), 164–179. 6. Krajca P., Outrata J., Vychodil V.: Advances in algorithms based on CbO. In: Proc. CLA 2010, 325–337. 7. Krajca P., Outrata J., Vychodil V.: Parallel algorithm for computing fixpoints of galois connections. Annals of Mathematics and Artificial Intelligence 59(2)(2010), 257–272. 8. Kuznetsov S. O.: Interpretation on graphs and complexity characteristics of a search for specific patterns. Automatic Documentation and Mathematical Linguis- tics, 24(1)(1989), 37–45. 9. Kuznetsov S. O.: A fast algorithm for computing all intersections of objects in a finite semi-lattice. Automatic Documentation and Mathematical Linguistics, 27(5)(1993), 11–21. 10. Kuznetsov S. O.: Learning of Simple Conceptual Graphs from Positive and Nega- tive Examples. PKDD 1999, 384–391. 11. Lindig C.: Fast concept analysis. Working with Conceptual Structures– –Contributions to ICCS 2000, 2000, 152–161. 12. van der Merwe D., Obiedkov S. A., Kourie D. G.: AddIntent: A New Incremen- tal Algorithm for Constructing Concept Lattices. In: Proc. ICFCA 2004, LNAI 2961(2004), 205–206. 13. Norris E. M.: An Algorithm for Computing the Maximal Rectangles in a Binary Relation. Revue Roumaine de Mathématiques Pures et Appliquées, 23(2)(1978), 243–250. 14. Outrata J., Vychodil V.: Fast Algorithm for Computing Fixpoints of Galois Connections Induced by Object-Attribute Relational Data. Information Sciences 185(1)(2012), 114-127. 15. Valtchev P., Missaoui R.: Building Concept (Galois) Lattices from Parts: Gener- alizing the Incremental Methods. LNAI 2120(2001), 290-303. 16. Wille R.: Restructuring lattice theory: an approach based on hierarchies of con- cepts. Ordered Sets, 1982, 445–470, 1982. Applying User-Guided, Dynamic FCA to Navigational Searches for Earth Science Data and Documentation Bruce R. Barkstrom 15 Josie Ln, Asheville NC 28804, USA Abstract. This paper describes data structures and algorithms that al- low disciplinary taxonomic experts to embed Formal Contexts within a graph of Archive Information Packages (AIP’s). The AIP’s are stan- dardized objects that provide access to the Inventoried Objects (IO’s) in an archive. For an archive containing Earth science data, IO’s may be physical specimens or numerical data files. They are not just textual files that provide a corpora of keywork phrases. The graph serves as a Table of Contents for the archive’s collection. A data user familiar with the discipline’s taxonomy having a recognizable search target can navigate through the graph to identify and access the archive’s IO’s. 1 Introduction An archive containing Earth science data may contain physical objects or numer- ical data files. Its Inventoried Objects (IO’s) do not necessarily contain textual content. Thus, they may not provide keyword phrases chosen from their textual content. This paper’s algorithms assume that a disciplinary taxonomist devel- ops an IO classification. To do this, the taxonomist creates vertices in a network. Each nonterminal vertex points to a unique Partitioned Formal Context (PFC). Each terminal vertex points to a unique IO. The Archive Information Packages (AIP’s) described in the ISO standard known as the Open Archive Information System (OAIS) Reference Model (RM) [1] serve as prototypical data structures for the network’s vertices. The nontermi- nal vertices are Archive Information Collections (AIC’s). The terminal ones are Archive Information Units (AIU’s) that point to IO’s. Disciplinary taxonomists create the network as the Archive adds to its collection of IO’s. Archive users familiar with that taxonomy can navigate through the network’s paths to select a target IO that satisfies their search criteria. Navigation differs from a browsing approach in which a user does not have a specific kind of target IO in mind. This taxonomic approach markedly reduces the size of the Formal Contexts a FCA algorithm uses to create Formal Concepts from the PFC’s. The computed Formal Concepts guide the user’s navigation from AIC to AIC until the user finds an AIU with the target IO. The next section includes brief examples of the kinds of IO’s in archives of Earth science data. Then, it describes the way they enter the taxonomic network. Later sections include outlines of data structures for the network vertices and pseudo code for the key algorithms in this approach. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 275–280, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 276 Bruce R. Barkstrom 2 Creating a Taxonomic Classification Network This section discusses the basis for creating a taxonomic classification network. The first subsection notes that a disciplinary taxonomist provides the a priori categories for the taxonomy. This subsection also provides examples of categories for two kinds of Earth science data. These categories depend on the disciplines providing the data. Thus, this paper treats them as axiomatic. The second sub- section provides a formal discussion of the AIC and AIU data structures. The third subsection deals with a rough scaling analysis of a taxonomic network. 2.1 The Axiomatic Disciplinary Basis for a Taxonomy The a priori basis for creating a taxonomy for an archive’s collection lies in the scientific disciplines that produce the IO’s. As with the OAIS RM, we assume that the IO’s are atomic so they have no internal components that the archive records. In Earth science, IO’s may be physical objects, such as biological or geological specimens. They may include hand-written or printed observational records or technical reports. Finally, Earth science IO’s may be digital files, the bulk of which contain numerical values based on measurements from automated instruments. A second axiomatic basis is the Formal Context (FC) formed by all the IO’s in the archive. The union of the IO’s forms the extent of this FC. Its intent is the union of all the IO attributes. The NOAA Emergency Response Imagery Collection is an archive of digital images taken by an automated camera mounted on an aircraft [2]. The aircraft flew one or two days after disastrous storms. There have been about twenty storms in the last decade that were disastrous enough to lead to aircraft missions. These included Hurricane Katrina in 2005 and Hurricane Sandy in 2012. Each mission produces three kinds of IO’s: high resolution gif images, low resolution gif thumbnails, and zipped files containing collections of images. The archive’s curators organize the images in a zipped file in a sequence along an aircraft flight path. The ERI project provides a web site through which emergency responders, such as federal disaster coordinators or insurance adjustors can download IO’s. These users evaluate the storm damage and plan appropriate action based on the images. Altogether, the total collection probably contains about 60,000 IO’s. Each IO has an ID, a storm name, a data collection date, and a text storm centroid location. The high resolution and thumbnail gif’s have four lat- itude/longitude positions at the corners of each image. With eleven attributes for most of the files, there will be about 660,000 attributes (11 × 60, 000) in the Formal Context intent for this collection’s IO’s. In the taxonomic network, the AIC’s that lie in the first level below the root refer to images from specific storms. Thus, these collections include images from storms such as Hurricanes Katrina, Ike, or Sandy. In the level below that, each storm AIC has two collections. One is an AIC for a collection of images in coarse geographic bins. Those images include the high-resolution gif images and the thumbnails. The second AIC is a collection of zipped files along the flight paths. Appl. User-Guided, Dyn. FCA to Nav. Searches for Earth Sci. Data and Doc. 277 The AIC’s that are children of each geographic bin AIC contain AIC’s with one high resolution image and one low-resolution image. The AIC’s below the one with the flight path collection contain AIU’s based on an individual flight path. The network replicates this layered AIC structure across the entire collection of IO’s. Even so, each PFC is unique. For biological specie classification, the categories for the AIC’s are King- doms, Subkingdoms, Classes, Orders, Families, Genera, Species, and Races. The individual specimens in an archive’s biological specimen collection are the IO’s in the AIU’s. 2.2 A Formal Definition of AIC’s and AIU’s A disciplinary taxonomist creates AIP’s and AIU’s. This is a familiar process in biology. [3] [p. viii] notes that such a “grouping . . . though based on natural characters and relationships is not governed by any rule drawn from nature for determining just what [. . .attributes] shall be sufficient to constitute a Specie, a Genus or a Family. These groups are, therefore, necessarily more or less arbitrary and depend upon the judgement of scientific experts.” The AIC’s and AIU’s are vertices in a graph. The pseudo code in the Tax- onomy Network Data Structure provides a pointer-based formalization of the relationship between the AIC’s and the AIU’s. Taxonomy Network Data Structure type p PFC is access PFC Type; −− Pointer to a PFC type PFC Type(N O : in positive; N A : in positive) is array(1 .. N O, 1 .. N A) of Boolean; type Type Of AIP is (Collection, IO); type p AIP is access AIP; −− Pointer to an AIP type AIP(AIP Type : Type Of AIP := Collection) is record AIP Identifier : Bounded String; Parent AIP : p AIP; Next Sibling AIP : p AIP; case AIP Type is when Collection => PFC : p PFC; First Child AIP : p AIP; when IO => Object Identifier : Bounded String; end case; end record; If all of the PFC’s in the graph were diagonal, each object in the PFC would have only one unique attribute. The taxonomic graph would collapse to a tree. There would be a unique edge that linked each AIC to each of its children. When the parent PFC is not diagonal, the formal concepts formed from the PFC create a lattice that links parents to their children. For a taxonomic network, the lattice must provide a unique path from a parent to each of its children. 278 Bruce R. Barkstrom 2.3 Preliminary Scaling Analysis of Taxonomic Classification The number of children and the number of attributes for the PFC of a particular AIP can vary widely across the network. This variability makes it difficult to formulate simple scaling relationships for the work of computing formal concepts from the PFC’s. For example, the root PFC in the ERI example has about twenty storm objects. Each storm has three attributes: storm name, date, and centroid location name. Thus, for this PFC, NO = 20 and NA = 60. At the next level, the PFC’s have NO = 2 and NA = 2. The children of each PFC have only a coarse geographic bin collection and a flight path collection. At the level below this, the coarse bin PFC’s may have twenty to fifty objects. The flight path PFC’s have five to twenty objects. Clearly, the partitioning produces much smaller binary matrices than the unpartitioned Formal Context. A rough approximation for scaling assumes that the graph reduces to a mul- tiway tree. The number of children for each AIC is M . The number of levels is L. The total number of AIC nodes in the tree, N , is N = 1 + M + M2 + . . . + ML (1) If the number of attributes in each PFC is NA = aM , then the size of each PFC is (M, aM ). Both M and a are usually small compared with the dimensions of the Formal Context for the archive’s total collection. This approximation suggests that the computational work from the network partitioning can reduce that burden by several orders of magnitude. The archive does not have to calculate the Formal Concepts for any of the PFC’s when it establishes the network. That calculation can occur when the user’s navigational search reaches an AIC. Under this simplifying assumption, a user with a successful navigation search will only select L formal contexts. The archive only needs to calculate Formal Concepts for each of the selected PFC’s. User attribute pruning to remove attributes the user regards as irrelevant will further reduce the computational load. Disciplinary users familiar with a taxonomy form a much smaller community than the public using commercial search engines. For example, only about 1% to 2% of students entering U.S. colleges want to enter scientific or mathematical curricula. The reduction in computational burden and in user search requests should make the taxonomic partitioning approach computationally acceptable. 3 Disciplinary Specialist Knowledge of a Taxonomy A disciplinary specialist, such as a research scientist or resource manager, spends a substantial amount of time learning a discipline’s taxonomy for classifying objects. Such a specialist is likely to have a specific target for a search. Thus, such a user seems highly likely to use the discipline’s taxonomy classification. A biologist who has a new, unidentified plant would usually use a biological taxonomy to see if there were any previously identified specimen’s in an archive’s collection that matched her new one. Even if the biologist moved rapidly through the upper levels of the collection, she would eventually get to a level where she Appl. User-Guided, Dyn. FCA to Nav. Searches for Earth Sci. Data and Doc. 279 would need to match the attributes of her sample against the standard attributes that identify the particular specie within a probable Genus. The search behavior of a disciplinary specialist differs markedly from that of an individual with an unclear target for his or her search. A person browsing needs a recommender site rather than a navigational one [4]. 4 User-Guided Navigational Searches The taxonomic classification approach expects that a user can identify a useful IO based on the taxonomy network traversal. If the user obtains his or her goal, then the search terminates successfully. If the user recognizes that the search is not likely to reach the target, he or she can back up to a higher level and make different selections. Thus, we expect the user search to be iterative. In addition, the user can get tired of searching and terminate the interaction. The following pseudo code outlines the search algorithm. User-Guided Navigational Search Algorithm 1 Level := 0; AIP := Root; Done := False; 2 while not Done loop 3 User prunes AIP attributes; 4 Compute all Formal Concepts for the pruned Formal Contex; 5 Construct Nearest Superset Navigation (NSN) graph; 6 User navigates through the graph to a Candidate AIP at Level + 1; AIP := Candidate AIP; Level := Level + 1; 7 if Candidate AIP is target AIU then 8 Done := True; −−Success 9 elsif User judges the search unlikely to reach target then 10 AIP := Previous AIP; Level := Level − 1; −−Back up 11 elsif User is tired of search then 12 Done := True; −−Abandon Search 13 end if; 14 end loop; The user-guided navigational search algorithm outlined in the pseudo code starts at the root AIP. The loop moves down the taxonomic AIP graph from the root at Level 0 to deeper levels where the user can find the desired target IO. The first step for the user is to prune the selected AIP attributes to create a pruned formal context. In pruning, the user removes attributes regarded as irrelevant to finding the target IO. Pruning the static Formal Context removes the irrelevant columns and thereby produces a smaller Formal Context. The pruning also removes any rows that contain no objects after removal of the attribute columns. The pseudo code for the NSN subalgorithm provides the logic for lines 5 and 6 of this listing. 280 Bruce R. Barkstrom Nearest Superset Navigation (NSN) Subalgorithm 1 Order Pruned Context objects into layers based on increasing number of attributes; 2 Construct a directed graph with objects identified as vertices and edges that connect vertices to their immediate successors in the layer with the smallest increase in number of attributes; 3 Construct a web site in which each page contains information on a single vertex and has links to the immediate successors; 4 Search Successful := False; Done := False; 5 Select page with the vertex that has no attributes and all objects; 6 while not Done loop 7 User selects pages from the links on the current page; 8 if selected page has only one IO then 9 if IO is User Target then 10 Search Successful := True; 11 Done := True; 12 else 13 Done := True; 14 end if; 15 end if; 16 end loop; 5 Conclusion This paper shows how a taxonomic classification with FCA can fit within the OAIS RM’s standard structure for information packages in an Archive of Earth science data. The scaling analysis of the computational load of user-guided nav- igation and dynamic FCA needs refinement. Even so, it suggests that this ap- proach is affordable. [2] shows that a navigational approach similar to one derived from this algorithm offers an alternative to the conventional metadata query ap- proach for selecting IO’s from an archive of Earth science data. 6 Acknowledgements The author gratefully acknowledges helpful discussions of this paper’s contents with Dr. Mike Folk, Ms. Beth Huffer, Dr. Nancy Hoebelheinrich, and Mr. Gustaf Barkstrom. References 1. CCSDS: Reference Model for an Open Archival Information System (OAIS): Rec- ommended Practice; CCSDS 650.0-M-2 (2012) CCSDS Secretariat, Washington. 2. NOAA: Emergency Response Imagery (2013) URL: http://storms.ngs.noaa.gov/eri page/index.html 3. Britton, N. and Brown, A.: An Illustrated Flora of the Northern United Sates and Canada: in Three Volumes. Dover Publications, Mineola, NY. (1970) 4. Agarwal, D., Chen, B-C., Elango, P., and Ramakrishnan, R.: Content Recommen- dation on Web Portals. Comm. ACM, 56 (6) (2013) 92-101 A Collaborative Approach for FCA-Based Knowledge Extraction My Thao Tang and Yannick Toussaint Loria-Campus Scientifique, BP 239 - 54506 Vandoeuvre-les-Nancy Cedex, France {My-Thao.Tang,Yannick.Toussaint}@loria.fr Abstract. In this paper, we propose an approach for an FCA-based knowledge extraction process relying on the collaboration between hu- mans and machines. Evaluation of the results is performed on the lattice by experts through an interactive process where they may specify their wishes for changes using a set of predefined operations. Thus, the system then may suggest several strategies to reach their goal. In such an inter- active and iterative process, the system converges towards a knowledge model close to the experts’ needs. We illustrate the process on a small preliminary experiment. Keywords: Formal Concept Analysis, Knowledge Extraction, Expert Interaction 1 Introduction Several approaches ([1–4]) showed how powerful is Formal Concept Analysis (FCA) ([5]) for knowledge modelling and ontology design, and the lattice is usually considered as the knowledge model. This paper focuses on providing do- main experts with capabilities to control and customize the lattice using retro- engineering operations. Our approach is motivated by a desire of keeping a trace between text sources and concepts of the resulting ontology. Objects and prop- erties in texts are annotated and used to build the formal context. Annotations and the lattice evolved simultaneously thanks to retro-engineering. In this way, we can keep a trace between the linguistic level and the conceptual level making one two separated processes in literature, namely semantic annotation which identifies concepts from an ontology in texts and ontology building which builds concepts from texts. FCA is a bottom-up process which builds concepts from a set of instances of objects and properties (the formal context). To improve the lattice and to make it closer to expert needs, we want to define an iterative and interactive process where experts are asked, at each loop, to evaluate the “quality” of the concepts. Unfortunately, in Knowledge Engineering, building ontology is not a straightforward process and usually results from trial and error process. There are several reasons for experts to ask for changes in the lattice: (1) there may be noise in resources or in the information extraction processes and thus, some c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 281–286, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 282 My Thao Tang and Yannick Toussaint concepts result from this noise, (2) experts are not satisfied with the resulting knowledge model and wish it to be more in accordance with their needs, i.e. the application that will use the knowledge model. The rest of the paper is structured as follows. Firstly, section 2 explains how the system and experts collaborate in building and changing the lattice, illustrates the approach by removing a concept from a lattice. Next, section 3 presents experimental results. Finally, section 4 concludes with a summary and draws perspectives. 2 Collaboration for Changing A Lattice In our approach, experts do not have access to the formal context; they can browse concepts, run through subsumption paths, look at extents and intents of concepts. Then, they express their wishes to change the lattice using operations. An operation on the lattice is a kind of retro-engineering: experts select an operation on the lattice (ex: remove this concept), the system assesses the impact of the change, suggests different strategies and then, for the chosen strategy, calculates what to change in data for the new lattice to meet the requirements. The lattice is then built accordingly. Experts repeat the process until they reach an agreement between the model and their knowledge. 2.1 Defining Operations on a Lattice We list basic changes on a lattice to add or remove one element from the lattice (Table 1). There could be more complex operations such as merging two concepts into one, splitting one concept into two sub-concepts, creating a common concept for a set of concepts... For each operation, we need to define an algorithm to compute the set of possible strategies to perform the change, to identify related changes in the lattice, to rank them according to a cost function and to keep a trace in a history. Adding or removing objects or properties in a formal context motivated the development of incremental algorithms to update a lattice [6– 9]. Concept removing is somehow complex: several strategies are possible and impacts on other concepts in the lattice (side effects). We detail this operation to explain our approach in the next part. 2.2 Removing a Concept from a Lattice Removing a concept while keeping the lattice structure means moving it down to one of its children or up to one of its parents. These solutions correspond to what we call different strategies. Strategy 1 moves concept C down to one of its children, Cchild . The relation I of the formal context should be modified to I ∗ as follows: I ∗ = I ∪ {(g, m) : m ∈ {Intent(Cchild ) \ Intent(C)}, g ∈ {Extent(C) \ Extent(Cchild ), gIm}. A Collaborative Approach for FCA-Based Knowledge Extraction 283 Add Remove Object Add an object to a lattice Remove an object from a lattice Add an object to a concept Remove an object from a concept Attribute Add an attribute to a lattice Remove an attribute from a lattice Add an attribute to a concept Remove an attribute from a concept Add an attribute to an object Remove an attribute from an object Concept Add a concept to a lattice Remove a concept from a lattice Add a supper concept to a concept Remove a supper concept from a concept Add a sub concept to a concept Remove a sub concept from a concept Table 1: Basic changes in a lattice. Strategies NOMC NODC NONC 1.1 Move c4 down to c7 2 2 2 1.2 Move c4 down to c9 2 2 2 2.1 Move c4 up to c0 0 3 0 Table 2: Strategies for removing concept c4 associated with the number of modified concepts (NOMC), the number of deleted concepts (NODC) and the number of new concepts (NONC) between the current lattice and the new one. Strategy 2 moves concept C up to one of its parents, Cparent . The relation I of the formal context should be modified to I ∗ as follows: I ∗ = I \{(g, m) : m ∈ {Intent(C)\Intent(Cparent )}, g ∈ {Extent(C)}, gIm}. Table 2 shows an example of strategies for removing concept c4 from the initial lattice given in Fig. 1. Here, we have three strategies, two for moving c4 down and one for moving c4 up. In strategy 1.1, c4 = ({F, HD}, {CoWi D}) and c7 = ({F}, {Ca RAS, CoWi D}). To move concept c4 down to concept c7 , the attribute in set {Intent(c7 ) \ Intent(c4 )} = {Ca RAS} is added to the object in set {Extent(c4 )\Extent(c7 )} = {HD}. Similarly, in strategy 2.1, to move concept c4 up to concept c0 with Intent(c0 ) = ∅, the attribute CoWi D is removed from the objects in set {F, HD}. We benefit from incremental algorithms that have been implemented to build lattices ([6], [8]) not only to avoid complete recalculation of the lattice but also for identifying the different possible strategies to perform a given change in the current lattice. Incremental algorithms, at the ith step, produce the concept set or diagram graph for i first objects of the context. The new object i + 1th is dynamically added by modifying the existing lattice without recomputing the whole lattice from scratch. ([8]) Let us explain our approach through the algorithm for moving concept down - Strategy 1. In Strategy 1, the set of objects and the set of properties re- main unchanged. Only the relation I is enriched. Moreover, a new closed set (Extent(C), Intent(Cchild )) is a formal concept of the new lattice L∗ . From the new closed set (Extent(C), Intent(Cchild )) and the existing lattice L, we generate the new lattice L∗ by identifying the categories of concepts. The new lattice is obtained from the existing lattice by taking, deleting or modifying some concepts and creating new concepts. Thus, concepts are classified into four 284 My Thao Tang and Yannick Toussaint The initial lattice The resulting lattice Modified Deleted Modified/Destructor New Deleted New/Destructor Fig. 1: The initial lattice and the resulting lattice after removing concept c4 according to the strategy moving concept c4 down to concept c7 . categories, old concepts, deleted concepts, modified concepts and new concepts as follows. Let C be a concept in L∗ : – C is an old concept if there exists a concept with the same Extent(C) and Intent(C) in L. – C is a modified concept if there exists a concept with the same Intent(C) in L but the extent is different from Extent(C). – C is a new concept if Intent(C) doesn’t exist in L. – C in L is a deleted concept if Intent(C) doesn’t exist in L∗ . Moreover, we identify destructors. A destructor is a concept that a deleted concept will jump to. Thus links to the deleted concepts should be reported to destructors. Fig. 1 shows an example of removing concept c4 according to the strategy moving it down to concept c7 . Here, two concepts, c4 and c9 , in the initial lattice, are deleted; two concepts, c2 and c7 , are modified, adding the object HD to their extent; two new concepts, c11 and c12 , are created. In addition, concept c7 is destructor of the deleted concept c4 and concept c12 is destructor of the deleted concept c9 . The algorithm calculating the new lattice is based on the fundamental prop- ([10]). For any closed set (X, X 0 ) in the lattice: erty of lattices T T 0 X = f (X) = f ({x}) and X = g(X 0 ) = g({x0 }) x∈X x0 ∈X 0 Moreover, for any set of f (x) (resp. g({x0 })), their intersection should be in the lattice. The main process of the algorithm is to update the set of intersections of extents. We perform a top-down traversal of the lattice L to identify whether a concept is old, modified or deleted, to create new concepts and to keep the information of destructors. Thanks to the categories of concepts, the resulting lattice can be calculated and we can keep a trace from the previous lattice. By this way, we can know the impact of a change on the lattice (lists of modified, deleted and new concepts). A Collaborative Approach for FCA-Based Knowledge Extraction 285 Finally, all the strategies are suggested to the expert with their impacts (Table 2) so that the expert can consider choosing one strategy. Once the expert makes a choice, the system will update the lattice accordingly. 3 Experiment of Removing A Concept We experimented our approach for extracting knowledge from a real text corpus of Fibromuscular Dysplasia extracted from PubMed1 . The corpus consists of 400 texts. In the preprocessing step, we used SemRep ([11]) to annotate the texts. 2402 annotation objects were identified from the corpus, of which only 668 objects are shown in the right or left side of a triplet relationship and 481 objects on the right side. 36 different relationships are identified in these texts. Given an an- notation (object1, relationship, object2), we consider object1 as an object and the name of the relation is concatenated with object2 to become a binary attribute of object1. For example, Fibromuscular Dysplasia is an object and ISA Disease is one of its attributes. SemRep annotation process can be noisy but, of course, no automatic tool is perfect. Moreover, any annotation process could annotate the texts, including manual annotation. This is one of our goals to take the advantage of expert interaction in the construction of the knowledge model. Next, we built a Java script to transform the set annotations into a formal context. The lattice was produced by Galicia2 and exported as the XML doc- ument. The context built from our corpus contains 481 objects, 545 attributes formed by the association of the relationship of the object with which it relates. The lattice contains 523 concepts and the longest path from the Top to the Bottom is 7. Then, we implemented a system with operation removing a concept from a lattice. When an expert, during the evaluation phase, asks for removing a concept, the system suggests a list of strategies and makes explicit their impacts on the lattice (lists of modified, deleted and new concepts) to the expert. Once the expert chooses one strategy, the system will update the lattice accordingly. The required time for the expert to remove concepts has not yet been eval- uated. Our experience shows that a judicious choice of a strategy in order to remove concepts has a strong impact on the speed of convergence towards a satisfactory knowledge model. 4 Conclusion and Perspective We presented a collaborative approach for FCA-based knowledge extraction. Our study shows how domain experts and machines can collaborate in building and changing a lattice. The system handles changes in a lattice and keeps a trace 1 http://www.ncbi.nlm.nih.gov/pubmed 2 http://sourceforge.net/projects/galicia/ 286 My Thao Tang and Yannick Toussaint from the previous lattice. In that way, experts know the impact of a change. Our iterative and interactive approach takes advantage from FCA and reduces limitations due to the use of a formal method to model a complex cognitive process. This approach opens several perspectives. We can do more to help the expert. Refining the cost function associated to changes can make easier the choice of one strategy. Tagging concepts that the expert agrees with and wants to keep unchanged all along the process could reduce the number of the suggested strategies. Performing several changes at once needs also more investigations. References 1. Bendaoud, R., Napoli, A., Toussaint, Y.: Formal concept analysis: A unified frame- work for building and refining ontologies. In Gangemi, A., Euzenat, J., eds.: EKAW. Volume 5268 of Lecture Notes in Computer Science., Springer (2008) 156– 171 2. Obitko, M., Snásel, V., Smid, J.: Ontology design with formal concept analysis. In: Proceedings of the CLA 2004 International Workshop on Concept Lattices and their Applications, Ostrava, Czech Republic, September 23-24, 2004. (2004) 3. Cimiano, P., Völker, J.: Text2onto - a framework for ontology learning and data- driven change discovery. In Springer, ed.: Proceedings of Natural Language Pro- cessing and Information Systems (NLDB 2005). Number 3513 in Lecture Notes in Computer Science (LNCS) (June 2005) 227–238 4. Huchard, M., Napoli, A., Rouane, M.H., Valtchev, P.: A proposal for combining formal concept analysis and description logics for mining relational data. In: pro- ceeding of the 5th International Conference Formal Concept Analysis (ICFCA’07), Clermond-Ferrand, France (2007) 5. Ganter, B., Wille, R.: Formal Concept Analysis, Mathematical Foundations. Springer (1999) 6. Godin, R., Missaoui, R., Alaoui, H.: Incremental concept formation algorithms based on Galois (concept) lattices. Computational Intelligence 11(2) (May 1995) 246–267 7. Valtchev, P., Missaoui, R.: Building galois (concept) lattices from parts: General- izing the incremental approach. In Delugach, H., Stumme, G., eds.: Proceedings of the ICCS 2001. Volume 2120 of LNCS., Springer Verlag (2001) 290–303 8. Kuznetsov, S.O., Obiedkov, S.A.: Comparing performance of algorithms for gen- erating concept lattices. J. Exp. Theor. Artif. Intell. 14(2-3) (2002) 189–216 9. Merwe, D., Obiedkov, S., Kourie, D.: Addintent: A new incremental algorithm for constructing concept lattices. In Eklund, P., ed.: Concept Lattices. Volume 2961 of Lecture Notes in Computer Science. Springer, Berlin/Heidelberg (2004) 205–206 10. Barbut, M., Monjardet, B.: Ordre et classification, Algèbre et combinatoire. Ha- chette, Paris (1970) 11. Rindflesch, T.C., Fiszman, M.: The interaction of domain knowledge and linguistic structure in natural language processing: Interpreting hypernymic propositions in biomedical text. Journal of Biomedical Informatics 36(6) (2003) 462–477 Towards Description Logic on Concept Lattices? J.V. Grebeneva, N.V. Shilov, and N.O. Garanina A.P. Ershov Institute of Informatics Systems, Lavren’ev av., 6, Novosibirsk 630090, Russia j.grebeneva@gmail.com, shilov@iis.nsk.su, garanina@iis.nsk.su Abstract. In this position paper we start with a motivation of our study of modal/description logics with values in concept lattices. Then we give a brief survey of approaches to lattice-valued modal and/or description logics. After that we study some methods of context symmetrization, because the description logic on concept lattices is defined for symmetric co ntexts only. We conclude with a list of problems related to comparison of different lattice-valued modal/description logics, different variants of context symmetrization and resulting description logics, decidability and axiomatization of these logics. 1 Introduction Let us start with an example that can explain our interest to study of polymodal and/or description logics with values in concept lattices. For it let us first fix some moment of time and let (1) U RL be the set of all Uniform Resource Locator that are valid (exist) at this moment, (2) Key be the set of all Key-words in any existing language that are conceivable in this time, (3) F , S and T be binary relations on U RL × Key that are implemented in some (non-real we assume) search engines First, Second and Third at the same moment of time that we fixed above. Then let Sh&Ga be the set of all web-sites (their URL’s hereinafter) that a search engine First finds by two key-words Shilov and Garanina; In terms of Formal Concept Analysis (FCA) [4] Sh&Ga = {Shilov, Garanina}0 in the following formal context F = (U RL, KW, F ). Similarly, let Gr — be the set of all web-sites that Second finds by searching for a single key-word Grebeneva; in FCA terms one can write Gr = {Grebeneva}0 in the next one formal context S = (U RL, Key, S). Assume that we need to know all sites Sh&Ga \ Gr that are found by First by key-words Shilov and Garanina but that (according to Third) does not contain any word that is common for all sites that are found by Sec- ond for the key-word Grebeneva. In terms of set theory expanded by FCA- derivatives the desired set can be written as U RLSh&Ga \ U RL00Gr , where ‘ 0 ’ ? This research is supported by Integration Grant Mathematical and methodological aspects of intellectual Information Systems n.15/10 of Siberian Branch, Russian Academy of Science. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 287–292, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 288 Julia V. Grebeneva, Nikolay V. Shilov and Natalia O. Garanina represents derivative in the formal context T = (U RL, Key, F ). Recall that U RLSh&Ga = {Shilov, Garanina}0 in KG , U RLGr = {Grebeneva}0 in KY . So we can not write the following equality U RLSh&Ga\Gr = {Shilov, Garanina}0 \ {Grebeneva}000 , but have to write another one U RLSh&Ga\Gr = {Shilov, Garanina}↓F \ {Grebeneva}↓S ↑T ↓T , where ‘↓F ’ represents the lower derivative in the context F, ‘↓S ’ — the lower derivative in the context S, and ‘↓T ’ and ‘ ↑T ’ — the lower and upper derivatives in the context T. We believe that it would be nice to process queries like this one but (unfortunately) modern search engines can not do it; a part of the reason for this inability is due to lack of theory for processing such multi-context queries. At the same time polymodal and/or descriptive logics (DL) [1] provide lan- guage for presentation of queries as above. In particular, if T d denotes the inverse of the binary relation T , then Sh&Ga \ Gr may be represented in syntax of a polymodal logic by the following formula [F ](Shilov&Garanina) & ¬[T ][T d ][S]Grebeneva or in syntax of a description logic as the following concept term ∀F.(Shilov u Garanina) u ¬∀T.∀T d .∀S.Grebeneva. An interpretation of FCA constructs in DL has been studied in [7]. In these studies DL has been extended by FCA-derivatives and provided with Kripke semantics; as a result all concept terms are interpreted by sets of objects, not by concepts (or their extents), a lattice-theoretic structure of formal concepts (that is so important advantage of FCA) is lost. A variant of description logic (namely ALC, Attribute Language with Com- plements) with values in concept lattices was defined in [8] but without a concept negation; the concept negation was defined only in concept lattices for symmetric contexts (i.e. in contexts where sets of objects and attributes are equal and the binary relation is symmetric). It implies that if we would like to define concept lattice semantics for the DL concept term above, we have to symmetrize contexts F, S and T in some manner. In this position paper we present some preliminary results of our studies of ways of context symmetrization, formulate and discuss some topics that need more research. 2 Lattice-valued Modal and Description Logics Modal and Description Logic are closely related but different research paradigms: they have different syntax and pragmatic, but very closely related semantics (in spite of different terminology). Lattice-valued modal logics were introduced in Towards Description Logic on Concept Lattices 289 [3, 2] by M.C. Fitting. They were studied in the cited papers from a proof- theoretic point of view. Later several authors attempted study of these logics from algebraic perspective [5, 6, 9]. Basic definitions related to modal logics on lattices and completeness theorems can be found in [5]. Description Logic (DL) is a logic for reasoning about concepts. But there is also an algebraic formalism developed around concepts in terms of concept lattices, namely Formal Concept Analysis (FCA). In this section we recall in brief definition of description logic ALC on concept lattices of (symmetric) contexts and some properties that follow from this definition, please refer [8] for full details. We use notation and definitions for Description Logics from [1]1 . For the basics and notation of Formal Concept Analysis, please, refer to [4]. Semantics of description logics on concept lattices comes from lattice-theoret- ic characterization of ‘positive’ (i.e. without negation) concept constructs (for close world semantics) that is given in the following proposition [8]. Proposition 1. Let (∆, Υ ) be a terminological interpretation and P (∆) = (2∆ , ∅, ⊆, ∆, ∪, ∩) be the complete lattice of subsets of ∆. Then semantics of ALC positive concept constructs >, ⊥, t, u, ∀, and ∃ enjoys the following properties in P (∆): (1) Υ (>) = sup P (∆), and Υ (⊥) = inf P (∆); (2) Υ (X t Y ) = sup(Υ (X), Υ (Y )), and Υ (XuY ) = inf(Υ (X), Υ (Y )); (3) Υ (∀R. X) = sup{S ∈ P (∆) : ∀s ∈ S∀t ∈ ∆((s, t) ∈ Υ (R) ⇒ t ∈ Υ (X))}, (4) Υ (∃R. X) = sup{S ∈ P (∆) : ∀s ∈ S∃t ∈ ∆((s, t) ∈ Υ (R) & t ∈ Υ (X))}. Conceptual interpretation is a formal context provided by an interpretation function. Definition 1. Conceptual interpretation is a four-tuple (G, M, I, Υ ) where (G, M, I) is a for- mal context, and an interpretation function Υ = ICS ∪ IRS , where CS and RS are standard concept and role symbols, and (1) ICS : CS → B(G, M, I) maps concept symbols to formal concepts, (2) IRS : RS → 2(G×G)∪(M ×M ) maps role symbols to binary relations. A formal context (G, M, I) or conceptual interpre- tation (G, M, I, Υ ) is said to be homogeneous (symmetric) if G = M (and binary relation I is symmetric in addition). Semantics of ALC positive concept constructs >, ⊥, t, u, ∀, and ∃ as well as semantics of negative construct ¬ are defined in [8] as follows. Definition 2. Let (G, M, I, Υ ) be a conceptual interpretation, K be a formal context (G, M, I), and B = (K) be the concept lattice of K. The interpretation function Υ can be extended to all role terms in a terminological interpretation ((G ∪ M ), Υ ) in the standard manner so that Υ (R) is a binary relation on (G ∪ M ) for every role term R. The interpretation function Υ can be extended to all positive ALC concept terms as follows. (1) Υ (>) = sup B and Υ (⊥) = inf B; (2) Υ (X t Y ) = sup(Υ (X), Υ (Y )), and Υ (X u Y ) = inf(Υ (X), Υ (Y )); (3) Let Υ (X) = 1 But we use Υ instead of ‘·’ for terminological interpretation function for readability. 290 Julia V. Grebeneva, Nikolay V. Shilov and Natalia O. Garanina (Ex0 , In0 ) ∈ B. Then (a) Υ (∀R. X) = supK {(Ex, In) ∈ B : ∀o ∈ Ex ∀a ∈ In ∀o0 ∈ G ∃a0 ∈ M ((o, o0 ) ∈ Υ (R) ⇒ o0 ∈ Ex0 , (a, a0 ) ∈ Υ (R), and a0 ∈ In0 )}, (b) I(∃R. X) = supK {(Ex, In) ∈ B : ∀o ∈ Ex ∀a ∈ In ∃o0 ∈ G ∀a0 ∈ M ((a, a0 ) ∈ Υ (R) ⇒ (o, o0 ) ∈ Υ (R), o0 ∈ Ex0 , and a0 ∈ In0 )}. In addition, if K is a symmetric context and Υ (X) = (Ex, In) ∈ B, then Υ (¬X) = (In, Ex). The following proposition [8] states that for any conceptual interpretation every positive ALC concept term is an element of concept lattice; in addition, if an interpretation is symmetric then this fact holds for all ALC concept terms. Proposition 2. For any conceptual interpretation (G, M, I, Υ ), for every pos- itive ALC concept term X, semantics Υ (X) is an element of B(G, M, I). For any symmetric conceptual interpretation (D, D, I, Υ ), for every ALC concept term X, semantics Υ (X) is an element of B(D, D, I). 3 Ways to Build a Symmetric Context The above proposition 2 leads to the following idea: to define semantics of ALC with values in an arbitrary concept lattice by isomorphic embedding of the back- ground context into a symmetric one in such a way that for the positive fragment of ALC the original semantics and the induced semantics equal each other. Be- low we examine some opportunities how to “symmetrize” a given context, i.e. to build a symmetric context from an arbitrary given background context. Be- low we are going to study how to build a symmetric context from a given one by set-theoretic and algebraic manipulations with a binary relation of the con- text. Without loss of generality we may assume that the background context is reduced [4] and has disjoint sets of objects and attributes. Let K := (G, M, I) be a reduced context where G ∩ M = ∅ and Kd = (M, G, I − ) be its dual context. Let also use the following notation for binary relations (on M and/or G): (1) ∅ be the empty binary relation, (2) × be a total binary relation, (3) E be the identity binary relation, (4) E c be the complement for E. We would like to combine the cross-tables of K and the dual context G M Kd into the symmetric one in the following way: G ? I . Let us represent M I −1 ? ? K the above cross-table in a shorter way as d and denote the corresponding K ? symmetric context by K◦ := (G◦ , M◦ , I◦ ). Recall that B(G, M, I) is the concept lattice of the context K, B(G◦ , M◦ , I◦ ) is the concept lattice of the context K◦ . Let us use the standard notation ‘0 ’ for derivatives in the background context K but (for distinction) the notation ‘◦ ’ for derivatives in the symmetric one. We are going to fill question quadrants by different combinations of ∅, ×, E and E c . Below we study 9 of these 16 combinations. ∅ K Case 1. d . It is the disjoint union of K and Kd . The concept lattice K ∅ . B(K◦ ) = B(K ∪ Kd ) is a horizontal sum [4], i.e. the union of two sublattices B(K) and B(Kd ), such that B(K) ∩ B(Kd ) = {⊥, >}. Towards Description Logic on Concept Lattices 291 × K Case 2. . The concept lattice of this context is isomorphic to the Kd ∅ vertical sum [4] of the concept lattices B(Kd ) and B(K) (where the concept lattice B(Kd ) is upper than B(K)). Case 3. (∅,×). This case is the same like a previous, but we have to swap components of the vertical sum. × K Case 4. d . We have here the direct sum K + Kd of contexts K and Kd K × [4] and the concept lattice of the sum is isomorphic to the product of the concept lattices B(K) × B(Kd ). A pair (A, B) is a concept of the direct sum (K + Kd ) iff (A ∩ G, B ∩ M ) is a concept of K and (A ∩ M, B ∩ G) is a concept of Kd . It implies that isomorphism is given by (A, B) 7→ ((A ∩ G, B ∩ M ), (A ∩ M, B ∩ G)). E K . Case 5. d . Let (X, Y ) ∈ B(K◦ ) be a concept and let X = A ∪ B where K E A ⊆ G, B ⊆ M . We have the following cases: (1) B = ∅. Let X = A. If |A| = 1, then (X, Y ) = ({a}, {a} ∪ A0 ), and (X, Y ) = (A, A0 ) otherwise. (2) A = ∅. Let X = B. If |B| = 1, then (X, Y ) = ({b}, {b} ∪ B 0 ), and (X, Y ) = (B, B 0 ) otherwise. (3) |B| = 1 and A 6= ∅. Let X = A ∪ {b}. If {b} ∈ A0 and |A| = 1, then (X, Y ) = ({a} ∪ {b}, {a} ∪ {b}), and if {b} ∈ A0 |A| > 1, then (X, Y ) = (A ∪ {b}, {b}). (4) |B| > 1 and A 6= ∅. Let |B| > 1, then X = A ∪ B. If B ⊆ {a}0 and |A| = 1, then (X, Y ) = ({a} ∪ B, {a}). ∅ K Case 6. d . This case is a very similar to the previous one. K E (1) B = ∅. (X, Y ) = (A, A0 ). (2) A = ∅. If |B| = 1 then (X, Y ) = ({b}, {b} ∪ B 0 ) else (X, Y ) = (B, B 0 ). (3) |B| = 1. If {b} ∈ A0 , we have (X, Y ) = (A ∪ {b}, {b}). (4) |B| > 1. All the concepts in this case will be either > or ⊥. Case 7. (E,∅). This case is similar to the previous. × K Case 8. d . Let us use subcases as in the case 5. K E (1) B = ∅. (X, Y ) = (A, G ∪ A0 ). (2) A = ∅. If |B| = 1, then (X, Y ) = ({b}, {b} ∪ B 0 ), and (X, Y ) = (B, B 0 ) otherwise. (3) |B| = 1. If {b} ∈ A0 , then (X, Y ) = (A ∪ {b}, {b} ∪ {b}0 ), else (X, Y ) = (A ∪ {b}, {b}0 ). (4) |B| > 1. (X, Y ) = (A ∪ B, B 0 ). Case 9. (E,×). This case is similar to the case 8. 4 Conclusion Now we are ready to formulate several topics and problems that we consider natural and important for further research. 292 Julia V. Grebeneva, Nikolay V. Shilov and Natalia O. Garanina In [5] the definition for modal logics with values in a given finite distributive lattice L is presented. This definition is easy to expand on polymodal logics. In section 2 we represented the definition for description logic ALC (that can be considered as a polymodal version of K) with values in concept lattices of symmetric contexts. Assume that K is a finite symmetric context; then B(K) is a finite lattice, but it may not be a distributive lattice. Question: Assuming that B(K) is a finite distributive lattice, whether ALC with values in B(K) is a polymodal B(K)-ML? In section 2 we represented the definition for description logic ALC with values in concept lattices of symmetric contexts and for positive fragment of ALC with values in arbitrary concept lattices. Questions: (1) Is decidable or axiomatizable the positive fragment of ALC with values in concept lattices? (2) Is decidable or axiomatizable ALC with values in concept lattices of symmetric contexts? In the section 3 we examine 9 of 16 variants of context symmetrization. Topics for further research are following: (1) to study the remaining 7 cases of context symmetrization and isomorphic embedding with E c in one or two free quadrants; (2) to examine under which embedding from these in these 16 the induced semantics of the positive fragment of ALC is equal to the original semantics. References 1. Baader F., D. Calvanese, D. Nardi D.McGuinness, and P. Patel-Schneider (edit- ors). The Description Logic Handbook: Theory,Implementation and Applications. Cambridge University Press, 2003. 2. Fitting M.C. Many-valued modal logics II. Fund. Inform., 1992, v.17, p.5573. 3. Fitting M.C. Many-valued modal logics. Fund. Inform., 1991, v.15, p.235254. 4. Ganter B., Wille R. Formal Concept Analysis. Mathematical Foundations. Springer Verlag, 1996. 5. Maruyama Y. Algebraic Study of Lattice-Valued Logic and Lattice-Valued Modal Logic. In ICLA’09 Proceedings of the 3rd Indian Conference on Logic and Its Ap- plications. Lecture Notes in Computer Science. Springer-Verlag Berlin, Heidelberg 2009, v.5378, p.170-184. 6. Maruyama Y. Reasoning about Fuzzy Belief and Common Belief: With Emphasison Incomparable Beliefs. In Proceedings of the 22nd International Joint Conference on Artificial Intelligence. AAAI Press/International Joint Conferences on Artificial Intelligence, Menlo Park, California, 2011, Vol. 2, p.1008-1013. 7. Shilov N.V. Garanina N.O., Anureev I.S. Combining Two Formalism for Reasoning about Concepts. Proceedings of the 2007 International Workshop on Description Logics (DL2007), Brixen Italy, 2007. CEUR Workshop Proceedings v.250. p.459- 466. 8. Shilov N.V., Han S.-Y. A proposal of Description Logic on Concept Lattices. Pro- ceedings of the Fifth International Conference on Concept Lattices and their Ap- plications, 2007. CEUR Workshop Proceedings, v.331, 2008, p.165-176. 9. Shi H.-X., Wang G.-J. Lattice-valued modal propositional logic and its completeness. Science China, Information Sciences. 2010, v.53(11), p.2230-2239. Computing Left-Minimal Direct Basis of implications Pablo Cordero, Manuel Enciso, Angel Mora, and Manuel Ojeda-Aciego University of Málaga, Spain. e-mail: {pcordero,enbciso}@uma.es, {amora,aciego}@ctima.uma.es Abstract. The most popular basis in Formal Concept Analysis is the Duquenne-Guigues basis, which ensure minimality in the number of de- pendencies and it is built with pseudo-intents, and some method to cal- culate these basis from an arbitrary set of implications have been intro- duced. We propose in this paper, an automated method to calculate a left-minimal direct basis from the set of all implications built between a closed set and its corresponding minimal generators. The new basis also has the minimal property demanded in the Duquenne-Guigues basis. It is minimal in the cardinal of the set of implications, and minimal in the size of the left-hand side of the implications. 1 Introduction Formal Concept Analysis [8] has shown to be a powerful framework to discover knowledge inside date sets. It provides a solid and formal theory which enhances other well known approaches. The main element of FCA community are binary relations between objects and attributes, which are described using matrixes (contexts) and represent the appearance of the attributes in the corresponding objects. One outstanding element in FCA is attribute implication, which is used to specify a constraint in the context. Thus we write an implication between attribute sets X and Y in the form X →Y whenever any object in the context which has all the attributes in X also has all the attributes in Y . Attribute implication can be managed syntactically using Armstrong’s Ax- ioms [1], a sound and complete inference system. This axiomatic system allows us to derive new attribute implications that hold in a given context. This “infer- ence” relation leads to the following problem: How to characterize the minimal set of implications for a given set of implications? Among the different basis notions, the Duquenne-Guigues basis [9] also called stem basis seems has to be cited because of their widely acceptation in the FCA area and because of its minimality notion (w.r.t. the number of implications). Nevertheless, minimality in the number of implications is a criteria that may be enhanced. In [5] K. Bertet and B. Monjardet provided a set of orthogonal character- istics of the basis and established the equivalence of five definitions presented by different authors in several areas which correspond with the same notion of basis. c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 293–298, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 294 Pablo Cordero, Manuel Enciso, Angel Mora and Manuel Ojeda-Aciego In [6] we present a method to compute all the closed sets and its minimal generators from a context. This information allows us to built a set of implica- tions whose left had side is a minimal generator and with its closed set in the right hand side. We propose in this paper a definition of basis with the good min- imality property of Duquenne-Guigues basis and the characteristics of the above implications: minimal information in the left had side and a fast computation of attributes closures from them. We also introduce an automated method to calculate from a set of implica- tions a left-minimal direct basis. The new method is based on the Simplification Logic for Funcional Dependency SLFD [?], a sound and complete inference sys- tem for implications. The main characteristics of SLFD is that its inference system is not built around the transitivity rule, like other well known Armstrong-like axiomatic systems for implications. The work is organized as follows. In Section 2 we summarize preliminary concepts and results on FCA concerning implications, basis, etc. In Section 3 we outline the automated method that we have proposed in [6] for the computation of minimal generators and we introduce a new method to calculate the left- minimal direct basis from the original set of implications. The paper ends with a Conclusion Section. 2 Background We will use the well-kwon notation used on Formal Concept Analysis (FCA) [8]. For the analysis of the information contained in the context K = (G, M, I), a direction is the study of the pair (closed sets - minimal generators). The set of attributes A is said to be a minimal generator (mingen) if, for all set of attributes X ⊆ A if X 00 = A00 then X = A. A relevant notion in the framework of Formal Concept Analysis is the concept of attribute implication [8]. This area is devoted to obtain knowledge from a context that is a table in which attributes and objects are related. An attribute implication is an expression A → B where A and B are sets of attributes. A context satisfies A → B if every object that has all the attributes in A has also all the attributes in B. It is well known that the sets of attribute implications that are valid in a context satisfies the Armstrong’s Axioms. Although the two interpretations of formulas (functional dependency and attribute implication) are different, they have the same concept of semantic entailment. [2] Alternatively, attribute implications allow us to capture all the information which can be deduced from a context. The set of all valid implications in a context may be syntactically managed by means of the following inference system known as Armstrong’s axioms. An implication basis of K is defined as a set L of implications of K from which any valid implication for K can be deduced by using Armstrong rules. The goal is to obtain an implication basis with minimal size. This condition is satisfied by the so-called Duquenne-Guigues (or stem) basis [9]. However, the definition of the Duquenne-Guigues basis refers to minimality only in the Computing Left-Minimal Direct Basis of implications 295 cardinality of the set of formulas, but as we have showed in [6] with an illustrative example, redundant attributes use to appear in this kind of minimal basis. In the following, a summary of some interesting result of this survey are showed. More specifically we present the definitions of some characteristics stud- ied in the survey that will be used to identify the kind of basis we introduce in this paper. In the practice, it is interesting considering some properties [5] related with minimality of them, in order to achieve efficiency. Definition 1. A set of implications Γ it is said – minimal or non-redundant if Γ \ {X → Y } is not equivalent to Γ . – minimum if if it is of least cardinality, that is, | Γ |≤| Γ 0 | for all set of implications Γ 0 equivalent to Γ . – optimal if || Γ ||≤|| Γ 0 || for all set of implications Γ 0 equivalent to Γ , where the size of Γ is defined as X || Γ ||= (| X | + | Y |) {X→Y ∈Γ } And finally the two characteristics that constitutes the center of our basis are introduced: Definition 2. Let Γ = {X0 → Y0 , . . . Xn → Yn } be a set of implications, it is said a left-minimal basis if there does not exist a Xi → Yi and a subset Xi0 ( Xi such that Γ \ {Xi → Yi } ∪ {Xi0 → Yi } is equivalent to Γ . A set of implications Γ and is said direct if for all implication A → B the set A ∪ B is a closed set w.r.t. Γ . 3 Obtaining basis from minimal generators Some methods to obtain generators of closed sets have been studied in [7, 12, 13]. Moreover, minimal generators [10, 11] appear in the literature under different names in various fields, for instance they are the minimal keys of the tables in relational databases. In [13], the authors emphasize the importance of studying minimal generators although “they have been paid little attention so far in the FCA literature”. We agree with these authors about the importance of the study of closed sets and minimal generators. They constitute a source of essential information to an- alyze a formal context. As we mention in the introduction, in [6] we illustrated the use of the Simplification paradigm to guide the search of all minimal gener- ator sets. Thus, we introduce a method named MinGen [6] which computes a list of all pairs Φ = from an arbitrary set of implications The goal of this paper can be considered as the reserve direction of the way we presented there. We will introduce a method to transform these set of pairs into a basis, preserving two good properties (fast computation of attribute closure and minimal left hand side in the implications) and providing minimal- ity in the number of implications.Thus, our goal is to achieve from the minimal 296 Pablo Cordero, Manuel Enciso, Angel Mora and Manuel Ojeda-Aciego generators and closed sets a basis of implications fulfilling left-minimality and directness. In the literature, the most cited algorithm to compute Duquenne-Guigues basis is the Ganter Algorithm [8]. Algorithm 1 is an adaptation of the algorithm showed in [3] to compute a Duquenne-Guigues basis from a set of LSI (labelled set of items) [6], and we obtain a Duquenne-Guigues basis. Algorithm 1: Algorithm for computing a Duquenne-Guigues basis input : An LSI Φ output: A Duquenne-Guigues basis T := ∅; foreach hB, mg(B)i ∈ Φ do foreach A ∈ mg(B) do T := T ∪ {A → B} repeat S := T ; foreach A → B, C → D ∈ T such that A C and B 6⊆ C do T := T r {C → D}; if B ∪ C 6= D then T := T ∪ {BC → D} until T = S ; S := ∅; foreach A → B ∈ T do S := S ∪ {A → B r A}; return S In the following example, we show how to link the above algorithm with the work presented in [6]. Example 1. For the input T = {ab → c, ac → bd, b → d, d → c}, Algorithm MinGen 0 (see [6]) returns Φ = {< abcd, {ab, ac, ad} >, < bcd, {b} >, < cd, {d} > } and from here Algorithm 1 renders Γ = {d → cd, b → bcd, ac → abcd}, which corresponds to a Duquenne-Guigues basis.  The following theorem ensures the minimality (w.r.t. the cardinality) of the Duquenne-Guigues basis. Theorem 1. Any Duquenne-Guigues basis is a minimum basis. In the following, we describe the algorihtm 2 to calculate a Left-Minimal Di- rect Basis based on Algorithm 1. The algorithm is polynomial and it is described searching a good understanding. Of course, an implementation using lectic order would improve considerably its efficiency. First, we consider the following equivalence rules. Definition 3 (Aggregation rules). Let A, B, C and D be sets of attributes. 1. If A ⊆ C then {A → B, C → D} ≡ {A → B, BC → D r B}. 2. If A ⊆ C ⊆ A ∪ B then {A → B, C → D} ≡ {A → BD}. Computing Left-Minimal Direct Basis of implications 297 Algorithm 2: Algorithm for computing a Left-Minimal Direct Basis input : An LSI Φ output: A Minimal Direct Basis T := ∅; foreach hB, mg(B)i ∈ Φ do foreach A ∈ mg(B) do T := T ∪ {(A, A → B)} repeat S := T ; foreach (M, A → B), (N, C → D) ∈ T such that A C and B 6⊆ C do T := T r {(N, C → D)}; if B ∪ C 6= D then T := T ∪ {(N, BC → D)} until T = S ; S := ∅; foreach (M, A → B) ∈ T do S := S ∪ {M → B r M }; return S We let for an extended version of this paper the proof that these equivalences rules are derived rules of equivalences presented in Theorem ??. We propose in the Algorithm 2 the use of the two aggregation rules for reducing the number of implications and also the consequent of implications. Theorem 2. Let T = {(M1 , A1 → B1 ), . . .} be a set of pairs with minimal generators and implications obtained from minimal generators and closed sets. The exhaustive application of the two Aggregation rules produces a left-minimal direct basis. Example 2. Let T = {b → agh, d → a, bn → h, ab → def g, abc → djk} be a set of implications, Algorithm MinGen 0 ([6]) returns a list with closed sets and their minimal generators, Φ = {< abdef gh, {b} >, < abcdef ghkj, {bc} >, < abdef ghn, {bn} >, < abcdef ghkn, {bcn} >, < ad, {d} >} In the first step of the Algorithm 2 with Φ we build T = {(b, b→abdefgh), (bc,bc →abcdefghkj), (bn, bn → abdef ghn), (bcn, bcn → abcdef ghkn), (d, d → ad)}. Then, we apply the Aggregation rules foreach couple of elements in T . At the end of these comparisons, we have T = {(b, b → abdef gh), (bc, abcdef gh → abcdef ghkj), (d, d → ad)}. And from this, in the last foreach of the Algorithm 2, it renders the following left-minimal direct basis S = {b → adef gh, bc → adef ghkj, d → a}. By the other side, Algorithm 1 return the following Duquenne-Guigues basis {b → adef gh, abcdef gh → kj, d → a} which in a minimal basis, but not a left-minimal one. 4 Conclusion In this paper we present an algorithm which allows the transformation of a set of all closed sets and their corresponding minimal generators into a left-minimal 298 Pablo Cordero, Manuel Enciso, Angel Mora and Manuel Ojeda-Aciego direct basis. The study about the soundness, completeness, and complexity of the algorithms proposed are left to a extended paper. The new method uses some equivalences deduced in the SLFD Logic and fol- lows the Lectic order to traverse the list of minimal generators and implications associated and return a set of implications but with good properties. As future work we propose to extend the Duquenne-Guigues basis definition to consider a generalized fuzzy extension of implications. We propose the defini- tion introduced in [2] that has been shown to be the most general one. In [4] a non trivial extension of the SLFD Logic for the generalized definition of fuzzy func- tional dependency was introduced. The generalized version of the SLFD Logic will be used to develop a method to get basis for the generalized fuzzy implications. Acknowledgment Supported by Grants TIN2011-28084 of the Science and Innovation Ministry of Spain, and No. P09-FQM-5233 of the Junta de Andalucı́a. References 1. William W. Armstrong, Dependency structures of data base relationships, Proc. IFIP Congress. North Holland, Amsterdam: 580–583, 1974. 2. Radim Belohlávek, and Vilém Vychodil, Functional Dependencies of Data Tables Over Domains with Similarity Relations, Proc. of the 2nd Indian International Conference on Artificial Intelligence, 2005. 3. Radim Belohlávek, and Vilém Vychodil, Formal Concept Analysis with Constraints by Closure Operators, Lecture Notes in Computer Science, 4068:131–143, 2006. 4. Radim Belohlávek, Pablo Cordero, Manuel Enciso, Ángel Mora, and Vilém Vy- chodil, An Efficient Reasoning Method for Dependencies over Similarity and Ordi- nal Data, Lecture Notes in Computer Science, 7647: 408–419, 2012. 5. K. Bertet, B. Monjardet, The multiple facets of the canonical direct unit implica- tional basis, Theor. Comput. Sci., 411(22-24): 2155–2166, 2010. 6. Pablo Cordero, Manuel Enciso, Ángel Mora, Manuel Ojeda-Aciego, Computing Minimal Generators from Implications: a Logic-guided Approach, CLA 2012: 187– 198, 2012. 7. A. Day, The lattice theory of functional dependencies and normal decompositions, International Journal of Algebra and Computation, 2: pp. 209–431, 1990. 8. B. Ganter, Two basic algorithms in concept analysis, Technische Hochschule, Darmstadt, 1984. 9. J.L. Guigues and V. Duquenne, Familles minimales d’implications informatives résultant d’un tableau de données binaires, Math. Sci. Humaines: 95, 5–18, 1986. 10. L. Szathmary and A. Napoli and S. O. Kuznetsov, ZART: A Multifunctional Item- set Mining Algorithm , Proc. of the 6th Intl. Conf. on Concept Lattices and Their Applications (CLA ’08): 47–58, 2008. 11. L. Szathmary and P. Valtchev and A. Napoli and R. Godin, Efficient Vertical Mining of Frequent Closures and Generators, LNCS 5772: 393–404, 2009. 12. C. Frambourg, P. Valtchev, and R. Godin, Merge-based computation of minimal generators. Discrete Mathematics, LNCS 3596: 181–194, 2005. 13. K. Nehmé, P. Valtchev, M. H. Rouane, R. Godin, On Computing the Minimal Generator Family for Concept Lattices and Icebergs, LNCS 3403: 192–207, 2005. Comparing Performance of Formal Concept Analysis and Closed Frequent Itemset Mining Algorithms on Real Data Lenka Pisková, Tomáš Horváth University of Pavol Jozef Šafárik, Košice, Slovakia lenka.piskova@student.upjs.sk, tomas.horvath@upjs.sk Abstract. In this paper, an experimental comparison of publicly avail- able algorithms for computing intents of all formal concepts and mining frequent closed itemsets is provided. Experiments are performed on real data sets from UCI Machine Learning Repository and FIMI Repository. Results of experiments are discussed at the end of the paper. 1 Introduction Formal Concept Analysis (FCA) [9] is a method for analysing data in the form of a table with applications in many disciplines.A formal concept is a formalization of the concept of a “concept” which consists of two parts, a set of objects which forms its extension and a set of attributes which forms its intension [25]. For- mal concepts can be ordered according to the subconcept-superconcept relation resulting in a concept lattice. Frequent itemset mining (FIM) introduced in [1] was proposed as a method for market basket analysis. The identification of sets of items (itemsets) which often occur together in a database (the frequency is not less than a user defined minimum support threshold) is one of the basic tasks in Data Mining. When the minimum support is set low, a huge number of itemsets is generated. To overcome this problem, closed and maximal frequent itemsets were proposed. FCA and FIM are two research fields that are closely related to each other [20]. Naturally, they address similar problems, e.g. selecting important concepts versus finding interesting patterns in data. Moreover, they inspire each other (Iceberg concept lattice which is the set of all frequent concepts connected with the subconcept-superconcept relation [23]). Finding the set of all intents (of formal concepts) is equivalent to finding the set of all closed frequent itemsets using a minimum support equal to zero [20]. Nonetheless, there is no experimental comparison between algorithms for computing formal concepts and algorithms for mining frequent closed itemsets. The aim of this paper is to provide such comparison on real-world data. 2 Compared Algorithms The problem of generating formal concepts and/or a concept lattice has been well studied and many algorithms have been proposed [8], [15], [17], [21], [22]. A c paper author(s), 2013. Published in Manuel Ojeda-Aciego, Jan Outrata (Eds.): CLA 2013, pp. 299–304, ISBN 978–2–7466–6566–8, Laboratory L3i, University of La Rochelle, 2013. Copying permitted only for private and academic purposes. 300 Lenka Pisková and Tomáš Horváth comparative performance study of algorithms for building concept lattices can be found in [10] and [16]. In this paper we will focus only on those algorithms which compute the set of all formal concepts (frequent closed itemsets) only. Therefore, we do not compare our results with [10] and [16]. The fastest algorithms for computing formal concepts are FCbO [14] and In- Close [2] which are based on the CbO algorithm [15]. In the competition between FCA algorithms at ICCS 20091 FCbO took the first place and the runner-up was In-Close. The improvement of In-Close algorithm [3] was developed in response to the competition to outperform FCbO, but our results show that FCbO still performs better. A parallel variant of FCbO was also proposed [14], however, we consider only the serial version in this paper. Implementations of algorithms for mining closed frequent itemsets were ex- perimentally compared2 and presented at FIMI’03 and FIMI’04 workshops [12]. The best of the tested algorithms ([5], [13], [18], [19], [24], [26]) was FP-Close [13] although it gave a segmentation fault for 4 out of 14 data sets. In this paper, we provide an experimental comparison of 10 algorithms on real-world data sets whose implementations are publicly available, two of them compute formal concepts (FCbO and In-Close2) and the remaining 8 generate closed frequent itemsets ([5], [6], [7], [13], [18], [19], [24]). 3 Experimental Evaluation We have carried out a number of experiments for several real-world data sets to compare FCA and FIM algorithms that are publicly available. The characteris- tics of selected data sets [4], [11] are shown in the table 1. Table 1. The characteristics of data sets. Dataset # Transactions # Items Density (%) Small/Big Accidents 340183 468 33.8 Big Car Evaluation 1728 25 28 Small Connect 67557 129 43 Big Kosarak 990002 41270 8.1 Big Mushroom 8124 119 23 Small Retail 88162 16469 10.3 Big Tic-tac-toe 958 29 34 Small The experiments were conducted on the computing node with 16 cores equipped with 24 GB RAM memory running GNU/Linux openSUSE 12.1. The measured times are CPU times. Each algorithm was run three times for each data set and the given minimum support threshold value to get the most accurate results. All reported times are the average times of the three 1 http://www.upriss.org.uk/fca/fcaalgorithms.html 2 http://fimi.ua.ac.be/experiments/ Comparing Perf. of FCA and Cl. Freq. Itemset Mining Alg. on Real Data 301 runs. The output was turned off, i.e. the results of algorithms (intents of formal concepts/frequent closed itemsets) were neither written to a file nor to the screen. Some of the algorithms were originally developed to mine closed frequent itemsets. For Apriori, Carpenter and Eclat we have set the flag -tc to mine closed frequent itemsets. Similarly, we have used the flag -fci for Mafia. The input file of In-Close2 is in the cxt (formal context) format while the input of other algorithms is in the standard FIMI format - each line represents a list of attributes of an object/a list of items in a transaction. The disadvantage of In-Close2 is that unlike other algorithms it also computes extents of formal concepts (in addition to their intents). Some algorithms had problems on certain data sets. For mushroom, Apriori gets killed, Carpenter outputs an incorrect number of closed frequent itemsets (238827), DCI Closed does not calculate the result in a reasonable time (we have stopped the computation after a few hours). In-Close2 gives an incorrect number of formal concepts (59343) for tic-tac-toe. For kosarak, FPClose is either aborted due to the invalid pointer or gives seg- mentation fault for the support 0.8% and supports less than or equal to 0.6%. For retail with minsup = 0, Apriori gets killed, Carpenter gives an incorrect number of closed frequent itemsets (2186693) and DCI Closed is aborted. In-Close2 gives segmentation fault for the supports lower or equal to 60% on accidents and for all supports except for 90% on connect. Table 2. Performance of algorithms for mining closed frequent itemsets with the min- imum support equal to 0 (CPU time in seconds). Car Evaluation Mushroom Tic-tac-toe # Formal concepts 12640 238710 59505 Afopt 0.13 5.083 1.006 Apriori 0.04 - 0.25 Carpenter 0.71 - 1.646 DCI Closed 0.023 - 0.05 Eclat 0.02 0.976 0.143 FCbO 0.02 0.803 0.13 FPClose 0.056 1.586 0.36 In-Close2 0.043 2.583 - LCM 0.02 1.363 0.086 Mafia 0.243 39.746 2.64 We have compared the performance of the algorithms for mining intents of all formal concepts, i.e. closed frequent itemsets using minsup = 0 (typical task in FCA) on small data sets. The results are depicted in the table 2. Arguably, FCbO is the best algorithm for the given task, it is the fastest algorithm for car and mushroom and the third fastest for tic-tac-toe. LCM and Eclat perform well on these data sets, too. Considering also the results on retail with minsup = 0, LCM is the fastest algorithm and the runner-up are Eclat and FPClose. 302 Lenka Pisková and Tomáš Horváth Fig. 1. Performance of algorithms on accidents and connect data sets for various min- imum support values (CPU time in seconds are measured). Other tests were performed on big data sets and the performance of al- gorithms was tested for various values of support. Figures 1 and 2 show the timings for the algorithms on the accidents, connect, kosarak and retail data sets. The performance of the FCbO algorithm is average on big data sets ex- cept for kosarak. Eclat, DCI Closed and FPClose are good choice in the case of dense data sets (accidents, connect). However, the runtime of most algorithms in- creases dramatically with decreasing minimum support on these data sets. Afopt, DCI Closed and LCM are suitable for sparse data sets (kosarak, retail) although the Afopt algorithm is not able to handle the retail data set for minsup = 0. The timings for In-Close2 on kosarak are not included, because the computation took several hours just for high values of support . For kosarak, in our experimental testing FPClose failed while FPClose was the fastest algorithm for low as well as high values of support in [12]. Our results on other data sets correspond to some extent to the results in [12]. Comparing Perf. of FCA and Cl. Freq. Itemset Mining Alg. on Real Data 303 Fig. 2. Performance of algorithms on kosarak and retail data sets for various minimum support values (CPU time in seconds are measured). 4 Conclusion We have experimentally compared algorithms for computing intents of formal concepts and algorithms for mining closed frequent itemsets on real-world data. Our experimental testing has no clear winner for different data sets and minimum support threshold setting. In our opinion, DCI Closed behaves well although it had some problems on the mushroom data set and the retail data set with minsup = 0. On small data sets, the fastest algorithm is FCbO. Acknowledgements: This work was partially supported by the research grants VEGA 1/0832/12 and the Center of knowledge and information systems in Košice (ITMS 26220220158). References 1. R. Agrawal, T. Imielinski, A. Swami: Mining association rules between sets of items in large databases. SIGMOD, 1993. 304 Lenka Pisková and Tomáš Horváth 2. S. Andrews: In-Close, a fast algorithm for computing formal concepts. ICCS 2009. 3. S. Andrews: In-Close2, a High Performance Formal Concept Miner. ICCS 2011. 4. K. Bache, M. Lichman: UCI Machine Learning Repository, 2013, http://archive.ics.uci.edu/ml, University of California, Irvine, School of Infor- mation and Computer Sciences. 5. Ch. Borgelt: Efficient Implementations of Apriori and Eclat. IEEE ICDM Workshop on FIMI (2003). 6. Ch. Borgelt, X. Yang, R. Nogales-Cadenas, P. Carmona-Saez, A. Pascual-Montano: Finding Closed Frequent Item Sets by Intersecting Transactions. EDBT 2011. 7. D. Burdick, M. Calimlim, J. Flannick, J. Gehrke, T. Yiu: MAFIA: A Performance Study of Mining Maximal Frequent Itemsets. IEEE ICDM Workshop on FIMI (2003). 8. B. Ganter: Two basic algorithms in concept analysis. (Technical Report FB4- Preprint No. 831). TH Darmstadt, 1984. 9. B. Ganter, R. Wille: Formal concept analysis: Mathematical foundations. Springer, 1999. 10. R. Godin, R. Missaoui, H. Alaoui: Incremental concept formation algorithms based on Galois (concept) lattice. Computational Intelligence, vol. 1(2), 1995. 11. FIMI Repository, http://fimi.ua.ac.be/data/. 12. B. Goethals, M. J. Zaki: Advances in Frequent Itemset Mining Implementations: Report on FIMI03. SIGKDD Explorations, vol. 6 (1), 2004. 13. G. Grahne, J. Zhu: Efficiently Using Prefix-trees in Mining Frequent Itemsets. IEEE ICDM Workshop on FIMI (2003). 14. P. Krajca, J. Outrata, V. Vychodil: Advances in algorithms based on CbO. CLA 2010. 15. S. O. Kuznetsov: A Fast Algorithm for Computing All Intersections of Objects in a Finite Semi-lattice. Automatic Documentation and Mathematical Linguistics, vol. 27 (5), 1993. 16. S. O. Kuznetsov, S. A. Obiedkov: Comparing Performance of Algorithms for Gen- erating Concept Lattices. Journal of Experimental and Theoretical Artificial Intelli- gence, vol. 14 (2-3), 2002. 17. Ch. Lindig: Fast Concept Analysis. Working with Conceptual Structures – Contri- butions to ICCS 2000, 2000. 18. G. Liu, H. Lu, J. X. Yu, W. Wei, X. Xiao: AFOPT: An Efficient Implementation of Pattern Growth Approach. IEEE ICDM Workshop on FIMI (2003). 19. C. Lucchese, S. Orlando, R. Perego: DCI Closed: A Fast and Memory Efficient Algorithm to Mine Frequent Closed Itemsets. IEEE ICDM Workshop on FIMI (2004). 20. B. Martin, P. Euklund: From Concepts to Concept Lattice: A Border Algorithm for Making Covers Explicit. ICFCA, 2008. 21. E. M. Norris: An Algorithm for Computing the Maximal Rectangles in a Binary Relation. Revue Roumaine de Mathématiques Pures et Appliquées, vol. 23(2), 1978. 22. L. Nourine, O. Raynaud: A fast algorithm for building lattices. Information Pro- cessing Letters, vol. 71, 1999. 23. G. Stumme, R. Taouil, Y. Bastide, N. Pasquier, L. Lakhal: Computing Iceberg Concept Lattices with Titanic. Journal on Knowledge and Data Engineering, vol. 42(2), 2002. 24. T. Uno, T. Asai, Y. Uchida, H. Arimura: LCM: An Efficient Algorithm for Enu- merating Frequent Closed Item Sets. IEEE ICDM Workshop on FIMI (2003). 25. R. Wille: Restructuring lattice theory: An approach based on hierarchies of con- cepts. Ordered Sets, vol. 83, 1982. 26. M. J. Zaki: Scalable algorithms for association mining. IEEE Transactions on Knowledge and Data Engeneering, vol. 12, 2000. Author Index Alam, Mehwish, 237 Ignatov, Dmitry I., 249 Alcalde, Cristina, 225 Antoni, Lubomı́r, 117 Jay, Nicolas, 199 Astudillo, Hernán, 163 Kaytoue, Mehdi, 33 Baixeries, Jaume, 33 Konecny, Jan, 153 Barbot, Nelly, 175 Krd́lo, Ondrej, 105, 117 Barkstrom, Bruce R., 275 Krajçi, Stanislav, 117 Bazin, Alexandre, 45 Krmelova, Marketa, 187 Bertet, Karell, 81 Kuznetsov, Sergei O., 199, 249 Burusco, Ana, 225 Buzmakov, Aleksey, 199 Le Ber, Florence, 129 Caro-Contreras, David Ernesto, 141 Medina, Jesús, 225 Chekol, Melisachew Wudage, 237 Mendez-Vazquez, Andres, 141 Codocedo, Vı́ctor, 163 Miclet, Laurent, 175 Cordero, Pablo, 293 Mihalčin, Patrik, 117 Miralles, André, 9 Dı́az, Juan Carlos, 225 Mora, Angel, 293 De Causmaecker, Patrick, 57 Napoli, Amedeo, 33, 163, 199, 237 De Wannemacker, Stefan, 57 Nebut, Clémentine, 9 Dolques, Xavier, 129 Domenach, Florent, 93 Ojeda-Aciego, Manuel, 105, 153, 293 Duquenne, Vincent, 7 Osman Guédi, Abdoulkader, 9 Outrata, Jan, 261 Egho, Elias, 199 Enciso, Manuel, 293 Peláez-Moreno, Carmen, 211 Pisková, Lenka, 299 Freese, Ralph, 1 Prade, Henri, 175 Fuentes-González, Ramon, 225 Raı̈ssi, Chedy, 199 Ganascia, Jean-Gabriel, 45 Revel, Arnaud, 81 Garanina, Natalia O., 287 Glodeanu, Cynthia Vera, 69 Shilov, Nikolay V., 287 Gnatyshak, Dmitry V., 249 Stanley, Renzo, 163 Goethals, Bart, 3 Grabisch, Michel, 5 Tang, My Thao, 281 Grebeneva, Julia V., 287 Torim, Ants, 21 Guérin, Clément, 81 Toussaint, Yannick, 281 Trnecka, Martin, 187 Horvath, Tomas, 299 Huchard, Marianne, 9, 129 Valverde-Albacete, Francisco José, 211 Editors: Manuel Ojeda-Aciego, Jan Outrata Title: CLA 2013, Proceedings of the Tenth International Conference on Concept Lattices and Their Applications Publisher & Print: Laboratory L3i & Computer Sciences, Image Processing and Intercation Lab University of La Rochelle Avenur Michel Crépeau 17042 La Rochelle Cedex 1 France Place, year, edition: La Rochelle, 2013, 1st Page count: xii+306 Impression: 50 Archived at: cla.inf.upol.cz Not for sale ISBN 978–2–7466–6566–8