Académique Documents
Professionnel Documents
Culture Documents
Annee 2007-08
Periode 1
Graphes et Automates
B. Gugger
F. Madelaine
C. Simon
D. Richard
Feuille de TD n3
Les polycopies du cours, les feuilles de TD et quelques corriges sont disponibles `a
lurl suivante.
http ://laic.u-clermont1.fr/~fmadelaine/teaching/graphe1.html
Pr
eliminaires
Un peu de vocabulaire
Un graphe est un couple G = (S, A) o`
u:
S est un ensemble fini non vide dont les elements sont appeles sommets
A est un ensemble de paires de sommets appelees ar
etes.
Si a = {x, y} est une arete, on dit alors que x et y sont voisins ou adjacents dans le
graphe G.
Lordre dun graphe G = (S, A) est le nombre de sommets ; la taille de G est le nombre
daretes.
Si p et q sont des entiers de N , le graphe biparti complet Kp,q est un graphe dordre
p + q, dont lensemble S des sommets est de la forme S = S 0 S 00 avec S 0 et S 00 disjoints de
cardinaux respectifs p et q et dont les aretes sont exactement les paires x0 x00 o`
u x0 S 0 et
00
00
x S . Ainsi, Kp,q est de taille pq.
Si n 2, la chane Pn (P comme (( path ))) est un graphe dordre n dont les sommets
peuvent etre ordonnes en une suite (x1 , . . . , xn ) telle que les aretes de ce graphe sont les paires
xi xi+1 pour 1 i n 1. Ainsi, Pn est de taille n 1. On dit aussi que Pn est de longueur
n 1. Par abus, on admet quun sommet seul forme une chane (de longueur nulle).
Si n 2, le cycle Cn (C comme (( cycle ))) est un graphe dordre n dont les sommets
peuvent etre ordonnes en une suite (x1 , . . . , xn ) telle que les aretes de ce graphe sont les
paires xi xi+1 pour 1 i n 1 et xn x1 . Ainsi, Cn est de taille n.
Si n 2, l
etoile Sn (S comme (( star ))) est un graphe dordre n pour lequel il existe un
sommet adjacent `
a tous les autres et ce sont les seules adjacences. Ainsi, Sn est de taille n 1.
Si n 3, la roue Wn (W comme (( wheel ))) est un graphe dordre n constitue dun cycle
dordre n 1 et dun sommet supplementaire adjacent `a tous les sommets du cycle. Ainsi,
Wn est de taille 2n 2.
Isomorphismes de graphes
On sinteresse souvent `
a des proprietes sur les graphes pour lesquelles seule la forme generale
du graphe compte, cest-`
a-dire pour lesquelles le nom des sommets est sans importance. On
1
feuille de TD n 3
Graphe et Automates
dit que deux graphes sont isomorphes (du grec qui signifie litteralement de meme forme) si
au nom des sommets pr`es les graphes sont les memes. Formellement, deux graphes G = (S, A)
et G0 = (S 0 , A0 ) sont dits isomorphes sil existe une bijection f : S S 0 telle que :
x, y S
xy A f (x)f (y) A0
Un telle fonction est appellee un isomorphisme.
Remarque. En pratique pour montrer que deux graphes sont isomorphes on exhibera un isomorphisme qui montrera precisement comment on peut renommer les sommets. Pour montrer
que deux graphes ne sont pas isomorphes, on trouvera une proprietee qui separe les deux
graphes. Par exemple : lun a un sommet de degre 1, lautre nen a pas, ou encore lun a un
cycle de taille 3 et lautre nen a pas.
Les degr
es dun graphe
Le degr
e dun sommet x de G est le nombre de ses voisins. En particulier, le degre de x vaut
0 si le sommet x est isole. On note le degre de x par deg(x).
Proposition 1. Dans un graphe,
(i) la somme des degres des sommets est double de la taille du graphe ; et,
(ii) le nombre de sommets de degres impairs est pair.
Soit n N et soit s = (d1 , d2 , . . . , dn ) une suite croissante dentiers naturels. On dit que s
est une s
equence de degr
es sil existe un graphe G = (S, A) dordre n avec S = {x1 , . . . , xn )
et deg(xi ) = di pour 1 i n.
Remarque. Deux graphes isomorphes ont meme sequence de degres car si deux sommets x et
x0 se correspondent par lisomorphisme, x et x0 ont meme degre. Par contre, la reciproque est
fausse : deux graphes ayant meme sequence de degres ne sont pas necessairement isomorphes
(voir lexercice 2)
Nous allons maintenant caracteriser de facon recursive, les suites croissantes dentiers
naturels finies qui sont des sequences de degres.
Proposition 2 (Caract
erisation des s
equences de degr
es). Soit n entier naturel superieur ou egal `
a 1 et soit s = (d1 , . . . , dn ) une suite croissante dentiers naturels avec dn n1.
Soit s0 = (d01 , . . . , d0n1 ) la suite obtenue a
` partir de s :
en supprimant le terme dn
en soustrayant 1 aux dn derniers termes restants (cest-`
a-dire `
a chaque dk pour ndn
k n 1)
en reordonnant la suite obtenue en une suite croissante.
Alors, s est une sequence de degres si et seulement si s0 est une sequence de degres.
Remarque. La condition dn n 1 est necessaire si lon veut que s soit une sequence de
degres (dans un graphe dordre n, le degre maximum dun sommet est n 1).
feuille de TD n 3
Graphe et Automates
Chemin et connexit
e
D
efinitions
Soit G = (S, A) un graphe. Un chemin dans G est une liste finie de sommets de G telle que
deux sommets consecutifs de la liste soient adjacents. Le premier et le dernier element de la
liste sont appeles d
epart et arriv
ee ou simplement extr
emit
es du chemin. La longueur
dun chemin est le nombre daretes le constituant. Par exemple, un chemin de longueur nulle
est constitue dun sommet seulement.
On veut definir formellement la notion pour un graphe detre (( en un seul morceau )), ou
bien lorsque le graphe nest pas en un seul tenant, des parties du graphe qui le sont. Soient
x et y deux sommets de G. Le sommet x est dit en relation avec y sil existe un chemin dans
G de depart x et darrivee y. On note alors xRy.
Proposition 3. La relation R est une relation dequivalence sur G.
Les classes dequivalence modulo la relation R sont appelees classes de connexit
e de G.
La classe de connexit
e dun sommet x de G est la classe de connexite de G contenant x.
Un graphe G est dit connexe sil poss`ede une seule classe de connexite.
feuille de TD n 3
Graphe et Automates
Probl`
emes de distances
feuille de TD n 3
Graphe et Automates
Exercice 5. Soit H le graphe qui consiste en une copie de la roue W6 dont le centre x
(cest-`a-dire lunique sommet de degre 5) est adjacent `a lextremite dune copie de la chane
P4 .
a - Dessiner le graphe H, donner sa taille, son ordre et sa sequence de degres.
b - Appliquer lalgorithme de classe de connexite `a H et x.
c - En deduire que le graphe est connexe.
Exercice 6 (Exercice pour (( matheux ))). a - Demontrer le lemme de la chane extraite. (indication, faire une recurrence sur le nombre daretes, ou encore sur le nombre de fois ou
un sommet est repete dans le chemin).
b - Montrer la transitivite de la relation dont les classes dequivalence sont les classes de
connexite dun graphe.
c - Montrer que dans un graphe, si x, y et z sont des sommets, d(x, y) d(x, z) + d(z, y).
Exercice 7. Pour le graphe G de la figure 2 utiliser lalgorithme de Dijkstra pour trouver
les distances d(x, a) o`
u a G. En particulier, determiner un chemin de poids minimum reliant
x `a y.
4
2
x
3
y
2
6
3
5
3
Fig. 2 Graphe G
Arbres
feuille de TD n 3
Graphe et Automates
feuille de TD n 3
Graphe et Automates
4
1
8
2
3
7
9
x
Fig. 3 Graphe G
Coloration
Nombre chromatique
Soit G un graphe et soit k un entier naturel non nul. Une k-coloration de G est une coloration
des sommets de G utilisant k couleurs. Une k-coloration est dite valide ou appelee aussi
bonne k-coloration si deux sommets adjacents du graphe G nont pas la meme couleur.
Le nombre chromatique de G note (G) est lentier minimum k tel quil existe une
bonne k-coloration de G.
Remarque. Pour le graphe complet Kn , le nombre chromatique est n. Et, le nombre chromatique dun arbre avec au moins une arete est 2.
Proposition 10 (Encadrement du nombre chromatique). Si G est un graphe, on note
(G) le degre maximum dun sommet et (G) lordre maximum dun sous-graphe complet de
G. Alors, (G) (G) (G) + 1.
Coloration gloutonne
On propose un algorithme utilisant, apr`es choix de lordre des sommets `a colorier, le moins
de couleurs possibles pour obtenir une bonne coloration.
Soit G = (S, A) un graphe dordre n et soit (x1 , . . . , xn ) la suite des sommets deG.
On note 1, 2, 3, . . . les couleurs utilisees dans lordre. Voici lalgorithme :
Pour i de 1 `
a n faire
affecter `
a xi la plus petite couleur non d
ej`
a affect
ee
aux voisins de xi parmi {x1 , . . . , xi1 } ;
fin pour.
feuille de TD n 3
Graphe et Automates
Maintenant, la proposition suivante montre quun choix adequat de lordre des sommets
permet dobtenir une bonne coloration minimale des sommets par lalgorithme de coloration
gloutonne.
Proposition 11. On peut toujours trouver un ordre sur les sommets dun graphe G tel que
lalgorithme de coloration gloutonne donne une bonne coloration minimum de G.
Remarque. Le probl`eme de decision (( est-ce-que le graphe a nombre chromatique 3 )) est difficile
(NP-complet). En particulier, il ny a pas dalgorithme connu de complexite polynomiale (par
rapport `a lordre du graphe), permettant de repondre `a cette question.
Dans lalgorithme glouton par exemple, la recherche dun ordre correct sur les sommets
pour obtenir une bonne coloration minimale est de lordre de n! et est loin detre polynomiale !
Polyn
ome chromatique
Si G est un graphe et k un entier naturel, on note PG (k) le nombre de k-colorations valides
du graphe G. La fonction PG est une fonction polynomiale appelee polyn
ome chromatique
de G.
Lemme 2. Pour un graphe complet Kn , on a PKn (k) = k(k 1) (k n + 1). Pour un
graphe G dordre n et de taille nulle, PG (k) = k n
Lidee principale de lalgorithme de calcul du polynome chromatique consiste `a observer
que etant donne un graphe G et deux sommets x et y non-adjacents, on a deux types de
colorations valides : celles pour lesquelles la couleur de x et la meme que celle de y, et
celles pour lesquelles la couleur ce x et de y sont differentes. Autrement dit le premier type
correspond `
a des colorations valides du graphe G/(x = y) (le graphe obtenu en identifiant
x et y en un seul sommet) et le second type correspond `a des colorations valides du graphe
G + {xy} (le graphe obtenu en ajoutant larete {x, y}). Le nombre total de coloriage valide
est la somme de ces deux cas. On a donc le resultat suivant.
Lemme 3. Si x et y sont deux sommets non adjacents de G, alors
PG (k) = PG+{xy} (k) + PG/(x=y) (k).
La seconde idee et dobserver quon peut colorier independemment les composantes connexes
dun graphe.
Lemme 4. Soit G un graphe dont les composantes connexes sont G1 , . . . , Gp . Alors PG (k) =
PG1 (k)PG2 (k) PGp (k).
On obtient donc un algorithme simple pour calculer recursivement le polynome chromatique dun graphe G dordre n.
Algorithme pour le calcul du polyn
ome chromatique
1. Si le graphe nest pas connexe alors prendre le produit des polyn^
omes chromatiques de ces composantes connexes
2. Si le graphe est connexe mais pas complet alors choisir deux sommets
x et y et faire la somme des polyn^
omes chromatiques de G + {xy} et
G/(x = y).
3. Si le graphe est complet alors prendre PKn (k) = k(k 1) (k n + 1).
8
feuille de TD n 3
Graphe et Automates
Fig. 4 Graphe G
Fig. 5 Graphe G
Exercice 13. On rappelle quun graphe G = (S, A) est bipartie si et seulement si il existe une
partition de ces sommets S en deux ensembles S1 et S2 tels que toutes les aretes du graphe
ont une extremite dans S1 et une dans S2 .
a- Montrer quun graphe bipartie de taille non nulle a pour nombre chromatique 2.
b- Montrer quun graphe a pour nombre chromatique 2 si il est bipartie et de tqille non nulle.
c- Montrer quun cycle dordre impair a pour nombre chromatique 3.
d- En deduire quun graphe ayant un cycle impair ne peut pas etre bipartie
e- (question plus difficile) Montrer quun graphe qui nest pas bipartie a forcement un cycle
dordre impair.
Exercice 14. a- Montrer que PKn (k) = k(k 1) (k n + 1)
b- Montrer que PIn (k) = k n , o`
u In est le graphe dordre n et de taille nulle.
c- Montrer que PWn (k) = k.PCn1 (k 1).
d- Montrer que PSn (k) = k.(k 1)n1 .
feuille de TD n 3
Graphe et Automates
10