
Exercice 3 (1 pts)
Erreur !
Le graphe G2 admet-il un cycle eulérien ? Justifier. Le construire s’il existe.
PROBLEME (d’après Christian PRINS)
Les graphes réels sont le plus souvent sans parcours eulérien, c’est-à-dire sans parcours
passant une fois et une seule par chaque arête (ou arc) du graphe ou du multigraphe. Ils n’ont
que des parcours chinois, c’est-à-dire des cycles passant au moins une fois par chaque arête
(ou arc) du graphe. Autrement dit certaines arêtes sont empruntées plus d’une fois. Il faut
alors trouver un parcours chinois de coût total minimal. Les problèmes de postier chinois sont
très répandus : distribution de courrier, relevés de compteur d’eau ou d’électricité… G admet
un parcours chinois si et seulement si il est connexe. Le but du problème est d’étudier des
algorithmes pour chercher un parcours chinois dans le cas non orienté (Partie A) et dans le cas
orienté (Partie B). Le coût d’emprunt d’une arête (ou arc) sera de 1.
PARTIE A : Le cas non-orienté (9 pts)
On rappelle le théorème d’Euler :
Théorème : Un multigraphe non orienté connexe sans boucle admet un cycle eulérien si et
seulement tous ses sommets sont de degré pair.
L’algorithme PARCOURS CHINOIS, ci-dessous ajoute au graphe un nombre minimal
d’arêtes pour obtenir un multigraphe eulérien.
ALGORITHME PARCOURS CHINOIS
1) Calculer l'ensemble Y des sommets de degré impair de G=(X,U)
2) Si Y = ∅ alors G* = G et aller en (7).
3) Calculer la matrice D des coûts des chaînes minimales entre toute paire de sommets
distincts et de degrés impairs et construire les chaînes minimales.
4) Construire un graphe complet sans boucle H = (Y,F,W) où, pour tout couple de sommets
distincts et de degrés impairs, W(i,j) = D(i,j).
5) Calculer un couplage complet C de poids minimal sur H (on admettra qu'il existe
toujours un nombre pair de sommets de degrés impaires).
6) Pour chaque arête [x,y] de C, ajouter à G, les arêtes de la chaîne minimale de x à y. Soit
G* le multigraphe obtenu.
7) Calculer un cycle eulérien de G*.
2