Tải bản đầy đủ (.pdf) (76 trang)

Appariement multivoque de graphes par la recherche locale

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.83 MB, 76 trang )

Université catholique de
Louvain

Institut de la Francophonie
pour l’Informatique

Appariement multivoque de graphes par
la recherche locale
Mémoire de fin d’études

Réalisé par :
NGUYEN Thi Hong Hiep
Sous la direction de :
Prof. Yves Deville
Département d’Ingénierie Informatique
Université catholique de Louvain

Louvain – la – Neuve, le 15 Novembre 2009
i


Remerciements

Je tiens à remercier particulièrement mon promoteur, Yves Deville, qui m‟a dirigé mon
travail de stage de fin d‟étude. Sa direction scientifique, ses judicieux conseils, ses
pertinents commentaires et ses encouragements m‟ont aidé à aller jusqu‟au bout de ce
travail.
Je remercie aussi Pham Quang Dung pour ses propositions et son aide avec lesquels mon
travail de stage a pu avancer plus rapidement.
Je tiens à remercier à Christine Sonon – professeur d‟Université de Lyon I - qui m‟a
donné des conseils scientifiques sans lesquelles ce travail n‟aurait pas pu aboutir.


Je tiens à remercier les membres du groupe Be-cool (Belgian Constraint Group) du
Département d‟Ingénierie Informatique pour leur accueil, leur soutien et leur bonne
humeur.
Ma reconnaissance s‟adresse aussi aux professeurs de l‟IFI (Institut de la Francophonie
pour l‟Informatique) qui m‟ont donné des connaissances et des guides utiles pour mon
mémoire et qui m‟ont aidé à suivre la formation de master à L‟IFI.
En fin, j‟exprime ma gratitude à ma famille pour leur soutien, leurs encouragements et
leur aide qui m‟a permis de réaliser ce mémoire.

i


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Résumé
Dans les applications de reconnaissance et de recherche d‟information, la mesure de
similarité entre des objets joue un rôle clé. Lorsque les objets sont présentés sous forme
de graphes, ce problème se transforme en mesure de similarité entre des graphes. En fait,
à cause de la différence au niveau de modélisation des objets, chaque sommet d‟un graphe
correspond peut-être à plusieurs sommets de l‟autre graphe et inversement. Le matching
multivoque de graphes peut résoudre ce problème en permettant de mettre en
correspondance un sommet d‟un graphe avec plusieurs sommets de l‟autre. En utilisant
une mesure de similarité pour formuler ce problème en problème d‟optimisation dont la
fonction objectif est cette mesure de similarité, le problème original de la recherche du
meilleur appariement entre deux graphes se transforme en une recherche d‟un
appariement maximisant la fonction objectif.
Malheureusement, l‟appariement multivoque de graphes est un problème NP-complet
impossible d‟être résolu par un algorithme polynomial. Donc, la recherche locale est une

approche alternative intéressante car permettant d‟obtenir une solution approchée en
temps polynomial. Elle ne garantit pas toujours le résultat globalement optimal mais
donne des solutions acceptables. En explorant l‟espace de recherche de voisin en voisin,
les algorithmes de recherche locale permettent d‟améliorer petit-à-petit la qualité de
solution et dirige la recherche vers l‟optimum global.
Dans ce rapport, nous présentons trois algorithmes de recherche locale : la recherche
gloutonne, la recherche taboue et la recherche taboue réactive où la fonction objectif est
de maximiser la similarité entre les graphes. Ces trois algorithmes sont implémentées en
COMET – un environnement développé pour la recherche locale et pour la
programmation par contraintes. Dans la section résultats, nous comparons la qualité de
ces trois algorithmes. Nous évaluons aussi l‟efficacité de la recherche locale pour le
problème d‟appariement multivoque de graphes en montrant la qualité de la meilleure
solution trouvée et le temps d‟exécution.
ii


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Abstract
The similarity measurement between objects plays a key role in the recognition
applications and the information retrieval. When the objects are presented as graphs, this
problem turns into a similarity measurement between the graphs. In fact, each node of a
graph may correspond to many nodes of the other graph. This can only be modeled by
multivalent graph matching allowing to matching a node of a graph with several nodes of
the other graph. By using the similarity measure [1] as the objective function of an
optimization problem, the original problem changes from finding the best match between
two graphs to the search of a matching maximizing the objective function.
Unfortunately, multivalent graph matching is a NP-hard problem and cannot be solved by

an algorithm in polynomial time. Therefore, local search is a good alternative approach to
resolve this problem in polynomial time. It does not always find the globally optimal
result, but gives acceptable solutions. By exploring the search space from neighbor to
neighbor, the local search algorithms can progressively improve the quality of the
solution and leads the search to the global optimum.
In this report, we present three local search algorithms: greedy, tabu and reactive tabu
search implemented in Comet – a programming environment developed for local search
and constraints programming. In the result section, we will compare the quality of these
three algorithms one to another. We evaluate also the efficiency of the local search for
multivalent graph matching by relying on the possibility to get to the best solution, the
quality of the base solution and the execution time.

iii


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Table de matières
Remerciements ...................................................................................................................... i
Résumé ................................................................................................................................. ii
Abstract................................................................................................................................ iii
Table de matières ................................................................................................................ iv
Liste des figures ................................................................................................................... vi
Liste des tableaux ............................................................................................................... vii
Chapitre 1. Introduction ....................................................................................................... 1
1.1.

Motivation ............................................................................................................... 1


1.2. Contexte et problématique ........................................................................................ 2
1.3. Objectif ....................................................................................................................... 3
1.4. Contribution ............................................................................................................... 4
1.5. Environnement de stage ............................................................................................ 5
Chapitre 2 : Appariement multivoque de graphes ............................................................... 6
2.1. Introduction aux graphes ........................................................................................... 6
2.1.1. Graphes orientés ................................................................................................. 6
2.1.2. Graphes orientés étiquetés ................................................................................. 6
2.2. Appariement .............................................................................................................. 8
2.2.1. Appariements de graphes étiquetés ................................................................... 8
2.2.2. Classification d’appariements.............................................................................. 9
2.2.3. État de l’art et complexité des problèmes d’appariement de graphes ............ 11
2.3. Mesure de similarité ................................................................................................ 13
2.3.1. Caractéristiques communes .............................................................................. 13
2.3.2. Éclatement ......................................................................................................... 18
2.3.3. Similarité de graphes par un appariement ........................................................ 19
2.3.4. Similarité de graphes ......................................................................................... 20
Chapitre 3 : Recherche locale et Comet ............................................................................. 21
3.1. Recherche locale ...................................................................................................... 21
3.1.1. Méthode incomplète ......................................................................................... 21
3.1.2. Composant de la recherche locale .................................................................... 25
iv


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

3.1.2.1. Solution initiale............................................................................................ 25

3.1.2.2. Sélecteur du voisin ...................................................................................... 26
3.1.2.3. Intensification/diversification ..................................................................... 27
3.1.2.4. Les stratégies méta-heuristiques ................................................................ 27
3.2. Comet ....................................................................................................................... 30
3.2.1. Choix de Comet .................................................................................................. 30
3.2.2. Architecture de Comet ...................................................................................... 31
3.2.3. Le programme de Comet. .................................................................................. 33
3.3. Algorithmes de recherche locale appliqués aux problèmes d’appariement
multivoque de graphes ................................................................................................... 36
3.3.1. Modèle du problème ......................................................................................... 36
3.3.1.1. Solution........................................................................................................ 36
3.3.1.2. Fonction objectif ......................................................................................... 37
3.3.1.3. Voisinage ..................................................................................................... 37
3.3.2. Algorithmes de recherche locale ....................................................................... 38
3.3.2.1. Recherche gloutonne .................................................................................. 38
3.3.2.2. Recherche taboue ....................................................................................... 41
3.3.2.3. Recherche taboue réactive ......................................................................... 44
Chapitre 4. Expérimentation et évaluation ....................................................................... 53
4.1. Expérimentation ....................................................................................................... 53
4.1.1. Environnement d’implémentation .................................................................... 53
4.1.2. Instances de test ................................................................................................ 53
4.1.3. Cas de test .......................................................................................................... 56
4.2. Résultats expérimentaux et évaluation ................................................................... 58
4.2.1. Critères d’évaluation ......................................................................................... 58
4.2.2. Résultats et évaluation ...................................................................................... 59
Conclusion .......................................................................................................................... 65
Références .......................................................................................................................... 67

v



Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Liste des figures
1 - Figure 2.1. Graph orienté [1] ........................................................................................... 6
2 - Figure 2.2. Modélisation d’un objet en graph orienté étiqueté *1+ ................................. 7
3- Figure 2.3. Un appariement entre deux graphes [1]. ....................................................... 9
4 - Figure 2.4. Appariement multivoque de graphes présenté étape par étape ............... 17
5 - Figure 3.1. Variation de la fonction objectif dans l'espace de recherche...................... 22
6 - Figure 3.2. Espace de recherche représentée en arbre ................................................ 23
7 - Figure 3.3. Processus de la recherché locale ................................................................. 24
8 - Figure 3.4. Illusion d'une boucle au cours de la recherche et de la liste taboue ........... 28
9 - Figure 3.5. Architecture de Comet [05] ....................................................................... 31
10 - Figure 3.5. Illustration du problème n-reines de Comet ............................................. 34
11 - Figure 3.6. Une solution du problème d'appariement multivoque de graphes .......... 36
12 - Figure 3.7. Voisinage d'un appariement ..................................................................... 37
13 - Figure 3.8. Diagramme de l'algorithme glouton ......................................................... 39
14 - Figure 3.9. Évolution de la recherche par l’algorithme glouton ................................. 40
15 - Figure 3.10. Diagramme de l'algorithme tabou .......................................................... 43
16 -Figure 3.11. Modèle de la détection des redondances des solutions ......................... 46
17 - Figure 3.12. Un modèle de fonction de hachage......................................................... 49
18 -Figure 3.13. Diagramme de l'algorithme tabou réactif ............................................... 50
19 -Figure 3.14. Processus de la détection des redondances des solutions ...................... 51
20 - Figure 4.1. Comparaison sur le temps pour trouver la meilleure solution .................. 62
21 - Figure 4.2. Comparaison sur la qualité de la meilleure solution trouvée ................... 62
22 - Figure 22. Reconnaissance de scènes par l’appariement multivoque de graphes ..... 66

vi



Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Liste des tableaux
Tableau 4.1. Base de données à tester ............................................................................... 54
Tableau 4.2. Cas de test ...................................................................................................... 57
Tableau 4.3. Résultats d’appariement avec le poids d’éclatement w = 1 ......................... 60
Tableau 4.4. Résultats de l’algorithme tabou réactif avec le poids d’éclatement w = 1 ... 61
Tableau 4.5. Résultats de l’algorithme tabou réactif avec le poids d’éclatement w = 3 ... 63

vii


Chapitre 1. Introduction
1.1. Motivation
L‟appariement de graphes est un problème fondamental en reconnaissance des formes. Ce
problème est utilisé dans plusieurs applications de vision par ordinateur. L‟appariement
univoque est moins adaptatif que l‟appariement multivoque. Ce premier n‟est pas capable
de répondre à l‟hétérogénéité dans la segmentation d‟images où chaque image est
représentée par un graphe. En fait, une région de l‟image correspond peut- être à plusieurs
régions de l‟autre image car certaines images sont sur-segmentées tandis que certaines
autres sont sous-segmentées. Cependant, le matching univoque n‟autorise d‟apparier
chaque sommet d‟un graphe (région d‟image) qu‟avec un seul sommet de l‟autre graphe
(région de l‟autre image). Le matching multivoque de graphes résout ce problème en
permettant d‟apparier un sommet d‟un graphe avec plusieurs sommets de l‟autre. Il
devient plus adaptif et est adapté dans différentes applications. Vu l‟importance de ce
problème, je l‟ai choisi comme sujet d‟étude de mon stage.

L‟appariement multivoque de graphes est un problème NP-difficile et plus difficile que le
problème d‟appariement univoque. Par conséquent, il existe peu d‟algorithmes connus
dans la littérature résolvant ce problème et en particulier aujourd‟hui encore, aucun
algorithme efficace pour le résoudre n‟a été proposé. Dans ce contexte, la mesure de
similarité proposée par Pierre-Antoine Champin et Christine Solnon [1] apparait comme
une solution intéressante pour transformer ce problème NP-difficile en un problème
d‟optimisation (le meilleur appariement est celui qui maximise la fonction objectif)
résoluble en temps polynomial par une technique de recherche locale. Bien entendu, cette
approche de recherche locale ne garantit pas de trouver l‟optimum global, mais permet
d‟obtenir de bons résultats. Grâce à ces raisons, j‟utilise la mesure de similarité [1] pour
formuler le problème original en un problème d‟optimisation dont la fonction objectif est
la fonction de similarité et choisis 3 algorithmes approchés de recherche locale pour
résoudre ce problème.
1


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

La qualité des algorithmes de recherche locale dépend de plusieurs facteurs comme la
stratégie de limitation l‟espace de recherche, la définition du voisinage d‟une solution, les
critères pour choisir des candidats à chaque étape, la stratégie heuristique/métaheuristique pour guider la recherche d‟échapper l‟optimum local et d‟arriver l‟optimum
global le plus tôt possible ... Parmi les différents algorithmes de recherche local, nous en
avons choisi trois : glouton, tabou et tabou réactif. Ceci nous permettra de les comparer et
de déterminer lequel est le meilleur algorithme pour résoudre le problème d‟appariement
multivoque de graphes.
1.2. Contexte et problématique
Le problème d‟appariement multivoque de graphes reste un problème ouvert car il est un
problème NP-difficile. Il y a donc aucun algorithme générique efficace pour le résoudre,

malgré son rôle important dans plusieurs applications de vision par ordinateur. C‟est aussi
difficile de l‟utiliser dans les applications en temps réel sur internet à cause de sa
complexité exponentielle. Il est donc nécessaire d‟étudier ce problème et de chercher des
algorithmes pouvant le résoudre en temps polynomial, même de manière approchée.
Le problème de matching de graphes vise à chercher le meilleur appariement entre deux
graphes étiquetés donnés qui accouple le plus de sommets et d‟arrêtes ayant la même
étiquette dans deux graphes. En utilisant la fonction de similarité proposée par PierreAntoine Champin et Christine Solnon [1] comme fonction objectif pour formuler ce
problème en un problème d‟optimisation, la recherche du meilleur appariement revient
donc à chercher l‟appariement qui maximise la fonction objectif en utilisant la recherche
locale. Les algorithmes de recherche locale n‟explorent qu‟une seule partie de l‟espace de
recherche en se déplaçant de voisin en voisin pour améliorer petit à petit la qualité de la
solution. Les stratégies heuristiques/méta-heuristique sont intégrées dans la recherche
pour diriger la recherche vers l‟optimum global.
En fait, le problème d‟appariement basant sur la mesure de similarité [1] travaille avec
des graphes étiquetés mais nous pouvons aussi l‟appliquer avec des graphes non2


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

étiquetés dont tous les sommets et les arêtes sont considérées comme les composants
ayant la même étiquette.
Lorsque les graphes à apparier sont de grandes tailles, c‟est difficile déterminer si une
solution est l‟optimum global ou non. Un moyen pour surmonter cet obstacle est de :
exécuter la recherche plusieurs fois pour déterminer la plus grande valeur de la
fonction objectif.
comparer nos résultats avec des résultats existants déclarés dans la littérature
Une variation ouverte de ce problème est l‟appariement multivoque de graphes avec des
contraintes. En fait, nous pouvons ajouter des contraintes sur des sommets, sur des arêtes

et sur chaque couple de sommets appariés comme suit :
Chaque sommet ne peut être apparié qu‟avec un nombre limité de sommets de
l‟autre graphe.
Chaque accouplement de deux sommets est attaché un poids. Les nœuds du graphe
sont divisés en classes. Les poids des accouplements d‟un sommet avec tous les
sommets dans une classe sont les mêmes, mais différent de ceux entre ce sommet
avec des sommets d‟autres classes.
Dans le cadre de mon stage, je ne travaille pas avec des contraintes supplémentaires mais
ceci pourrait être étudié dans le futur.
1.3. Objectif
L‟objectif de mon stage est d‟appliquer la mesure de similarité proposée par PierreAntoine Champin et Christine Solnon [1] pour formuler le problème d‟appariement
multivoque de graphes en un problème d‟optimisation résoluble par des algorithmes
approximatifs dont la fonction objectif est cette mesure de similarité.
Un autre objectif de mon stage est de tester et d‟évaluer l‟efficacité des trois algorithmes
de la recherche locale (une approche approximative) : glouton, tabou et tabou réactif, de
les comparer afin de choisir la meilleure méthode pour résoudre le problème
3

NP-


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

difficile : appariement multivoque de graphes. Nos résultats expérimentaux servent aussi
à vérifier les résultats publiés dans l‟article [2] obtenus par ces mêmes algorithmes. Pour
évaluer la performance d‟un algorithme et le comparer avec d‟autres, nous nous basons
sur des critères comme la qualité de la meilleure solution trouvée, la qualité moyenne des
solutions obtenus dans plusieurs fois d‟exécution, la fréquence d‟atteindre à l‟optimum

global, le temps nécessaire pour trouver la meilleure solution.
1.4. Contribution
L‟objectif de mon stage est d‟appliquer la fonction de similarité [1] pour représenter le
problème d‟appariement en un problème d‟optimisation dont la fonction objectif est cette
mesure de similarité et ensuite d‟utiliser 3 algorithmes de recherche locale pour résoudre
ce problème d‟optimisation. J‟aborde donc dans cette section 2 aspects : contribution en
théorie et au logiciel.
Contribution en théorie
Génération deux fonctions de hachages (fonction de hachage de type-2 dans [3.3.2.3] et
les fonctions hash2, hash3 dans [4.1.3]) visant à détecter des redondances des solutions
pour ajuster la liste tabou dans l‟algorithme de recherche locale tabou réactif
Contribution au logiciel
Construction d‟un programme en Comet avec trois modules de recherche correspondant
aux trois algorithmes de recherche locale spécifiés
Construction d‟un module de mettre à jour de la similarité de l‟appariement récent à
chaque itération. Il calcule le changement de la similarité au lieu de la recalculer lors
qu‟on ajoute ou enlève un couple de sommets à l‟appariement.
Construction d‟une version du programme utilisant des invariants Comet qui mettent à
jours automatiquement la similarité chaque fois où l‟appariement change. Dans cette
version, c‟est le langage Comet, pas nous, qui s‟occupe de gérer cette mesure de
4


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

similarité. Malheureusement, le résultat est mauvais (la mémoire requise et le temps
d‟exécution sont trop grands)
1.5. Environnement de stage

Mon travail de stage s‟est déroulé au Département d‟Ingénierie Informatique d‟Université
catholique de Louvain (UCL) à Louvain-la-Neuve en Belgique du 15 Avril 2009 au 15
Novembre 2009, sous l‟encadrant du prof. Yves Deville. Il a défini le problème à
résoudre, délimité le travail du stage et indiqué la direction principale du stage et les
approches à suivre pour résoudre le problème. Il s‟est occupé aussi des problèmes
concernant la recherche locale. Par ailleurs, mon stage est aussi supervisé par M. Pham
Quang Dung qui a suivi l‟avancement du stage. Il s‟est occupé des problèmes concernant
l‟implémentation du programme et m‟a proposé des idées pour implémenter des
algorithmes de recherche locale. J‟ai eu l‟occasion de rencontrer Christine Solnon – une
des deux auteurs proposant la mesure de similarité [1]. Elle m‟a aidé à obtenir la base de
données de test de Olfa Sammound utilisée dans les expérimentations [2] et m‟a montré
sa fonction de hachage pour implémenter l‟algorithme tabou réactif – un des trois
algorithmes étudiés dans mon stage.
Au cours du mon stage, j‟ai rejoint le groupe Be-cool (Belgian Constraints Group) du
Département d‟Ingénierie Informatique d‟UCL et aussi participé aux activités de
recherche avec ce groupe (les réunions du groupe, les séminaires et les conférences en
Belgique et en France, ...)

5


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Chapitre 2 : Appariement multivoque de graphes
Introduction
L‟objectif de ce chapitre est de dresser un état de l‟art sur le matching multivoque de
graphes et une mesure de similarité pour transformer le problème d‟appariement
multivoque de graphes en un problème d‟optimisation de cette mesure. Nous présentons

premièrement l‟introduction des graphes orientés étiquetés et l‟appariement entre des
graphes de ce type. Nous présentons ensuite une mesure de similarité de graphes. La
recherche du meilleur appariement se transforme en l‟optimisation de la similarité induite
par un appariement.
2.1. Introduction aux graphes
2.1.1. Graphes orientés
Un graphe orienté est défini par un couple G = (V, E) où V est un ensemble fini de
sommets et E

est un ensemble fini d‟arêtes orientées.
a

b

c

d

f

e

1 - Figure 2.1. Graph orienté [1]

Chaque arête (u, v) est un couple ordonné de sommets représentant un arc dirigé
du sommet u au sommet v. Dans un graphe orienté, il y a deux arcs possibles (u, v) et (v,
u) entre deux sommets u et v. Le fait que si (u, v) est une arête, alors (v, u) n‟est pas
obligatoirement un arc du graphe.
2.1.2. Graphes orientés étiquetés


6


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Un graphe orienté etiquetté est un graph orienté dont les sommets et les arêtes sont
associés à des étiquettes décrivant leurs propriétés.
Etant donnés LV et LE les ensembles d‟étiquettes de sommets et d‟arêtes. Un graphe
orienté étiqueté est défini par un triplet G = (V, rV, rE) tel que :
rv = {(v, lv )}

V

est une relation associant les sommets à leurs étiquettes. rV est

un ensemble de couple (v, lv) signifiant que le sommet v a l‟étiquette lv.
rE = {(v, v’, lvv’)}}

E

est une relation associant les arêtes à leurs

étiquettes. rE est un ensemble de triplets (v, v’, lvv’) signifiant que l‟arête (v, v’) a
l‟étiquette lvv’.
Sans perte de généralité, on suppose que chaque arête est associée à au moins une
étiquette. L‟ensemble E des arêtes du graphe est défini par E = {(v, v’) |

l : (v, v’, l)


rE }

2 - Figure 2.2. Modélisation d’un objet en graph orienté étiqueté *1+

Exemple : Étant donné un objet présenté dans la figure 2.2, pour le modéliser en graphe,
nous créons des sommets et des arcs représentant respectivement des composants et les
relations de position relative entre des composants de l‟objet. De plus, nous définissons
un ensemble d‟étiquettes des sommets et des arcs ci-dessous :
LE = {poutre, I, mur}
LV = {accoté, sur}
7


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Les composants a, b, c, d ont deux étiquettes « poutre » et « I » tandis que les
composants e et f sont associés à une seule étiquette « mur ». Nous utilisons l‟étiquette «
accoté » et « sur » pour décrire les positions relatives entre les composants a, b, c, d et
entre ces composants avec e, f
Le graphe décrivant cet objet est défini par un triplet ci-dessous :
G = < V = {a, b, c, d, e, f},
rV = { (a, poutre), (b, poutre), (c, poutre), (d, poutre),
(a, I), (b, I), (c, I), (d, I)
(e, mur), (f, mur)},
rE = { (a, b, acoté), (b, c, acoté), (c, d, acoté),
(a, e, sur), (b, e, sur), (c, f, sur), (d, f, sur)} >
2.2. Appariement

2.2.1. Appariements de graphes étiquetés
Un appariement de 2 graphes est une mise en correspondance entre leurs sommets. Il
contient des paires de sommets couplés dont chacun appartient à un graphe. Plus
formellement, un appariement entre deux graphes étiquetés G1 = <G1, rV1, rE1> et G2 =
<G2, rV2, rE2> est une relation m = {(v1, v2) : v1

V1 , v 2

V2 }

V1

V2 contenant tous les

couples (u, v) tel que u est apparié au sommet v
À partir d‟un appariement, en ajoutant ou en enlevant un ou plusieurs couples de
sommets, nous obtenons un nouvel appariement. Autrement dit, un appariement est aussi
un ensemble mathématique. Nous pouvons donc appliquer des opérateurs ensemblistes
sur des appariements.
En général, un tel appariement peut associer à chaque sommet d‟un graphe 0, 1 ou
plusieurs sommets de l‟autre graphe. Nous utilisons la notion fonctionnelle m(v) pour
noter l‟ensemble de sommets accouplés avec v par la relation m
v1

V1 : m(v1) = { v2

V2 | (v1, v2)

m}


v2

V2 : m(v2) = { v1

V1 | (v1, v2)

m}

8


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

3- Figure 2.3. Un appariement entre deux graphes [1].

Exemple : Avec les deux graphes représentés dans la figure 2.3, il y a plusieurs
appariements possibles. Nous définissons ci-dessous un matching de graphes:
m = {(a, 1), (b, 2), (c, 3), (d, 4), (e, 5), (f, 5)}
Cet appariement accouple respectivement les sommets a, b, c, d avec les sommets 1, 2, 3,
4 et les sommets e, f sont tous les deux appariés au sommet 5. Dans cet appariement,
l‟ensemble de sommets associés au sommet 5 est m(5) = {e, f}.
Si nous enlevons le couple (f, 5) de l‟appariement m, nous

obtenons un nouvel

appariement : m’ = {(a, 1), (b, 2), (c, 3), (d, 4), (e, 5)}
Dans ce nouvel appariement, le sommet f n‟est donc accouplé à aucun sommet du
deuxième graphe. L‟ensemble de sommets associés à f est vide : m(f) =

2.2.2. Classification d’appariements
 Appariement bijectif : cardinalité = (1, 1)
v1

V1 : |m(v1)| = 1

v2

V2 : |m(v2)| = 1
9


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Tous les sommets d‟un graphe sont appariés à un et un seul sommet de l‟autre graphe
et inversement. Il n‟existe pas donc deux sommets d‟un graphe liés à un même
sommet de l‟autre graphe.
Le problème associé à ce type d‟appariement est l‟isomorphisme de graphes visant à
déterminer si les deux graphes donnés sont isomorphes ou non en indiquant un
appariement bijectif 1-1 entre eux.
 Appariement injectif : cardinalité = (1, 0..1)
v1

V1 : |m(v1)|

1

Un appariement injectif de G1 à G2 lie chaque sommet du graphe G1 à au maximum un

sommet du graphe G2. Il est impossible d‟apparier deux sommets de G1 à un même
sommet de G2.
Ce type d‟appariement associe au problème d‟isomorphisme de sous graphe.
L‟objectif de ce problème est de déterminer si un graphe est l‟isomorphisme d‟un
sous-graphe de l‟autre graphe ou non en indiquant un appariement injectif entre eux.
 Appariement univoque : cardinalité = (0..1, 0..1)
Dans un appariement univoque entre deux graphes G1 et G2, chaque sommet d‟un
graphe est apparié au maximum à un sommet de l‟autre graphe. Chaque sommet n‟a
donc que deux possibilités : soit il n‟est pas apparié, soit il est apparié à un sommet
unique.
Cet appariement concerne le problème de plus grand sous-graphe commun. Il s‟agit de
trouver le sous graphe le plus grand dans chacun des graphes de telle sorte que ces
deux sous-graphes soient isomorphes.
 Appariement multivoque : cardinalité = (0..|V1|, 0..|V2|)
Chaque sommet d‟un graphe est apparié à un ensemble (éventuellement vide) de
sommets de l‟autre graphe. Dans un appariement multivoque, un sommet est peut-être
apparié en même temps à plusieurs sommets.

10


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

2.2.3. État de l’art et complexité des problèmes d’appariement de graphes
a. Isomorphisme de graphes
La complexité du problème d'isomorphisme de graphes n'est pas exactement connue : ce
problème est NP mais on ne sait pas s‟il est dans P ou s‟il est NP-complet [10].
Cependant, avec certaines topologies particulières de graphes (graphes planaires [12], des

arbres [13] ou graphes de valence bornée [14]), ce problème peut être résolu dans un
temps polynomial.
Il existe certains algorithmes pour résoudre ce problème tel que Ullmann, Schmidt and
Druffel (SD), VF, VF2, et Nauty, …. Ulmann réduit l‟espace de recherche par une
procédure de back-tracking et une fonction de look-ahead. Les graphes sont représentés
sous la forme de matrices de distance [11]. VF se base sur une stratégie de recherche en
profondeur avec un ensemble de règles pour élaguer l‟arbre de recherche [19]. VF2 a la
même idée de VF mais utilise des structures de données plus sophistiquées [20]. Nauty se
base sur un ensemble de transformations afin de réduire des graphes sous formes de cône
sur lesquelles le teste d‟isomorphisme est plus rapide [09]. Une évaluation et comparaison
entre ces algorithmes est présentée dans [16].
b. Isomorphisme de sous-graphes
L‟isomorphisme de sous graphe est un problème NP-complet. Il y a quelques algorithmes
visant à résoudre le problème d‟isomorphisme de sous graphes mais l‟idée commune de la
plupart de ces algorithme est similaire avec l‟algorithme de base proposé par Ullmann
[11] qui se base sur une procédure de back-tracking and une fonction de look-ahead pour
réduire l‟espace de recherche. Les graphes sont représentés sous forme des matrices
d‟adjacence. A chaque fois où nous avons besoin de générer tous les sous-graphes
possibles d‟une matrice d‟adjacence, une permutation de matrice sera construite. À
chaque étape, la matrice résultant - représentant un sous-graphe de G - est comparée avec
la matrice du graphe plus petit G‟ pour chercher un appariement entre eux.
11


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

La complexité de cet algorithme est O(IMM2) où M = nombre d‟arcs du graphe le plus
grand et I est le nombre d‟arcs du sous-graphe [15].

c. Plus grand sous graphe commun
Ce problème est NP-difficile. Il y a quelques algorithmes existants comme l‟algorithme
de McGregor, de Durand-Pasari, Balas Yu, [17]…qui peuvent marcher sur des grandes
bases de données de graphes.
o L‟algorithme McGregor [21] construit un arbre de recherche dont chaque état (nœud)
est un sous graphe de deux graphes d‟entrée et se base sur une recherche en
profondeur pour trouver le plus grand sous graphe commun. Le voisinage d‟un état S
est un ensemble de sous graphes possible générés en ajoutant un couple
d‟appariement. Le plus grand sous graphe commun est un des nœuds de feuille de
l‟arbre qui contient le plus des couples de sommets de deux graphes.
o L‟algorithme de Durant-Pasari construit à partir deux graphes originaux G1 et G2 un
graphe d‟association non orienté dont chaque nœud correspond à une paire de deux
sommets appartenant aux deux graphes G1 et G2 ayant les mêmes caractéristiques, et
chaque arête connectant deux sommets (m1, m2) et (n1, n2) présente la possibilité
d‟existence un isomorphisme entre deux sous graphes (m1, n1) de G1 et (m2, n2) de G2.
Le plus grand sous graphe commun correspond à la plus grande clique du graphe
d‟association. Cet-algorithme utilise une recherche en profondeur sur l‟arbre de
recherche pour trouver la plus grande clique du graphe d‟association.
o Comme l‟algorithme Durant-Pasari , celui de Balas Yu construit tout d‟abord un
graphe d‟association de deux graphes attribués et la solution du problème « plus grand
sous graphe commun » est la plus grande clique dans le graphe d‟association.
Différent de l‟algorithme Durant-Pasari, Balas Yu cherche la plus grande clique en se
basant sur une technique de coloriage. Une description plus précise de cet algorithme
se trouve dans [18].

12


Nguyen Thi Hong Hiep


Appariement multivoque de graphes

d. Appariement multivoque de graphes
Ce problème est NP-difficile et il y a peu d‟algorithmes pour le résoudre. Une méthode
efficace pour résoudre ce problème est d‟utiliser la fonction de similarité proposée par
Champin et Solnon [1]. Ils proposent une fonction de similarité calculée par rapport à un
appariement donné. Le meilleur matching entre deux graphes est alors celui qui maximise
cette fonction de similarité. Le problème d‟appariement multivoque de graphes consiste
donc en un problème d‟optimisation de cette mesure de similarité.
2.3. Mesure de similarité
Dans cette section, nous présentons la mesure de similarité proposée par Pierre-Antoine
Champin et Christine Solnon [1]. Ils proposent une fonction de similarité pour un
appariement entre deux graphes. Cette fonction est directement proportionnelle aux
nombres de caractéristiques communes aux deux graphes par rapport au nombre total de
caractéristiques. Nous présenterons premièrement dans cette section les caractéristiques
d‟un graphe et comment déterminer les caractéristiques communes partagées par deux
graphes. Finalement, nous donnons la mesure de similarité de graphes.
2.3.1. Caractéristiques communes
Un graphe étiqueté est caractérisé par ses composants et les étiquettes attachées aux
composants. Chaque couple (sommet, étiquette) ou (arête, étiquette) est considéré comme
une caractéristique du graphe. Le graphe étiqueté G = <V, rV, rE> défini dans la section
2.1.2 est décrit donc par un ensemble de caractéristiques descr(G) associés aux sommets
et aux arcs :
descr(G)

= rV U rE
= {(v, l)

rV} U {(vi, vj, l)


rE}

où : rV est l‟ensemble de caractéristiques des sommets et rE l‟ensemble de caractéristiques
des arcs du graphe étiqueté
13


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Deux caractéristiques de sommets (ou d‟arcs) appartenant à deux graphes sont similaires
s‟ils sont associés à une même étiquette. Étant donnés deux graphes G1, G2 et un
appariement m entre eux, les caractéristiques communes aux deux graphes sont les
caractéristiques des sommets ou des arcs appariés par m à au moins un sommet ou un arc
de l‟autre graphe ayant la même étiquette. Formellement, l‟ensemble descr(G)

m

descr(G‟) des caractéristiques communes aux deux graphes étiquetés G et G‟ par rapport
à l‟appariement m est défini par :
descr(G)

m

descr(G‟) = {(v, l)
{(v’, l)

rV |


(v, v’)

rV’ |

{(vi, vj, l)
{(v’i, v’j, l)

(v, v‟)

rE |
rE’ |

m, (v‟, l)
m, (v, l)

(vi, vi‟)

m,

(vi, v’i)

m,

rV‟}
rV}

(vj, vj‟)
(vj, vj‟)

m, (vi’, vj’, l)


rE’}

m, (vi, vj, l)

rE}

La similarité entre deux graphes est une fonction directement proportionnelle au nombre
des caractéristiques communes aux deux graphes
sim(G, G’)m ~ | descr(G)

m

descr(G’)| où :

sim(G, G‟)m : la similarité entre deux graphes G, G‟ en respectant l‟appariement m
|descr(G)

m

descr(G‟)| : la taille de l‟ensemble des caractéristiques communes aux deux

graphes
En fait, nous pouvons apparier deux sommets quelconques ayant deux étiquettes
différentes mais cette mise en correspondance ne produit pas des caractéristiques
communes aux quelles la similarité de graphes est directement proportionnelle. Chaque
appariement est un point de vue de comparaison de deux graphes. Cet appariement permet
de retrouver certaines caractéristiques communes aux deux graphes. Une bonne mise en
correspondance est celle entre les sommets ayant les mêmes étiquettes. Une telle mise en
correspondance permet de retrouver toutes les caractéristiques communes deux graphes.

Nous ne nous intéressons donc qu‟aux accouplements entre les sommets ayant les mêmes
étiquettes.
14


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

Pour mieux comprendre la détection des caractéristiques communes aux deux graphes,
nous présentons étape par étape dans la figure 2.4 les nouvelles caractéristiques
communes retrouvées au cours de l‟appariement
m = {(a, 1), (b, 2), (c, 3), (d, 4), (e, 5), (f, 5)}
acoté

a: I,poutre

acoté

b: I,poutre

acoté

2: U,poutre

acoté

c: I poutre

sur


acoté

1: U,poutre

acoté

3: U,poutre

sur
d: I,poutre

sur

sur

4: U,poutre

sur

sur

sur
e : mur

sur
5 : mur

f : mur


m = {(a, 1),
descr(G)

m

descr(G‟) = {(a, poutre), (1, poutre),

acoté

a: I,poutre

acoté

b: I,poutre

acoté

2: U,poutre

acoté

c: I poutre

sur

acoté

1: U,poutre

acoté


3: U,poutre

sur
d: I,poutre

sur

sur

sur
e : mur

sur

4: U,poutre

sur

sur

5 : mur

f : mur

m = {(a, 1), (b, 2),
descr(G)

m


descr(G‟) = { (a, poutre), (1, poutre), (b, poutre), (2, poutre), (a, b, accoté),

(1, 2, acoté),

15


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

acoté

a: I,poutre

acoté

1: U,poutre

b: I,poutre

acoté

2: U,poutre

acoté

poutre

acoté


c: I poutre

acoté

3: U,poutre

sur
sur

d: I,poutre

sur

sur

4: U,poutre

sur
sur

sur
e: mur

sur
5 : mur

f : mur

m = {(a, 1), (b, 2), (c, 3),

descr(G)

m

descr(G‟) = {

(a, poutre), (1, poutre), (b, poutre), (2, poutre), (a, b, acoté), (1, 2, acoté),
(c, poutre), (3, poutre), (b, c, acoté), (2, 3, acoté),

acoté

a: I,poutre

acoté

1: U,poutre

acoté

b: I,poutre

acoté

2: U,poutre

acoté

c: I poutre

3: U,poutre


acoté

sur
sur

d: I,poutre

4: U,poutre

sur

sur

sur

sur

sur
e : mur

sur
5 : mur

f : mur

m = {(a, 1), (b, 2), (c, 3), (d, 4),
descr(G)

m


descr(G‟) = {

(a, poutre), (1, poutre), (b, poutre), (2, poutre), (a, b, acoté), (1, 2, acoté),
(c, poutre), (3, poutre), (b, c, acoté), (2, 3, acoté),
(d, pourte), (4, poutre), (c, d, acoté), (3, 4, acoté),
16


Nguyen Thi Hong Hiep

Appariement multivoque de graphes

acoté

a: I,poutre

acoté

1: U,poutre

acoté

b: I,poutre

acoté

c: I poutre

sur


acoté

2: U,poutre

acoté

3: U,poutre

sur
d: I,poutre

sur

sur

4: U,poutre

sur

sur

sur
e : mur

sur
5 : mur

f : mur


m = {(a, 1), (b, 2), (c, 3), (d, 4), (e, 5),
descr(G)

m

descr(G‟) = {

(a, poutre), (1, poutre), (b, poutre), (2, poutre), (a, b, acoté), (1, 2, acoté),
(c, poutre), (3, poutre), (b, c, acoté), (2, 3, acoté),
(d, pourte), (4, poutre), (c, d, acoté), (3, 4, acoté),
(e, mur), (5, mur), (a, e, sur), (1, 5, sur), (b, e, sur), (2, 5, sur),

a: I,poutre

acoté

acoté

b: I,poutre

2: U,poutre

acoté

c: I poutre

sur

acoté


1: U,poutre

acoté
acoté

3: U,poutre

sur
d: I,poutre

sur

sur

4: U,poutre

sur

sur
sur

sur
e : mur

5 : mur

f : mur

4 - Figure 2.4. Appariement multivoque de graphes présenté étape par étape
17



×