A. G UÉNOCHE
Construction du treillis de Galois d’une relation binaire
Mathématiques et sciences humaines, tome 109 (1990), p. 41-53
<http://www.numdam.org/item?id=MSH_1990__109__41_0>
© Centre d’analyse et de mathématiques sociales de l’EHESS, 1990, tous droits réservés.
L’accès aux archives de la revue « Mathématiques et sciences humaines » (http://
msh.revues.org/) implique l’accord avec les conditions générales d’utilisation (http://www.
numdam.org/conditions). Toute utilisation commerciale ou impression systématique est consti- tutive d’une infraction pénale. Toute copie ou impression de ce fichier doit conte- nir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
http://www.numdam.org/
CONSTRUCTION DU TREILLIS DE GALOIS D’UNE RELATION BINAIRE
A.
GUÉNOCHE1
RÉSUMÉ -
Cet article constitue uneprésentation unifiée
desprincipales
méthodes de construction du treillis de Galois d’unecorrespondance.
Nousrappelons
d’abord sadéfinition,
puis nous décrivons quatrealgorithmes
de construction des éléments du treillis qui sont les rectangles maximaux de la relation binaire. Cesalgorithmes ne sont pas originaux. Les descriptions précises de algorithmes, le plus souvent absentes des
publications
originales, permettent une programmation simple, dans unlangage procédural
à l’aide d’unestructure de données commune.
ABSTRACT - Building the Galois Lattice of a
binary
relationThis text is a survey
of
different methods used to build the Galois Lattice of a binary relation between two finitesets. We
first
recall itsdefinition
and common notations. Then we presentfour algorithms
to construct the elementsof
the lattice that are maximalrectangles
in thebinary
relation. Thesealgorithms
havealready
beenpublished during
these last twenty years. Precisedescriptions, often
missing in theoriginal publications,
are given and permit a simple programmingjob
in anyprocedural language.
L’intérêt pour le treillis de Galois d’une
correspondance
binaire entre deux ensembles s’est trouvéréactivé,
à cause de laposition
centralequ’il
occupe dans certainsproblèmes
relevant à la fois de la Théorie del’apprentissage
àpartir d’exemples
et del’Analyse
combinatoire de données.Depuis quelques années,
on s’intéresse à cette structure,équivalente
à celle de lacorrespondance,
dans le cadre de la définition deconcepts [Wille 1982, 1989]
et de la recherched’implications [Duquenne
etGuigues 86].
Ce texte ne contient pas de résultatsmathématiques
nouveaux; il
s’agit
d’une contributioninformatique
danslaquelle
onprésente
les idéesqui
conduisent aux
algorithmes
de construction du treillis de Galois. Nousrappelons
d’abord sadéfinition, puis
nous décrivons quatrealgorithmes
de construction des éléments du treillisqui
sont les
rectangles
maximaux de la relation binaire. Cesalgorithmes
ne sont pasoriginaux.
Cetarticle constitue une
présentation
unifiée desprincipales
méthodes de construction du treillis.Les
descriptions précises
desalgorithmes,
absentes despublications originales,
àl’exception
decelle de Bordat
[1986],
permettent uneprogrammation simple,
dans unlangage procédural,
àl’aide d’une structure de données commune.
1. INTRODUCTION
Nous ne
prétendons
pas dans cette introductionrappeler
au lecteur les éléments de base de la théoriemathématique
destreillis,
pasplus
que nous ne démontrerons lespropriétés
élémentairesqui
amènent à la définition du treillis de Galois associé à unecorrespondance
entre deux1 G.R.T.C. - C.N.R.S. 31 Ch. J. Aiguier 13402 Marseille Cedex 9
ensembles finis. Le lecteur intéressé consultera les ouvrages de référence
[Birkhoff 1967,
Barbut &Monjardet 1970].
Nousprésentons
les seules notions nécessaires à la définition desalgorithmes
et introduisons les notations lesplus
usuelles dans ce domaine.Soit E =
{ 1, 2, ... , n }
et F ={ a, b, c, ... }
deux ensembles de cardinauxrespectifs
n et m etR une relation binaire sur ExF. On notera
xRy
le faitqu’un
élément x de E est lié à unélément y de F. Définissons :
De
façon équivalente f(X)
est l’intersection pour x appartenant à X def(x) = { y
E F1 xRy 1
etg(Y)
l’intersection pour y appartenant à Y deg(y) = { x
E E1 xRy 1.
A l’évidence f(resp. g)
est une
application
monotone décroissante.On note h =
g[f]
et h’ =f[g]
lesapplications composées
de f et g. Ce sont desapplications :
- monotones croissantes
- extensives X C
h(X),
-
idempotentes h[h(X)]
=h(X).
Par définition le
couple {f, g}
forme unecorrespondance
de Galois et h et h’ sont desfermetures.
Un sous-ensemble X de E(resp.
Y deF)
estdit fermé
si et seulement si X =h(X) (resp.
Y =h’(Y)).
Soit
(resp. Xp)
l’ensemble des fermés de E(resp. F) partiellement
ordonné par inclusion.Pour les
opérations
d’union(infimum)
et d’intersection(supremum) ( C )
a une structurede
treillis,
ainsi que( Xp,
C).
Ces deux treillis sontisomorphes. Notons f =
xIF
lescouples
d’éléments encorrespondance
dans cetisomorphisme ;
ils sont de la forme X xf(X)
oug(Y) x Y.
On
munit Îf
de la relation d’ordre(notée ( ) définie
parLe treillis
( ~, ~ )
estappelé
treillis de Galois de la relation R sur E x F.PROPOSITION 1. Les éléments
de 1
sont desrectangles
maximaux de la relation R.DEMONSTRATION. La
correspondance
Rpeut
sereprésenter
sous forme d’un tableau binaire. Le sous-tableaucorrespondant
à X xf(X),
élément du treillis ne contient que des 1puisque
pour tout x E X et tout y Ef(X),
on axRy. Supposons qu’il
existe x’ EE/X
tel quef(X) c f(x’).
Alors x’ Eg[f(X)]
etf(X)
n’est pas fermé. Le sous-tableaucorrespondant
à unélément du treillis
~
est donc maximal au sens suivant : si on luiajoute
uneligne
ou unecolonne,
le sous-tableau étendu contiendra au moins un 0.Ces
rectangles
sontégalement appelés
sous-matricecomplètes premières [Kaufmann
etPichat
1977].
Dans uneterminologie différente,
issue de la théorie desgraphes
et que nous ne détaillerons pasici,
la relation R définit les arêtes d’ungraphe biparti
surEuF, f(x) (resp. g(y))
est l’ensemble des sommets
adjacents
à x(resp. y).
Les élémentsde 2 correspondent
auxsous-graphes bipartis complets
maximaux(les cliques maximales)
dugraphe (EuF, R).
EXEMPLE 1
Soit E =
{1,2,3,4,5,6),
F ={ a,b,c,d,e {
et R donnée par le tableau binaire ci-dessous.On a
f(l) = {a,b}
etg({a,b}) = { 1,6},
d’oùh(l) = { 1,6}
et{ 1 }
n’est pas fermé. Par contref({l,6} = {a,b}
d’oùh ({1,6})= { 1,6}
et{ 1,6}
est fermé :{ 1,6}
x{a,b}
est un élément dutreillis de Galois. En
anticipant quelque
peu, nousprésentons
dans lafigure
1 lediagramme de
Hasse du
treillis,
c’est à dire legraphe
dont l’ensemble des sommets est l’ensemble des éléments du treillis et les arcscorrespondent
à la relation de couverture de la relation d’ordre.Figure
1Nous avons tracé dans la
figure
2 legraphe biparti
de la relation R ainsi que l’un de ses sous-graphes complets bipartis
maximauxcorrespondant
à l’élément{ 3,6 }
x{ b,c,d }
de~.
Fi ure
2.2. ALGORITHMES DE CONSTRUCTION DU TREILLIS DE GALOIS
Dans cette
partie
nousprésentons
successivement quatrealgorithmes publiés qui
permettent de construire le treillis de Galois d’unecorrespondance.
Nous ne reprenons pasl’algorithme
"naïf"qui
m consiste conslsteà énumérer 9 (F),
aenumerer P (F)
à calculer la fermeture dechaque partie
our ou vérifier s’ils’agit
’un
fermé,
nonplus
que desalgorithmes généraux
d’énumération desc lques
maximalesd’un
graphe quelconque.
Il nous a paru intéressant dereprendre
et d’unifier les différentes idéesdéveloppées
pour cette construction dans la mesure où on les trouve dans la littérature defaçon
très
éparse,
aussi bien dans le temps et dans les revueset/ou
actes decolloque
que dans lesterminologies
et notations utilisées. D’autrespublications
mentionnées dans labibliographie
nesont pas détaillées
ici,
soitqu’elles
neprésentent
pas deprincipes algorithmiques
réellementdifférents de ceux
exposés ci-dessous,
soit que les méthodesproposées
le sont defaçon
tellement vague
qu’on
ne peutparler
vraimentd’algorithme.
Les troispremiers algorithmes présentés
ici ne s’intéressentqu’à
l’énumération des éléments du treillis(les rectangles maximaux),
laissant de côté le calcul de lapartie
essentielle de la relation d’ordre entreéléments,
donc la construction effective dugraphe
de Hasse du treillis(encore appelé graphe
de
couverture).
Lequatrième
construit les différents éléments en utilisant cette relation de couverture ; il énumère donc les arêtes et conduit directement àl’algorithmique
sur lesgraphes (construction
dechemins,
ou tracéautomatique).
2.1 Méthode de Chein 1
Malgrange
La méthode ici attribuée à M. Chein est une amélioration de
l’algorithme
de Y.Malgrange,
dumoins tel
qu’il
est décrit dansl’ouvrage
de Kaufmann et Pichat. Cette méthode a été utilisée(et
souvent non
publiée)
par de nombreux auteurs(potentiels) ;
c’est celle que l’on utilise pour une construction "à la main". Lapublication
de 1962 est à ma connaissance lapremière qui
proposeune méthode
spécifique ;
cellepubliée
par G.Fay
est similaire.L’algorithme
est fondé sur lapropriété
suivante dont la démonstration est évidente.PROPOSITION 2. Soit
Xi
xY1
etX2
xY2
deux élémentsde 1.
Lerectangle (XI u X2)
x(Yl
(1Y2)
est un élémentde tf
si et seulement si il est maximal.L’algorithme qui
en découle est itératif. Achaque étape k,
onpart
d’un ensembleLk
derectangles
et on construit Un élément de est obtenu par combinaison de deux éléments deLk,
comme l’union des deuxparties
de E x l’intersection des deuxparties
de F sicelle-ci n’est pas vide. Les éléments de
Lk
inclus dans au moins un élément deLk+1
ne sont pas maximaux et ils sontsupprimés.
SiLk+1
aplus
d’un élément on passe àl’étape k+1,
sinonl’algorithme
s’arrête. L’ensemble des éléments nonsupprimés
des différentsLk
est celui desrectangles
maximaux de lacorrespondance.
Initialement LI est l’ensemble desrectangles
à uneligne correspondant
àchaque
élément xi deE,
les colonnes étant les éléments de Fqui
lui sontliés
Algorithme
de Chein1 , ,
Pour tout i
j
indices d’éléments deLk
nonmarqués
FaireFin de
condition
si- -
Fin de la boucle i
j
Fin de la boucle Tant que
~
est l’ensemble des éléments nonmarqués.
EXEMPLE 2
Dans tous les
exemples,
nous reprenons les données del’exemple
1. Les différentsétapes
dudéroulement de
l’algorithme figurent
ci-dessous. On initialise Ll avec lesrectangles
xi xf(xi).
Les deux éléments de
Ll,
1 xa,b
et 6 xa,b,c,d,e
donnent1,6
xa,b ;
comme l’intersection donne mêmepartie
de F que lepremier, 1
xa,b
estmarqué (par
lesigne *).
Lacomposition
de3 x
b,c,d
avec 4 xd,e
donne3,4
x d. Puis celle de 3 xb,c,d
avec 5 x d donne la mêmepartie
de F. Lerectangle 3,4
x d estprolongé
en3,4,5
x d.COMPLEXITÉ
Notons
lk
le cardinal deLk. L’implémentation
de cetalgorithme
utilise deux listes consécutivesLk
etLk+1.
Le nombred’opérations
àchaque étape
estproportionnel
àlk2, puisqu’on conjugue
les éléments de Lk deux à deux.Chaque
combinaison(union
etintersection)
demande1 E 1+1 F 1 = n+m
opérations.
Vérifier que l’intersection desparties
de F n’a pasdéjà
été obtenue dans se fait encomparaisons
des valeurs d’une fon-ctioncaractéristique. Chaque
itération est en Il
s’agit
d’une bornesupérieure puisque
lejeu
des marquages entraîne un nombre nettementplus petit
decomparaisons.
2.2 Méthode de Ganter
( 1984)
Cet
algorithme
construit tous les fermés pour une relation de fermeturequelconque;
il a étédéveloppé
dans le cadre de la"concept analysis".
Présentons tout d’abord les notations nécessaires :Soit A =
(ai,
a2, ..am)
et B =(bi, b2, .. bm)
deux vecteurscaractéristiques de fP F)
et on notel’ordre
lexicographique
sur ces vecteursbooléens;
parexemple (0,0,0,0) (0,0,0,1) (0,0,1,0) (0,0,1,1) (0,1,0,0)
..etc. Soit A B et i l’indice tel que pourtout j
i on aitaj
=bj
et aibi. (on
a ai = 0 etbi = 1).
On note A i B. Maintenant si dans A =(ai,
a2, ..am)
on aaj
=0,
on noteAj = (al,
..aj-1, 1, 0,
..0)
et on définitA 0 j
=h’(Aj).
B. Ganter endéduit trois lemmes et une
proposition
que nous ne redémontrerons pas : -AA0153iA i et B fermr = A i B et B ferme =
PROPOSITION 3. Le
plus petit
ferméplacé après
A pour l’ordrelexicographique
est A 0 i où iest le
plus grand
indice tel que Ai
A 0153 i.L’algorithme
de B. Ganter est fondé sur cetteproposition.
Enpartant
d’un fermé Aquelconque,
le dernierobtenu,
il détermine leplus petit
fermé(pour
l’ordrelexicographique)
suivant A. Pour ce
faire,
ilchange
une composante d’indice i leplus grand possible
et telle que ai = 0. Pour le vecteurAi
ainsiobtenu,
il calcule sa fermeture etsoit j
tel que Aj h’(Ai).
Siij
alors
h’(Ai)
est leplus petit
fermé(pour
l’ordrelexicographique)
suivantA,
sinon on essayeune nouvelle valeur de i
plus petite.
Initialement leplus petit
fermé de F est0 ;
onpartira
doncde A =
(0, 0,
..0).
Fin de boucle Tant que EXEMPLE 3
Enumérons les fermetures calculées par
l’algorithme
de Ganter sur les données del’exemple
1 :d’où
{ b,c,d }
est ferméd’où
{ a } est
ferméd’où
{ a,c }
est ferméd’où
{ a,b }
est ferméd’où
{ a,b,c,d,e }
est fermé.On a donc calculé 21
fermetures,
au lieu des 31 que l’on aurait calculées pourl’algorithme
"naïf"
qui
consiste à construire les fermetures des 2m-1parties
de F(toutes
sauf l’ensemblevide).
REMARQUES
- Cet
algorithme
ne calcule que les fermés de F. Pour obtenir les éléments du treillis deGalois,
il
faudrait,
pourchaque
ferméA’,
calculerg(A’),
encore que ce calcul estimplicite, puisque A’=f[g(Ai)]
et queg(A’)=g(Ai).
- On
opérerait
defaçon identique
sur lesparties
de E si l’on avait n m.-
L’avantage
essentiel de cetalgorithme
estqu’il, ne
demande que très peu deplace mémoire, puisqu’il
n’utilise que le ferméprécédent.
Pour des tableaux relativementimportants,
c’est leseul
qui
soit utilisable.2.3 Méthode de Norris
(1978)
La méthode utilisée par M. Norris pour construire le treillis de Galois est
l’application
d’unprincipe
trèsgénéral qui s’applique
à desproblèmes d’algorithmique
combinatoire très différents(construction
descliques
maximales d’ungraphe,
énumération des monômes vides d’unealgèbre
deBoole, etc..).
Poursimplifier
laprésentation
nous considérerons que la relation binaire R entre E et F est donnée sous forme d’un tableau binaire comme pourl’exemple
1. Dansl’algorithme
de Norris on considère ce tableauligne
àligne
et on construitl’ensemble des
rectangles
maximauxLk
obtenusaprès
examen de klignes,
pour k variant de 1 àn. Initialement Ll ne contient
qu’un
seulrectangle
x 1 xf(xl).
Uneétape
de cetalgorithme
revient à construire
Lk
connaissant xk etLk-1. Après
examen des nlignes
= Ln.A
partir
de xk on construitLk
en considérant successivement tous lesrectangles
deLk-1.
Unrectangle Xi
xYi
est soit étendu en(Xi
u{xk})
xYi
siYi
est inclus dansf(xk),
soitrecopié
eton
ajoute
àLk
lerectangle (Xi
u{ xk } ) x (Yi
nf(xk))
siYi
nf(xk)
n’est pas lapartie
de F d’unrectangle
deLk.
Enfin siaprès
examen de tous les éléments deLk-1,
lerectangle
xk xf(xk)
estmaximum dans
Lk,
onl’y ajoute.
Sinon Faire
Fin de la boucle Pour tout
Xi
xYi
Si xk n’est pas
marqué
Alors L := L + xk xf(xk)
Fin de la boucle k EXEMPLE 4
Nous avons
reporté
en traitantl’exemple 1,
suite à l’examen deslignes
du tableauqui
sontrappelées,
chacune des listes derectangles correspondant
àchaque étape ;
elles sont iciindicées,
ce
qui
estinutile,
comme ilapparaît
dansl’algorithme détaillé,
où l’on ne traitequ’une
seuleliste L.
COMPLEXITÉ
Cet
algorithme impose
de conserver en mémoire la liste desrectangles
en cours d’élaboration.Pour
chaque rectangle, l’opération
laplus longue
est cellequi
consiste à vérifier queYi
nf(xk)
n’est pas la
partie
de F d’un élément de L.Chaque étape
de cetalgorithme
est decomplexité .O(m.1 Lk IZ).
2.4 Méthode de Bordat
(1986)
Comme nous l’avons annoncé au début de ce
paragraphe, l’algorithme
de J.P. Bordat est le seulqui
construise simultanément les éléments du treillis et les arêtes de songraphe
de Hasse. Ilengendre
lesrectangles
maximauxX’.
x Y’. couvertspar
un élément X x Y de c’est à diresans intermédiaire entre X x Y et X’ x Y’
dans
le treillis,. Malheureusement unrectangle
estengendré
autant de foisqu’il
a d’éléments immédiatementsupérieurs;
on passera donc un tempsnon
négligeable
dans cetalgorithme
à vérifierqu’un rectangle
maximum que l’on vientd’engendrer
n’est pasdéjà
calculé. Néanmoins cetteopération
permet d’énumérer toutes les arêtes dugraphe
de Hasse du treillis. Avant de détaillerl’algorithme
de J.P. Bordat nousrappelons
ses définitions et son théorème que nous ne redémontrerons pas.On dit que
Yi
est unepartie
maximale deg(Y)
x(FBY)
si et seulement si il n’existe pas departie
Z telle que :Yi C
Z etg(Yi)
ng(Y)
=g(Z)
f1g(Y).
Lafigure
3 ci-dessous montre troisparties
maximales deg(Y)
x(FBY).
Lesrectangles
encadrés sontsupposés
ne contenir que des1 ;
les 0 ne sont pasmarqués.
Figure
3PROPOSITION 4. Le
rectangle
X x Y couvreg(Yi)
x(Y
uYi) dans f
si et seulement siYi
estune
partie
maximale de X x(FBY).
L’algorithme
de Bordat consiste à construire la liste desrectangles
maximaux en partant du supremum du treillis E x 0(à
moinsqu’il
existe des éléments de F liés à tous les éléments deE).
Pourchaque
élément de laliste,
que l’on étudieséquentiellement,
on construit lesrectangles qu’il
couvre. Pourchaque rectangle
on cherche s’il n’est pasdéjà
contenu dans la liste. Sinonon
prolonge
la liste et dans tous les cas onajoute
un arc augraphe
de Hasse.Quand
le dernierélément de la liste a été examiné
(il n’engendre
que desarcs) l’algorithme
s’arrête.Implémenté
de cette
manière, l’algorithme
demande de conserver en mémoire la liste de tous lesrectangles
maximaux.
La
description
de J.P. Bordat estplus complexe,
dans la mesure où il ne range pas les éléments du treillis dans une listequ’il parcourt jusqu’à épuisement,
mais dans un arbre cousudans
lequel
un chemin constitue un fermé de Y. Nous ne reprenons pas ici cette structure dedonnées, puisque
nous nous intéressons auxprincipes
desalgorithmes
etqu’il n’y
a pas lieu derecopier
cequi
est bien décrit et accessible dans la même revue. Nous détaillerons néanmoinsune
implémentation personnelle
de la méthode pour construire lesparties
maximales de X x FBY.Soit yi,..
yp
les éléments de FBY indicés dans l’ordre des sommes colonnes croissantes du tableau X x(FBY),
c’est à dire des cardinaux croissants desgx(yi)
=g(Yi) n
X. On construit unvecteur c de
pointeurs
tel que :-
c(i)
= 0 sigx(yi)
est stictement inclus dans une autre colonneyj,
-
c(i) = j
sigX(Yi)
=gX(Yj)
-
cG) = -1
sigx(yi)
est maximum etqu’il n’y
a pas de colonneidentique
d’indicesupérieur.
Ce vecteur c une fois construit en comparant
gx(yi)
àgx(yj)
seulementpour j
> ipuisque
lescolonnes sont indicées dans l’ordre des cardinaux croissants
(complexité 0(
1 XI. I FBYI 2 )),
les
parties
maximales de X x(F~Y)
se construisent en~( 1 FNY 1 ).
Algorithme
de BordatPour tout X x Y E L Faire
Soit yi,..
yp
les éléments de F indicés dans l’ordre des cardinaux croissants desgx(yi)
Pour tout i
j
variant de 1 à p FaireSi
g(yi) C (strictement) g(y;)
Alorsc(i)
:= 0Fin de la boucle i
Fin de la boucle Pour tout X x Y
EXEMPLE 5
Dans cette
application
del’algorithme
à lacorrespondance
del’exemple 1,
nous avons numéroté lesrectangles
maximaux dans leur ordred’apparition.
Pour chacun nous avons construit le sous-tableau X x(FBY) (sans
réordonner lescolonnes)
et listé lesparties
maximalesYi. Chaque rectangle g(Yi)
x(Y
uYi)
est un élément du treillis de Galois dont on areporté
le numérod’élément au dessous. On en déduit la liste des arcs du
graphe
de Hasse :(1,2), (1,3), (1,4),
(1,5), (2,6), (2,7), (3,6), (3,8), (4,7), (5,8), (5,9), (6,10), (7,10), (8,10), (9,10).
COMPLEXITÉ
On peut
facilement,
au cours de cetalgorithme,
calculer une fonction rangqui
détermine dans le tracé dugraphe
de Hasse le niveauauquel
doit êtreplacé chaque
sommet. La fonction rang,initialisée à 0 et définie par :
laisse le sommet 1 au niveau 0 et
place
pourl’exemple précédent
les sommets2, 3, 4,
5 auniveau
1,
les sommets6, 7, 8,
9 au niveau 2 et le sommet 10 au niveau 3.3,CONCLUSION
Une
comparaison
de ces méthodes sur des basesthéoriques
n’est passimple.
Nous avonsévalué la
complexité
desétapes
dechaque algorithme ;
leur nombre n’est pastoujours prévisible.
Sur cepoint
nous ne pouvons querépéter
quel’algorithme
de Ganter est le seulutilisable pour des
correspondances portant
sur des ensembles deplus de, disons, 15
éléments.La méthode de Bordat est la seule
qui
construit directement legraphe
de Hasse du treillis.Sur des bases
expérimentales,
nous avons réalisé descomparaisons
de manièreempirique
en
programmant
les quatre méthodes. La structure de données commune est trèssimple.
Chaque rectangle
est codé dans uneligne
d’un tableau X(à
ncolonnes,
pour lapartie
deE)
etune
ligne d’un. tableau
Y(à
mcolonnes,
pour lapartie
deF).
X contient les numéros deslignes
de la table
qui
code lacorrespondance
et Y uncodage
booléen des colonnes. On cherchesouvent si un
rectangle
estdéjà présent
dans la liste L(les lignes
de ces deuxtableaux).
Onutilise pour
cela,
avant d’effectuer descomparaisons exhaustives,
soit le nombre d’éléments de X soit la valeur entière dont Y est la numération binaire. Apartir
de nombreuxtirages
aléatoiresde
correspondances,
nous avons relevé lestemps
nécessaires. Plutôt que de transcrire des moyennes, nous vous faisonspartager
nos conclusions.La méthode de Norris est
légèrement plus
efficace que celle de Ganter. Celle de Bordatserait, disons,
deux foisplus longue
que celle de Norris et deux foisplus rapide
que celle de Chein. Lesalgorithmes
détaillés ci-dessus permettrons au lecteur intéressé par laprogrammation
de se faire une idée
plus précise.
BIBLIOGRAPHIE
BARBUT
M.,
MONJARDETB.,
Ordre etClassification, Algèbre
et Combinatoire(tome 2), Paris, Hachette,
1970.BIRKHOFF
G.,
LatticeTheory, A.M.S., 25, Providence,
1967.BORDAT
J.P.,
Calculpratique
du treillis de Galois d’unecorrespondance, Mathématiques
etSciences
humaines, 96, 1986,
p. 31-47.CHEIN
M., Algorithme
de recherche des sous-matricespremières
d’unematrice,
Bull. Math.R.S.
Roumanie, 13,
1969.DUQUENNE V.,
GUIGUESJ.L.,
Familles minimalesd’implications
informatives résultant d’un tableau de donnéesbinaires, Mathématiques
et Scienceshumaines, 95, 1986,
p. 5-18.FAY
G.,
Analgorithm
for finite Galoisconnexions,
Journalof Computational Linguistic
andComputational Languages, 10, 1975, p.
99-123.GANTER
B.,
Two basicalgorithms
inConcept Analysis, Preprint 831,
TechnischeHochschule
Darmstadt, 1984, 28p.
KAUFMANN
A.,
PichatE.,
Méthodesmathématiques
nonnumériques
et leursalgorithmes,
Paris, Masson,
1977.LAVALLÉE I., Rectangles
maximaux dans une relation binairequelconque, Preprint
Université Paris
VI, p.157-171.
MALGRANGE
Y.,
Recherche des sous-matricespremières
d’une matrice à coefficientsbinaires; Application
à certainsproblèmes
degraphe,
Deuxièmecongrès
del’AFCALTI, Gauthier-Villars, 1962,
p. 231-242.NORRIS
E.M.,
Analgorithm
forcomputing
the maximalrectangles
in abinary relation,
RevueRoumaine de
Mathématiques
Pures etAppliquées, 1978, 23, 2,
p. 243-250.WILLE
R., Restructuring
latticetheory :
anapproach
based on hierarchies ofconcepts,
in OrderedSets,
I. Rival(Ed.), Dordrecht, Reidel,1982.
WILLE