Appariement multivoque de graphes par la recherche locale

76 236 0
Appariement multivoque de graphes par la recherche locale

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 Introduction 1.1 Motivation 1.2 Contexte et problématique 1.3 Objectif 1.4 Contribution 1.5 Environnement de stage Chapitre : Appariement multivoque de graphes 2.1 Introduction aux graphes 2.1.1 Graphes orientés 2.1.2 Graphes orientés étiquetés 2.2 Appariement 2.2.1 Appariements de graphes étiquetés 2.2.2 Classification d’appariements 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 : 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 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 - Figure 2.1 Graph orienté [1] - Figure 2.2 Modélisation d’un objet en graph orienté étiqueté *1+ 3- Figure 2.3 Un appariement entre deux graphes [1] - Figure 2.4 Appariement multivoque de graphes présenté étape par étape 17 - Figure 3.1 Variation de la fonction objectif dans l'espace de recherche 22 - Figure 3.2 Espace de recherche représentée en arbre 23 - Figure 3.3 Processus de la recherché locale 24 - Figure 3.4 Illusion d'une boucle au cours de la recherche et de la liste taboue 28 - 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 = 60 Tableau 4.4 Résultats de l’algorithme tabou réactif avec le poids d’éclatement w = 61 Tableau 4.5 Résultats de l’algorithme tabou réactif avec le poids d’éclatement w = 63 vii Chapitre 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 algorithmes approchés de recherche locale pour résoudre ce problème 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 deuxième graphe est créé en appliquant opérations de fusion/d‟enlèvement des sommets et 10 opérations de suppression/d‟ajout des arêtes Par conséquent, deux graphes dans chaque instance sont similaires et la similarité des graphes sont grands Les graphes testés ont de 80 100 sommets et de 200 600 arrêtes Instance G1 (|V1|, | E1|) G2 (|V2|, | E2|) data1 (80, 200) (74, 186) data2 (80, 240) (82, 261) data3 (80, 320) (83, 362) data4 (80, 340) (73, 302) data5 (80, 360) (77, 367) data6 (80, 360) (78, 367) data7 (90, 300) (91, 307) data8 (90, 320) (87, 310) data9 (90, 320) (90, 339) data10 (100, 260) (90, 263) data11 (100, 300) (100, 304) data12 (100, 320) (98, 331) data13 (100, 360) (99, 371) Tableau 4.1 Base de données tester Pour chaque instance, le tableau présente le nombre de sommets et d’arêtes de deux graphes (colonne pour graphe et colonne graphe 2) Dans nos expérimentations, nous travaillons avec des graphes sans étiquette Lorsque les composants des graphes ont plusieurs étiquettes, la recherche du meilleur appariement est trivialement facile parce que presque tous les sommets et les arêtes ont des différentes étiquettes Dans ce cas, le nombre d‟appariements possibles diminue et l‟espace de recherche est réduite car le matching de graphes ne peut avoir lieu entre que les sommets/arêtes ayant la même étiquette Par conséquent, avec les graphes étiquetés, le 54 Nguyen Thi Hong Hiep Appariement multivoque de graphes problème de matching de graphe devient très facile résoudre en utilisant la méthode de statistique, pas une méthode de recherche : nous considérons tous les appariements possibles et en les comparons pour trouver le meilleur Donc, pour avoir des instances plus difficiles tester, nous avons appliqué des graphes sans étiquetés considérés comme des graphes étiquetés dont tous les sommets/arrêts ont le même étiquette L‟appariement peut se passer entre n‟importe deux sommet de deux graphes Nous définissons la fonction f dans la formule de similarité (1) comme la fonction de cardinalité et la fonction g comme la somme pondérée : f(S) = |S| où : S est un ensemble, |S| est la taille de S g(S) = w * |s v | où : ( v , sv ) S S est l‟ensemble de sommets écartés v sv est l‟ensemble des sommets auxquelles le sommet v apparie w est le poids d‟écartement La similarité de graphes est inversement proportionnel au nombre de sommets éclatés et au poids d‟éclatement Plus le poids d‟éclatement est grand, moins l‟appariement contient de sommets éclatés Le choix du poids d‟éclatement influence drastiquement la dureté des instances Avec un nul poids w = 0, le problème est résolu facilement en couvrant tous les sommets et les arêtes de deux graphes sans considérer le nombre de sommets éclatés (nous pouvons faire éclater n‟importe quel nombre de sommets comme nous voulons), tandis qu‟avec un grand poids, la meilleure solution ne contient pas des sommets éclatés et le problème est converti en problème de matching de graphes univoque Avec les poids intermédiaires, ni ni grand, le problème est plus difficile La solution optimale doit équilibrer entre le nombre de sommets couverts par l‟appariement et le nombre des sommets étiquetés Dans nos expérimentations, nous testons deux poids intermédiaires w =1 et w = afin de comparer la capacité de résolution des sommets éclatés de nos trois algorithmes de recherche locale implémentés Nous testons 13 55 Nguyen Thi Hong Hiep Appariement multivoque de graphes expérimentations tout d‟abord avec w = pour que les solutions optimales puissent contenir certaines sommets éclatés et ensuite avec w = pour que les solutions optimales contiennent moins de sommets éclatés 4.1.3 Cas de test Au contraire de l‟algorithme glouton, l‟algorithme tabou utilise un paramètre - la longueur de la liste taboue – pour diriger la recherche et celui tabou réactif a des paramètres modifier suivants : La borne inférieure et supérieur max de la longueur de la liste taboue La longueur de la liste est changée dans l‟intervalle [min – max] La longueur initiale de cette liste est égale la borne inférieure la longueur d‟extension/raccourcissement diff de la liste taboue lors qu‟une réaction a lieu Chaque fois où la recherche a besoin d‟être diversifiée (intensifiée respectivement), la longueur de la liste taboue augmente diff unités (diminue diff unités) la fréquence de raccourcissement freq de la liste taboue après un certain nombre d‟itérations sans collision S‟il n‟y a aucune redondance de solutions dans freq itérations, la liste taboue est donc suffisamment diversifiée et sa longueur est réduite diff unités Avec chaque instance dans la base de données, l‟algorithme tabou et tabou réactif sont exécutés 20 fois Chaque fois d‟exécution se compose de 100.000 itérations Nous nous intéresserons le meilleur et le résultat moyen (sur le temps et la qualité de la solution) obtenus après 20 fois d‟exécution Dans nos expérimentations, nous avons suivi des cas de test présentés dans le tableau 4.2 56 Nguyen Thi Hong Hiep Appariement multivoque de graphes Fonction Algorithme hachage de Paramètres tabou w=1 tabou réactif w=3 tabou réactif longueur de la liste taboue = 20 hash1 hash2 = 15, max = 50, diff = 15, freq = 1000 hash3 hash1 hash2 = 20, max = 100, diff = 10, freq = 1000 hash3 = 20, max = 100, diff = 10, freq = 1000 = 15, max = 50, diff = 15, freq = 1000 Tableau 4.2 Cas de test hash : c‟est la fonction de hachage de type [type1] définie dans la section 3.3.2.3 avec a = 3, b = Cette fonction est celle utilisée dans les expérimentations [2] de Christine Solnon et Sébastien Sorlin hash2, hash3 sont tous la fonction de hachage de type 2[type2] o Hash2 : hachage f = o Hash3 : hachage f = u V1 ,v V2 3( n (1000 u v) 1) vi v 'i où : n est le nombre de sommets du graphe ( vi ,vi ') m D‟un point de vue théorique, la fonction de hachage utilisée détermine la qualité de la détection des redondances des solutions et influence donc la performance de la recherche C‟est la raison pour la quelle nous testons des différentes fonctions de hachage pour déterminer quelles sont les fonctions efficaces et appropriés pour résoudre le problème de matching multivoque de graphes En fait, nous avons essayé de tester quelques valeurs de paramètres et dans ce rapport, nous ne présentons que des valeurs des paramètres avec lesquelles la recherche obtient les meilleurs résultats 57 Nguyen Thi Hong Hiep Appariement multivoque de graphes Par railleurs, nous avons implémenté une version utilisant des invariants de Comet mais elle marche très lentement car le modèle avec invariants du problème de matching multivoque de graphes est compliqué même s‟il est simple utiliser et le code est joli Cette version prend quelques heures pour chaque fois d‟exécution et demande beaucoup de mémoire 4.2 Résultats expérimentaux et évaluation 4.2.1 Critères d’évaluation Comme analysé ci-dessus, dans nos expérimentations, chaque instance est exécutée 20 fois et testé avec deux poids d‟éclatement : w = et w = Avec chaque instance et chaque suite des paramètres, nous nous intéressons les résultats suivants : Qualité de la solution La qualité d‟une solution est évaluée par la fonction score définie comme le numérateur de la fonction de similarité (formule dans la section 2.3.3) m sim(G, G’) = max m V V' score(G, G’) = max m m V V' – où : f est la fonction de cardinalité et g est la somme pondéré comme défini dans la section 4.1.2 Comme le dénominateur de la fonction de similarité est constant, il est inchangé pour tout appariement m, il est donc suffisant de calculer seulement le numérateur de cette fonction - appelé fonction score - et inutile de calculer toute la fonction sim Meilleure qualité : c‟est la qualité de la meilleure solution – évaluée par la fonction score - obtenue en 20 exécutions Chaque exécution retourne sa meilleure solution 58 Nguyen Thi Hong Hiep Appariement multivoque de graphes La meilleure solution parmi les 20 résultats obtenus est considérée comme la solution finale de la recherche m* et l‟optimum global du problème Qualité moyenne : c‟est la qualité moyenne de 20 solutions obtenues par les 20 exécutions Ce facteur représente généralement la qualité moyenne de la recherche Fréquence d‟obtention de la meilleure solution : c‟est le nombre de fois parmi les 20 exécutions où la recherche atteint la meilleure solution m* Ce facteur évalue la capacité de parvenir l‟optimum global des algorithmes de recherche locale Temps d’exécution Temps moyen pour trouver la meilleure solution : c‟est le temps moyen pour atteindre la meilleure solution chaque itération Nous nous intéressons ce facteur comme un critère pour évaluer la vitesse de convergence l‟optimum des algorithmes de recherche locale Temps d‟exécution moyen T : pour chaque exécution, la recherche prend un certain temps pour réaliser les 100.000 itérations (la recherche s‟arrête après 100.000 itérations) Ce temps est appelé le temps d‟une exécution T est la moyenne de 20 temps d‟exécution correspondant aux 20 recherches Nombre d‟itérations moyen pour trouver la meilleure solution : c‟est comme le temps moyen pour trouver la meilleure solution mais nous comptons le nombre d‟itérations lorsque la recherche atteint la meilleure solution, pas le temps 4.2.2 Résultats et évaluation w=1 Les résultats expérimentaux du problème d‟appariement multivoque de graphes avec le poids d‟éclatement w = sont présentés dans le tableau 4.3 Pour chaque instance, le tableau reporte le meilleur score et le score moyen obtenu par 20 exécutions pour chaque algorithme (tabou, tabou réactif), le temps moyen d‟exécution, le temps et le nombre d‟itérations nécessaires pour trouver la meilleure solution 59 Nguyen Thi Hong Hiep Appariement multivoque de graphes Avg-greedy : la valeur score de la solution trouvé par l‟algorithme glouton Cette solution est utilisée comme le point de départ de l‟algorithme tabou et de l‟algorithme tabou réactif Best : la valeur score de la meilleure solution trouvée par 20 exécutions Cette meilleure solution est considérée comme l‟optimum global du problème Avg : la valeur score moyenne de 20 meilleures solutions obtenues lors des 20 exécutions Rate : le nombre de fois (20 au maximum) où la recherche atteint la meilleure solution T : le temps d‟exécution en seconde T0 : le temps moyenne pour trouver la meilleure solution lors des exécutions it0 : le nombre d‟itérations pour trouver la meilleure solution Tableau 4.3 Résultats d’appariement avec le poids d’éclatement w = (Fonction de hachage f = u V1 ,v V2 (1000 u v) En se basant sur les score moyens dans nos résultats expérimentaux, nous pouvons dire que l‟algorithme tabou et tabou réactif améliorent bien la solution crée par l‟algorithme 60 Nguyen Thi Hong Hiep Appariement multivoque de graphes glouton La recherche taboue réactive est plus performante que celle de taboue dans le sens où sa fréquence de convergence l‟optimum global et son score moyen est plus haute pour toutes instances bien que ces deux algorithmes de recherche partent d‟une même solution créée par l‟algorithme glouton La vitesse de convergence de l‟algorithme tabou réactif est plus grande car le nombre d‟itérations et le temps nécessaire pour trouver la meilleure solution sont plus petits pour la plupart des instances (sauf instances) hash1 hash2 hash3 Dataset Best Avg Freq T0(s) Avg data1 511 457.5 524 510.85 18 183 510.35 10 126 511 10 57 data2 644 579.1 11 420 636.55 19 183 643.75 17 166 644 17 60 data3 821 703.45 672 775.45 371 819.9 386 820.97 297 data4 753 673.25 678 745.7 19 331 752.95 19 198 753 55 data5 856 720.45 795 792.45 11 616 835.65 254 855.97 187 data6 863 734.65 822 798.15 13 488 863 20 313 863 20 21 data7 762 600.95 644 689.9 12 387 732.25 17 385 762 17 98 data8 780 637.25 679 707.7 12 419 779.95 19 288 780 19 51 data9 816 675.75 660 729.45 10 594 804.95 277 816 69 data10 697 585.9 530 640.35 428 660.6 315 696.93 628 data11 780 597.4 657 713.75 13 369 686.3 11 361 780 11 148 data12 828 663.25 593 704.25 513 795.25 17 367 828 17 46 data13 915 709.9 950 804.95 10 562 902.85 16 321 915 16 90 Freq T0(s) Avg résultats[2] Freq T0(s) Avg Freq T0(s) 19 Tableau 4.4 Résultats de l’algorithme tabou réactif avec le poids d’éclatement w = Nous présentons les résultats de la recherche taboue réactive utilisant des différentes fonctions de hachage et les résultats publiés dans l‟article original [2] Parmi les trois fonctions de hachage, hash est la meilleure car son temps pour trouver la meilleure solution est le plus petit et son score moyen est le plus grand Vous pouvez observer la figure 4.1 et 4.2 pour savoir mieux et de façon visuelle En fait, tous les trois donnent des plus mauvais résultats par rapport aux résultats correspondants dans [2] même si hash1 est 61 Nguyen Thi Hong Hiep Appariement multivoque de graphes la fonction de hachage utilisé dans ses expérimentations Nous pouvons expliquer ce fait comme suit : il y a peut- être une différence entre notre implémentation (quant la Temps pour trouver la meilleure solution fonction de hachage) et l‟implémentation [2] 1000 900 800 700 600 500 400 300 200 100 Series1 Series2 Series3 Series4 10 11 12 13 Instance 20 - Figure 4.1 Comparaison sur le temps pour trouver la meilleure solution Score de la meilleure solution 1000 900 800 700 600 Series1 500 400 Series2 300 Series3 200 Series4 100 10 11 12 13 Instance 21 - Figure 4.2 Comparaison sur la qualité de la meilleure solution trouvée 62 Nguyen Thi Hong Hiep Appariement multivoque de graphes w=3 Comme analysé ci-dessous, l‟algorithme tabou réactif est le plus performant pour résoudre le problème de matching multivoque de graphes Par conséquent, dans ce cas, nous ne testons et présentons que les résultats de l‟algorithme tabou réactif avec des différentes fonctions de hachage hash1 Dataset Best Avg data1 data2 data3 data4 data5 data6 data7 data8 data9 data10 data11 data12 data13 496 624 801 732 840 846 748 766 802 683 769 814 900 488.75 624 702.55 717.8 786.5 774.55 718.65 735.2 769.2 647.55 753.9 732.55 862 Freq 19 20 14 19 17 16 18 18 18 17 16 15 18 hash2 T0(s) Avg 198 186 893 278 724 791 550 350 540 190 515 541 475 496 624 784.7 732 822 846 748 766 802 683 769 814 900 Freq 20 20 19 20 19 20 20 20 20 20 20 20 20 hash3 T0(s) Avg 65 90 238 138 299 394 155 131 174 85 276 206 477 495.9 624 800.9 731.95 840 845.9 747.25 765.65 801.2 682.5 767.4 813.95 900 Freq 19 20 18 19 20 18 13 15 12 11 19 20 résultats[2] T0(s) Best Avg Freq 38 63 142 73 156 204 89 108 148 80 102 116 184 496 624 801 732 846 840 748 766 802 683 769 814 900 496 624 801 732 846 840 748 766 802 683 769 814 900 20 20 20 20 20 20 20 20 20 20 20 20 20 Tableau 4.5 Résultats de l’algorithme tabou réactif avec le poids d’éclatement w = Dans le cas w = 3, les meilleures solutions trouvées par la recherche taboue réactive sont identiques pour toutes nos fonctions de hachage et aussi pour l‟expérimentation [2] D‟un point de vue théorique, hash1 est la fonction de hachage la plus performante parce qu‟elle détecte mieux des redondances des solutions Elle diminue le plus le nombre d‟erreurs de la détection(les solutions d‟entrée sont différentes mais les codes de hachage de sortie sont les mêmes) En fait, nos résultats expérimentaux montrent que la fonction de hachage hash2 est la plus efficace parce qu‟elle aide toujours la recherche trouver l‟optimum global pour toutes instances de test (sauf deux instances, la fréquence de 63 T0(s) 28 26 17 27 198 36 82 44 70 114 358 51 54 Nguyen Thi Hong Hiep Appariement multivoque de graphes convergence l‟optimum global est 19/20) La fonction hash3 est aussi performante car ses scores moyens sont proches aux meilleurs scores Chaque exécution trouve soit la meilleure solution, soit une solution ayant score inférieur au score de la meilleure solution de En comparant hash2 et hash3, la fréquence de convergence l‟optimum global de hash2 est plus grande mais la vitesse de convergence (le temps pour trouver la meilleure solution) est plus petite Nos résultats sont moins bons que les résultats dans [2] en ce qui concerne le temps pour trouver l‟optimum global et aussi sur la qualité moyenne des meilleures solutions trouvées dans 20 exécutions Comme nous l‟avons abordé ci-dessus, hash1 est la fonction de hachage utilisée dans les expérimentations [2] mais nos résultats vérifient que nous ne pouvons pas obtenir ses résultats avec ces fonctions de hachage Il y a un bouleversement sur le score des meilleures solutions entre l‟instance et par rapport nos résultats Nous ne pouvons pas expliquer ces différences Pour un poids d‟écartement w = 1, la recherche arrive plus facilement l‟optimum global que dans le cas où w = Ainsi, plus le poids d‟écartement est grand, plus le problème de matching multivoque de graphes ressemble au problème univoque, plus la recherche taboue réactive est efficace Grâce cela, nous pouvons conclure que le problème d‟appariement multivoque est plus difficile résoudre Conclusion Parmi les algorithmes de recherche locale testés, le tabou réactif est le plus performant pour résoudre le problème d‟appariement multivoque de graphes mais en fait, les résultats obtenus ne sont pas aussi performants que ceux publiés La qualité de la recherche dépend de plusieurs facteurs comme les paramètres d‟ajustement de la liste taboue, le poids d‟écartement, la fonction de hachage utilisée Les résultats expérimentaux montrent que l‟appariement multivoque est le problème plus difficile par rapport au cas univoque (w est grand) 64 Nguyen Thi Hong Hiep Appariement multivoque de graphes Conclusion L‟appariement multivoque de graphes est un problème intéressant car il joue un rôle important dans plusieurs applications de vision par ordinateur Malheureusement, c‟est un problème NP-difficile qui ne peut donc pas être résolu de manière exacte par un algorithme en un temps polynomial Dans ce mémoire, nous avons présenté une méthode approximative pour résoudre ce problème Premièrement, le problème est reformulé en un problème d‟optimisation dont la fonction objectif est la mesure de similarité de graphes proposée par P.-A Champin et C.Solnon [1] Ensuite, nous utilisons une technique de recherche locale pour trouver le meilleur appariement qui maximise la similarité des graphes L‟algorithme tabou réactif est le plus performant pour résoudre le problème d‟appariement en utilisant une méta-heuristique adaptative pour diriger la recherche vers l‟optimum global plus souvent et plus vite La performance de notre algorithme n‟est pas aussi bonne que celle des résultats publiés [2] mais est acceptable Nos résultats expérimentaux montrent que l‟algorithme de recherche locale « tabou réactif » est un bon choix pour résoudre ce problème en un temps polynomial Le poids d‟écartement nous permet d‟adapter le problème d‟appariement multivoque de graphes aux applications Lorsque nous voulons que l‟appariement contienne moins de sommets écartés comme l‟appariement univoque, nous utilisons un grand poids et inversement Plus le poids d‟écartement est petit, plus la propriété multivoque se révèle clairement, plus le problème est difficile résoudre Dans l‟avenir, nous pouvons développer ce problème pour l‟application de segmentation et de reconnaissances des images (figure 22) L‟appariement multivoque de graphes peut résoudre le problème de sur (sous)-segmentation des images Il nous permet de détecter la correspondance entre des régions dans des images segmentées aux différents niveaux pour comparer, reconnaitre ou rechercher des images 65 Nguyen Thi Hong Hiep Appariement multivoque de graphes Image originale Image sur-segmentée 17 vertex, 24 arêtes 28 vertex, 63 arêtes 22 - Figure 22 Reconnaissance de scènes par l’appariement multivoque de graphes 66 Nguyen Thi Hong Hiep Appariement multivoque de graphes Références [1] P.-A Champin, C.Solnon “Measuring the similarity of labeled graphs”, in 5th International Conference on Case-Based Reasoning (ICCBR 2003), volume Lecture Notes in Artificial Intelligence 2689-Springer – Verlag, pages 80-95, 2003 [2] Olfa Sammoud, Sébastien Sorlin, Christine Solnon, and Khaled Ghédira, “A Comparative Study of Ant Colony Optimization and Reactive Search for Graph Matching Problems” in « 6th European Conference on Evolutionary Computation in Combinatorial Optimization » (EvoCOP 2006) - April 2006, Lecture Notes in Computer Science N°3906 - © Springer - pages 234-246 [3] Sebastien Sorlin, Christine Solnon, « Reactive tabu search for measuring graph similarity », GbRPR 2005: 172-182, http://liris.cnrs.fr/Documents/Liris-1954.pdf [4] Sébastien Sorlin et Christine Solnon, “Similarité de graphes : une mesure générique et un algorithme tabou réactif”, RJCIA'2005, p.253-266, http://liris.cnrs.fr/Documents/Liris-1526.pdf [05] Yves Deville Cours de “Constraint Based Local Search” IFI 2007 [06] Olfa Sammoud, Christine Solnon, and Khaled Gh´edira1, "Ant Algorithm for the Graph Matching Problem", in « 5th European Conference on Evolutionary Computation in Combinatorial Optimization » (EvoCOP 2005) - April 2005 Lecture Notes in Computer Science N°3448 - © Springer Verlag - pages 213-223 [07] Pascal Van Hentenryck et Laurent Michel Constraint-based Local Search MIT Press, 2005 [08] Pascal Van Hentenryck, Laurent Michel et Andrew See The COMET Programming Language and System http://www.comet-online.org/ [09] B.D McKay, “Practical Graph Isomorphism, Congressus Numerantium, 30, pp.45-87, Vol 30 (1981), http://cs.anu.edu.au/~bdm/papers/pgi.pdf 10 [10] Sébastien Sorlin, Christine Solnon, “A new filtering algorithm for the graph isomorphism problem”, liris.cnrs.fr/Documents/Liris-2608.pdf 11 [11] J.R Ullman, “An Algorithm for Subgraph Isomorphism,” Journal of the Association for Computing Machinery, vol 23, pp 31-42, 1976 12 [12] Hopcroft, J., Wong, J.: Linear time algorithm for isomorphism of planar graphs 67 Nguyen Thi Hong Hiep Appariement multivoque de graphes 6th Annu ACM Symp theory of Comput (1974) 172-184 13 [13] A.V Aho, J.E Hopcroft, J.D Ullmann, “The design and analysis of computer algorithms,” Addison Wesley, 1974 14 [14] Luks, E.: Isomorphism of graphs of bounded valence can be tested in polynomial time Journal of Computer System Science (1982) 42 – 65 15 [15] Ashish Sharma, Santosh Bahir, Sushant Narsale, Unmil Tambe, "A Parallel Algorithm for Finding Sub-graph Isomorphism", CS420-ProjectReport (www.cs.jhu.edu/~snarsal/CS420-ProjectReport.pdf), CS420: Parallel Programming Fall 2008 16 [16] P Foggia, C.Sansone, M Vento, “ A Performance Comparison of Five Algorithms for Graph Isomorphism”, 2001, in Proceedings of the 3rd IAPR TC-15 Workshop on Graph-based Representations in Pattern Recognition, http://amalfi.dis.unina.it/people/vento/lavori/gbr01bm.pdf 17 [17] Donatello Conte , “Challenging Complexity of Maximum Common Subgraph Detection Algorithms: A Performance Analysis of Three Algorithms on a Wide Database of Graphs”, Journal of Graph Algorithms and Application, http://jgaa.info/ vol 11, no 1, pp 99–143 (2007), http://www.emis.de/journals/JGAA/accepted/2007/ConteFoggiaVento2007.11.1.pdf 18 [18] E Balas and C S Yu Finding a maximum clique in an arbitrary graph SIAM J Computing, 15(4), 1986 19 [19] L.P Cordella, P Foggia, C Sansone, M Vento, “Performance Evaluation of the VF Graph Matching Algorithm,” Proceedings of the 10th ICIAP, IEEE Computer Society Press, pp 1172-1177, 1999 20 [20] P Foggia, C Sansone, M Vento, “An Improved Algorithm for Matching Large Graphs,” Proceedings of the 3rd IAPR-TC15 International Workshop on Graph-based Representation, Italy, 2001 21 [21] J.J McGregor, “Backtrack Search Algorithms and the Maximal Common Subgraph Problem”, Software Practice and Experience, Vol 12, pp 23-34, 1982 68 [...]... exactement la similarité de deux graphes, nous devons rechercher le meilleur appariement Le matching de graphes est donc un problème consistant à mesurer la similarité car la recherche du meilleur appariement se base sur l‟optimisation de la fonction de similarité par rapport à un appariement Conclusion Nous avons présenté dans ce chapitre une façon d‟évaluation la similarité de graphes par rapport à un appariement. .. ci-dessus, la similarité entre deux graphes sera une fonction inversement proportionnelle au nombre de sommets éclaté sim(G, G’)m ~ | descr(G) m descr(G’)| ~ - |splits(m)| où : |splits(m)| est la taille de l‟ensemble des sommets éclatés 18 Nguyen Thi Hong Hiep Appariement multivoque de graphes 2.3.3 Similarité de graphes par un appariement Comme analysé dans la section 2.3.1, la similarité entre deux... contraire de la méthode complète comme la recherche en profondeur/largueur qui visite tous les états possibles de l‟espace de recherche pour chercher la solution optimale, la recherche locale n‟explore qu‟une seule partie de l‟espace de recherche La meilleure solution dans la zone de recherche visitée est considérée comme la solution finale du problème Grâce à la réduction de l‟espace de recherche, la complexité... 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. .. dépend que de ce ratio m sim(G, G’)m = Si f et g sont tous les deux la fonction de cardinalité, la similarité sera alors inversement proportionnelle au nombre de sommet éclatés m sim(G, G’)m = 19 Nguyen Thi Hong Hiep Appariement multivoque de graphes 2.3.4 Similarité de graphes La similarité sim(G, G’) de deux graphes est définie comme la plus grande similarité possible obtenue par le meilleur appariement. .. les caractéristiques communes aux deux graphes et les sommets écartés Le problème d appariement multivoque de graphes réalise en optimisant cette fonction de similarité Le meilleur appariement est celui maximisant la similarité de graphes C‟est la base pour convertir le problème d appariement multivoque de graphes en un problème d‟optimisation de similarité La recherche locale est une approche intéressante... point départ où la recherche commence Étape par étape, les algorithmes de recherche locale modifie cette solution initiale pour atteindre la solution optimale ou au moins meilleure La solution initiale est très importante parce qu‟elle influence la qualité de la recherche À partir de différents points de départ, la recherche arrive aux solutions de qualités très différentes Certains points de départ permettent... 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 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... algorithmes de recherche locale déplacent à cette nouvelle solution choisie comme leur solution courante à partir de laquelle la recherche est répétée Arrêt de la recherche : la recherche s‟arrête après un temps limite ou un certain nombre d‟itérations La meilleure solution trouvée est retournée comme la solution finale du problème 3.1.2 Composant de la recherche locale 3.1.2.1 Solution initiale La solution

Ngày đăng: 27/10/2016, 22:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan