56 Paul Monnot(a) Cas où le nombre de sommets de degré impair est 0.Soit m le nombre d’arêtes de G.Initialisation :Pour m = 1, la propriété est vraie, du fait de l’hypothèse sur les degrés, le graphe seréduit à un sommet avec une boucle, laquelle définit un cycle eulérien.Donc le graphe G est pair. Soit a le point de départ du cycle C définit aléatoirement.Hérédité :Supposons que la propriété est vrai pour tout graphe ayant un nombre inférieur à m.Le degré minimum de G est supérieur ou égale à deux car le graphe est connexe et dedegré pair.On part du sommet a et on va chaque fois à un voisin du dernier sommet considéré,voisin qui n’est pas le sommet considéré précédent. Et ainsi de suite, jusqu’à retrouverun sommet déjà rencontré auparavant ce qui referme un cycle C de G.Si C n’est pas un cycle eulérien, on considère les composantes connexes H 1 , ...,H knon réduite à un sommet isolé du graphe G − E(C) où E(C) désigne l’ensemble desarêtes de C.Par l’hypothèse de récurrence, chaque H i , i = 1, ...,k est un graphe eulérien. On peutalors définir C i un cycle eulérien de H i pour i = 1, ...,k.Comme G est connexe, le cycle C rencontre chaque C i au sommet x i pour chaquei = 1, ...,k. C’est à dire, qu’en parcourant C, à chaque rencontre d’un sommet x i , onquitte C pour parcourir C i puis au retour en x i , on poursuit C.On peut définir alors un cycle eulérien : C[a, x 1 ] + C 1 + C[x 1 , x 2 ] + C 2 + ... + C[x k , a](b) Cas où le nombre de sommets de degré impair est 2.Considérons le graphe G ′ obtenu en ajoutant une arête reliant les deux sommets dedegré impair a et b. Alors le graphe G ′ est pair. Donc on retrouve le cas précédent eton en déduit que le graphe G ′ admet un cycle eulérien (une chaîne eulérienne fermée).Ce cycle est donc valable en commenant par n’importe quel sommet, notamment para ou b. Le cycle partant du sommet a finissant par ce même sommet par l’arête reliantle sommet b en a. Ceci est aussi possible avec le sommet b. On déduit que le grapheG ′ moins l’arête reliant a et b admet une chaîne eulérienne, c’est à dire, que G admetune chaîne eulérienne.Conclusion : Si le graphe G est connexe et que son nombre des sommets de degré impairest 0 ou 2 alors G admet une chaîne eulérienne.[UnivCan, Alavi, parpro, Stew, berge, Fourapli]Du point de vue algorithmique Soit un graphe G connexe de degré pair pourqu’il existe une chaîne eulérienne fermé. Le graphe ne peut pas avoir deux sommet dedegré impair car la chaîne eulérienne sera nécessairement ouverte.
Algorithmes labyrinthiques 57On part d’un point quelconque x 0 . On construit un parcours P (x 0 , x 1 , ...,x k = x 0 )sans répétition d’arêtes.Si ce parcours est une chaîne eulérien, on a terminé. Sinon, il existe des arêtes de Gqui ne sont pas des arêtes de P. Alors il existe un sommet x i de P ayant une arête e deG n’appartenant pas à P. Comme P est un parcours fermé sans répétition d’arêtes, tousles sommets sont extrémités d’un nombre pair d’arêtes de P. Donc le graphe G ′ obtenu àpartir de G en supprimant les arêtes de P satisfait encore la condition de parité des degrés.En appliquant le même principe à partir du sommet x i et de l’arête e dans G ′ , on construitun nouveau parcours P ′ (x i = y 0 , y 1 , ...,y h = x i ) .On peut en déduire alors un parcours P ′′ sans répétition d’arêtes qui contient à la foisles arêtes de P et de P ′ .P ′′ (x 0 , x 1 , ...,x i = y 0 , y 1 , ...,y h = x i , x i+1 , ...,x k = x 0 ).Donc P ′′ est un parcours fermé sans répétition d’arêtes.Si ce parcours est une chaîne eulérienne, on a terminé. Sinon, on recommence en appliquantle même principe jusqu’à ce qu’on obtient une chaîne eulérienne.