2 Dans ce chapitre, différents problèmes classiques autour des graphes seront présentés. On verra successivement les problèmes suivants, et on en proposera des solutions :
4 \item Existence d'un circuit eulérien.
5 \item Caractérisation des graphes extraits d'un graphe donné.
6 \item Caractérisation des graphes planaires.
7 \item Dénombrement des régions induites par un graphe planaire.
8 \item Existence d'un circuit hamiltonien.
11 \section{Circuits eulériens}
14 \subsection{Introduction : les ponts de K\"onigsberg}
16 La question à l'origine de la théorie des graphes est due à Euler\footnote{Leonhard Euler, mathématicien suisse (1707{}-1783). A consacré près de 900 mémoires aux mathématiques, à l'optique, à la science navale, à la musique, l'atronomie, la théorie des assurance... Un monstre, appelé l'aigle des mathématiques. Le plus grand mathématicien du dix-huitième siècle, l'un des plus grands de tous les temps.}, en 1736 : dans cette partie de la ville de K\"onigsberg :
21 \includegraphics[scale=0.7]{graphes/konigsberg.eps}
24 \noindent peut{}-on, lors d'une promenade, revenir à notre point de départ en empruntant une, et une seule fois, chaque pont ?
26 Pour y répondre, Euler a introduit le graphe suivant (les arcs symbolisent les ponts ; les sommets, les quatre zones terrestres) :
30 \includegraphics[scale=0.7]{graphes/eulerKonig}
34 Le problème de départ se ramène alors à la question suivante : peut{}-on trouver un circuit permettant d'emprunter une, et une seule fois chaque arête, en retournant à son point de départ ?
38 La réponse, dans ce cas particulier, est non : comme
40 \item le point de départ $s$ est aussi le point d'arrivée,
41 \item on ne peut pas emprunter deux fois une même arête,
43 on en conclut forcément que le degré de $s$ est pair. Or, dans le graphe ci-dessus, tous les sommets ont un degré impair.
45 \subsection{Définitions}
47 Ce problème, introduit par Euler, conduit aux définitions suivantes...
49 \begin{Def}[Chaîne eulérien]
50 On appelle \emph{chaîne eulérienne}\index{chaîne!eulérienne} une chaîne contenant une et une seule fois toutes les arêtes du graphe.
54 \begin{Def}[Circuit eulérien]
55 On appelle \emph{circuit eulérien}\index{circuit!eulérien} un circuit contenant une et une seule fois toutes les arêtes du graphe.
59 On n'a plus affaire à une chaîne, mais à un circuit : le point de départ et celui d'arrivée coïncident.
62 \begin{Def}[Graphe eulérien]
63 Un \emph{graphe eulérien}\index{graphe!eulérien} est un graphe possédant un circuit eulérien.
68 On peut passer plusieurs fois par un sommet donné, pourvu que les arêtes empruntées soient toutes différentes.
73 Donnez des exemples de graphes possèdant des circuits eulériens, et d'autres exemples de graphes n'en possédant pas.
78 \subsection{Résultat d'Euler}
80 Du problème initial d'Euler, on peut en déduire le résultat suivant (rappelons qu'il s'agit ici de graphes non orientés)...
84 Il y a équivalence entre :
86 \item posséder une chaîne eulérienne,
87 \item être connexe, avec O ou 2 sommets de degré impair.
89 De plus, s'il n'y a pas de sommet de degré impair, alors le graphe est Eulérien.
95 En parcourant un chemin ou un circuit, pour chaque sommet visité, on utilise une arête pour arriver à ce sommet et une arête pour en repartir, ces deux arêtes ne devant plus être utilisées par la suite.
97 Le nombre d'arêtes utilisables en ce sommet diminue donc de deux. Si un sommet est d'ordre impair, une de ses arêtes aboutissant à ce sommet doit donc être soit sur la première arête d'un chemin, soit sur la dernière.
99 Un chemin n'ayant que deux extrémités, le nombre de sommets d'ordre impair ne peut excéder deux.
104 Soit G un graphe connexe non eulérien. Est-il toujours possible de rendre G eulérien en lui rajoutant un sommet et quelques arêtes?
107 \textit{\underline{Réponse :}} Oui. Quand on ajoute un nouveau sommet, son nombre d'arêtes doit être pair, pour ne pas poser de nouveaux problèmes. On peut donc ainsi corriger le problème d'imparité pour un nombre pair de sommets : en reliant chaque couple de deux sommets de degré impairs, à un sommet que l'on crée uniquement pour ce couple. Or, tout graphe simple possède un nombre pair de sommets de degré impair...
110 \subsection{Exercice : les dominos}
114 On considère des dominos dont les faces sont numérotées 1, 2, 3, 4 ou 5.
117 \item En excluant les dominos doubles, de combien de dominos dispose-t-on ?
118 \item Montrez que l'on peut arranger ces dominos de façon à former une boucle fermée (en utilisant la règle habituelle de contact entre les dominos).
119 \item Pourquoi n'est-il pas nécessaire de considérer les dominos doubles ?
120 \item Si l'on prend maintenant des dominos dont les faces sont numérotées de 1 à n, est-il possible de les arranger de façon à former une boucle fermée ?
124 \noindent\textit{\underline{Réponses :}}
126 \item On dispose de 4+3+2+1 = 10 dominos.
127 \item Considérons $K_5$, le pentagramme complet. A l'arête $(1,2)$, par exemple, est associée le domino $(1,2)$. Arriver à constituer une boucle fermée de dominos revient donc à trouver un circuit eulérien dans $K_5$. C'est possible : $K_5$ est connexe, avec tous ses sommets de degré pairs.
128 \item Considérer les dominos doubles revient à placer une boucle à chaque sommet de $K_5$. On ne change pas sa connexité, ni la parité de ses sommets.
129 \item On obtient, dans ce cas, $K_n$, dont chaque sommet a pour degré $n-1$. Pour arriver à consitituer une boucle fermée, il faut donc (et il suffit) que $n$ soit impair.
134 \section{Graphes partiels et sous-graphes}
136 \subsection{Introduction}
138 Dans cette section, on va chercher à étudier quels sont les différents types de graphes que l'on peut obtenir à partir d'un graphe $G$, en lui enlevant soit des arêtes, soit des sommets.
140 Prenons l'exemple d'un ordinateur, avec imprimante, souris, etc. Chaque appareil est un sommet du graphe de l'installation informatique, et chaque câble est une arête. On peut alors, au choix, enlever des câbles électriques, ou des appareils (avec leurs câbles), pour obtenir ainsi une nouvelle installation informatique, c'est-à-dire construire un nouveau graphe à partir d'un graphe donné.
144 On considère, dans tout ce paragraphe, les graphes $G_1$ et $G_2$ suivants
146 \includegraphics[scale=0.7]{graphes/graphe7.eps}
147 \includegraphics[scale=0.7]{graphes/graphe2.eps}
149 Ils nous serviront à illustrer les définitions à venir.
151 \subsection{Graphe partiel et sous-graphe}
153 \subsubsection{Graphe partiel}
155 \begin{Def}[Graphe partiel]
156 Soit G = (S, A) un graphe. Le graphe G' = (S, A') est un \emph{graphe partiel}\index{graphe!partiel} de G, si A' est inclus dans A.
160 Autrement dit, on obtient G' en enlevant une ou plusieurs arêtes au graphe G (sans toucher à ses sommets).
164 \begin{Ex}[Graphe partiel de $G_1$]
165 Voici un exemple de graphe partiel de $G_1$
167 \includegraphics[scale=0.7]{graphes/graphe8.eps}
172 \item A'=\{$e_3, e_4, e_5$\}.
177 Trouver un graphe partiel de $G_2$.
180 \subsubsection{Sous-graphe}
182 \begin{Def}[Sous-graphe]
183 On dit que le graphe $(S',A')$ est un \emph{sous{}-graphe}\index{graphe!sous-} du graphe $(S,A)$ si
185 \item $S' \subset S$,
186 \item $A' \subset A$,
187 \item $A'=\{(x,y)\mid (x,y) \in A \land x \in S' \land y \in S'\}$
192 Un sous{}-graphe d'un graphe donné est donc obtenu en enlevant certains sommets, et toutes les arêtes incidentes à ces sommets.
195 \begin{Ex}[Sous-graphe de $G_1$]
196 Voici un exemple de sous-graphe de $G_1$ :
198 \includegraphics[scale=0.7]{graphes/graphe9.eps}
202 \item V'=\{$v_1, v_3, v_4, v_5$\},
203 \item E'=\{$e_3, e_4, e_5$\}.
208 Trouver un sous-graphe de $G_2$.
212 Combien un graphe $G$ d'ordre $n$ possède-t-il de sous-graphes ?
215 \noindent\textit{\underline{Réponse :}} $2^n-1$, si l'on ne compte pas $G$.
218 \subsection{Sous-graphes particuliers}
220 \subsubsection{Sous-graphe partiel}
222 \begin{Def}[Sous-graphe partiel]
223 Un graphe partiel d'un sous-graphe est un \emph{sous-graphe partiel}\index{sous-graphe!partiel} de G.
227 Cette fois-ci, on enlève des sommets (et leurs arêtes incidentes), puis des arêtes.
231 \begin{Ex}[Sous-graphe partiel de $G_1$]
232 Voici un sous-graphe partiel de $G_1$ :
234 \includegraphics[scale=0.7]{graphes/graphe10.eps}
238 \item V'=\{$v_1, v_2, v_3, v_4$\},
239 \item E'=\{$e_1, e_4$\}.
245 Trouver un sous-graphe partiel de $G_2$.
248 \subsubsection{Clique}
251 On appelle \emph{clique}\index{clique} un sous-graphe complet de G.
255 On a donc réussi, en enlevant des sommets, à faire en sorte que chaque sommet est adjacent à tous les autres sommets.
259 \begin{Ex}[Une clique de $G_1$]
260 Exemple de clique de $G_1$ :
262 \includegraphics[scale=0.7]{graphes/clique.eps}
266 \item V'=\{$v_1,v_2,v_3$\},
267 \item E'=\{$e_1, e_2, e_3$\}.
272 Trouver une clique de $G_2$.
275 \subsubsection{Stable}
278 On appelle \emph{stable}\index{stable} un sous-graphe de $G$ sans arêtes.
282 On enlève donc des sommets, et leurs arêtes adjacentes. On obtient un stable que si, en ayant enlevé un certain nombre de sommets à $G$, le sous-graphe résultant ne possède plus d'arête.
286 \begin{Ex}[Un stable de $G_1$]
287 Voici un stable de $G_1$ :
289 \includegraphics[scale=0.7]{graphes/stable.eps}
293 \item V'=\{$v_1, v_4, v_5$\},
300 Trouver un stable de $G_2$.
303 \subsection{Exercices}
306 On considère le graphe $G$ suivant :
308 \includegraphics[scale=0.7]{graphes/graphe1b.eps}
310 En extraire : un graphe partiel, un sous-graphe, un sous-graphe partiel, une clique et un stable.
317 Montrez que dans un groupe de six personnes, il y en a nécessairement trois qui se connaissent mutuellement ou trois qui ne se connaissent pas (on suppose que si A connaît B, B connaît également A).
320 Montrez que cela n'est plus nécessairement vrai dans un groupe de cinq personnes.
323 \noindent\textit{\underline{Réponse :}} Cela revient à dire que, dans un graphe $G$ à six sommets, il est toujours possible d'obtenir un sous-graphe (\emph{i.e.}, en enlevant trois sommets), qui est :
325 \item soit une clique (les trois sommets sont adjacents deux à deux),
326 \item soit un stable (aucun arc).
329 Cela n'est plus valable pour les graphes à cinq sommets.
334 \section{Graphe planaire}
338 \subsection{Définition}
339 On rappelle la définition suivante...
341 \begin{Def}[Graphe planaire]
342 Un graphe est dit \emph{planaire}\index{graphe!planaire} s'il admet une re\-pré\-sen\-ta\-ti\-on graphique dans le plan telle que deux arêtes quelconques ne se coupent pas.
347 Rappelons que les arêtes ne sont pas forcément rectilignes.
350 Outre l'intérêt théorique (théorème des quatre couleurs, etc.), ou une représentation plus sympathique, chercher si un graphe possède une représentation planaire peut s'avérer pratiquement important. Par exemple, il était plus facile de concevoir les tout premiers circuits imprimés à transistors quand le graphe du circuit était planaire : on évitait alors de devoir recourir au procédé bicouche ou à des "straps" fragiles pour s'échapper du plan du circuit imprimé.
353 Un graphe peut-il être planaire s'il possède un sous-graphe qui ne l'est pas ?
356 \noindent\textit{\underline{Réponse :}} Non : une fois dessiné dans un plan, un graphe planaire a forcément tous ses sous-graphes qui le sont aussi.
360 \subsection{Exemples}
362 \begin{Ex}[$K_{3,3}$]
365 \includegraphics[scale=0.7]{graphes/k33}
371 On rappelle que l'on note $K_n$ tout graphe non orienté simple d'ordre $n$, tel que toute paire de sommets est reliée par une unique arête. Alors $K_5$ n'est pas planaire :
373 \includegraphics[scale=0.7]{graphes/k5}
380 Dessiner $K_1$, $K_2$, $K_3$ et $K_4$. Sont-ils planaires ? Et qu'en est-il de $K_n, n \geqslant 5$ ?
383 \noindent\textit{\underline{Réponse :}} $K_1$, $K_2$, $K_3$ et $K_4$ sont planaires. $K_5$, on l'a vu, ne l'est pas. Comme $K_5$ est un sous-graphe de $K_n, n \geqslant 5$, on en déduit qu'à partir de $n=5$, tous les $K_n$ ne sont plus planaires.
389 \subsection{Caractérisation des graphes planaires}
391 Pendant de nombreuses années, les mathématiciens ont tenté de caractériser les graphes planaires. Ce problème a été résolu en 1930 par le mathématicien polonais K. Kuratowski.
393 \subsubsection{Expansion d'un graphe}
395 \begin{Def}[Expansion d'un graphe]
396 L'expansion d'un graphe est le résultat de l'ajout d'un ou plusieurs sommets sur une ou plusieurs arêtes (par exemple, transformation de l'arête $\bullet - \bullet$ en $\bullet - \bullet - \bullet$).
400 Représentez deux graphes, le second étant une expansion du premier.
404 \subsubsection{Théorème de Kuratowski}
406 La réponse au problème de caractérisation des graphes planaires est...
408 \begin{Th}[Kuratowski]
409 \index{théorème!Kuratowski}
410 Un graphe fini est planaire si et seulement s'il ne contient pas de sous-graphe qui est une expansion de $K_5$ ou $K_{3,3}$.
416 %En admettant, comme nous y invite le résultat précédent, que $K_5$ n'est pas planaire, déterminer les valeurs de $n$ pour lesquelles $K_n$ est planaire.
419 %\noindent\textit{\underline{Réponse :}} On a vu (exercice précédent) que $K_n$ est planaire pour $n \leqslant 4$. $K_5$ n'est pas planaire. Enfin, pour $n \geqslant 5$, $K_n$ contient des sous-graphes $K_5$...
424 \section{Dénombrement des régions d'un graphe planaire}
427 Le prochain problème classique que l'on présentera s'intéresse au nombre de régions qu'un graphe planaire découpe. La célèbre formule d'Euler permettra de relier ce nombre aux nombres d'arêtes et de sommets du graphe considéré.
429 \subsection{Cartes, régions}
431 \begin{Def}[Carte, régions]
432 Une \emph{carte}\index{carte} est une représentation particulière d'un graphe planaire. On dit qu'une carte est \emph{connexe}\index{carte!connexe} si son graphe l'est. Une carte divise le plan en plusieurs \emph{régions}\index{régions}.
436 Par exemple, la carte ci-dessous, avec six sommets et neuf arêtes, divise le plan en cinq régions (A, B, C, D, E).
438 \includegraphics[scale=0.7]{graphes/carte.eps}
441 On remarque que quatre régions sont limitées alors que la cinquième (E), extérieure au diagramme, ne l'est pas.
446 \subsection{Degré d'une région}
448 \begin{Def}[Degré d'une région]
449 Le \emph{degré}\index{degré!d'une région} d'une région r, noté d(r), est la longueur du cycle ou de la chaîne fermée qui limite r.
453 Dans le graphe ci-dessus, d(A)=4, d(B)=3, d(C)=3, d(D)=5, d(E)=3.
457 On remarque que toute arête limite deux régions, ou est contenue dans une région et est alors comptée deux fois dans la chaîne fermée. Nous avons donc...
461 \subsection{Lemme des régions}
463 \begin{Th}[Lemme des régions]
464 La somme des degrés des régions d'une carte connexe est égale à deux fois le nombre d'arêtes.
469 Démontrez ce résulat.
472 \noindent\textit{\underline{Réponse :}} Il y a deux types d'arêtes, celles séparant deux régions données, et celles incluses à l'intérieur d'une région...
474 \subsection{Formule d'Euler}
476 Euler a établi une formule qui relie le nombre de sommets S, le nombre d'arêtes A et le nombre de régions R d'une carte connexe :
482 \subsection{Exercices}
485 Utilisez le résultat d'Euler pour retrouver le fait que $K_{3,3}$ n'est pas planaire.
489 \begin{Def}[Polyèdres réguliers, Solides de Platon]
490 Un polyèdre est dit régulier\index{polyèdres réguliers} s'il est constitué de faces toutes identiques et régulières, et que tous ses sommets sont identiques. Ils sont au nombre de neuf, dont cinq seulement sont convexes. Ces derniers étaient connus de Platon :
492 \item le tétraèdre régulier (4 faces en triangle équilatéral),
494 \item l'octaèdre régulier (8 faces en triangle équilatéral),
495 \item le dodécaèdre régulier (12 faces en pentagone),
496 \item l'icosaèdre régulier (20 faces en triangle équilatéral).
499 Pour cette raison, ces cinq polyèdres réguliers convexes sont appelés \emph{Solides de Platon}\index{solides de Platon}.
504 On appelle parfois polyèdres réguliers uniquement les 5 solides de Platon.
509 Les solides platoniciens peuvent être considérés comme des graphes, qui de plus sont planaires. Vérifier la formule d'Euler sur ces solides Platoniciens :
511 \item le nombre de sommets,
512 \item moins le nombre d'arêtes,
513 \item plus le nombre de faces
515 \noindent ...est toujours égal à 2.
522 \section{Circuit hamiltonien}
524 \subsection{Les dodécaèdres de Hamilton}
526 Le dodécaèdre est à l'origine d'un autre problème célèbre, dû à Hamilton\footnote{William Rowan Hamilton, mathématicien et physicien irlandais (1805{}-1865). Inventeur des quaternions.} : comment passer une, et une seule fois, par chacun des sommets du dodécaèdre, de telle manière que le dernier sommet visité est aussi le premier.
530 \includegraphics[scale=0.7]{graphes/dodeca}
535 \subsection{Définition}
537 \begin{Def}[Circuit et graphes hamiltoniens]
538 \index{circuit!hamiltonien}\index{graphes!hamiltonien}
539 Un circuit hamiltonien est un circuit qui passe par tous les sommets du graphe, une et une seule fois. Un graphe possédant un tel circuit est qualifié d'hamiltonien.
543 C'est un circuit : le sommet de départ doit aussi être le sommet d'arrivée.
547 Les graphes complets $K_n$ sont hamiltoniens, pour tout $n$.
551 On peut inscrire $K_n$ dans un polygone régulier à $n$ sommets : il suffit alors de parcourir ce polygone, sommet par sommet, dans le sens trigonométrique par exemple, jusqu'à retrouver son point de départ.
556 Il peut y avoir plusieurs circuits hamiltoniens dans un graphe hamiltonien.
560 Le problème de la caractérisation des graphes Hamiltoniens n'est pas aussi simple que celui des graphes Eulériens. On peut cependant énoncer quelques conditions, respectivement nécessaires, puis suffisantes, pour qu'un graphe le soit...
562 \subsection{Conditions nécessaires}
565 Un graphe hamiltonien d'ordre $n \geqslant 3$ ne possède pas de sommet de degré 1.
569 Si un sommet $s$ est de degré 1, il est connecté à un (unique) autre sommet $s'$, qui sera forcément parcouru deux fois (pour aller en $s$, et pour en sortir).
573 $K_2$ est hamiltonien, et a tous ses sommets d'ordre 1...
577 Si un graphe hamiltonien possède un sommet de degré 2, alors les deux arêtes incidentes à ce sommet doivent faire partie du cycle hamiltonien.
581 Supposons que $s$ est de degré 2, connecté à $s_1$ par l'arête $a_1$, et à $s_2$ par $a_2$. On est arrivé à $s$ à partir d'une arête, mettons $a_1$ ; si on réempruntait $a_1$ pour sortir de $s$, alors on repasserait par $a_1$, ce qui est impossible.
585 \subsection{Conditions suffisantes}
587 \begin{Th}[Théorème de Ore]\index{théorème!de Ore}
588 Soit G = (V, E) un graphe simple d'ordre $n\geqslant 3$. Si pour toute paire \{x,y\} de sommets non adjacents, on a $d(x) + d(y) \geqslant n$, alors G est hamiltonien.
591 \begin{Th}[Corollaire de Dirac]\index{Corollaire de Dirac}
592 Soit G = (V, E) un graphe simple d'ordre $n\geqslant 3$. Si pour tout sommet x de G, on a $d(x) \geqslant n/2$, alors G est hamiltonien.
596 En effet, un tel graphe vérifie les conditions du théorème précédent. Si x et y ne sont pas adjacents, on a bien :
597 $$d(x) + d(y) \geqslant n/2 + n/2 = n$$
602 Dessinez un graphe d'ordre au moins 5 qui est...
604 \item hamiltonien et eulérien,
605 \item hamiltonien et non eulérien,
606 \item non hamiltonien et eulérien,
607 \item non hamiltonien et non eulérien.
612 \subsection{Le problème du voyageur de commerce}
614 Trouver un cycle hamiltonien pour un graphe donné est un problème difficile sur le plan algorithmique -- de type NP-complet --, relié au problème dit \emph{du voyageur de commerce}\index{problème!du voyageur de commerce} : un voyageur de commerce doit visiter un ensemble de villes, en minimisant son temps de parcours.
618 Ce problème se formalise aisément en théorie des graphes :
620 \item Les villes sont les sommets d'un graphe pondéré.
621 \item Les arêtes correspondent aux routes reliant ces villes.
622 \item La pondération correspond soit à la distance entre deux ville (en kilomètres), soit à la durée nécessaire pour passer d'une ville à l'autre.
623 \item Ce graphe peut être orienté, si l'on souhaite intégrer des routes à sens unique.
626 On cherche alors à visiter tous les sommets du graphe (\emph{i.e.} toutes les villes) en minimisant le \og poids \fg{} du parcours (la distance parcourue, ou le temps total).
630 Le problème du voyageur de commerce correspond donc à la recherche d'un cycle hamiltonien de poids minimal, dans un graphe pondéré complet. Ce problème est NP-complet, donc impossible à résoudre exactement quand le nombre de villes est grand.
635 \centerline{\x{Fin du Chapitre}}