Top Banner
Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données – Lyon - 21 Novembre 2005
38

Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Jul 24, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Cliques & BicliquesMaximales

Vers une présentation unifiée des algorithmes d’énumération

Alain Gély – LIMOS – Clermont-Ferrand

GDR fouille de données – Lyon - 21 Novembre 2005

Page 2: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Cliques maximales & fouille de données � Bio-Informatique� Web Mining

Page 3: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Bicliques maximales & fouille de données � Itemset fermés (fréquent ou non)� Utile pour les règles d’implications…

Page 4: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Enumération vs Construction

GENERATION

CONSTRUCTION

• Graphe de couverture

•Complexité théorique O(n²).|C|

• Enumération des fermés• Espace polynomial• Complexité théorique O(n3).|C|

• Taille exponentielle

E

D

C

B

A

54321

X

XX

XX

X

X

X

X X

∅, A, AB, ABC, AC,

D, DE, ABCDE

E

D

C

B

A

54321

X

XX

XX

X

X

X

X X

D

DE

ACAB

ABC

A

ABCDE

Entrée Sortie

Page 5: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Generation vs Construction

E

D

C

B

A

54321

X

X

X

X

X

X

X

X

X X ∅, A, AB, ABC,

AC, D, DE, ABCDE

Entrée Sortie

Page 6: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Pourquoi juste énumérer ?� Délai polynomial� Utile en «pipe line »

Construction / TraitementEnumération

Page 7: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Plusieurs sources d’algorithmes

� Fouille de données� Analyse de Concept Formel� Algorithmique des systèmes de fermeture� Analyse de données / problèmes

matriciels� Algorithmes de graphes

Page 8: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Fouille de données

� CHARM� CLOSET, CLOSET+� LCM, LCM v2� Apriori

Page 9: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Analyse de concepts formel

� Lindig (Fast Concept Analysis)� Vatchev et al.� Godin et al.

Page 10: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Algorithmique des systèmes de fermeture� Ganter (Next-closure)� Nourine-Raynaud

Page 11: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Analyse de données / problèmes matriciels

� Algorithme de Chein� Algorithme de Bordat

Page 12: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Algorithmes de graphe

� Enumération des cliques maximales�Algorithme de Tsukiyama et al�Algorithme de Johnson et al�Algorithmes de Makino et Uno�…

Page 13: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Cliques & bicliques maximales

� Transformation classique

Page 14: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Graphe de transition : Cas des bicliques maximales

Page 15: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Comparaisons des

algorithmes ?

Page 16: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Comparaisons des algorithmes ?

Pour un algorithme…

Etudier la complexité au pire

Comportement sur Benchmark

Influence de l’implémentation

Page 17: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Comparaisons des algorithmes ?Deux questions

Peut-on expliquer les différences de comportement des algorithmes par des Propriétés structurelles ?

Les structures de données peuvent jouer un rôle important sur l’efficacité.

Y-a-t-il d’autres facteurs influençant les performances ?

Page 18: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Graphe de transition des cliques maximales d’un graphe

Page 19: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Unifier la présentation des algorithmes existants ?

� Structure élémentaire� Briques élémentaires sur cette structure

�Passage d’un élément à un autre �Vérification d’appartenance

[ Graphe ]

[ arêtes ]

[ arbre couvrant ]

Page 20: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Graphe de transition des bicliques maximales

� Cas particulier des graphes� Propriétés particulières de numérotation

� G(U,V,E)� Hypothèse : U > V

� Partitionnement sur les éléments de V� Transitions « lexicographique »� Graphe de couverture contenu dans le graphe de

transition

Page 21: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

1

5

4

3

2

Graphe de transition entre bicliques

1

5

4

3

2

Page 22: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Next-Closure & Ordre Lectique

∅ , {A1}

Pomme/Apple , {A2}

Orge/Barley , {A3}

Litchi/Lychee , {A4}

Légume/Vegetable , ∅

Même structure de treillisMais

Un comportement différent des algorithmes

Page 23: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Données « En français »

• Next-Closure(∅)=1B C(B) F<iC(B) Réponse

{∅∩123}∪4 C(4)=1234 ∅<41234 Non (invalide)

• Next-Closure(1)=12

• Next-Closure(12)=123

• Next-Closure(123)=1234

{∅∩123}∪4 C(3)=123 ∅<3 123 Non (invalide)

{∅∩123}∪4 C(2)=12 ∅<2 12 Non (invalide)

{∅∩∅∩∅∩∅∩123}∪∪∪∪4 C(2)=12 ∅∅∅∅<1 1 Oui

{1∩123}∪4 C(14)=1234 1<41234 Non (invalide)

{∅∩12}∪3 C(13)=123 ∅<3123 Non (invalide)

{1∩∩∩∩1}∪∪∪∪2 C(12)=12 1<212 Oui

{12∩123}∪4 C(124)=1234 12<41234 Non (invalide)

{12∩∩∩∩12}∪∪∪∪3 C(123)=123 12<3123 Oui

{123∩∩∩∩123}∪∪∪∪4 C(1234)=1234 123<41234 Oui

10C

alculs de fermeture

Page 24: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Données « En anglais »

• Next-Closure(∅)=4B C(B) F<iC(B) Réponse

• Next-Closure(4)=34

• Next-Closure(34)=234

• Next-Closure(123)=1234

{∅∩∅∩∅∩∅∩123}∪∪∪∪4 C(4)=4 ∅∅∅∅<4 4 Oui

{4∩∩∩∩12}∪∪∪∪3 C(3)=34 4<334 Oui

{34∩∩∩∩1}∪∪∪∪2 C(2)=234 34<2234 Oui

{234∩∅∩∅∩∅∩∅}∪∪∪∪1 C(1234)=234 123<11234 Oui

4C

alculs de fermeture

Page 25: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

2 3 4

123

C(1234)=1234

C(4)=1234C(3)=123C(2)=12

C(1)=1

1

13 14C(14)=1234C(14)=1234

124C(124)=1234

12C(12)=12

C(123)=123

Exécution de Next-closure

1

12

123

1234

XXX

4

XX

3

X2

1

A4A3A2A1

Page 26: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

�12=34

�1=234

Exécution de Next-closure - Amélioration

123

C(1234)=1234

2 3 4C(4)=1234C(3)=123C(2)=12

C(1)=1

1

13 14C(14)=1234C(14)=1234

124C(124)=1234

12C(12)=12

C(123)=123∅

1

12

123

1234

XXX

4

XX

3

X2

1

A4A3A2A1

Page 27: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

•D’un élément vers un prédécesseur

Algorithmes parcourant le graphe de couverture

• Approche « top-down »

•Test d’unicité

Page 28: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

A

Parcours de graphes en profondeur

XE

XXD

XXC

XXB

XXXA

54321

D/3

E/5

C/2B/1

4

A

B C D E

2 31 4 5

Page 29: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Connaître une arête de l’arbre couvrant ?

A B C D E

2 31 4 5

A B C D E

21 43 5

A B C D E

2 31 4 5

D/3

E/5

C/2B/1

4

A

B/1

4

D/3

E/5

Page 30: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Enumérer les ensembles fermés

Choisir un élément a de J

Calculer C(a)

GENERER(R)

R1�(J, a’,I1) ; GENERER (R1)

R2�(J\�a,M,I2) ; GENERER (R2)

Afficher C(a)

Page 31: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Systèmes de fermeture résultant

A B C D

2 31 4

A,1 B,2 C,3 D,4 C,3

A B C D

3

A B D

21 4

Page 32: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Méthode générique d’énumération

Choisir un élément a de J

Calculer C(a)

GENERER(R)

R1�(J, a’,I1) ; GENERER (R1)

R2�(J\�a,M,I2) ; GENERER (R2)

Si C(a) est valide

Afficher C(a)

Page 33: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Next-closure (ordre lectique)

Choisir a, élément de plus petit label de J

Calculer C(a)

GENERER(R)

R2�(J\�a,M,I2) ; GENERER (R2)

R1�(J, a’,I1) ; GENERER (R1)

Si C(a)est valide

Afficher C(a)

Page 34: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Next-closure (ordre lexicographique)

Choisir j élément de plus petit label de J

Calculer C(a)

GENERER(R)

R2�(J\�a,M,I2) ; GENERER(R2)

R1�(J, a’,I1) ; GENERER(R1)

Si C(a)est valide

Afficher C(a)

Page 35: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Algorithme parcourant le graphe de couverture

Choisir a, élément minimal de J

Calculer C(a)

GENERER(R)

R1�(J, j’,I1) ; GENERER(R1)

R2�(J\�j,M,I2) ; GENERER(R2)

Si C(a)est valide

Page 36: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Choix d’un élément non irréductible

d

fe

g

a

b c

d

b

a

c

d

e f

g

Pour séparer le système de fermeture

Un élément non Sup-irreductiblen’est pas un bon choix

Page 37: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Heuristique de choix d’élément

• Elément de plus petit label (Next Closure)

• Elément minimal (parcours du graphe de couverture)

• Elément maximal (de l’ordre induit par J)

• …

• Au hasard

Page 38: Cliques & Bicliques Maximalesponcelet/GDRI3FD/Reunion211105/ResumeGD… · Cliques & Bicliques Maximales Vers une présentation unifiée des algorithmes d’énumération Alain Gély

Conclusion

Trouver un compromis entre :

• La complexité de la fonction choix

• Le nombre de fermeture calculé (#invalide)

Perspectives :

• methode de comparaison d’algorithmes

• Etude de l’influence pratique de fonctions choix

• Fonctions choix spécifiques à certaines situations ?