Problème de l'isomorphisme de sous-graphes
# Problème de l'isomorphisme de sous-graphes

En informatique théorique, le problème de l'isomorphisme de sous-graphes est le problème de décision suivant : étant donnés deux graphes G et H, déterminer si G contient un sous-graphe isomorphe à H. C'est une généralisation du problème de l'isomorphisme de graphes.

## Définition

Soient $G=(V_{G},E_{G})$ et $H=(V_{H},E_{H})$ deux graphes. Le problème de décision de l'isomorphisme de sous-graphe est : « Est-ce qu'il existe un sous-graphe $G_{0}=(V_{0},E_{0})$, avec $V_{0}\subseteq V_{G}$ et $E_{0}\subseteq E_{G}\cap (V_{0}\times V_{0})$, tel qu'il existe une bijection $f:V_{0}\rightarrow V_{H}$ telle que $\forall v_{1},v_{2}\in V_{0},(v_{1},v_{2})\in E_{G}\Leftrightarrow (f(v_{1}),f(v_{2}))\in E_{H}$ ? ».

## Complexité

Le problème est NP-complet.

### Réduction du problème de la clique

Le problème de la clique se réduit en temps polynomial au problème de l'isomorphisme de sous-graphe. Il suffit de prendre pour $H$ une $k$-clique, dès lors, par définition le problème de l'isomorphisme de sous-graphes généralise le problème de la clique. Puisque le problème de la clique est NP-difficile, alors le problème de l'isomorphisme est NP-difficile.

Un autre réduction consiste à utiliser le problème du chemin hamiltonien, et a l'avantage de montrer que le problème est aussi difficile sur les graphes planaires.

### Algorithme non-déterministe polynomial

Il existe un algorithme non-déterministe qui résout en temps polynomial le problème. L'algorithme consiste à prendre le sous-graphe $G_{0}$ et une fonction $f$ aléatoirement, puis à vérifier si $f$ est un isomorphisme. Vérifier que $f$ est bien un isomorphisme se calcule en temps polynomial : il suffit de voir si tous les voisinages sont conservés par l'isomorphisme.

## Relation à d'autres problèmes

Le problème de l'isomorphisme de sous-graphes est un problème plus général que le problème de l'isomorphisme de graphes, où on demande si G et H sont isomorphes. En effet, on peut décider l'isomorphisme de G et H et donnant (G, H) en entrée à un algorithme qui décide l'isomorphisme de sous-graphes.

