Download - Licence — Universit´e Lille 1 Pour toutes remarques ...sedoglav/MathDisc/TD05.pdf · El´ements de th´eorie des graphes ... La somme des degr´es est ´egale a 2m. 2. Notons d

Transcript

Elements de theorie des graphes

Licence — Universite Lille 1Pour toutes remarques : [email protected]

Semestre 3 — 2008-09

Exercice 1 — Construction de graphe.

On souhaite prelever 4 litres de liquide d’un tonneau. Pour ce faire, ondispose de 2 sceaux (non gradues) d’une contenance de 5 et 3 litres. Commentproceder ?

Correction. On peut construire le graphe dont les sommets sont les etatspossibles (couples de volume d’eau dans les sceaux) et les arcs sont lesoperations permettant de passer d’un etat a un autre.

Exercice 2 — Graphe de controle d’un programme informatique.

On cherche a concevoir des jeux de donnee afin de tester le programmesuivant :

intpgcd(int x, int y){while( x!=y )if (x>y)

x -= y ;else

y -= x ;return x ;

}

Questions.

1. Donnez le graphe de controle de ce programme.

2. Donnez un jeux de donnees de depart afin parcourir tous les :

1

– sommets du graphe de controle ;– arcs du graphe de controle ;– chemins du graphe de controle.

Correction.

1. Les sommets du graphe de controle sont :

1 :(x,y), 2 :(x !=y), 3 :(return x), 4 :(x > y), 5 :(y-=x), 6 :(x-=y)

La matrice d’adjacence du graphe de controle est :0 1 0 0 0 00 0 1 1 0 00 0 0 0 0 00 0 0 0 1 10 1 0 0 0 00 1 0 0 0 0

.

Exercice 3 — Relations remarquables.

Soit G un graphe fini ayant n sommets et m aretes avec n ≥ 1 et m ≥ 0.Pour tout entier k, on note nk le nombre de sommets de degre k et K lemaximum des degres des sommets.

1. Montrer queK∑

k=0

nk = n.

2. En utilisant la representation d’un graphe par sa matrice d’incidence,montrer que

K∑k=0

k · nk = 2 m.

3. En utilisant la representation d’un graphe par sa matrice d’adjacence,montrer que si G n’a pas de boucle alors K ≤ n− 1.

4. Donner un exemple ou on a l’egalite.

Correction.

2

1. On peut partitionner l’ensemble des sommets suivant leur degre. Ainsil’ensemble des sommets S peut etre partitionner par les ensembles Sk

des sommets de degre k :

S = ∪Kk=0Sk, avec Si ∩ Sj = ∅, si i 6= j.

On a donc

|S| =K∑

k=0

|Sk|.

Comme le cardinal de Sk est nk, la relation a demontrer en decouleimmediatement.

2. La matrice d’incidence associee a un graphe non oriente (S, A) est detaille |S| × |A| et definie par :

S :={s1, . . . , s|S|

},

A :={a1, . . . , a|A|

},

Mi,j =

2 si aj est une boucle de si,1 si aj est incident avec si,0 sinon.

Notons d(vi) le degre i.e. le nombre d’aretes partant et arrivant a vi.Par definition, on a

∑s∈S

d(s) =K∑

k=0

∑s∈Sk

d(s)

Donc en notant que |Sk| = nk et que s ∈ Sk implique que d(s) = k, ona bien ∑

s∈S

d(s) =K∑

k=0

knk.

Or en considerant chaque ligne de la matrice d’incidence, on a∑v∈G

d(v) =n∑

i=1

m∑j=1

Mi,j,

avec Mi,j le coefficient de la matrice d’incidence positionne dans laligne i et la colonne j. Ainsi, cette somme correspond a la sommede tous les coefficients de cette matrice. Or comme un arc rejoint 2sommets, la somme de chaque colonne est 2. Comme il y a m colonnes,cette somme est 2m.

3

3. La matrice d’adjacence associee a un graphe (oriente ou pas) (S, A) estde taille |S| × |S| et definie par :

S :={s1, . . . , s|S|

}, Mi,j =

{1, si (si, sj) ∈ A,0, sinon.

Si notre graphe n’a pas de boucle alors les coefficients diagonaux decette matrice sont nuls (on a Mi,i = 0). La somme de la jieme colonnede la matrices correspond au degre du jieme sommet. Cette somme estinferieure ou egale a n− 1 (i.e. le nombre de lignes moins 1 pour ne pasconsiderer la diagonale). CQFD.

4. Il suffit de se donner une matrice d’adjacence comme : 0 1 11 0 01 0 0

et de tracer le graphe correspondant.

Exercice 4 — Un graphe sans boucle a au moins 2 sommets dememe degre.

Soit G un graphe sans boucle ayant n sommets (n ≥ 1).

1. Montrer que le degre d’un sommet est toujours strictement inferieura n.

2. Montrer qu’il ne peut pas y avoir simultanement un sommet de degre 0et un sommet de degre n− 1.

3. En deduire qu’il y a au moins deux sommets de meme degres.

Correction.

1. Considerons un sommet quelconque du graphe, une arete peut lier cesommet a chacun des n− 1 autres sommets. Donc, le degre de ce som-met est n− 1 au plus.

Plus formellement, on considere la matrice d’adjacence, la somme d’unecolonne correspond au degre du sommet. S’il n’y a pas de boucle, cettesomme est inferieure ou egale a n− 1.

2. Supposons qu’il existe un sommet de degre 0 ; les autres sommets sontassocies a des colonnes ou il y a 2 zeros (un pour l’absence de boucle

4

et un pour ce sommet de degre 0). Ainsi le maximum des degres est auplus n− 2 et il ne peut y avoir de sommet de degre n− 1.

Inversement, s’il y a un sommet de degre n− 1, alors chaque autresommet du graphe possede une arete adjacente avec ce sommet. Donc,il ne peut y avoir de sommet de degres 0.

3. La question precedente montre qu’il y a n− 1 degres possibles au maxi-mum pour n sommets. Il ne peut y avoir d’injection d’un ensemble de nelements dans n− 1 elements et donc 2 sommets ont meme degre.

Exercice 5 — Propriete des sommes de degres d’un graphe.

A tout sommet s d’un graphe G = (S, A), on associe le nombre d+(s)d’arcs de A de but s, le nombre d−(s) d’arcs de A de source s et le nombre d(s) = d+(s) + d−(s),appele degre de s.

1. Quel rapport y a-t-il entre la somme des degres des sommets d’ungraphe et le nombre d’arcs m ?

2. En deduire que dans un graphe, le nombre de sommets de degre impairest pair.

3. Soit δ le minimum des degres des sommets d’un graphe ayant m arcset n sommets. Montrer que n δ ≤ 2 m.

Correction.

1. C’est le theoreme des poignees de mains. La somme des degres est egalea 2 m.

2. Notons d1 + · · ·+ dk la somme des degres impairs et dk+1 + · · ·+ dn lasomme des degres pairs. Cette derniere somme est manifestement unnombre pair. La difference de deux nombres pairs est un nombre pairdonc la somme des degres impairs

d1 + · · ·+ dk = 2 m− (dk+1 + · · ·+ dn)

est un nombre pair.

3. On a δ ≤ di pour tout i donc n δ ≤ d1 + · · ·+ dn = 2 m.

Exercice 6 — Utilisation de la parite de la somme des degres d’ungraphe.

Est-il possible de tracer 5 segments sur une feuille de papier de manierea ce que chaque segment en coupe exactement 3 autres ?

5

Correction. Modelisons la situation par un graphe. Les sommets de notregraphe sont les segments. Une arete entre 2 sommets indique que les segmentscorrespondant se coupent. On veut que le degre de chaque sommet soit 3 ; lasomme des degres est donc 3× 5 et doit etre le double du nombre d’aretes.Comme 15 n’est pas un nombre pair, ce n’est pas possible.

Exercice 7 — .

Soit G un graphe fini sans boucle. On suppose que G ne contient pas detriangle et on note S l’ensemble des sommets et A l’ensemble des aretes.

1. Montrer que pour deux sommets adjacents distincts x et y, le nombre nx

de sommets S \ {x, y} adjacents a x et le nombre ny de sommets S \ {x, y}adjacents a y satisfont l’inegalite :

nx + ny ≤ |S| − 2.

2. En deduire par recurrence sur le nombre |S| de sommets que le nombred’aretes |A| verifie :

|A| ≤ |S|2

4.

Correction.

1. Construisons le graphe G′ pour lequel x et y sont identifies (fusionnes)en un meme sommet z. On a d(z) = d(x) + d(y)− 2 et d(z) ≤ |G′| − 1c’est a dire d(z) ≤ |S| − 2. Comme d(x) = nx + 1 et de meme pour y,le resultat en decoule trivialement.

2. Pour |S| = 1, on a |A| = 0 et pour |S| = 2, on a |A| = 1. La relation estverifiee pour ces cas. Supposons qu’elle est verifiee pour |S| = n− 2 etconsiderons un graphe a n sommet. Si on lui retire 2 sommets x et y,alors l’ensemble B des aretes restantes est de cardinal au plus n2/4− n− 1.Le fait qu’il n’y a pas de triangle dans G montre que |A| = |B|+ nx + ny

et donc que la relation est vraie pour un ensemble de cardinal n.

Exercice 8 — Isomorphisme de graphes.

1. Montrer que la relation d’isomorphisme entre les graphes est une rela-tion d’equivalence.

2. Trouver tous les graphes non-isomorphes d’ordre n ≤ 4.

6

3. Parmi les graphes suivants y a-t-il des graphes isomorphes ?

q qq qqq q q q qq q qqq q q q qqq

q q q q qqq q q

Correction.

1. On doit montrer que c’est une relation :

(a) binaire : trivial dans notre cas ;

(b) reflexive : trivial dans notre cas ;

(c) symetrique : trivial dans notre cas ;

(d) transitive : trivial dans notre cas ;

2. On peut raisonner sur les matrices d’adjacence par exemple.

3. L’isomorphisme entre graphes conserve certaines proprietes — les in-variants de graphes — comme par exemple le nombre de sommets, lenombre d’aretes, le degres des sommets mis en relation, l’existence decycle, etc.

On voit ainsi que seuls les 2 premiers graphes peuvent etre isomophes.Pour aller plus loin, on peut mettre les 2 graphes sous une forme cano-nique (par exemple, les sommets tries par degres croissants) puis tenterde voir si ces formes normales sont isomorphes. En maple, on a :

A1:=Matrix([[0,1,0,0,0,0,0],[1,0,1,0,0,1,0],[0,1,0,1,0,0,1],[0,0,1,0,0,0,0],[0,0,0,1,0,0,0],[0,1,0,0,0,0,0],[0,0,1,0,0,0,0]]) ;A2:=Matrix([[0,1,0,0,0,0,0],[1,0,1,0,0,1,0],[0,1,0,1,0,0,0],[0,0,1,0,1,0,1],[0,0,0,1,0,0,0],[0,1,0,0,0,0,0],[0,0,0,1,0,0]]) ;

Exercice 9 — Les matrices associees a un graphe.

7

Soit G un graphe fini ayant n sommets si. On definit la matrice AG = (aij)d’adjacence par aij = 1 si les sommets si et sj sont adjacents et aij = 0 sinon.Le rang de la matrice d’adjacence AG est appele le rang du graphe G qu’onnote rank(G).

1. Montrer que les graphes finis G et H sont isomorphes si, et seulementsi, la matrice d’adjacence AG s’obtient par les memes permutations deslignes et des colonnes de la matrice AH .

2. En utilisant la matrice d’adjacence du graphe G montrer que le diametre d(G)et le rang rank(G) du graphe G sont lies par l’inegalite

d(G) ≤ rank(G).

(Indic. : utiliser le block de la matrice AG correspondant au chemin leplus long de G et montrer que son rang est au moins d(G)).

Correction.

1.

2. La distance entre deux sommets est le minimum d’arete permettant derelier ces sommets.

Le diametre d’un graphe est le maximum des distances entre deuxsommets de ce graphe relies par une chaıne simple.

Exercice 10 — Connexite.

1. Soit Gn un graphe dont les sommets sont si avec i ∈ {1, ..., n}. On jointdeux sommets sk et sm par une arete si, et seulement si, les nombres ket m sont premiers entre eux. Ecrivez la matrice d’incidence du grapheG5.

2. Est ce que le graphe Gn de l’exercice precedent est connexe ?

3. Montrer que si le nombre d’aretes d’un graphe G sans boucle et d’ordre n > 2est strictement superieur a C2

n−1 alors G est connexe.

4. Soit G un graphe connexe, montrer que tout couple de deux chaınessimples de longueur maximale de G ont un sommet commun.

5. Montrer qu’il n’existe pas de graphe dont les degres des sommets sonttous distincts.

6. Montrer que si le degre minimal δ(G) = minv∈V G d(v) d’un graphe Gd’ordre n verifie la relation δ(G) ≥ (n− 1)/2 alors G est connexe.

8

7. Montrer que pour tous les nombres naturels n, m, k verifiant les condi-tions :

1 ≤ k ≤ n, n− k ≤ m ≤ C2n−k+1,

il existe un graphe d’ordre n ayant exactement m aretes et k compo-santes connexes.

Correction.

1.

2.

3. Si le graphe G a strictement plus de C2n−1 aretes, c’est un graphe com-

plet et donc connexe.

4. Une chaıne simple ne peut visiter le meme sommet 2 fois. Une chaınede longueur maximale ne peut etre prolongee. Si ces chaınes n’ont pasde sommet commun, le graphe a deux composantes connexes disjointes(preuve a faire).

5. C’est un exercice de cette feuille. On ne peut avoir en meme temps unsommet de degres 0 et un sommet de degres n− 1. Les degres possiblesdu graphe sont compris dans l’ensemble {1, . . . , n− 1} ou {0, . . . , n− 2}et le principe des tiroirs indique que deux sommets ont meme degres.

6. Prenons deux sommets distincts x et y du graphe. La composanteconnexe de x (resp. y) est composee de 1 + (n− 1)/2 sommets au mini-mum de par la condition sur le degree minimal du graphe. L’intersectionde ces composantes connexes ne peut donc etre vide (leur reunion estd’ordre 1 + n et donc au moins un sommet est dans les deux compo-santes) et le graphe est donc connexe.

7. Montrons que m ≥ n− k en raisonnant par recurrence. Si m = 0, l’inegaliteest vraie. Supposons cette inegalite vraie pour des graphes d’ordre n etconsiderons un graphe G d’ordre n + 1 ayant k composantes connexes.

Considerons une arete a et le graphe G′ = G \ {a}. Le nombre de com-posantes connexes de G′ est soit k, soit k + 1 et son nombre d’aretesest m− 1. On a donc l’inegalite

m− 1 ≥ n− k > n− k − 1

qui permet de conclure.

9

Montrons que m ≤ C2n−k+1. Prenons le cas extremes d’un graphe ayant k

composantes connexes toutes constituees par un graphe complet. Nousallons voir que dans ce cas, qu’il y a k − 1 composantes qui sont dessommets isoles et une composante d’ordre n− k + 1. Raisonnons parl’absurde. On suppose que le nombre d’aretes de G est maximale.Soit Kp et Kq deux graphes complets disjoints avec p ≥ q > 1. En re-tirant un sommet de Kq (on supprime les aretes incidentes a ce som-mets) et en l’ajoutant a Kp, on augmente l’ordre du graphe (ce quiest impossible, car en iterant ce processus, on arrive a des graphesd’ordre fini avec un nombre d’aretes infinie). Donc, il y a — dans lecas du plus grand nombre d’aretes — une unique composante connexed’ordre n− k + 1 ce qui prouve l’inegalite.

Exercice 11 — arbres et forets (rang cyclomatique).

On rappelle que le nombre ν(G) = m(G)− n(G) + k(G) est appele rangcyclomatique d’un graph G ou m(G), n(G), k(G) designent respectivementles nombres d’aretes, de sommets et de composantes connexes de G. Montrerque

1. Un graphe G est une foret si, et seulement si, ν(G) = 0.

2. G contient un seul cycle si, et seulement si, ν(G) = 1.

3. G contient n cycles differents sans corde si, et seulement si, ν(G) = n.

4. Si m(G) ≥ n(G) alors G contient un cycle (on peut donner deux methodesdifferentes de la preuve : soit par l’absurde soit une preuve directe).

Correction. L’exercice sur la connexite indique que n(G)− k(G) ≤ m(G) ;Ainsi, ν(G) ≥ 0 pour tout graphe.

1. Un arbre est un graphe H tels que m(H) = n(H)− 1 (il n’y a pas decycle) et k(H) = 1. Donc en prenant un ensemble d’arbres G, i.e. uneforet, on a bien ν(G) = 0.

Faisons une recurrence sur le nombre m(G) en fixant l’ordre du graphe.Si m(G) = 0 alors la relation ν(G) = 0 est evidente.

Supposons que si ν(G) = 0 pour un graphe avec m aretes alors cegraphe est une foret.

Considerons un graphe avec m + 1 aretes tel que ν(G) = 0. Deux cassont possibles :

10

(a) l’arete am+1 relie deux composantes distinctes du graphe resultant G′

a m aretes. On a m(G) = m(G′) + 1 et k(G) = k(G′)− 1

ν(G) = m(G)− n + k(G) = m(G′) + 1− n + k(G′)− 1 = 0.

On a donc ν(G′) = 0 et G′ est une foret. On vient juste de coller 2arbres ensembles sans mettre de cycle, on garde une foret.

(b) l’arete am+1 relie deux sommets dans la meme composante dugraphe resultant G′ a m aretes.

ν(G) = m(G)− n + k(G) = m(G′) + 1− n + k(G′)− 1 = 0.

On a donc ν(G′) = −1 ce qui n’est pas possible d’apres l’exercicesur la connexite (car on y voit que n(G)− k(G) ≤ m(G)).

2. Faisons une recurrence sur le nombre m(G) en fixant l’ordre du graphe.Remarquons que pour m(G) ≤ 2, il ne peut y avoir de cycle. Pour m(G) = 3,montrons que ν(G) = 1 si, et seulement si, G possede un cycle.– Si G possede un cycle alors deux sommets sont adjacents a un troisieme.

Dans ce cas, une composante connexe regroupe 3 sommets et lesautres forment donc chacun une composante. Donc k(G) = n(G)− 2.En conclusion, on a donc

ν(G) = m(G)− n(G) + k(G) = 3− n(G) + n(G)− 2 = 1.

– Reciproquement, supposons que ν(G) = 1. Dans ce cas, on a :

k(G) = n(G)− 2.

Considerons tous le graphes possibles comprenant 3 aretes et leurnombre de composantes connexes. C’est a dire, les graphes avec :– 3 sommets non isoles (qui ne forme pas chacun une composante

connexe) et un cycle : k(G) = n(G)− 2 ;– 4 sommets non isoles et sans cycle : k(G) = n(G)− 3 ;– 5 sommets non isoles et sans cycle : k(G) = n(G)− 3 ;– 6 sommets non isoles et sans cycle : k(G) = n(G)− 3 ;Donc si G possede un cycle, on a k(G) = n(G)− 2 et donc ν(G) = 1.Supposons maintenant la propriete vraie pour tout graphe ayant maretes. Considerons un graphe G ayant m(G) = m + 1 aretes. Ensupprimant une arete a, on definit un graphe G′ ; deux cas sont pos-sibles :

11

(a) a est dans un cycle et sa suppression ne modifie pas le nombrede composante connexe, donc k(G) = k(G′).– Si ν(G) = 1, on a donc :

ν(G) = 1 = m(G)−n(G)+k(G) = m(G′)+1−n(G′)+k(G′) = ν(G′)+1.

Ainsi, ν(G′) = 0 et G′ n’avait pas de cycle. Donc G a un seulcycle.

– Si G′ n’a pas de cycle, on a

ν(G′) = 0 = m(G′)−n(G′)+k(G′) = m(G)−1−n(G)+k(G) = ν(G)−1.

Ainsi, si G a un cycle alors ν(G) = 1.

(b) a n’est pas dans un cycle et sa suppression augmente le nombrede composantes connexes k(G′) = k(G) + 1.– Si ν(G) = 1, on a donc :

ν(G) = 1 = m(G)−n(G)+k(G) = m(G′)+1−n(G′)+k(G′)−1 = ν(G′).

Dans ce cas, ν(G′) = 1 et par hypothese de recurrence G′ a unseul cycle. Pour obtenir G, on rajoute une arete qui ne produitpas de cycle supplementaire. G admet un unique cycle.

– Si G a un unique cycle, le graphe induit G′ a aussi un uniquecycle et donc :

ν(G′) = 1 = m(G′)−n(G′)+k(G′) = m(G)−1−n(G)+k(G)+1 = ν(G).

Donc, si G a un unique cycle, on a ν(G) = 1.

3. Une corde dans un cycle est une arete qui relie deux sommets nonadjacents de ce cycle (pensez au carre avec une diagonale, il y a 3cycles — 2 triangles et le carre —, pour le cycle constitue du carre, lacorde est la diagonale).

Faisons maintenant une recurrence sur ν(G) le nombre de cycle. Lesquestions precedentes permettent de traiter les cas ν(G) = 0 et ν(G) = 1.Supposons la propriete vraie pour ν(G) = p et considerons un graphe Gtel que ν(G) = p + 1.

Le graphe G possede au moins un cycle (comme nous le montre l’exer-cice precedant).

Prenons une arete a d’un cycle de G que l’on supprime pour obtenirun graphe G′. Le nombre de composantes connexes ne change pas carcette arete est dans un cycle.

12

– Si ν(G) = p + 1 alors

ν(G) = p+1 = m(G)−n(G)+k(G) = m(G′)+1−n(G′)+k(G′) = ν(G)+1.

Ainsi, ν(G) = p et par hypothese de recurrence admet p cycles. Doncle graphe G admet p + 1 cycles.

– Si le graphe G admet p + 1 cycles sans cordes, alors G′ en contient p(on vient d’en supprimer un, car il n’y a pas de corde — en fait, oncompte les faces internes constitues par un cycle). Donc,

ν(G′) = p = m(G′)−n(G′)+k(G′) = m(G)−1−n(G)+k(G) = ν(G)−1.

Ainsi, si le graphe G admet p + 1 cycles sans cordes, alors ν(G) = p + 1.

4. Si m(G) ≥ n(G) alors ν(G) est strictement positif. Supposons qu’il n’ya pas de cycle, alors ν(G) = 0 ce qui implique un nombre de compo-santes connexes negatif. C’est impossible.

Exercice 12 — Exemple de raisonnement sur les graphes.

La syldavie est un pays avec 15 villes. On peut aller de chaque ville aau moins 7 autres villes du pays par une autoroute. Peut-on se rendre, parautoroute de la capitale du pays a chacune des autres villes.

Correction. Soit A une ville quelconque. L’autoroute nous conduit de lacapitale vers au moins 7 villes differentes ; on a donc un reseau de 8 villesrelies par autoroute. De la ville A on peut egalement relier par autoroute aumoins 7 autres villes differentes ; on a donc un nouveau reseau de 8 villesrelies par autoroute. Il doit y avoir une ville commune a ces deux reseaux,car sinon le pays aurait au moins 16 villes. La capitale est donc relie a A enau plus deux coups, en passant par cette ville commune ; elle est donc relieea toutes les autres villes du pays.

Exercice 13 — Graphe de de Bruijn.

Un code d’entree d’un d’immeuble est compose de 3 lettres binaires. Trou-ver un mot de longueur aussi petite que possible qui contient toutes motsde 3 lettres binaires. (Un tel mot contiendra alors le code d’entree).

Pour ce faire construire un graphe oriente compose de 4 sommets representantdes mots binaires de longueur 2 : {00, 01, 11, 10}. Une arete orientee relie toutsommet ab aux deux sommets b0 et b1.

13

Correction. Du sommet ab partent donc exactement 2 aretes et arriventaussi exactement 2 aretes, celles venant des sommets 0a et 1a (si a et b sontidentiques on aura une boucle).

Le graphe ainsi construit possede donc — par la version oriente du theoremed’Euler — un cycle oriente eulerien. On peut coder chaque arete orientee parun mot de longueur 3, plus precisement, l’arete orientee partant de ab vers bcest codee par abc.

Pour obtenir une solution, on part d’un sommet quelconque, par exemple 10,et on parcourt un circuit eulerien : chaque arete parcourue indique quel chiffreon ajoute a la droite du mot commence.

On obtient ainsi une suite de 10 chiffres, par exemple ici 1011100010. Lecycle est :

10 → 01 → 11 → 11 → 10 → 00 → 00 → 01 → 10.

Ce resultat peut etre etendu a un alphabet fini quelconque et a des motsde longueur quelconque. On montre ainsi que, etant donne un alphabet de dlettres, il existe toujours un mot de longueur dn + (n− 1) qui contient tousles mots de longueur n sur cet alphabet une fois et une seule. Dans notreexemple, nous avons d = 2, n = 3, donc un mot de longueur 8 + 2 = 10.

Exercice 14 — Exemple d’un graphe complet non planaire.

Montrer que le graphe complet a 5 sommet (note K5) n’est pas planaire.

Correction. Raisonnons par l’absurde. Supposons une realisation plane de K5

de sommets {a, b, c, d}. Les arcs (a, b), (b, c) et (c, a) forment une courbefermee et donc une face. Supposons que le point d soit a l’interieur de cetteface ; si le point e est a l’exterieur, le graphe n’est pas planaire. Donc ce pointdoit etre a l’interieur du cycle (a, b, c, a). Supposons que ce point e soit dansla face delimite par le cycle (b, c, d, b) dans ce cas, l’arc (a, e) coupe ce cycleet le graphe n’est pas planaire. Les autres cas se traitent de la meme facon.

Une autre demonstration repose sur la formule d’Euler. K5 a 10 areteset 5 sommets et c’est un graphe simple connexe donc on aurait 10 ≤ 3 · 5− 6ce qui est faux.

Exercice 15 — Exemple d’un graphe complet non planaire.

Trois consommateurs doivent etre relies a 3 producteurs leur fournissant 3produits par des tubes differents. Tracer le plan du reseau ainsi constitue enrespectant une contrainte de non croisement.

14

Correction. Le graphe ainsi obtenu est appele le graphe bi-parti completd’ordre 3 et on le note K3,3. Nous allons montrer que la relation s− a + f = 2permet de voir que ce graphe n’est pas planaire. Le graphe K3,3 a 6 sommetset 9 aretes. Donc, on a la relation f = 5 dans notre cadre. Il nous faut main-tenant expliciter la notion de face :

– une face bordee par une seule arete correspond a une boucle ;– une face bordee par 2 aretes correspond a des aretes joignant les memes

sommets ;– pour un graphe simple planaire, chaque face est bordee par au moins 3

aretes.Notre graphe bi-parti simple ne peut avoir de faces triangulaires : en effet,il relie une partie {a, b, c} a l’autre {α, β, γ} et un triangle comporteraitnecessairement 2 (ou 3) sommet de la meme partie. Donc toute face estbordee par 4 aretes et donc 4f ≤ 2a. Dans notre cas, 4f = 20 et 2a = 18.

Exercice 16 — Utilisation de la puissance de la matrice d’adjacence.

Un voyageur veut aller de la ville 1 a la ville 9 dans un reseau donne parle graphe suivant :

{(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (5, 7), (6, 7), (6, 9), (7, 9), (8, 9)}

De combien de facons peut on faire le trajet en 5 etapes.

Correction. Utilise les puissances de la matrice d’adjacence.

Exercice 17 — Exemple de graphe probabiliste.

Un individu peut etre dans 3 etats differents : immunise I, malade M ousain S. D’un momment de mesure a un autre, l’etat peut evoluer selon lesregles :

– etant I, il peut le rester avec une probabilite 0.9 ou passer a l’etat Savec une probabilite 0.1 ;

– etant S, il peut le rester avec une probabilite 0.5 ou passer a l’etat Mavec une probabilite 0.5 ;

– etant M, il peut le rester avec une probabilite 0.2 ou passer a l’etat Iavec une probabilite 0.8.

Questions.

1. Dessinez le graphe probabiliste decrivant cette situation.

15

2. Calculer la probabilite qu’un individu soit dans l’etat M ou I au boutde 3 mesures dans chacune des situations de depart suivantes : I, Met S.

3. Que peut on dire de la proportion d’individu dans l’etat M au boutd’un an ?

Correction.

1.

2. La matrice de transition associee est :

1

10

9 0 18 2 00 5 5

.

Exercice 18 — Exemple d’automate.

Proposez un automate deterministe permettant de reconnaıtre les mul-tiples de 3.

Correction. L’automate va avoir 4 etats : init, 0, 1 et 2 qui sont les restesmodulo 3 possibles. On part de l’etat init puis a chaque lettre decimaleconstituant le nombre, on prend l’etat correspondant.

Exercice 19 — Graphes planaires.

1. Montrer que la formule d’Euler peut etre generalisee pour un grapheplanaire ayant n sommets, m aretes, f faces et k composantes connexescomme suit :

n−m + f = k + 1.

2. Montrer que pour un graphe planaire avec k composantes connexes, ona m ≥ 3(n− k − 1).

Correction.

1. Nous allons refaire la demonstration de la formule d’Euler en suivantla demarche classique :– prouver laformule pour une foret de k arbres ;– passer des arbres aux graphes en ajoutant des aretes.

16

L’idee de base est que tout graphe planaire connexe s’obtient a partird’un arbre par ajout d’aretes.

Pour chaque un arbre, on a la relation m = n− 1. Ceci implique quepour une foret, on a la relation m = n− k. Puisque dans une foret,il n’y a qu’une face (la face exterieure, et donc f = 1), on a bien larelation :

n−m + f = k + 1.

Passons maintenant aux graphes. On fixe le nombre de sommets et onfait une recurrence sur le nombre d’arete (i.e. on ajoute des aretes a ungraphe G′ pour obtenir un graphe G). En ajoutant une aretes soit :– on relie deux composantes connexes en une seule m(G) = m(G′) + 1

et k(G) = k(G′)− 1. Cela ne change ni le nombre de sommets ni lenombre de face. On a :

0 = n−m(G′)+f−k(G′)−1 = n−(m(G′)+1)+f−(k(G′)−1)−1 = n−m(G)+f−k(G)−1 = 0.

– on le nombre de composantes connexes reste fixe et on vient d’ajouterune face :

0 = n−m(G′)+f(G′)−k−1 = n−(m(G′)+1)+(f(G′)+1)−k−1 = n−m(G)+f(G)−k−1.

Ceci montre que la formule reste vraie.

2. Commencons par montrer un analogue du lemme des poignees de mainspour les faces. Le degre d’une face est le nombre d’aretes que l’en-tourent. En sommant l’ensemble des degres, on trouve 2 fois le nombred’aretes : ∑

face

d(f) = 2m.

Toute face est bordee par au moins 3 aretes. Donc d(f) ≥ 3. On enconclut donc que 2m ≥ 3f . En utilisant la formule d’Euler, on obtientdonc que

3f = 3k + 3− 3n + 3m ≤ 2m, 3n− 3k − 3 ≥ m.

Exercice 20 — Polyedres reguliers connexes : euleriens et hamilto-niens.

Verifier si les graphes definis par les polyedres reguliers convexes (tetraedre,cube, octaedre, dodecaedre, icosaedre) sont euleriens (resp. hamiltoniens).

Correction.

17

– Un circuit est simple s’il ne contient pas deux fois le meme arc.– Un circuit est eulerien s’il est simple et contient tous les arcs d’un

graphe.– Un circuit est elementaire s’il ne contient pas deux arcs de meme origine

ou de meme but.– Un circuit est hamiltonien s’il est elementaire et contient tous les som-

mets d’un graphe.Le theoreme d’Euler permet de determiner si un graphe est euleriens.

Un graphe non oriente sans sommets isoles possede un cycle eulerien si,et seulement si,

1. Il est connexe.

2. Il a 0 ou 2 sommets de degre impair.

Dans le cas ou il n’y a aucun sommet de degre impair, cette chaıne eulerienneest un cycle. Dans le cas ou il y en a deux, ce sont les extremites de la chaıne.

Le theoreme de Dirac permet de decider si certains graphes sont pla-naires : Si chaque sommet d’un graphe de n sommets est de degre superieurou egal a n/2 alors le graphe admet un cycle hamiltonien.

Les polyedres reguliers (les degres des sommets sont tous egaux) convexesverifient la relation d’euler :

s− a + f = 2.

Le lemme des poignees de mains permet de conclure sur les degres despolyedres reguliers :

d = 2a

s.

Polyedre Sommets Aretes Faces degres euleriens hamiltonientetraedre 4 6 4 3 non oui

cube 8 12 6 3 non ouioctaedre 6 12 8 4 oui oui

dodecaedre 20 30 12 3 non ouiicosaedre 12 30 20 5 non oui

Comme tous les polyedres reguliers convexes sont complets et planaires, onpeut donner une representation plane.

Exercice 21 — Modelisation et graphe hamiltoniens.

18

Un groupe de 9 chevaliers se reunit chaque jours autour d’une table ronde.Combien de jour au plus peuvent-ils se reunir si l’on souhaite que personnen’ait deux fois le meme voisin ?

Correction. On peut regarder le graphe complet a 9 sommets (les cheva-liers). Une arete peut se comprendre comme le fait que les cheveliers incidentssont voisins. Un circuit hamiltonien est une disposition autour de la table. Laquestion est donc de savoir combien il y a de circuits hamiltoniens disjointsdans K9.

Le graphe K9 possede (8 · 9)/2 aretes d’apres le lemme des poignees demains, soit 36 aretes. De plus, chaque cycle doit utiliser 9 aretes (pour relierles chevaliers). Il ne peut donc y avoir que 4 cycles au maximum.

Exercice 22 — Existence d’un graphe.

Considerons 13 telephones. Est-il possible de les relier par des fils telephoniquesde sorte que chaque appareil soit relie avec exactement 3 autres ?

Correction. Les sommets sont les telephones et les aretes sont les fils. Orle lemme des poignees de mains interdit cette situation (39 est un nombreimpair).

Exercice 23 — Coloration de graphe.

Les etudiants a, b, c, d, e et f doivent passer des examens — occupant unedemi-journee — dans differentes disciplines :

matiere etudiantsalgorithmique a,bcompilation c,dbases de donnees c, e, f, gJava a, e, f, hArchitecture b,f,g,h

Organiser la session d’examen la plus courte possible.

Correction. On peut construire un graphe non oriente dont chaque sommetest une discipline et dont les aretes correspondent aux incompatibilites (i.e.aux etudiants devant assister a deux examens).

Le reste est un probleme de coloration, chaque couleur etant une demi-journee.

Le nombre chromatique du graphe est le nombre minimal de demi-journee.

19

Exercice 24 — Graphe d’aretes associe a un graphe.

Etant donne un graphe G, le graphe d’aretes L(G) associe au graphe Gest le graphe dont les sommets sont les aretes de G et tel que deux sommetsde L(G) sont adjacents si, et seulement si, les aretes correspondantes de Gsont incidentes.

Questions.

1. Dessinez les graphes L(G) pour G = Kn avec n ≤ 4.

2. Montrer que le nombre d’aretes du graphe L(G) verifie :∑n(G)i=1 di

2

2−m(G)

avec n(G) le nombre de sommets, m(G) le nombre d’aretes de G et di

le degre du ieme sommet.

3. On considere le gaphe G definit par la matrice d’adjacence suivante :

s1 s2 s3 s4 s5 s6 s7 s8

s1 0 1 1 1 1 1 1 1s2 1 0 1 0 0 0 0 1s3 1 1 0 1 0 0 0 0s4 1 0 1 0 1 0 0 0s5 1 0 0 1 0 1 0 0s6 1 0 0 0 1 0 1 0s7 1 0 0 0 0 1 0 1s8 1 1 0 0 0 0 1 0

(a) Donnez une representation sagittale de ce graphe. (Dessinez cegraphe.)

(b) Combien le graphe G a-t-il d’aretes ?

(c) Ce graphe est-il eulerien ?

(d) Combien le graphe L(G) a-t-il d’aretes ?

(e) Le graphe L(G) est-il planaire ?

Correction.

1.

20

2. Considerons un graphe G obtenu a partir d’un graphe G′ par l’ajoutd’une arete entre les sommets s1 et s2 de G′. Par definition, on a :

n(L(G)) = n(L(G′)) + 1, m(L(G)) = m(L(G′)) + d1(G′) + d2(G

′).

En effet, en rajoutant une arete a G′, on rajoute un sommet a L(G).De plus, le nombre d’aretes de L(G) augmente de d1(G

′) + d2(G′) car

cette nouvelle arete est incidente avec d1(G′) + d2(G

′) aretes de G′.

On peut maintenant raisonner par recurrence. Pour tout graphe Gayant 1 unique arete, L(G) n’a pas d’arete et on a bien :∑n(G)

i=1 di2

2= 1, m(G) = 1.

La relation est donc vraie pour m(L(G)) = 1.

Supposons cette relation vraie pour un graphe G′ ayant n aretes etajoutons lui une arete entre les sommets s1 et s2. On a :

m(L(G)) = m(L(G′))+d1(G′)+d2(G

′) =

∑n(G′)i=1 di

2

2−m(G′)+d1(G

′)+d2(G′).

Ce qui peut s’ecrire :

m(L(G)) =

∑n(G′)i=3 di

2

2−(m(G′)+1)+

d12(G′) + d2

2(G′) + 2d1(G′) + 2d2(G

′) + 2

2.

Or comme dans notre situation dj(G) = dj(G′) + 1 pour j = 1, 2 et di(G) = di(G

′)pour i > 2, on a bien :

m(L(G)) =

∑n(G)i=1 di

2(G)

2−m(G).

3. (a)

(b) m(G) = (73 + 7)/2 = 28/2 = 14 d’apres le lemme des poignes demains.

(c) Puisqu’il y a 7 sommets de degre impair, le theoreme d’Eulermontre que ce graphe n’est pas eulerien.

(d) m(L(G)) = (72 + 79)/2− 14 = 42 d’apres le resultat precedent.

(e) Pour un graphe planaire, on doit avoir m(L(G)) ≤ 3n(L(G))− 6ce qui n’est pas le cas dans notre exemple.

21

Exercice 25 — Etude d’une famille de graphes.

Considerons Gn le graphe dont les sommets sont les permutations de {1, . . . , n}.Deux sommets de Gn sont adjacents si, et seulement si, les permutations cor-respondantes s’obtiennent l’une de l’autre par une transposition.

Questions.

1. Combien Gn a-t-il de sommets ?

2. Donnez les degres des sommets de Gn.

3. Combien Gn a-t-il d’aretes ?

4. Le graphe Gn est-il planaire si n > 3.

Correction.

1. Gn a n! sommets.

2. Gn est un graphe regulier dont le degres de chaque sommet est C2n.

3. Le lemme des poignes de mains indique n!C2n/2.

4. Non car on a n!C2n/2 > 3n!− 6.

22