38
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

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 –

Embed Size (px)

Citation preview

Page 1: 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 –

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

Page 2: 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 –

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

Page 3: 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 –

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

Page 4: 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 –

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

X

X

X

X

X

X

X

X X

, A, AB, ABC, AC,

D, DE, ABCDE

E

D

C

B

A

54321

X

X

X

X

X

X

X

X

X X

D

DE

ACAB

ABC

A

ABCDE

Entrée Sortie

Page 5: 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 –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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

Construction / TraitementEnumération

Page 7: 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 –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

Fouille de données

CHARM CLOSET, CLOSET+ LCM, LCM v2 Apriori

Page 9: 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 –

Analyse de concepts formel

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

Page 10: 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 –

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

Page 11: 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 –

Analyse de données / problèmes matriciels

Algorithme de Chein Algorithme de Bordat

Page 12: 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 –

Algorithmes de graphe

Enumération des cliques maximalesAlgorithme de Tsukiyama et alAlgorithme de Johnson et alAlgorithmes de Makino et Uno…

Page 13: 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 –

Cliques & bicliques maximales

Transformation classique

Page 14: 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 –

Graphe de transition : Cas des bicliques maximales

Page 15: 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 –

Comparaisons des

algorithmes ?

Page 16: 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 –

Comparaisons des algorithmes ?

Pour un algorithme…

Etudier la complexité au pire

Comportement sur Benchmark

Influence de l’implémentation

Page 17: 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 –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

Graphe de transition des cliques maximales d’un graphe

Page 19: 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 –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

1

5

4

3

2

Graphe de transition entre bicliques

1

5

4

3

2

Page 22: 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 –

Next-Closure & Ordre Lectique

, {A1}

Pomme/Apple , {A2}

Orge/Barley , {A3}

Litchi/Lychee , {A4}

Légume/Vegetable ,

Même structure de treillis

Mais

Un comportement différent des algorithmes

Page 23: 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 –

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

{1123}4 C(14)=1234 1<41234 Non (invalide)

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

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

{12123}4 C(124)=1234 12<41234 Non (invalide)

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

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

10 Calculs de ferm

eture

Page 24: 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 –

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

{412}3 C(3)=34 4<334 Oui

{341}2 C(2)=234 34<2234 Oui

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

4 Calculs de ferm

eture

Page 25: 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 –

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

X

X

3

X2

1

A4A3A2A1

Page 26: 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 –

↑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

X

X

3

X2

1

A4A3A2A1

Page 27: 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 –

•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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

A

Parcours de graphes en profondeur

1 2 3 4 5

A X X X

B X X

C X X

D X X

E X

D/3

E/5

C/2B/1

4

A

B C D E

2 31 4 5

Page 29: 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 –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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-irreductible n’est pas un bon choix

Page 37: 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 –

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 Maximales Vers une présentation unifiée des algorithmes dénumération Alain Gély – LIMOS – Clermont-Ferrand GDR fouille de données –

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 ?