Mesurer la similarité de graphes
Résumé
Many applications such as e.g., information retrieval and classification, involve measuring graph distance or similarity, i.e., matching graphs to identify and quantify their common features. Different kinds of graph matchings have been proposed, giving rise to different graph similarity or distance measures. Exact graph matchings such as graph or subgraph isomorphism can be used in order to show graph equivalence or inclusion. However, in many applications, the assumption of the existence of such an "exact" matching is too strong. As a consequence, error-tolerant graph matchings such as maximum common subgraph and graph edit distance have been proposed. Such matchings drop the condition that the matching must preserve all vertices and edges and look for a "best" matching, i.e., one which preserves a maximum number of vertices and edges. Most recently, three different approaches proposed to go one step further by introducing multivalent matchings where a vertex may be matched with a set of vertices. This kind of matching handles the fact that, due to different description granularity levels, one object component may "play the same role" than a set of components of another object. Un first goal of this work is to define a new graph distance based on the search of a best matching between the graph vertices, i.e., a matching that minimizes vertex and edge distance functions. This distance is generic in the sense that it allows both univalent and multivalent matchings and it is parameterized by vertex and edge distance functions defined by the user depending on the considered application. We show how to use this graph distance generic framework to model existing graph distance or similarity measure. A second goal of this work is to propose an algorithm to compute this generic graph distance. We propose a reactive tabu local search ables to solve many different graph matching problems and give some experimental results. We then focus our attention on solving the graph isomorphism problem with constraint programming. We propose a global constraint dedicated to this problem, a partial consistency for this constraint and an algorithm to establish this consistency. We show that using this consistency makes the constraint programming competitive with algorithms dedicated to this problem.
De nombreuses applications, comme par exemple la recherche ou la classification d'informations, nécessitent de mesurer la distance ou la similarité entre deux graphes, i.e., apparier --mettre en correspondance-- les sommets des graphes afin d'identifier leurs points communs et leurs différences. Il existe différents types d'appariements de graphes donnant chacun lieu à une définition différente de la distance entre deux graphes. Les appariements exacts (isomorphisme de graphes ou de sous-graphe) permettent de montrer que deux graphes sont identiques ou qu'un graphe est inclus dans un autre graphe. Cependant, dans de nombreuses applications, supposer l'existence d'un tel appariement est une hypothèse trop forte. Par conséquent, des appariements de graphes à tolérance d'erreurs tels que la recherche du plus grand sous-graphe commun à deux graphes ou la distance d'édition de graphes ont été proposés. L'appariement recherché est alors un "meilleur" appariement, i.e., un appariement devant préserver le plus grand nombre de sommets et d'arcs des graphes sans pour autant nécessairement tous les préserver. Plus récemment, trois différentes approches ont proposé d'aller un cran plus loin en introduisant la notion d'appariement multivoque où le sommet d'un graphe peut être apparié à un ensemble de sommets de l'autre graphe. Ce type d'appariement permet de prendre en compte le fait que le composant d'un objet modélisé par un graphe peut "jouer le même rôle" que plusieurs composants d'un autre objet modélisé par un autre graphe. Un premier objectif de cette thèse est de définir une nouvelle distance de graphe basée sur la recherche d'un meilleur appariement entre les sommets de deux graphes, i.e., un appariement qui minimise des fonctions de distance de sommets et d'arcs. Cette distance de graphe est générique dans le sens où elle permet des appariements univoques ou multivoques et où elle est paramétrable en fonction de l'application considérée. Nous montrons comment utiliser ce cadre générique de définition de la distance entre deux graphes pour modéliser les mesures de distance ou de similarité de graphes existantes. Un second objectif de cette thèse est de proposer une solution algorithmique permettant le calcul de notre mesure générique de la distance de deux graphes. Nous proposons et expérimentons un algorithme de recherche locale taboue capable de résoudre de nombreux problèmes différents d'appariement de graphes. Nous nous intéressons ensuite plus spécifiquement à la résolution du problème de l'isomorphisme de deux graphes à l'aide de la programmation par contraintes. Nous proposons une contrainte globale dédiée à ce problème, une consistance partielle pour cette contrainte et l'algorithme permettant de l'établir. Nous montrons alors que l'utilisation de cette contrainte globale permet à la programmation par contraintes de devenir compétitive avec des approches dédiées à ce problème.