Title: Mise en correspondance de graphes
1Mise en correspondance de graphes
2Sommaire
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Isomorphisme exact
- Graphes
- Sous-graphes
- Isomorphisme inexact
- Heuristique
- Relaxation probabiliste
- Etude dalgorithmes
- Dinitz, Itai et Rodeh (isomorphisme de
sous-arbres), 99 - Peura (heuristique - isomorphisme inexact de
sous-graphe), 99
3Isomorphisme exact de graphes (GI)
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Isomorphisme de graphe Isomorphisme de
sous-graphes
- Formalisation
- Graphes G1(V1,E1) et G2(V2,E2)
- Il existe une bijection f V1 ? V2
- ?a,b ? V1 ,
- (a,b) ? E1 ? (f(a),f(b)) ? E2
- Complexité
- Problème NP-difficile en général
- (GI ? NP, GI ? P,
GI ? NP-complet) - Pour certaines classes de graphes, GI ? P
(algorithme polynomial)
?
?
4Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
5Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Deux approches
- Tenter de trouver directement un isomorphisme
- Idée construire un isomorphisme de G1(k) vers
un sous-graphe de G2 et essayer détendre
lisomorphisme à G1(k1) en ajoutant un nud
inutilisé de G2 - Calculer une étiquette canonique C(G) pour chaque
graphe - C(G) C(H) ? G et H isomorphes
-
6Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Invariants de noeuds
- Utilisés dans la plupart des techniques
- Nombre i(v) associé à un nud tel que si il
existe un isomorphisme qui  mappe v et v on a
- i(v) i(v)
- degréÂ
- twopaths nuds à distance 2 de v
- k-cliques cliques différentes de taille k qui
contiennent v - independant k-sets ensembles indépendants de
taille k qui contiennent v - distances nuds à chaque distance 1,,n de v
- Coût élevé (sauf degré) résoudre isomorphisme
souvent plus rapide que le calcul de tous les
invariants
7Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Résoudre directement
- Calculer linvariant pour chaque nud de G1 et G2
- Si les vecteurs triés inv1 ? inv2 ? pas
disomorphisme
8Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Résoudre directement
- Calculer linvariant pour chaque nud de G1 et G2
- Si les vecteurs triés inv1 ? inv2 ? pas
disomorphisme - Sinon trier les nuds selon linvariant et
exécuter la procédure récursive - Isomorphe (ensemble S, entier k, tab f) booléen
- Si k n1 alors retourner vrai
- Pour j ? V2 / S
- si inv1 (k) inv2(j) ET matchPossible (k,j,f)
- fk ? j
- si Isomorphe (S ? j, k1, f) retourner vrai
- retourner faux
9Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 1
- Calcul de tous les automorphismes du graphe
- Étiquette canonique  plus petitÂ
automorphisme du graphe G.
b
a
b
c
a
0
1
0
b
0
1
1
a
c
c
0
0
1
10Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 1
- Calcul de tous les automorphismes du graphe
- Étiquette canonique  plus petitÂ
automorphisme du graphe G.
b
a
b
c
c
a
b
a
0
1
0
c
0
0
1
b
0
1
1
a
0
0
1
a
c
c
0
0
1
b
1
0
1
11Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 1
- Calcul de tous les automorphismes du graphe
- Étiquette canonique  plus petitÂ
automorphisme du graphe G.
Automorphisme c?a, a ?b, b ?c
b
a
b
c
c
a
b
a
c
b
a
0
1
0
c
0
0
1
a
0
0
1
b
0
1
1
a
0
0
1
c
0
0
1
a
c
c
0
0
1
b
1
0
1
b
1
0
1
C(G) 001001110
12Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 1
- Calcul de tous les automorphismes du graphe
- Étiquette canonique  plus petitÂ
automorphisme du graphe G. - Recherche automorphisme ? recherche isomorphisme
Automorphisme c?a, a ?b, b ?c
b
a
b
c
c
a
b
a
c
b
a
0
1
0
c
0
0
1
a
0
0
1
b
0
1
1
a
0
0
1
c
0
0
1
a
c
c
0
0
1
b
1
0
1
b
1
0
1
C(G) 001001110
13Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 2
- Étiquette canonique la permutation de nuds
qui donne la matrice dadjacence minimale
a
b
c
d
b
a
0
1
0
0
d
b
0
1
1
1
a
c
c
0
0
1
1
d
0
1
1
0
14Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 2
- Étiquette canonique la permutation de nuds
qui donne la matrice dadjacence minimale - Partition des nuds selon linvariant
a
b
c
d
b
a
0
1
0
0
d
b
0
1
1
1
a
c
c
0
0
1
1
d
0
1
1
0
15Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Etiquetage canonique
- Exemple 2
- Étiquette canonique la permutation de nuds
qui donne la matrice dadjacence minimale - Partition des nuds selon linvariant
- Permutations intra-partition
degré
a
b
c
d
a
c
d
b
b
a
0
1
0
0
a
0
0
0
1
d
b
0
1
1
1
c
0
0
1
1
a
c
c
0
0
1
1
d
0
0
1
1
d
0
1
1
0
b
1
1
1
0
16Isomorphisme exact de sous-graphes
Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Deux définitions
- Isomorphisme de G2 avec un sous-graphe de G1
- Isomorphisme dun sous-graphe de G1 avec un sous
graphe de G2 - Les algorithmes précédents sappliquent Ã
lisomorphisme de sous-graphes - Complexité
- Problème NP-complet Alt, Mehlhorn, Munro, 1984
- Exponentielle pour les graphes généraux Messmer,
1995
17Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Technique Arbre de recherche avec backtracking
Corneil, Gotlieb,70 - G1 G2
a
b
c
d
a
b
c
a
0
1
1
1
a
0
1
0
b
0
1
1
0
b
0
1
1
c
1
0
1
0
c
0
0
1
d
1
0
0
0
b
a
b
?
?
?
?
a
c
a
b
c
d
c
?
0
1
0
?
a
0
1
0
?
0
1
1
?
b
0
1
1
?
0
0
1
?
c
0
0
1
?
?
?
?
?
18Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Technique Arbre de recherche avec backtracking
- Représentation ligne-colonne de la matrice
dadjacence
19Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Méthode
- Construire toutes les matrices de permutations de
G1
20Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Méthode
- Construire toutes les matrices de permutations de
G1 - Construire larbre de décision des matrices de
permutations
21Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
22Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
23Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
24Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
25Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
26Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Méthode
- Construire toutes les matrices de permutations de
G1 - Construire larbre de décision des matrices de
permutations - Graphes non dirigés, non étiquetés O(3n)
- n nuds G1
27Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Méthode
- Construire toutes les matrices de permutations de
G1 - Construire larbre de décision des matrices de
permutations - Graphes non dirigés, non étiquetés O(3n)
- n nuds G1
- Recherche de lisomorphisme de G2 avec un
sous-graphe de G1 - Automate de décision
-
28Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
1
1
2
2
3
a1 0 a2 101
0
000
101
11011
10001
01010
29Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
1
1
2
2
3
a1 0 a2 101
0
000
101
11011
10001
01010
30Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
1
1
2
2
3
a1 0 a2 101
0
000
101
11011
10001
01010
31Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
1
1
2
2
3
a1 0 a2 101
1
0
000
101
2
3
11011
10001
01010
a1 0 a2 101 a3 11011
32Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Méthode
- Construire toutes les matrices de permutations de
G1 - Construire larbre de décision des matrices de
permutations - Graphes non dirigés, non étiquetés O(3n)
- n nuds G1
- Recherche de lisomorphisme de G2 avec un
sous-graphe de G1 - Automate de décision
- Graphes non dirigés, non étiquetés O(m2)
- m nuds G2
33Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Améliorations proposées
- Ullman O(m2n2) Ullman, 76
- Forward-checking and looking-ahead Haralick,
Elliot, 80 - Relaxation discrete Kim, Kack, 91
- Maximal clique detection Blake, 94
34Isomorphisme de graphe Isomorphisme de
sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
35Isomorphisme inexact de graphes et sous-graphes
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Motivations
- Obtenir une approximation de la solution optimale
en un temps de calcul raisonnable (polynomial) - On ne cherche pas toujours des appariements
 parfaits (ex graphe bruités, recherche
dune similarité de structure ou dobjets, ) - Approches
- Informations topologiques uniquement
- Distance entre les nuds et/ou arêtes et
information structurelles (le plus souvent
locale) - Optimisations continues
36Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Heuristique Auber, Delest, Domenger, Dulucq,
2004 - Vecteurs de caractéristiques pour chaque nud
- Caractéristiques structurelles
- Degré
- Taille du sous-arbre
- Nombre de Strahler
- Hauteur
-
- Distance entre les vecteurs (distance
euclidienne)
37Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Construction de classes de nuds ?-équivalents
- n,n ? Ci ? d(n,n) gt ? ? n ?? n
1
2
3
5
6
7
4
8
38Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Construction de classes de nuds ?-équivalents
- n,n ? Ci ? d(n,n) gt ? ? n ?? n
1
2
3
5
6
7
4
8
39Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Construction de classes de nuds ?-équivalents
- n,n ? Ci ? d(n,n) gt ? ? n ?? n
- Problème
- 1er nud 1
- ? ?
-
1
1
3
2
8
4
2
3
5
6
7
4
8
40Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Construction de classes de nuds ?-équivalents
- n,n ? Ci ? d(n,n) gt ? ? n ?? n
- Problème
- 1er nud 1
- ? ?
- 1er nud 2
- ? ?
1
1
3
2
8
4
2
3
5
6
7
4
8
1
3
2
8
4
41Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Construction de classes de nuds ?-équivalents
- n,n ? Ci ? d(n,n) gt ? ? n ?? n
- Heuristique trier les nuds
- selon leur valeur de Strahler
- décroissante
1
2
3
5
6
7
4
8
42Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Prolongation des classes déquivalences
- Si card (F) ? card (F), on prolonge
u
v
..
..
F
F
??
43Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Prolongation des classes déquivalences
- Procédure récursive sur les fils prolongés
u
v
..
..
F
F
??
44Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Questions
- Clustering dépendant de lordre de considération
des nuds (K-means ? Strahler bon choix ? ) - Choix des paramètres dépend des structures
étudiées, des éléments recherchée (en étude) - Prolongation
- Récursive sur lensemble du graphe ? Sur le sous
graphe ? - Reconnaissance de motifs fréquents / premier
candidat - Complexité ?
- Conjecture O(n log(n))
45Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Relaxation probabiliste Hummel, Zucker, 1983
- Principe
- Mesure de similarité ? entre les nuds
(paramètres intrinsèques)
?(u,u) 0,7
Décision impossible
u
u
46Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Relaxation probabiliste Hummel, Zucker, 1983
- Principe
- Mesure de similarité ? entre les nuds
- Utiliser linformation contextuelle locale pour
compenser la similarité basée sur les
caractéristiques
Taux de similarité ?
?(u,u) 0,7
Décision impossible
u
u
Utilisation de linformation sur les voisinages
47Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Graphe biparti valué complet des voisins des
nuds - ui uj
- Poids sur les arêtes
- w(ui,uj) ?(ui,uj)
u
u
48Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Graphe biparti complet des voisins des nuds
valué - ui vj
- Recherche du couplage maximal
-
- similarité du voisinage
u
u
49Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Renforcement de la similarité entre une paire de
nuds en fonction de son voisinage - ?(u,u) ?(u,u) sim(V(u), V(u))
50Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Renforcement de la similarité entre une paire de
nuds en fonction de son voisinage - ?(u,u) ?(u,u) sim(V(u), V(u))
- Procédure récursive
- ?0(u,u) ?(u,u)
- ?i1(u,u) ?i(u,u) simi(V(u), V(u))
51Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Renforcement de la similarité entre une paire de
nuds en fonction de son voisinage - ?(u,u) ?(u,u) sim(V(u), V(u))
- Procédure récursive
- ?0(u,u) ?(u,u)
- ?i1(u,u) ?i(u,u) simi(V(u), V(u))
- Heuristique Assignations
- Si ?(u,u) gt seuil
- Si il nexiste pas dautre candidat potentiel
52Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Généralités Heuristique Relaxation probababiliste
- Problèmes
- Convergence
- Maxima locaux
- Ne prend pas en compte la structure globale du
graphe - Avantages
- Fournit un appariement un à un
- Reste lune des méthodes les plus efficaces
53Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Étude dalgorithmes plus récents
- Attribute Trees in Image Analysis Heuristic
Matching and Learning Techniques, Markus Peura,
Proc. ICIAP99, Venice, Italy, pp 1160-1165,
Sept. 1999, - On an algorithm of Zemlyachenko for subtree
isomorphism, Y. Dinitz, A. Itai, M. Rodeh,
Information Processing Letters, 70(3) pp
141-146, 1999 - Substructure Similarity Search in Graph
Databases, X. Yan, P.S. Yu, J. Han, Proc. Of Int.
Conf. On Management of Data, Session Research
papers graph and tree-structured data pp
766-777, 2005
54Attribute trees in image analysis, M. Peura, 1999
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Motivations
- Indexer, mettre en correspondance, généraliser
des arbres étiquetés enracinés non ordonnés - Mise en correspondance basée sur la division
récursive de larbre en sous-arbres - Mesure de similarité basée sur la distance entre
les vecteurs de caractéristiques des racines
55Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
56Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Mise en correspondance
- Construction de larbre Tm, association des
arbres Ta et Tb
57Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Mise en correspondance
- On part de la racine vm va, vb
- On appelle la fonction récursive Match(vm)
vm
va
vb
Ta
Tb
Tm
58Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm) // cas vm va, vb
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque paire vai, vbj non déjà représentée
dans Tm ET minimisant dist(vai,vbj) ajouter
vmvai,vbj - Appeler Match(vm)
vm
va
vb
Ta
Tb
Tm
59Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm) // cas vm va, vb
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque paire vai, vbj non déjà représentée
dans Tm ET minimisant dist(vai,vbj) ajouter
vmvai,vbj - Appeler Match(vm)
vm
va
vb
vm
Ta
Tb
Tm
60Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm)
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque paire vai, vbj non déjà représentée
dans Tm ET minimisant dist(vai,vbj) ajouter
vmvai,vbj - Appeler Match(vm)
va
vb
vm
vm
Ta
Tb
Tm
61Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm)
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque paire vai, vbj non déjà représentée
dans Tm ET minimisant dist(vai,vbj) ajouter
vmvai,vbj - Appeler Match(vm)
vm
va
vb
vm
Ta
Tb
Tm
62Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm)
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque paire vai, vbj non déjà représentée
dans Tm ET minimisant dist(vai,vbj) ajouter
vmvai,vbj - Appeler Match(vm)
va
vb
vm
vm
Ta
Tb
Tm
63Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm)
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque paire vai, vbj non déjà représentée
dans Tm ET minimisant dist(vai,vbj) ajouter
vmvai,vbj - Appeler Match(vm)
vm
va
vb
vm
Ta
Tb
Tm
64Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm)
- Calcul de dist(vai, vbj) pour chaque fils de va
et vb - Pour chaque nud vai (resp. vbj) non  matchéÂ
ajouter vmvai (resp. vmvbj) - Appeler Match(vm)
vm
va
vb
vm
Ta
Tb
Tm
65Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Match(vm) // cas vm va ou vm vb
- Pour chaque fils nud vai (resp. vbj) de va
(resp. vb) ajouter vmvai (resp. vmvbj) - Appeler Match(vm)
vb
vm
va
vm
Ta
Tb
Tm
66Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Sous-arbre commun maximal
- Super-arbre minimal Tm composition des arbres
Ta et Tb
vb
vm
va
vm
Ta
Tb
Tm
67Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Distances
- Distance topologique (Proportion nuds non mis en
correspondance) - Déviation des attributs
68Attribute trees in image analysis, M. Peura, 1999
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Intérêts
- Fournit une mise en correspondance
- Faible coût
- Prend en compte
- La topologie
- Caractéristiques extrinsèques (descripteurs
divers) - Fournit une distance entre les arbres
- Construction du plus petit super-arbre contenant
Ta et Tb - Applicable aux DAGs
- Inconvénients
- Pas de tolérance structurelle (isomorphisme exact)
69On an algorithm of Zemlyachenko for subtree
isomorphism, Dinitz, Itai, Rodeh, 1999
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Motivations
- Isomorphisme exact sur les arbres (enracinés ou
non) - Ordre canonique
- Principe de classes déquivalence de sous-arbres
isomorphes
70Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Lordre canonique, indices des nuds, classes
déquivalence - Les feuilles sont le plus petit élément de
lordre canonique noté ?c
71Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
72Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Lordre canonique, indices des nuds, classes
déquivalence - Les feuilles sont le plus petit élément de
lordre canonique noté ?c - Si h(u) lt h(v) alors u ?c v
73Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
74Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Lordre canonique, indices des nuds, classes
déquivalence - Les feuilles sont le plus petit élément de
lordre canonique noté ?c - Si h(u) lt h(v) alors u ?c v
- Si h(u) h(v)
- Tri des fils u1 ?c u2 ?c ?c ud(u) et v1 ?c
?c vd(v) - u ?c v ssi u1u2 ud(u) ?lexico v1v2 vd(v)
- u c v ssi u ?c v et v ?c u
- u c v ssi
- h(u) h(v)
- d(u) d(v)
- ui c vi pour i 1 d(u)
75Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
76Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Méthode
- Construction un arbre (automate) auxiliaire Dh
- Liste triée des indices des fils pour chaque
ui?niveauh
u1 12 u2 22 u3 12 u4 2
77Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Méthode
- Construction un arbre (automate) auxiliaire Dh
- Liste triée des indices des fils pour chaque
w?niveauh - Construction de lautomate ordonné Dh pour ces
mots
u1 12 u2 22 u3 12 u4 2
2
1
u4
2
2
u1,u3
u2
78Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Méthode
- Parcours en profondeur de lautomate
- Affectation de ? ?max1 pour chaque ensemble non
vide
u1 12 u2 22 u3 12 u4 2
2
1
?4
u4
2
2
?5
u1,u3
u2
?3
79Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
80On an algorithm of Zemlyachenko for subtree
isomorphism, Dinitz, Itai, Rodeh, 1999
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Intérets
- Applicables aux DAG
- Index canoniques en temps linéaire
- Classification de sous-arbres isomorphes
- Inconvénients
- Pas de tolérance sur la structure (isomorphisme
exact) - Indice de classe non représentatif de la
topologie du sous-arbre
81Substructure similarity search in Graph
Databases, X. Yan, P.S. Yu, J. Han 2005
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Motivations
- Recherche dun sous-graphe similaire au graphe
requête dans une base de données de graphes - Méthode de filtrage de la base de données
- Basé sur la relaxation du graphe requête (édition
du graphe)
82Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Ratio de relaxation
- G et Q deux graphes.
- P sous-graphe commun maximal de G et Q
- Similarité de sous-structure
- Ratio de relaxation
- Exprime le taux de relaxation du graphe Q pour
quil soit contenu dans G
83Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Ratio de relaxation
- Similarité de sous-structure 92
- Si on relâche le graphe requête de 8, il est
contenu dans le graphe cible
Graphe requête Q
Graphe cible G
84Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Mesure de similarité basée sur les
caractéristiques (feature-based) - Structures élémentaires spécifiques au domaine
(composant chimique) - Similarité basée sur le nombre de de structures
élémentaires communes
85Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Mesure de similarité basée sur les
caractéristiques (feature-based) - Structures élémentaires spécifique au domaine
(composant chimique) - Similarité basée sur le nombre de de structures
élémentaires communes - Avantage efficacité (comparaison de vecteurs)
- Inconvénients
- Ne tient pas compte de la structure globale
- Difficulté de construire un  dictionnaire de
structures élémentaires
86Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Filtrage
- Éliminer le plus de candidats possibles en
utilisant lapproches par caractéristiques - Étant donné un taux de relaxation pour le graphe
requête, supprimer de la base les graphes qui ne
peuvent pas contenir le graphe requête relâché
87Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Filtrage
- Table qui représente le nombre doccurrences de
chaque motif élémentaire contenu dans le graphe -
88Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Filtrage
- Base de données ? matrice de caractéristiques de
graphe (feature-graph matrix) -
89Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Estimation des composantes manquantes
- Choix des composantes élémentaires que lon
souhaite étudier - Calcul dune borne maximale dmax sur le nombre de
composantes élémentaires manquantes autorisées,
étant donné un ratio de relaxation - Problème NP-complet
- Méthode dapproximation de cette borne
90Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Filtrage
- Comparaison du nombre de structures élémentaires
-
91Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Filtrage
- Calcul de la différence de fréquence pour chaque
motif fi en terme de motif manquant dans le
graphe cible -
- Différence entre le graphe requête et le graphe
cible
92Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Filtrage
- Q graphe requête admettant une relaxation de k
arêtes - G le graphe cible
- 1) Sélection des motifs à étudier
- 2) Calcul de la borne dmax (nombre de motifs
manquants autorisés) - 3) Calcul de la différence des graphes G et Q
- Si d(G,Q) gt dmax
- G ne contient pas Q en relâchant k arêtes
93Substructure similarity search in Graph
Databases, X. Yan, P.S. Yu, J. Han 2005
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
Peura, 1999 Dinitz, Itai, Rodeh, 1999 Yan, Yu,
Han, 2005
- Intérets
- Applicables aux graphes, DAG
- Notion de similarité (tolérence)
- Filtrage rapide de bases de données
- Inconvénients
- Choix des motifs élémentaires représentatifs
- Algorithme de décision (ne fournit pas
dinformation sur les zones similaires) - Efficace lorsque le dictionnaire nest pas trop
grand
94Conclusion
Isomorphisme exact Isomorphisme inexact Étude
dalgorithmes
- Reconaissance de graphes/sous-graphes très
utilisée dans beaucoup de domaines (chimie,
biologie, visu, image, ) - Problème encore très ouvert
- Méthodes efficaces ne proposent que des
approximations de la solution optimale - Problème de tolérance au niveau structurel encore
peu exploré
95Bibliographie isomorphisme de graphes
Hopcroft, Tarjan, 1972 Isomorphism of planar
graphs, Complexity of Computer Computations pp
143-150, 1972 Hopcroft, Wong, 1974 A linear
time algorithm for isomorphism of planar graphs,
Proceedings of the sixth annual ACM Symposium on
Theory of Computing pp 172-184, 1974 Luks, 1980
Isomorphism of graphs of bounded valence can be
tested in polynomial time, Proc. 21st IEEE FOCS
Symp., pp 42-49, 1980 Babai, et al., 1982
Isomorphism of graphs with bounded eigenvalue
multiplicity, Proc. 14th ACM Symp. Theory and
Comp. pp 310-324, 1982 Hoffman, 1982
Group-theoretic algorithms and graph isomorphism,
Lecture Notes in Computer Science 136, Chap. V,
Springer 1982 Luks, Hoffman, 1987 An O(n3 log
n) deterministic and an O(n3) Las Vegas
isomorphism test for trivalent graphs, Jrnal of
the ACM, 34, pp 513-531, 1987 Babai, Luks, 1983
Canonical labeling of graphs, Proc. 15th ACM
Symp. Theory and Comp. pp 171-183, 1983
96Bibliographie isomorphisme de sous-graphes
Alt, Mehlhorn, Munro, 1984 On the complexity
of partial match retrieval, Information
Processing Letters, 19(2) pp 61-65,
1984 Corneil, Gotlieb, 1970 An efficient
algorithm for graph isomorphism, Journal of the
ACM, 17 pp 51-64, 1970 Messmer, 1995 Efficient
graph matching algorithms, PhD thesis, Univ. Of
Bern, Switzerland, 1995 Ullman, 1976 An
algorithm for subgraph isomorphism, Journal of
the Association for Computing Machinery, 23(1) pp
31-42, 1976 Haralick, Elliot, 1980 Increasing
tree search efficiency for constraint
satisfaction problems, Artificial Intelligence,
14, pp 263-313. Elsiever, 1980 Kim, Kack, 1991
3-D object recognition using bipartite matching
embedded in discrete relaxation, IEEE Trans. On
PAMI, 13, pp 224-251, 1991 Blake, 1994
Partitionning graph matching with constraints,
Pattern Recognition, 27(3) pp 439-446, 1994
97Bibliographie isomorphisme inexact
Auber, Delest, Domenger, Dulucq, 2004
Efficient drawing of RNA secondary structure,
2004 Hummel, Zucker, 1983 On the foundations of
relaxation labeling processes, IEEE Trans. on
PAMI, 5(3) pp 267-287, 1983