Morphisme de graphes

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Ne doit pas être confondu avec homéomorphisme de graphes.

Un morphisme de graphes ou homomorphisme de graphes est une application entre deux graphes qui respecte la structure de ces graphes. Autrement dit l'image d'un graphe G dans un graphe H doit respecter les relations d'adjacence présentes dans G.

Définitions[modifier | modifier le code]

Un homomorphisme entre deux graphes
Le graphe de gauche se projette dans le graphe de droite, par exemple de cette façon là

Si G et H sont deux graphes dont on note les sommets V(G) et V(H) et les arêtes E(G) et E(H), une application f: V(G) \to V(H) qui envoie les sommets de G sur ceux de H est un morphisme de graphes si : \forall (u,v) \in E(G), (f(u),f(v)) \in E(H). Plus simplement, f est un morphisme de graphes si l'image de toute arête de G est une arête de H. S'il y a un morphisme de G dans H, on dit classiquement que G "se projette" dans H.

Cette définition est valable aussi bien pour les graphes orientés que non orientés. Elle s'étend pour les hypergraphes, orientés ou non.

S'il y un homomorphisme à la fois de G dans H et un de H dans G, on dit que G et H sont homomorphiquement équivalents (mais cela n'implique pas qu'ils soient isomorphes).

Il n'y a pas de règle générale régissant le nombre d'homomorphismes entre deux graphes quelconques, qui peut aller de 0 à |V(H)|^{|V(G)|}.

Les graphes associés aux homomorphismes de graphes forment une catégorie au sens de la théorie des catégories.

Cas particuliers[modifier | modifier le code]

Injections et surjections[modifier | modifier le code]

On dit de l'homomorphisme f qu'il est une injection (respectivement surjection) si f est injective (respectivement surjective).

L'isomorphisme de graphes[modifier | modifier le code]

Article détaillé : Isomorphisme de graphes.

Si un homomorphisme est à la fois injectif et surjectif, c'est-à-dire bijectif, et que sa réciproque est également un homomorphisme, alors on dit que f est un isomorphisme.

L'automorphisme de graphe[modifier | modifier le code]

Article détaillé : Automorphisme de graphe.

Un isomorphisme d'un graphe sur lui-même est appelé un automorphisme.

Les endomorphismes de graphes[modifier | modifier le code]

Il est parfois intéressant d'étudier les homomorphismes d'un graphe dans lui-même. On définit ainsi la notion de graphe core. Un graphe est dit core lorsque tout homomorphisme de ce graphe sur lui-même est un isomorphisme. Tout graphe est homomorphiquement équivalent a un unique graphe core (défini à l'isomorphisme près).

Notation et cardinalités[modifier | modifier le code]

La notation[1] HOM(G,H) dénote l'ensemble des homomorphismes f: G \to H et hom(G,H) est le nombre de tels homomorphismes, c'est-à-dire la cardinalité de HOM(G,H). On utilise les notations INJ(G,H) pour l'injection, SUR(G,H) pour la surjection et BIJ(G,H) pour la bijection.

Problème de la H-coloration[modifier | modifier le code]

Un problème très classique en théorie des graphes est de déterminer si un graphe G est colorable avec un nombre déterminé n de couleurs. Ce problème revient à se demander si le graphe G se projette dans le graphe complet K_n. C'est pourquoi le problème de savoir si un graphe G se projette dans un graphe H est parfois appelé problème de la "H-coloration". Ce problème est aussi parfois appelé problème H-CSP, lorsque H peut être un hypergraphe. H est alors vu comme le graphe de contraintes associé à un problème CSP.

Problème du chemin[modifier | modifier le code]

Une propriété de l'homomorphisme découlant directement de la définition concerne l'existence d'un chemin : la contrainte sur la structure impose à toute arête du graphe d'origine d'exister dans l'image.

Si l'on se trouve sur le sommet v_0 et que l'on va à v_1 par l'arête e_{v_1v_2}, alors on pourra faire le même chemin dans l'image par l'arête e_{f_V(v_1),f_V(v_2)} ; on obtient par induction que tout chemin de G se retrouve par le chemin des images dans H.

Ceci implique par exemple que si G se projette dans H, la maille de G est supérieure à celle de H.

Extensions et variantes[modifier | modifier le code]

Une extension au problème a été proposée en 2006[2] : en associant un sommet u \in V(G) à un sommet i de H, on paye un coût que l'on note c_i(u), i \in V(H), et l'on peut alors définir le coût d'un homomorphisme par l'ensemble du coût donné par chaque association de f_V soit :

\sum_{u \in V(G)}c_{f_V(u)}(u)

Le but est de déterminer s'il existe un homomorphisme dont le coût ne dépasse pas une limite k.

Parmi les autres variantes du problème, on peut spécifier pour chaque sommet une liste d'images permises[3]. Cette variante généralise le problème de la coloration par liste.

Une autre extension du problème consiste à s'intéresser aux multi-homomorphismes entre deux graphes, i.e aux applications suivantes : f:V(G)\rightarrow P(V(H)) telles que \forall(x,y)\in E(G), \forall(u,v)\in f(x)\times f(y), (u,v)\in E(H) L'ensemble des multi-homomorphismes entre deux graphes peut être vu comme un élément de la catégorie des posets.

Notes et références[modifier | modifier le code]

  1. (en) Pavol Hell et Jaroslav Nesetril, Graphs and Homomorphisms, Oxford University Press, 2004. (ISBN 0198528175)
  2. (en) Gregory Gutin, Arash Rafiey et A. Yeo, « Level of repair analysis and minimum cost homomorphisms of graphs », in Discrete Applied Math., volume 154, p. 890-897, 2006.
  3. (en) Pavol Hell, « Algorithmic aspects of graph homomorphisms », in Survey in Combinatorics, London Math. Society, Cambridge University Press, pages 239-276, 2003.