Les graphes sont souvent utilisés pour modéliser des problèmes associés à des parcours ou à des successions d'actions. Pour cela, on introduit la notion de chaîne.
Soit un graphe non orienté. Une chaîne est une liste finie et alternée de sommets et d'arêtes, débutant et finissant par des sommets, telle que chaque arête est incidente avec les sommets qui l'encadrent dans la liste.
Le premier et le dernier élément de la liste sont les extrémités initiale et finale de la chaîne.
Si le graphe est simple, on peut définir une chaîne par la liste de ses sommets ou de ses arêtes.
remarque
Les définitions précédentes, peuvent être transposées au cas des graphes orientés. On parlera de chaîne orientée ou chemin et de cycle orienté ou circuit.
exemple
Dans le graphe ci-contre :
Soit G un graphe et M sa matrice d'adjacence.
Le nombre de chaînes de longueur n joignant le sommet i au sommet j est donné par le terme d'indice i , j de la matrice .
Soit G un graphe ; si x et y sont deux sommets de G, la distance de x à y notée , est la longueur d'une plus courte chaîne de G reliant x à y.
remarques
On appelle diamètre d'un graphe la plus grande des distances entre deux sommets du graphe.
exemple
Soit la matrice d'adjacence du graphe G ci-contre
Déterminons la matrice des distances D du graphe, dont le coefficient est égal à la distance entre les sommets i et j.
La distance d'un sommet à lui même est nulle et, on utilise le symbole ∞ pour indiquer que la distance entre deux sommets n'est pas encore fixée :
La plus grande des distances entre deux sommets du graphe est 4 donc le diamètre du graphe est 4.
Un graphe G est connexe s'il existe au moins une chaîne entre deux sommets quelconques G.
Autrement dit : Un graphe est connexe si on peut atteindre n'importe quel sommet à partir d'un sommet quelconque en parcourant différentes arêtes.
L'algorithme suivant permet de déterminer tous les sommets qui peuvent être atteints à partir d'un sommet.
Marquer provisoirement (au crayon) le sommet x ;
Tant que des sommets sont provisoirement marqués
Fin Tant que
Si tous les sommets sont définitivement marqués alors le graphe est connexe, sinon on a obtenu la classe de connexité du sommet x.
exemple
Considérons le graphe ci-dessous
La figure suivante illustre cet algorithme sur le graphe précédent.
Le sommet étant marqué, on marque provisoirement les sommets adjacents et . | On marque provisoirement les sommets et adjacents au sommet définitivement marqué. | On marque provisoirement les sommets et adjacents au sommet définitivement marqué. | Les sommets et sont définitivement marqués, il n'y a plus de sommets provisoirement marqués. |
Le graphe n'est pas connexe, il n'existe pas de chaîne entre les sommets et .
Un cycle eulérien (respectivement une chaîne eulérienne) dans un graphe G est un cycle (respectivement une chaîne) contenant chaque arête de G une et une seule fois.
Un graphe connexe admet un cycle eulérien si, et seulement si, tous ses sommets ont un degré pair.
démonstration
Si le graphe possède 0 ou 1 sommet, la preuve est triviale, on suppose donc que l'ordre du graphe est supérieur ou égal à 2.
Si le graphe connexe admet un cycle eulérien alors en chaque sommet le cycle eulérien « entrant » dans le sommet doit « ressortir » et comme les arêtes du cycle ne peuvent être utilisées qu'une fois, chaque sommet est de degré pair.
Réciproquement :
Soit G un graphe connexe dont tous les sommets sont de degré pair.
Comme G possède au moins deux sommets, tous les sommets de G sont de degré supérieur ou égal à 2. Ceci implique qu'il existe au moins un cycle dans G.
Formons un cycle dans G ( chaîne fermée dont toutes les arêtes sont distinctes ).
Un graphe connexe possède une chaîne eulérienne si, et seulement si, le nombre de sommets de degré impair est égal à 0 ou 2.
Si le nombre de sommets de degré impair est égal à 2, alors les deux sommets de degré impair sont les extrémités de la chaîne eulérienne.
démonstration
Soit G un graphe connexe. Si le nombre de sommets de degré impair est nul, alors le graphe G admet un cycle eulérien.
Si le nombre de sommets de degré impair est égal à 2. Soient et les deux sommets de degré impair.
Le graphe G' obtenu en ajoutant l'arête au graphe G est connexe et tous ses sommets sont de degré pair. G' admet un cycle eulérien dont l'origine est le sommet .
Par conséquent G contient une chaîne eulérienne qui commence en et se termine en .
Les démonstrations précédentes permettent de construire une chaîne eulérienne dans un graphe connexe dont le nombre de sommets de degré impair est 0 ou 2.
Si deux sommets sont de degré impair Alors
construire une chaîne simple C ayant pour extrémités ces deux sommets ;
Fin Si
Si tous les sommets sont de degré pair Alors
construire un cycle C à partir d'un sommet quelconque ;
Fin Si
marquer les arêtes de C ;
Tant que il reste des arêtes non marquées
Fin Tant que
exemple
Le cycle contient tous les sommets du graphe G ci-contre donc G est connexe.
Le graphe est connexe et il n'y a que deux sommets de degré impair et par conséquent, il existe une chaîne eulérienne d'extrémités et .
ÉTAPE 1
Les deux sommets de degré impair étant et , on construit une chaîne simple joignant ces deux sommets. Par exemple
ÉTAPE 2
Le cycle simple ne contient aucune des arêtes de la chaîne C.
On fusionne la chaîne C avec le cycle en remplaçant le sommet dans la chaîne C par le cycle .
Il reste encore des arêtes non marquées, on recommence l'étape 2
Le cycle simple ne contient aucune des arêtes de la chaîne C.
On fusionne la chaîne C avec le cycle en remplaçant le sommet dans la chaîne C par le cycle .
Toutes les arêtes sont marquées. La chaîne C est une chaîne eulérienne.
remarque
La chaîne eulérienne C n'est pas unique, il existe d'autres choix possibles par exemple :
Les documents présentés ne sont pas libres de droits. Vous pouvez les télécharger et diffuser (en indiquant la provenance) à condition de ne pas en faire un usage commercial.