Chapitre IV
Graphes Eul´ eriens et Hamiltoniens
espace
Master MatMod
Introduction `a la th´eorie des graphesGraphes Eul´ eriens
Remarque : Dans la d´ efinition suivante, un chemin d´ esigne une chaˆıne allant d’un sommet vers un autre.
D´ efinition : Soit G = (V , E) un graphe (ou multigraphe).
Un chemin est dit Eul´ erien si il emprunte une fois et une fois seulement chaque arˆ ete de G.
Un cycle Eul´ erien est un chemin Eul´ erien dont les extr´ emit´ es co¨ıncident.
Un graphe Eul´ erien est un graphe poss´ edant un cycle Eul´ erien.
Un chemin (ou cycle) Eul´ erien peut bien passer plus d’une fois par un mˆ eme sommet.
On peut d´ efinir les mˆ emes notions pour les graphes orient´ es.
Exemple
1 2
3
4 5
4 6
5
3 2 1
Gauche :(1,2,3,1,4,5,2)chemin Eul´erien. Droite :(1,2,3,4,2,6,5,4,6,1)cycle Eul´erien (graphe Eul´erien).
Graphes Eul´ eriens
Exercice
Est-il possible de r´ ealiser ce dessiner sans lever la craie ou le crayon ?
Formuler autrement la question.
La r´ eponse.
Master MatMod
Introduction `a la th´eorie des graphesGraphes Eul´ eriens : Propri´ et´ es
Th´ eor` eme : Un graphe connexe est Eul´ erien si et seulement si tous ses sommets ont un degr´ e pair.
Preuve :
Soit G un graphe connexe Eul´erien. G poss`ede donc un cycleC= (x0,x1,· · ·,xm)qui passe une fois et une seule par chaque arˆete de G. Par ailleurs,Cpeut passer plusieurs fois par le mˆeme sommet. Ainsi, chaque sommet xide G peut figurer k>1fois dansC. Par cons´equent, d(xi) =2k.
R´eciproquement, soit G un graphe connexe dont les sommets sont tous de degr´e pair. Soit P= (x0,x1,· · ·,xp)la plus longue chaˆıne (non ´el´ementaire c-`a-d on peut passer plusieurs fois par le mˆeme sommet) dans G o`u chaque arˆete est emprunt´ee une et une seule fois. Puisque tous les sommets de G sont suppos´es de degr´e pair, xpdoit avoir x0comme voisin autrement le cheminP ∪(xp,xi)avec i6=0est plus long quePcontradiction. Ainsi,C= (x0,x1,· · ·,xp,x0)est un cycle dans G. SiCn’est pas un cycle Eul´erien dans G et comme G est connexe alors il existe dans G une arˆete e= (xi,y), avec y6=xipour tout06i6p, non emprunt´ee parCmais incident d’un sommet deC. On aura donc un chemin(xi+1,xi+2,· · ·,xi,y)plus long que le cheminPcontradiction.
Exemple
Dessiner 4 graphes Eul´ eriens (autre que les cycles) d’ordre > 5.
Les hypercubes de dimension n sont-ils des graphes Eul´ eriens ? Les graphes complets sont-ils des graphes Eul´ eriens ?
Dessiner quelques graphes bipartis qui sont Eul´ eriens.
Graphes Eul´ eriens : Propri´ et´ es
Corollaire : Un graphe connexe poss` ede un chemin Eul´ erien si et seulement si le nombre de sommets de degr´ e impair est ´ egal ` a 0 ou 2.
Preuve :
Soit G un graphe connexe contenant un chemin Eul´erienP= (x0,x1,· · ·,xp). Soit G0=G∪(x0,xp) le graphe obtenu en ajoutant l’arˆete(x0,xp)`a G. Ainsi,C= (x0,x1,· · ·,xp,x0)est un cycle Eul´erien de G0. D’apr`es le th´eor`eme pr´ec´edent, tous les sommets de G0sont de degr´e pair. Comme
dG0(x0)=dG(x0) +1, le degr´e de x0dans G est impair. De mˆeme pour le sommet xp.
Soient x et y les seuls sommets de degr´e impair dans G. Soit H un graphe obtenu en ajoutant `a G un sommet z et les deux arˆetes(x,z)et(y,z). Il est clair que H est un graphe connexe dont tous les sommets sont de degr´e pair. D’apr`es le th´eor`eme pr´ec´edent, H est un graphe Eul´erien poss´edant un cycleC passant par toutes les arˆetes de H une et une seule fois. Ainsi,C − {(x,z),(z,y)}est un chemin Eul´erien.
Exemple
Dessiner 4 graphes poss´ edant des chemins Eul´ eriens d’ordre > 5.
Les hypercubes de dimension n poss` edent t-ils des chemins Eul´ eriens ? Les graphes complets poss` edent t-ils des chemins Eul´ eriens ?
Dessiner quelques graphes bipartis qui poss` edent des chemins Eul´ eriens.
Master MatMod
Introduction `a la th´eorie des graphesGraphes Eul´ eriens : Application
Probl` eme des ponts de K¨ onigsberg
La ville de K¨ onigsberg (Kaliningrad) comprenait 4 quartiers, s´ epar´ es par un fleuve. 7 ponts permettent de relier ces quartiers. Les habitants de K¨ onigsberg se demandaient s’il ´ etait possible de faire une promenade qui emprunte chacun des sept ponts une fois et une seule (et revient ` a son point de d´ epart) ?
Mod´ elisation
C
A
B
D
R´ eponse : est NON
Graphes Eul´ eriens : Algorithme de Fleury
Le th´ eor` eme suivant fourni une m´ ethode qui permet de construire un cycle Eul´ erien dans un graphe Eul´ erien.
Th´ eor` eme : Algorithme de Fleury Soit G un graphe Eul´ erien. L’algorithme suivant permet de construire un cycle Eul´ erien dans G.
Commencer d’un sommet x quelconque et choisir une arˆ ete incidente du sommet x .
Choisir au hasard les arˆ etes qui doivent ˆ etre emprunt´ ees.
Les arˆ etes prioritaires sont les arˆ etes qui ne sont pas des isthmes.
Un isthme est choisi s’il n’existe aucune autre possibilit´ e.
Chaque arˆ ete travers´ ee doit ˆ etre supprim´ ee.
Un sommet isol´ e doit ˆ etre supprim´ e.
Preuve : Admis
Exemple
Trouver un cycle Eul´ erien dans le graphe suivant en appliquant l’algorithme de Fleury.
1
2
3 6
5
4 4
6
5
3 2 1
Master MatMod
Introduction `a la th´eorie des graphesGraphes Eul´ eriens : Exercices d’application
1
Supposons que le r´ eseau des bus ` a Safi est organis´ e de la mani` ere suivante : De la station ”Centre ville” partent 9 lignes.
De la station ”Facult´ e” ne part qu’une seule ligne.
De toutes les autres stations partent 2 lignes.
Est-il possible de se rendre en bus de la station ”Centre ville” ` a la station
”Facult´ e” en empruntant une seule et une fois toutes les lignes.
2
On consid` ere le plan d’un mus´ ee de cinq salles S1, S2, S3, S4 et S5. L’ext´ erieur du mus´ ee est d´ esign´ e par E. La communication entre les salles et avec l’ext´ erieur se fait par l’interm´ ediaire des portes. Est-il possible pour une personne de visiter l’ensemble des salles en traversant toutes les portes une et une seule fois ? Noter que le visiteur peut se retrouver ` a l’int´ erieur ou ` a l’ext´ erieur du mus´ ee.
S1 S2
S3 S5 S4
E
Graphes Hamiltoniens
D´ efinition : Soit G = (V , E) un graphe.
Un chemin est dit Hamiltonien si il emprunte une fois et une fois seulement chaque sommet de G.
Un cycle Hamiltonien est un chemin Hamiltonien dont les extr´ emit´ es co¨ıncident.
Un graphe Hamiltonien est un graphe poss´ edant un cycle Hamiltonien.
On peut d´ efinir les mˆ emes notions pour les graphes orient´ es.
Remarque
Un graphe Hamiltonien est d’ordre au moins 3.
Un graphe Hamiltonien poss` ede toujours un chemin Hamiltonien.
Un graphe contenant un chemin Hamiltonien n’est pas toujours Hamiltonien (voir exemple ci-apr` es).
Les graphes complets sont Hamiltoniens.
Un graphe Eul´ erien n’est pas toujours Hamiltonien (voir exemple ci-apr` es).
Un graphe Hamiltonien n’est pas toujours Eul´ erien (voir exemple ci-apr` es).
Master MatMod
Introduction `a la th´eorie des graphesGraphes Hamiltoniens
Exemple
Le 1er graphe est Hamiltonien. Le second est un graphe contenant un chemin hamiltonien (1,2,3,4,5,6,7,8,9,10) mais il n’est pas hamiltonien. Le 3 ` eme est un graphe non Hamiltonien et ne contenant aucun chemin Hamiltonien.
5
3 4 6
1 2
11 10 9 8
13 12
1 2
3
4 7
6
5 8
9 10
Le 1er graphe est Eul´ erien mais il n’est pas Hamiltonien. Le second est un graphe Hamiltonien mais il n’est pas Eul´ erien.
Master MatMod
Graphes Hamiltoniens : Exemple de probl` emes
Voyage ferm´e autour du monde (Hamilton 19 `eme si`ecle) :Supposons que sur la terre, repr´esent´ee par dod´eca`edre r´egulier(poly`edre `a 12 faces pentagonales et `a 20 sommets), il y a20 villesrepr´esent´ees par les sommets du dod´eca`edre. On se propose depasser une fois et une seulepar chacune de ces villes et de revenir `a son point de d´epart, en utilisant seulement les arˆetes du dod´eca`edre. Ce probl`eme revient `a chercher un cycle Hamiltonienpour le graphe repr´esentant le dod´eca`edre.
Probl`eme du parcours du cavalier (Euler 1759) :Uncavalierpeut-il parcourir les64 cases de l’´echiquier une fois et une seule, en partant de n’importe laquelle et peut-ilrevenir au point de d´epart? Ce probl`eme revient `achercher un cycle Hamiltonienpour le graphe dont les sommets repr´esentent les cases de l’´echiquier et les arˆetes repr´esentent les mouvements possibles qu’un cavalier peut avoir dans l’´echiquier.
Th´eor`eme (B. McKay, 1997) Il existe 13267364410532 cycles diff´erents!!!
Unvoyageur de commercedoit visiternvillesx1,x2,· · ·,xndonn´ees en passant par chaque ville exactementune fois. Il commence par une ville quelconque (par exemple la villex1) et termine `a la ville de d´epart. La distancedijentre deux villesxietxjest connue. Quel chemin faut-il choisir afin deminimiserla distance parcourue ? Ce probl`eme revient `a chercher uncycle hamiltoniendans legraphe completKn construit sur l’ensemble dessommets (villes). Les arˆetes ´etant munies des distancesdij.
Master MatMod
Introduction `a la th´eorie des graphesGraphes Hamiltoniens : Conditions n´ ecessaires
Th´ eor` eme : Si G = (V , E) est un graphe Hamiltonien alors pour tout ensemble non vide S ⊆ V on a
c(G − S) 6 |S|
o` u c(G − S) est le nombre de composantes connexes de G − S.
Preuve : Soit S⊆V et S6=∅.
Si G−S est connexe alors c(G−S) =16|S|, le r´esultat est trivial.
Supposons que c(G−S) =k>2c-`a-d G−S=G1∪ · · · ∪Gko`u Gides composantes connexes de G−S. G contient un cycle HamiltonienCcar G est un graphe Hamiltonien. Notons, sans perte de g´en´eralit´e, xijo`u i∈ {1,· · ·,k}et j∈ {1,· · ·,pi}le j`eme sommet de la i`eme composantes connexes Givisit´e par le cycleC. Soit xpi
i le dernier sommet de Givisit´e parCet soit yile sommet voisin de xipi dans le cycleC. On a yi∈/Giet yin’appartient `a aucune autre composante connexe Gj(16j6=i6k).
Donc, yi∈S. D’o`u, S⊇ {y1,· · ·,yk}. Ainsi,|S|>|{y1,· · ·,yk}|=k=c(G−S).
Remarque : Ce th´ eor` eme peut ˆ etre utilis´ e pour v´ erifier que certains graphes ne sont pas Hamiltoniens.
Exercice : Les graphes suivants sont-il Hamiltoniens ?
Graphes Hamiltoniens : Conditions n´ ecessaires
Proposition : La r´ eciproque du th´ eor` eme pr´ ec´ edent n’est pas toujours vraie.
Preuve : Le graphe de Petersen G= (V,E)n’est pas Hamiltonien portant pour tout ensemble non vide S⊆V on a c(G−S)6|S|(`a v´erifier en exercice). En effet, nous allons montrer que G n’est pas Hamiltonien. Si on suppose que G est Hamiltonien alors G contient un cycle HamiltonienC= (x1,· · ·,x10,x1). Comme G est un graphe cubique, x1doit ˆetre voisin avec un et un seul sommet parmi(x2,· · ·,x9)mais rappelons que la maille du graphe de Petersen est5. Donc x1doit ˆetre voisin avec un et un seul sommet parmi(x5,x6,x7)sinon on aura des cycles de taille inf´erieure `a5. Pour les mˆemes raisons x10doit ˆetre voisin avec un et un seul sommet parmi (x4,x5,x6).
Si x1est voisin avec x5alors on a soit(x1,x5,x4,x10,x1), soit(x1,x5,x6,x10,x1)des cycles de taille4 ou soit(x1,x5,x10,x1)un cycle de taille3dans G. Impossible.
Si x1est voisin avec x6alors x10doit ˆetre voisin qu’avec x4sinon on aura des cycles de taille3ou de taille 4notamment(x1,x6,x10,x1)ou(x1,x6,x10,x5,x1). Pour les mˆemes raisons, pour ne pas avoir des cycles de taille3ou4, x2doit ˆetre voisin avec x8. Finalement, on remarque que x3est de degr´e2dansC mais il ne pas ˆetre voisin avec aucun sommet de G, sinon on aura des cycles de taille3ou4. Impossible.
x1ne peut pas ˆetre voisin avec x7car il suffit d’utiliser les mˆemes arguments que les cas pr´ec´edents.
En conclusion, un graphe de Petersen n’est pas un graphe Hamiltonien.
Corollaire : Si G est un graphe Hamiltonien alors G est 2-connexe.
Preuve : Soit S un s´eparateur de G. On a c(G−S)>2. Comme G est un graphe Hamiltonien, d’apr`es le th´eor`eme pr´ec´edent, on a26c(G−S)6|S|. Ainsiκ(G)>2. Par cons´equent, G est2-connexe.
Master MatMod
Introduction `a la th´eorie des graphesGraphes Hamiltoniens : Conditions suffisantes
Th´ eor` eme (Dirac 1952) : Si G est un graphe d’ordre n > 3 tel que δ(G ) > n 2 , alors G est un graphe Hamiltonien.
Preuve : Si G= (V,E)est non connexe alors G poss`ede au moins deux composantes connexes G1et G2. Supposons que|G1|6|G2|on a donc|G1|6n
2etn
26∆(G1)6n 2
−1absurde. Par cons´equent, G est connexe. Puisque G est connexe, consid´eronsP= (x0,· · ·,xk)le plus long chemin dans G. Ainsi, si x est un voisin de x0alors x∈ {x1,· · ·,xk}. De mˆeme si y est un voisin de xkalors y∈ {x0,· · ·,xk−1}. L’id´ee de la preuve est de trouver un cycle passant par tous les sommets de G une et une seule fois. Pour ceci, si on a un indice i tel que(x0,xi+1)∈E et(xi,xk)∈E alors on peut avoir un cycle
C= (x0,x1,· · ·,xi,xk,xk−1,· · ·,xi+1,x0).
x0 x
1 x
2 x
i x
i+1 x
k-1 x
k
Graphes Hamiltoniens : Conditions suffisantes
suite de la preuve
Supposons que pour tout i∈ {0,· · ·,k−1}on a(x0,xi+1)∈E et(xi,xk)∈/E et pour tout
i∈ {0,· · ·,k−1}on a(xi,xk)∈E et(x0,xi+1)∈/E . Soit I={i∈ {0,· · ·,k−1}|(x0,xi+1)∈E}et J={i∈ {0,· · ·,k−1}|(xi,xk)∈E}. On a d(x0)>n
2et d(xk)>n
2(car tous les voisins de x0ou de xk sont dans le cheminP, autrementPn’est pas le plus long chemin dans G). D’o`u|I|>n
2et|J|>n 2. Par ailleurs, on a I⊂ {0,· · ·,k−1}et J⊂ {0,· · ·,k−1}d’o`u I∪J⊂ {0,· · ·,k−1}par suite
|I∪J|6k<n. Soit i∈I∩J, on a i∈ {0,· · ·,k−1}et(x0,xi+1)∈E et(xi,xk)∈E contradiction avec l’hypoth`ese. Ainsi, I∩J=∅. D’o`u|I∪J|=|I|+|J|>n
2+n
2=n absurde avec le fait que|I∪J|<n. Par cons´equent, il existe un indice i tel que(x0,xi+1)∈E et(xi,xk)∈E ce qui donne l’existence d’un cycle C= (x0,x1,· · ·,xi,xk,xk−1,· · ·,xi+1,x0)qui passe une et une seule fois par ces sommets. SiCn’est pas Hamiltonien alors il existe un sommet y n’appartenant pas au cycleC. Or, G est connexe il existe donc j tel que (xj,y)∈E ceci nous permet d’avoir un chemin plus long queP. Contradiction. Par suiteCest Hamiltonien.
Master MatMod
Introduction `a la th´eorie des graphesGraphes Hamiltoniens : Conditions suffisantes
Th´ eor` eme (Ore 1960) : Soit G = (V ,E) un graphe d’ordre n > 3 et soient x et y deux sommets tels que d(x) + d(y) > n, alors G est un graphe Hamiltonien si et seulement si G + (x,y) = (V ,E ∪ {(x,y )} est Hamiltonien.
Preuve :
Si(x,y)∈E il n’y a rien `a montrer. Ainsi, dans la suite on suppose que(x,y)∈/E . Si G est Hamiltonien alors G+ (x,y)est Hamiltonien. Le r´esultat est trivial.
Si G+ (x,y)est Hamiltonien alors G+ (x,y)poss`ede un cycle Hamiltonien. Si ce cycle ne passe pas par (x,y)alors il est clair que G est hamiltonien. SoitC= (x=x1,x2,· · ·,xn−1,xn=y,x)le cycle Hamiltonien dans G+ (x,y)passant par(x,y). L’id´ee de la preuve est similaire `a celle du th´eor`eme de Dirac. En effet, pour montrer que G est hamiltonien, il suffit de montrer qu’il existe un indice i tel que (x,xi+1)∈E et(xi,y)∈E . Supposons que pour tout i∈ {2,· · ·,n−2}on a(x,xi+1)∈E et (xi,y)∈/E et pour tout i∈ {2,· · ·,n−2}on a(xi,y)∈E et(x,xi+1)∈/E . Soit
I={i∈ {2,· · ·,n−2}|(x,xi+1)∈E}et J={i∈ {2,· · ·,n−2}|(xi,y)∈E}. Remarquons que I6=∅, en effet si x2est le seul voisin de x alors y poss`ede n−1voisin parmi{x2,· · ·,xn−1}(car d(x) +d(y)>n). Impossible. De mˆeme pour y . Si i∈I∩J alors(x,xi+1)∈E et(xi,y)∈E ceci contredit notre hypoth`ese. D’o`u I∩J=∅. Ainsi,|I∪J|=|I|+|J|>n (car d(x) +d(y)>n). Par ailleurs, I∪J⊆ {2,· · ·,n−2}c-`a-d|I∪J|<n absurde. Par cons´equent,
C0= (xi,y,xn−1,· · ·,xi+1,x,x2,· · ·,xi)est un cycle Hamiltonien dans G. D’o`u le r´esultat.
x x2 xi xi+1 xn-1 y
Graphes Hamiltoniens : Conditions suffisantes
Corollaire (Ore 1960) : Soit G un graphe d’ordre n > 3 si pour tout couple de sommets x et y non adjacents on a d(x) + d(y) > n, alors G est un graphe Hamiltonien.
Preuve : L’id´ee de la preuve consiste `a ajouter des arˆetes entre les sommets non adjacents de G de sorte `a obtenir un graphe complet qui est Hamiltonien. Signaler que malgr´e l’ajout des arˆetes on aura toujours d(x) +d(y)>n pour tout couple de sommets x et y . Ainsi, l’application du th´eor`eme d’Ore, le graphe G est Hamiltonien.