=Paper=
{{Paper
|id=None
|storemode=property
|title=None
|pdfUrl=https://ceur-ws.org/Vol-1062/proceedings-cla2013.pdf
|volume=Vol-1062
}}
==None==
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