Vous êtes sur la page 1sur 22

ements de theorie des graphes

El
Licence Universite Lille 1
Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr
Semestre 3 2008-09

Exercice 1 Construction de graphe.


On souhaite prelever 4 litres de liquide dun tonneau. Pour ce faire, on
dispose de 2 sceaux (non gradues) dune contenance de 5 et 3 litres. Comment
proceder ?
Correction. On peut construire le graphe dont les sommets sont les etats
possibles (couples de volume deau dans les sceaux) et les arcs sont les
operations permettant de passer dun etat `a un autre.
Exercice 2 Graphe de contr
ole dun programme informatique.
On cherche `a concevoir des jeux de donnee afin de tester le programme
suivant :
int
pgcd
(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 dadjacence du graphe

0 1 0
0 0 1

0 0 0

0 0 0

0 1 0
0 1 0

de controle est :

0 0 0
1 0 0

0 0 0
.
0 1 1

0 0 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 le
maximum des degres des sommets.
1. Montrer que
K
X

nk = n.

k=0

2. En utilisant la representation dun graphe par sa matrice dincidence,


montrer que
K
X
k nk = 2 m.
k=0

3. En utilisant la representation dun graphe par sa matrice dadjacence,


montrer que si G na pas de boucle alors K n 1.
4. Donner un exemple o`
u on a legalite.
Correction.

1. On peut partitionner lensemble des sommets suivant leur degre. Ainsi


lensemble des sommets S peut etre partitionner par les ensembles Sk
des sommets de degre k :
S = K
k=0 Sk , avec Si Sj = , si i 6= j.
On a donc
|S| =

K
X

|Sk |.

k=0

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


immediatement.
2. La matrice dincidence associee `a un graphe non oriente (S, A) est de
taille |S| |A| et definie par :



2 si aj est une boucle de si ,
S := s1 , . . . , s|S| ,

Mi,j = 1 si aj est incident avec si ,

A := a1 , . . . , a|A| ,
0 sinon.
Notons d(vi ) le degre i.e. le nombre daretes partant et arrivant `a vi .
Par definition, on a
X

d(s) =

K X
X

d(s)

k=0 sSk

sS

Donc en notant que |Sk | = nk et que s Sk implique que d(s) = k, on


a bien
K
X
X
knk .
d(s) =
sS

k=0

Or en considerant chaque ligne de la matrice dincidence, on a


X

d(v) =

n X
m
X

Mi,j ,

i=1 j=1

vG

avec Mi,j le coefficient de la matrice dincidence positionne dans la


ligne i et la colonne j. Ainsi, cette somme correspond `a la somme
de tous les coefficients de cette matrice. Or comme un arc rejoint 2
sommets, la somme de chaque colonne est 2. Comme il y a m colonnes,
cette somme est 2m.
3

3. La matrice dadjacence associee `a un graphe (oriente ou pas) (S, A) est


de taille |S| |S| et definie par :



1, si (si , sj ) A,
S := s1 , . . . , s|S| , Mi,j =
0, sinon.
Si notre graphe na pas de boucle alors les coefficients diagonaux de
cette matrice sont nuls (on a Mi,i = 0). La somme de la ji`eme colonne
de la matrices correspond au degre du ji`eme sommet. Cette somme est
inferieure ou egale `a n 1 (i.e. le nombre de lignes moins 1 pour ne pas
considerer la diagonale). CQFD.
4. Il suffit de se donner une matrice

0
1
1

dadjacence comme :

1 1
0 0
0 0

et de tracer le graphe correspondant.


Exercice 4 Un graphe sans boucle a au moins 2 sommets de
m
eme degr
e.
Soit G un graphe sans boucle ayant n sommets (n 1).
1. Montrer que le degre dun sommet est toujours strictement inferieur
`a n.
2. Montrer quil ne peut pas y avoir simultanement un sommet de degre 0
et un sommet de degre n 1.
3. En deduire quil y a au moins deux sommets de meme degres.
Correction.
1. Considerons un sommet quelconque du graphe, une arete peut lier ce
sommet `a chacun des n 1 autres sommets. Donc, le degre de ce sommet est n 1 au plus.
Plus formellement, on consid`ere la matrice dadjacence, la somme dune
colonne correspond au degre du sommet. Sil ny a pas de boucle, cette
somme est inferieure ou egale `a n 1.
2. Supposons quil existe un sommet de degre 0 ; les autres sommets sont
associes `a des colonnes ou il y a 2 zeros (un pour labsence de boucle
4

et un pour ce sommet de degre 0). Ainsi le maximum des degres est au


plus n 2 et il ne peut y avoir de sommet de degre n 1.
Inversement, sil y a un sommet de degre n 1, alors chaque autre
sommet du graphe poss`ede une arete adjacente avec ce sommet. Donc,
il ne peut y avoir de sommet de degres 0.
3. La question precedente montre quil y a n 1 degres possibles au maximum pour n sommets. Il ne peut y avoir dinjection dun ensemble de n
elements dans n 1 elements et donc 2 sommets ont meme degre.
Exercice 5 Propri
et
e des sommes de degr
es dun graphe.
` tout sommet s dun graphe G = (S, A), on associe le nombre d+ (s)
A
darcs de A de but s, le nombre d (s) darcs 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 dun
graphe et le nombre darcs m ?
2. En deduire que dans un graphe, le nombre de sommets de degre impair
est pair.
3. Soit le minimum des degres des sommets dun graphe ayant m arcs
et n sommets. Montrer que n 2 m.
Correction.
1. Cest le theor`eme des poignees de mains. La somme des degres est egale
`a 2 m.
2. Notons d1 + + dk la somme des degres impairs et dk+1 + + dn la
somme des degres pairs. Cette derni`ere somme est manifestement un
nombre pair. La difference de deux nombres pairs est un nombre pair
donc 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 parit
e de la somme des degr
es dun
graphe.
Est-il possible de tracer 5 segments sur une feuille de papier de mani`ere
`a ce que chaque segment en coupe exactement 3 autres ?
5

Correction. Modelisons la situation par un graphe. Les sommets de notre


graphe sont les segments. Une arete entre 2 sommets indique que les segments
correspondant se coupent. On veut que le degre de chaque sommet soit 3 ; la
somme des degres est donc 3 5 et doit etre le double du nombre daretes.
Comme 15 nest pas un nombre pair, ce nest pas possible.
Exercice 7 .
Soit G un graphe fini sans boucle. On suppose que G ne contient pas de
triangle et on note S lensemble des sommets et A lensemble 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 linegalite :
nx + ny |S| 2.
2. En deduire par recurrence sur le nombre |S| de sommets que le nombre
daretes |A| verifie :
|S|2
|A|
.
4
Correction.
1. Construisons le graphe G0 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) |G0 | 1
cest `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 est
verifiee pour ces cas. Supposons quelle est verifiee pour |S| = n 2 et
considerons un graphe `a n sommet. Si on lui retire 2 sommets x et y,
alors lensemble B des aretes restantes est de cardinal au plus n2 /4 n 1.
Le fait quil ny 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 disomorphisme entre les graphes est une relation dequivalence.
2. Trouver tous les graphes non-isomorphes dordre n 4.

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


q
q

q
q

q
q

q
q

q
q

Correction.
1. On doit montrer que cest 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 dadjacence par exemple.
3. Lisomorphisme entre graphes conserve certaines proprietes les invariants de graphes comme par exemple le nombre de sommets, le
nombre daretes, le degres des sommets mis en relation, lexistence de
cycle, 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 canonique (par exemple, les sommets tries par degres croissants) puis tenter
de 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 associ


ees `
a un graphe.
7

Soit G un graphe fini ayant n sommets si . On definit la matrice AG = (aij )


dadjacence par aij = 1 si les sommets si et sj sont adjacents et aij = 0 sinon.
Le rang de la matrice dadjacence AG est appele le rang du graphe G quon
note rank(G).
1. Montrer que les graphes finis G et H sont isomorphes si, et seulement
si, la matrice dadjacence AG sobtient par les memes permutations des
lignes et des colonnes de la matrice AH .
2. En utilisant la matrice dadjacence du graphe G montrer que le diam`etre d(G)
et le rang rank(G) du graphe G sont lies par linegalite
d(G) rank(G).
(Indic. : utiliser le block de la matrice AG correspondant au chemin le
plus long de G et montrer que son rang est au moins d(G)).
Correction.
1.
2. La distance entre deux sommets est le minimum darete permettant de
relier ces sommets.
Le diam`etre dun graphe est le maximum des distances entre deux
sommets de ce graphe relies par une chane simple.
Exercice 10 Connexit
e.
1. Soit Gn un graphe dont les sommets sont si avec i {1, ..., n}. On joint
deux sommets sk et sm par une arete si, et seulement si, les nombres k

et m sont premiers entre eux. Ecrivez


la matrice dincidence du graphe
G5 .
2. Est ce que le graphe Gn de lexercice precedent est connexe ?
3. Montrer que si le nombre daretes dun graphe G sans boucle et dordre n > 2
2
est strictement superieur `a Cn1
alors G est connexe.
4. Soit G un graphe connexe, montrer que tout couple de deux chanes
simples de longueur maximale de G ont un sommet commun.
5. Montrer quil nexiste pas de graphe dont les degres des sommets sont
tous distincts.
6. Montrer que si le degre minimal (G) = minvV G d(v) dun graphe G
dordre 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 conditions :
2
1 k n, n k m Cnk+1
,
il existe un graphe dordre n ayant exactement m aretes et k composantes connexes.
Correction.
1.
2.
2
3. Si le graphe G a strictement plus de Cn1
aretes, cest un graphe complet et donc connexe.

4. Une chane simple ne peut visiter le meme sommet 2 fois. Une chane
de longueur maximale ne peut etre prolongee. Si ces chanes nont pas
de sommet commun, le graphe a deux composantes connexes disjointes
(preuve `a faire).
5. Cest un exercice de cette feuille. On ne peut avoir en meme temps un
sommet de degres 0 et un sommet de degres n 1. Les degres possibles
du graphe sont compris dans lensemble {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 composante
connexe de x (resp. y) est composee de 1 + (n 1)/2 sommets au minimum de par la condition sur le degree minimal du graphe. Lintersection
de ces composantes connexes ne peut donc etre vide (leur reunion est
dordre 1 + n et donc au moins un sommet est dans les deux composantes) et le graphe est donc connexe.
7. Montrons que m n k en raisonnant par recurrence. Si m = 0, linegalite
est vraie. Supposons cette inegalite vraie pour des graphes dordre n et
considerons un graphe G dordre n + 1 ayant k composantes connexes.
Considerons une arete a et le graphe G0 = G \ {a}. Le nombre de composantes connexes de G0 est soit k, soit k + 1 et son nombre daretes
est m 1. On a donc linegalite
m1nk >nk1
qui permet de conclure.

2
Montrons que m Cnk+1
. Prenons le cas extremes dun graphe ayant k
composantes connexes toutes constituees par un graphe complet. Nous
allons voir que dans ce cas, quil y a k 1 composantes qui sont des
sommets isoles et une composante dordre n k + 1. Raisonnons par
labsurde. On suppose que le nombre daretes de G est maximale.
Soit Kp et Kq deux graphes complets disjoints avec p q > 1. En retirant un sommet de Kq (on supprime les aretes incidentes `a ce sommets) et en lajoutant `a Kp , on augmente lordre du graphe (ce qui
est impossible, car en iterant ce processus, on arrive `a des graphes
dordre fini avec un nombre daretes infinie). Donc, il y a dans le
cas du plus grand nombre daretes une unique composante connexe
dordre n k + 1 ce qui prouve linegalite.

Exercice 11 arbres et for


ets (rang cyclomatique).
On rappelle que le nombre (G) = m(G) n(G) + k(G) est appele rang
cyclomatique dun graph G o`
u m(G), n(G), k(G) designent respectivement
les nombres daretes, de sommets et de composantes connexes de G. Montrer
que
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 methodes
differentes de la preuve : soit par labsurde soit une preuve directe).
Correction. Lexercice 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 ny a pas de
cycle) et k(H) = 1. Donc en prenant un ensemble darbres G, i.e. une
foret, on a bien (G) = 0.
Faisons une recurrence sur le nombre m(G) en fixant lordre 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 ce
graphe est une foret.
Considerons un graphe avec m + 1 aretes tel que (G) = 0. Deux cas
sont possibles :

10

(a) larete am+1 relie deux composantes distinctes du graphe resultant G0


`a m aretes. On a m(G) = m(G0 ) + 1 et k(G) = k(G0 ) 1
(G) = m(G) n + k(G) = m(G0 ) + 1 n + k(G0 ) 1 = 0.
On a donc (G0 ) = 0 et G0 est une foret. On vient juste de coller 2
arbres ensembles sans mettre de cycle, on garde une foret.
(b) larete am+1 relie deux sommets dans la meme composante du
graphe resultant G0 `a m aretes.
(G) = m(G) n + k(G) = m(G0 ) + 1 n + k(G0 ) 1 = 0.
On a donc (G0 ) = 1 ce qui nest pas possible dapr`es lexercice
sur la connexite (car on y voit que n(G) k(G) m(G)).
2. Faisons une recurrence sur le nombre m(G) en fixant lordre 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 poss`ede un cycle.
Si G poss`ede un cycle alors deux sommets sont adjacents `a un troisi`eme.
Dans ce cas, une composante connexe regroupe 3 sommets et les
autres 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 leur
nombre de composantes connexes. Cest `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 poss`ede un cycle, on a k(G) = n(G) 2 et donc (G) = 1.
Supposons maintenant la propriete vraie pour tout graphe ayant m
aretes. Considerons un graphe G ayant m(G) = m + 1 aretes. En
supprimant une arete a, on definit un graphe G0 ; deux cas sont possibles :
11

(a) a est dans un cycle et sa suppression ne modifie pas le nombre


de composante connexe, donc k(G) = k(G0 ).
Si (G) = 1, on a donc :
(G) = 1 = m(G)n(G)+k(G) = m(G0 )+1n(G0 )+k(G0 ) = (G0 )+1.
Ainsi, (G0 ) = 0 et G0 navait pas de cycle. Donc G a un seul
cycle.
Si G0 na pas de cycle, on a
(G0 ) = 0 = m(G0 )n(G0 )+k(G0 ) = m(G)1n(G)+k(G) = (G)1.
Ainsi, si G a un cycle alors (G) = 1.
(b) a nest pas dans un cycle et sa suppression augmente le nombre
de composantes connexes k(G0 ) = k(G) + 1.
Si (G) = 1, on a donc :
(G) = 1 = m(G)n(G)+k(G) = m(G0 )+1n(G0 )+k(G0 )1 = (G0 ).
Dans ce cas, (G0 ) = 1 et par hypoth`ese de recurrence G0 a un
seul cycle. Pour obtenir G, on rajoute une arete qui ne produit
pas de cycle supplementaire. G admet un unique cycle.
Si G a un unique cycle, le graphe induit G0 a aussi un unique
cycle et donc :
(G0 ) = 1 = m(G0 )n(G0 )+k(G0 ) = m(G)1n(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 non
adjacents de ce cycle (pensez au carre avec une diagonale, il y a 3
cycles 2 triangles et le carre , pour le cycle constitue du carre, la
corde est la diagonale).
Faisons maintenant une recurrence sur (G) le nombre de cycle. Les
questions precedentes permettent de traiter les cas (G) = 0 et (G) = 1.
Supposons la propriete vraie pour (G) = p et considerons un graphe G
tel que (G) = p + 1.
Le graphe G poss`ede au moins un cycle (comme nous le montre lexercice precedant).
Prenons une arete a dun cycle de G que lon supprime pour obtenir
un graphe G0 . Le nombre de composantes connexes ne change pas car
cette arete est dans un cycle.
12

Si (G) = p + 1 alors
(G) = p+1 = m(G)n(G)+k(G) = m(G0 )+1n(G0 )+k(G0 ) = (G)+1.
Ainsi, (G) = p et par hypoth`ese de recurrence admet p cycles. Donc
le graphe G admet p + 1 cycles.
Si le graphe G admet p + 1 cycles sans cordes, alors G0 en contient p
(on vient den supprimer un, car il ny a pas de corde en fait, on
compte les faces internes constitues par un cycle). Donc,
(G0 ) = p = m(G0 )n(G0 )+k(G0 ) = m(G)1n(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 quil ny
a pas de cycle, alors (G) = 0 ce qui implique un nombre de composantes connexes negatif. Cest impossible.
Exercice 12 Exemple de raisonnement sur les graphes.
La syldavie est un pays avec 15 villes. On peut aller de chaque ville `a
au moins 7 autres villes du pays par une autoroute. Peut-on se rendre, par
autoroute de la capitale du pays `a chacune des autres villes.
Correction. Soit A une ville quelconque. Lautoroute nous conduit de la
capitale vers au moins 7 villes differentes ; on a donc un reseau de 8 villes
relies par autoroute. De la ville A on peut egalement relier par autoroute au
moins 7 autres villes differentes ; on a donc un nouveau reseau de 8 villes
relies 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 en
au plus deux coups, en passant par cette ville commune ; elle est donc reliee
`a toutes les autres villes du pays.
Exercice 13 Graphe de de Bruijn.
Un code dentree dun dimmeuble est compose de 3 lettres binaires. Trouver un mot de longueur aussi petite que possible qui contient toutes mots
de 3 lettres binaires. (Un tel mot contiendra alors le code dentree).
Pour ce faire construire un graphe oriente compose de 4 sommets representant
des mots binaires de longueur 2 : {00, 01, 11, 10}. Une arete orientee relie tout
sommet ab aux deux sommets b0 et b1.

13

Correction. Du sommet ab partent donc exactement 2 aretes et arrivent


aussi exactement 2 aretes, celles venant des sommets 0a et 1a (si a et b sont
identiques on aura une boucle).
Le graphe ainsi construit poss`ede donc par la version oriente du theor`eme
dEuler un cycle oriente eulerien. On peut coder chaque arete orientee par
un mot de longueur 3, plus precisement, larete orientee partant de ab vers bc
est codee par abc.
Pour obtenir une solution, on part dun sommet quelconque, par exemple 10,
et on parcourt un circuit eulerien : chaque arete parcourue indique quel chiffre
on ajoute `a la droite du mot commence.
On obtient ainsi une suite de 10 chiffres, par exemple ici 1011100010. Le
cycle est :
10 01 11 11 10 00 00 01 10.
Ce resultat peut etre etendu `a un alphabet fini quelconque et `a des mots
de longueur quelconque. On montre ainsi que, etant donne un alphabet de d
lettres, il existe toujours un mot de longueur dn + (n 1) qui contient tous
les mots de longueur n sur cet alphabet une fois et une seule. Dans notre
exemple, nous avons d = 2, n = 3, donc un mot de longueur 8 + 2 = 10.
Exercice 14 Exemple dun graphe complet non planaire.
Montrer que le graphe complet `a 5 sommet (note K5 ) nest pas planaire.
Correction. Raisonnons par labsurde. Supposons une realisation plane de K5
de sommets {a, b, c, d}. Les arcs (a, b), (b, c) et (c, a) forment une courbe
fermee et donc une face. Supposons que le point d soit `a linterieur de cette
face ; si le point e est `a lexterieur, le graphe nest pas planaire. Donc ce point
doit etre `a linterieur du cycle (a, b, c, a). Supposons que ce point e soit dans
la face delimite par le cycle (b, c, d, b) dans ce cas, larc (a, e) coupe ce cycle
et le graphe nest pas planaire. Les autres cas se traitent de la meme facon.
Une autre demonstration repose sur la formule dEuler. K5 a 10 aretes
et 5 sommets et cest un graphe simple connexe donc on aurait 10 3 5 6
ce qui est faux.
Exercice 15 Exemple dun graphe complet non planaire.
Trois consommateurs doivent etre relies `a 3 producteurs leur fournissant 3
produits par des tubes differents. Tracer le plan du reseau ainsi constitue en
respectant une contrainte de non croisement.
14

Correction. Le graphe ainsi obtenu est appele le graphe bi-parti complet


dordre 3 et on le note K3,3 . Nous allons montrer que la relation s a + f = 2
permet de voir que ce graphe nest pas planaire. Le graphe K3,3 a 6 sommets
et 9 aretes. Donc, on a la relation f = 5 dans notre cadre. Il nous faut maintenant 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 lautre {, , } et un triangle comporterait
necessairement 2 (ou 3) sommet de la meme partie. Donc toute face est
bordee par 4 aretes et donc 4f 2a. Dans notre cas, 4f = 20 et 2a = 18.
Exercice 16 Utilisation de la puissance de la matrice dadjacence.
Un voyageur veut aller de la ville 1 `a la ville 9 dans un reseau donne par
le 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 dadjacence.
Exercice 17 Exemple de graphe probabiliste.
Un individu peut etre dans 3 etats differents : immunise I, malade M ou
sain S. Dun momment de mesure `a un autre, letat peut evoluer selon les
r`egles :
etant I, il peut le rester avec une probabilite 0.9 ou passer `a letat S
avec une probabilite 0.1 ;
etant S, il peut le rester avec une probabilite 0.5 ou passer `a letat M
avec une probabilite 0.5 ;
etant M, il peut le rester avec une probabilite 0.2 ou passer `a letat I
avec une probabilite 0.8.
Questions.
1. Dessinez le graphe probabiliste decrivant cette situation.

15

2. Calculer la probabilite quun individu soit dans letat M ou I au bout


de 3 mesures dans chacune des situations de depart suivantes : I, M
et S.
3. Que peut on dire de la proportion dindividu dans letat M au bout
dun an ?
Correction.
1.
2. La matrice de transition associee est :

9 0 1
1
8 2 0 .
10
0 5 5
Exercice 18 Exemple dautomate.
Proposez un automate deterministe permettant de reconnatre les multiples de 3.
Correction. Lautomate va avoir 4 etats : init, 0, 1 et 2 qui sont les restes
modulo 3 possibles. On part de letat init puis `a chaque lettre decimale
constituant le nombre, on prend letat correspondant.
Exercice 19 Graphes planaires.
1. Montrer que la formule dEuler peut etre generalisee pour un graphe
planaire ayant n sommets, m aretes, f faces et k composantes connexes
comme suit :
n m + f = k + 1.
2. Montrer que pour un graphe planaire avec k composantes connexes, on
a m 3(n k 1).
Correction.
1. Nous allons refaire la demonstration de la formule dEuler en suivant
la demarche classique :
prouver laformule pour une foret de k arbres ;
passer des arbres aux graphes en ajoutant des aretes.

16

Lidee de base est que tout graphe planaire connexe sobtient `a partir
dun arbre par ajout daretes.
Pour chaque un arbre, on a la relation m = n 1. Ceci implique que
pour une foret, on a la relation m = n k. Puisque dans une foret,
il ny a quune face (la face exterieure, et donc f = 1), on a bien la
relation :
n m + f = k + 1.
Passons maintenant aux graphes. On fixe le nombre de sommets et on
fait une recurrence sur le nombre darete (i.e. on ajoute des aretes `a un
graphe G0 pour obtenir un graphe G). En ajoutant une aretes soit :
on relie deux composantes connexes en une seule m(G) = m(G0 ) + 1
et k(G) = k(G0 ) 1. Cela ne change ni le nombre de sommets ni le
nombre de face. On a :

0 = nm(G0 )+f k(G0 )1 = n(m(G0 )+1)+f (k(G0 )1)1 = nm(G)+f k(G)1


on le nombre de composantes connexes reste fixe et on vient dajouter
une face :

0 = nm(G0 )+f (G0 )k1 = n(m(G0 )+1)+(f (G0 )+1)k1 = nm(G)+f (G)k1.
Ceci montre que la formule reste vraie.
2. Commencons par montrer un analogue du lemme des poignees de mains
pour les faces. Le degre dune face est le nombre daretes que lentourent. En sommant lensemble des degres, on trouve 2 fois le nombre
daretes :
X
d(f ) = 2m.
face
Toute face est bordee par au moins 3 aretes. Donc d(f ) 3. On en
conclut donc que 2m 3f . En utilisant la formule dEuler, on obtient
donc que
3f = 3k + 3 3n + 3m 2m,

3n 3k 3 m.

Exercice 20 Poly`
edres r
eguliers connexes : eul
eriens et hamiltoniens.
Verifier si les graphes definis par les poly`edres reguliers convexes (tetra`edre,
cube, octa`edre, dodeca`edre, icosa`edre) sont euleriens (resp. hamiltoniens).
Correction.
17

Un circuit est simple sil ne contient pas deux fois le meme arc.
Un circuit est eulerien sil est simple et contient tous les arcs dun
graphe.
Un circuit est elementaire sil ne contient pas deux arcs de meme origine
ou de meme but.
Un circuit est hamiltonien sil est elementaire et contient tous les sommets dun graphe.
Le theor`eme dEuler permet de determiner si un graphe est euleriens.
Un graphe non oriente sans sommets isoles poss`ede un cycle eulerien si,
et seulement si,
1. Il est connexe.
2. Il a 0 ou 2 sommets de degre impair.
Dans le cas o`
u il ny a aucun sommet de degre impair, cette chane eulerienne
est un cycle. Dans le cas o`
u il y en a deux, ce sont les extremites de la chane.
Le theor`eme de Dirac permet de decider si certains graphes sont planaires : Si chaque sommet dun graphe de n sommets est de degre superieur
ou egal `a n/2 alors le graphe admet un cycle hamiltonien.
Les poly`edres reguliers (les degres des sommets sont tous egaux) convexes
verifient la relation deuler :
s a + f = 2.
Le lemme des poignees de mains permet de conclure sur les degres des
poly`edres reguliers :
a
d=2 .
s
Poly`edre
Sommets
tetra`edre
4
cube
8
octa`edre
6
dodeca`edre
20
icosa`edre
12

Aretes
6
12
12
30
30

Faces
4
6
8
12
20

degres
3
3
4
3
5

euleriens
non
non
oui
non
non

hamiltonien
oui
oui
oui
oui
oui

Comme tous les poly`edres reguliers convexes sont complets et planaires, on


peut donner une representation plane.
Exercice 21 Mod
elisation et graphe hamiltoniens.
18

Un groupe de 9 chevaliers se reunit chaque jours autour dune table ronde.


Combien de jour au plus peuvent-ils se reunir si lon souhaite que personne
nait deux fois le meme voisin ?
Correction. On peut regarder le graphe complet `a 9 sommets (les chevaliers). Une arete peut se comprendre comme le fait que les cheveliers incidents
sont voisins. Un circuit hamiltonien est une disposition autour de la table. La
question est donc de savoir combien il y a de circuits hamiltoniens disjoints
dans K9 .
Le graphe K9 poss`ede (8 9)/2 aretes dapr`es le lemme des poignees de
mains, soit 36 aretes. De plus, chaque cycle doit utiliser 9 aretes (pour relier
les chevaliers). Il ne peut donc y avoir que 4 cycles au maximum.
Exercice 22 Existence dun graphe.
Considerons 13 telephones. Est-il possible de les relier par des fils telephoniques
de sorte que chaque appareil soit relie avec exactement 3 autres ?
Correction. Les sommets sont les telephones et les aretes sont les fils. Or
le lemme des poignees de mains interdit cette situation (39 est un nombre
impair).
Exercice 23 Coloration de graphe.
Les etudiants a, b, c, d, e et f doivent passer des examens occupant une
demi-journee dans differentes disciplines :
mati`ere
etudiants
algorithmique
a,b
c,d
compilation
bases de donnees c, e, f, g
Java
a, e, f, h
Architecture
b,f,g,h
Organiser la session dexamen la plus courte possible.
Correction. On peut construire un graphe non oriente dont chaque sommet
est une discipline et dont les aretes correspondent aux incompatibilites (i.e.
aux etudiants devant assister `a deux examens).
Le reste est un probl`eme de coloration, chaque couleur etant une demijournee.
Le nombre chromatique du graphe est le nombre minimal de demi-journee.

19

Exercice 24 Graphe dar


etes associ
e`
a un graphe.

Etant
donne un graphe G, le graphe daretes L(G) associe au graphe G
est le graphe dont les sommets sont les aretes de G et tel que deux sommets
de L(G) sont adjacents si, et seulement si, les aretes correspondantes de G
sont incidentes.
Questions.
1. Dessinez les graphes L(G) pour G = Kn avec n 4.
2. Montrer que le nombre daretes du graphe L(G) verifie :
Pn(G)
i=1

di2

m(G)

avec n(G) le nombre de sommets, m(G) le nombre daretes de G et di


le degre du i`eme sommet.
3. On consid`ere le gaphe G definit par la matrice dadjacence suivante :
s1
s2
s3
s4
s5
s6
s7
s8

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

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


graphe.)
(b) Combien le graphe G a-t-il daretes ?
(c) Ce graphe est-il eulerien ?
(d) Combien le graphe L(G) a-t-il daretes ?
(e) Le graphe L(G) est-il planaire ?
Correction.
1.
20

2. Considerons un graphe G obtenu `a partir dun graphe G0 par lajout


dune arete entre les sommets s1 et s2 de G0 . Par definition, on a :
n(L(G)) = n(L(G0 )) + 1,

m(L(G)) = m(L(G0 )) + d1 (G0 ) + d2 (G0 ).

En effet, en rajoutant une arete `a G0 , on rajoute un sommet `a L(G).


De plus, le nombre daretes de L(G) augmente de d1 (G0 ) + d2 (G0 ) car
cette nouvelle arete est incidente avec d1 (G0 ) + d2 (G0 ) aretes de G0 .
On peut maintenant raisonner par recurrence. Pour tout graphe G
ayant 1 unique arete, L(G) na pas darete et on a bien :
Pn(G) 2
i=1 di
= 1, m(G) = 1.
2
La relation est donc vraie pour m(L(G)) = 1.
Supposons cette relation vraie pour un graphe G0 ayant n aretes et
ajoutons lui une arete entre les sommets s1 et s2 . On a :
Pn(G0 ) 2
di
0
0
0
m(L(G)) = m(L(G ))+d1 (G )+d2 (G ) = i=1
m(G0 )+d1 (G0 )+d2 (G0 ).
2
Ce qui peut secrire :
Pn(G0 ) 2
di
d12 (G0 ) + d22 (G0 ) + 2d1 (G0 ) + 2d2 (G0 ) + 2
m(L(G)) = i=3
(m(G0 )+1)+
.
2
2
Or comme dans notre situation dj (G) = dj (G0 ) + 1 pour j = 1, 2 et di (G) = di (G0 )
pour i > 2, on a bien :
Pn(G) 2
di (G)
m(L(G)) = i=1
m(G).
2
3. (a)
(b) m(G) = (73 + 7)/2 = 28/2 = 14 dapr`es le lemme des poignes de
mains.
(c) Puisquil y a 7 sommets de degre impair, le theor`eme dEuler
montre que ce graphe nest pas eulerien.
(d) m(L(G)) = (72 + 79)/2 14 = 42 dapr`es le resultat precedent.
(e) Pour un graphe planaire, on doit avoir m(L(G)) 3n(L(G)) 6
ce qui nest pas le cas dans notre exemple.
21


Exercice 25 Etude
dune 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 correspondantes sobtiennent lune de lautre 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 daretes ?
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 Cn2 .
3. Le lemme des poignes de mains indique n!Cn2 /2.
4. Non car on a n!Cn2 /2 > 3n! 6.

22