La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cliques & Bicliques Maximales

Présentations similaires


Présentation au sujet: "Cliques & Bicliques Maximales"— Transcription de la présentation:

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 – Lyon - 21 Novembre 2005

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

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

4 Enumération vs Construction
D C B A 5 4 3 2 1 X DE AC AB ABC ABCDE Entrée Sortie CONSTRUCTION Graphe de couverture Taille exponentielle Complexité théorique O(n²).|C| GENERATION E D C B A 5 4 3 2 1 X , A, AB, ABC, AC, D, DE, ABCDE Enumération des fermés Espace polynomial Complexité théorique O(n3).|C|

5 Generation vs Construction
Entrée Sortie E D C B A 5 4 3 2 1 X , A, AB, ABC, AC, D, DE, ABCDE

6 Pourquoi juste énumérer ?
Délai polynomial Utile en «pipe line » Enumération Construction / Traitement

7 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

8 Fouille de données CHARM CLOSET, CLOSET+ LCM, LCM v2 Apriori

9 Analyse de concepts formel
Lindig (Fast Concept Analysis) Vatchev et al. Godin et al.

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

11 Analyse de données / problèmes matriciels
Algorithme de Chein Algorithme de Bordat

12 Algorithmes de graphe Enumération des cliques maximales
Algorithme de Tsukiyama et al Algorithme de Johnson et al Algorithmes de Makino et Uno

13 Cliques & bicliques maximales
Transformation classique

14 Graphe de transition : Cas des bicliques maximales

15 Comparaisons des algorithmes ?

16 Comparaisons des algorithmes ?
Pour un algorithme… Etudier la complexité au pire Comportement sur Benchmark Influence de l’implémentation

17 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 ?

18 Graphe de transition des cliques maximales d’un graphe

19 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 ]

20 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

21 Graphe de transition entre bicliques
5 5 4 4 3 3 2 2 1 1

22 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

23 Données « En français » 10 Calculs de fermeture
B C(B) F<iC(B) Réponse Next-Closure()=1 {123}4 C(4)=1234 <41234 Non (invalide) {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 Next-Closure(1)=12 10 Calculs de fermeture {1123}4 C(14)= <41234 Non (invalide) {12}3 C(13)=123 <3123 Non (invalide) {11}2 C(12)=12 1<212 Oui Next-Closure(12)=123 {12123}4 C(124)= <41234 Non (invalide) {1212}3 C(123)= <3123 Oui Next-Closure(123)=1234 {123123}4 C(1234)= <41234 Oui

24 Données « En anglais » 4 Calculs de fermeture
B C(B) F<iC(B) Réponse Next-Closure()=4 {123}4 C(4)=4 <4 4 Oui Next-Closure(4)=34 4 Calculs de fermeture {412}3 C(3)=34 4<334 Oui Next-Closure(34)=234 {341}2 C(2)= <2234 Oui Next-Closure(123)=1234 {234}1 C(1234)= <11234 Oui

25 Exécution de Next-closure
1234 A1 A2 A3 A4 123 1 X X X 12 2 X X C(123)=123 C(124)=1234 1 3 X 123 124 4 C(14)=1234 C(14)=1234 12 13 14 C(12)=12 C(2)=12 C(3)=123 C(4)=1234 1 2 3 4 C(1)=1

26 Exécution de Next-closure - Amélioration
1234 A1 A2 A3 A4 123 1 X X X 12 2 X X C(123)=123 124 C(124)=1234 1 3 X 123 4 ↑12=34 13 14 C(14)=1234 12 C(12)=12 2 3 4 C(4)=1234 C(3)=123 C(2)=12 ↑1=234 1 C(1)=1

27 Algorithmes parcourant le graphe de couverture
Approche « top-down » D’un élément vers un prédécesseur Test d’unicité

28 Parcours de graphes en profondeur
1 2 3 4 5 A X B C D E D/3 E/5 C/2 B/1 4 A 1 2 3 4 5 A B C D E

29 Connaître une arête de l’arbre couvrant ?
4 4 D/3 E/5 E/5 B/1 C/2 D/3 A A B C D E 2 3 1 4 5 1 2 3 5 4 1 2 3 4 5 A B C A B C D E D E

30 Enumérer les ensembles fermés
GENERER(R) Choisir un élément a de J Calculer C(a) Afficher C(a) R1←(J, a’,I1) ; GENERER (R1) R2←(J\↑a,M,I2) ; GENERER (R2)

31 Systèmes de fermeture résultant
B,2 C,3 D,4 C,3 1 2 3 4 3 1 2 4 A B C D A B C D A B D

32 Méthode générique d’énumération
GENERER(R) Choisir un élément a de J Calculer C(a) Si C(a) est valide R1←(J, a’,I1) ; GENERER (R1) Afficher C(a) R2←(J\↑a,M,I2) ; GENERER (R2)

33 Next-closure (ordre lectique)
GENERER(R) Choisir a, élément de plus petit label de J Calculer C(a) R1←(J, a’,I1) ; GENERER (R1) Si C(a)est valide Afficher C(a) R2←(J\↑a,M,I2) ; GENERER (R2)

34 Next-closure (ordre lexicographique)
GENERER(R) Choisir j élément de plus petit label de J Calculer C(a) Si C(a)est valide R1←(J, a’,I1) ; GENERER(R1) Afficher C(a) R2←(J\↑a,M,I2) ; GENERER(R2)

35 Algorithme parcourant le graphe de couverture
GENERER(R) Choisir a, élément minimal de J Calculer C(a) Si C(a)est valide R1←(J, j’,I1) ; GENERER(R1) R2←(J\↑j,M,I2) ; GENERER(R2)

36 Choix d’un élément non irréductible
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 d f e g a b c

37 Heuristique de choix d’élément
Au hasard Elément de plus petit label (Next Closure) Elément maximal (de l’ordre induit par J) Elément minimal (parcours du graphe de couverture)

38 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 ?


Télécharger ppt "Cliques & Bicliques Maximales"

Présentations similaires


Annonces Google