Télécharger 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 {1123}4 C(14)= <41234 Non (invalide) {12}3 C(13)=123 <3123 Non (invalide) {11}2 C(12)=12 1<212 Oui Next-Closure(12)=123 {12123}4 C(124)= <41234 Non (invalide) {1212}3 C(123)= <3123 Oui Next-Closure(123)=1234 {123123}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 {412}3 C(3)=34 4<334 Oui Next-Closure(34)=234 {341}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 ?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.