cours graph es

Upload: redagalois

Post on 18-Jul-2015

281 views

Category:

Documents


0 download

TRANSCRIPT

Introduction la thorie des graphes

Didier Mller, 2008 www.apprendre-en-ligne.net/graphes

Table des matires

1. Graphes non orients...................................................................................................................................................2 2. Graphe partiel et sous-graphe.....................................................................................................................................4 3. Degrs.........................................................................................................................................................................5 4. Chanes et cycles.........................................................................................................................................................6 5. Graphes eulriens........................................................................................................................................................7 6. Graphes hamiltoniens..................................................................................................................................................9 7. Graphes planaires........................................................................................................................................................9 8. Matrice et listes d'adjacences....................................................................................................................................10 9. Arbres........................................................................................................................................................................11 10. Codage de Prfer.....................................................................................................................................................12 11. Arbres couvrants......................................................................................................................................................15 12. Arborescences.........................................................................................................................................................16 13. Codage de Huffman................................................................................................................................................17 14. Coloration des sommets..........................................................................................................................................19 15. Coloration des sommets d'un graphe planaire........................................................................................................22 16. Coloration des artes...............................................................................................................................................23 17. Graphes orients (digraphes)..................................................................................................................................23 18. Degr d'un sommet d'un digraphe...........................................................................................................................24 19. Chemins et circuits..................................................................................................................................................24 20. Matrice et listes d'adjacences..................................................................................................................................25 21. Digraphes sans circuits...........................................................................................................................................26 22. Algorithme de Dijkstra............................................................................................................................................27 23. Mthode PERT........................................................................................................................................................29 24. Introduction aux chanes de Markov.......................................................................................................................31 25. Distribution limite...................................................................................................................................................32 26. Chane absorbante...................................................................................................................................................34 Lexique sur les graphes.................................................................................................................................................37 Quelques rfrences sur la thorie des graphes............................................................................................................44

1

1.

Graphes non orients

Un graphe fini G = (V, E) est dfini par l'ensemble fini V = {v1, v2, ..., vn} (|V| = n) dont les lments sont appels sommets, et par l'ensemble fini E = {e1, e2, ..., em} (|E| = m) dont les lments sont appels artes. Une arte e de l'ensemble E est dfinie par une paire non-ordonne de sommets, appels les extrmits de e. Si l'arte e relie les sommets a et b, on dira que ces sommets sont adjacents, ou incidents avec e, ou encore que l'arte e est incidente avec les sommets a et b. On appelle ordre d'un graphe le nombre de sommets (n) de ce graphe.

Reprsentation graphiqueLes graphes tiennent leur nom du fait qu'on peut les reprsenter par des dessins. chaque sommet de G, on fait correspondre un point distinct du plan et on relie par une courbe simple les points correspondant aux extrmits de chaque arte. Exemple Il existe une infinit de manires de reprsenter graphiquement un graphe. Vous voyez ci-contre deux reprsentations graphiques du mme graphe G = (V, E) dcrit ci-dessous par l'ensemble de ses sommets et l'ensemble de ses artes. Ensemble des sommets : V = {1, 2, 3, 4, 5} Ensemble des artes : E = {(1, 3), (1, 4), (1, 5), (2, 3), (3, 4), (3, 5), (4, 5)} Une reprsentation non planaire de G Une reprsentation planaire de G

Quelques types de graphesSi on arrive dessiner le graphe sans qu'aucune arte n'en coupe une autre (les artes ne sont pas forcment rectilignes), on dit que le graphe est planaire. Les graphes ci-dessus sont simples, mais on peut imaginer des graphes avec une arte qui relie un sommet lui-mme (une boucle), ou plusieurs artes reliant les deux mmes sommets (voir ci-dessous, gauche). Dans ce cas, on parle de multigraphe. Un graphe est connexe s'il est possible, partir de n'importe quel sommet, de rejoindre tous les autres en suivant les artes. Un graphe non connexe se dcompose en composantes connexes. Sur le graphe ci-dessous, au milieu, les composantes connexes sont {1, 2, 3, 4} et {5, 6}.

Graphe non simple (multigraphe) V = {1, 2, 3, 4} E = {(1,1), (1,3), (1,4), (2,3), (2,3), (3,4)}

Graphe non connexe V = {1, 2, 3, 4, 5, 6} E = {(1,3), (1,4), (2,3), (3,4), (5,6)}

Graphe complet K5 V = {1, 2, 3, 4, 5} E = {(1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (3,4), (3,5), (4,5)} 2

Graphe biparti V = {1, 2, 3, 4, 5} E = {(1,2), (1,4), (2,3), (2,5), (3,4), (4,5)}

Un graphe est complet si chaque sommet du graphe est reli directement tous les autres sommets (voir ci-dessus). Un graphe est biparti si ses sommets peuvent tre diviss en deux ensembles X et Y, de sorte que toutes les artes du graphe relient un sommet dans X un sommet dans Y (dans l'exemple ci-dessus droite, on a X = {1, 3, 5} et Y = {2, 4}, ou vice versa). Exercice 1.1 On a 6 wagons trier. Dans la gare de triage, les wagons entrent dans l'ordre 2, 5, 3, 6, 1, 4 et doivent sortir dans l'ordre croissant. Deux wagons i et j peuvent tre mis sur la mme voie si et seulement s'ils entrent dans l'ordre dans lequel ils doivent sortir. Dessinez un graphe illustrant la situation, en indiquant ce que reprsentent les sommets et les artes de votre graphe. Quel sera le nombre minimal de voies ncessaires au tri ? Exercice 1.2 Trois professeurs P1, P2, P3 doivent donner ce lundi un certain nombre d'heures de cours trois classes C1, C2, C3:

P1 doit donner deux heures de cours C1 et une heure C2 ; P2 doit donner une heure de cours C1, une heure C2 et une heure C3 ; P3 doit donner une heure de cours C1, une heure C2 et deux heures C3.

Comment reprsenter cette situation par un graphe ? Quel type de graphe obtenez-vous ? Combien faudra-t-il de plages horaires au minimum ? Aidez-vous du graphe pour proposer un horaire du lundi pour ces professeurs. Exercice 1.3 Un tournoi d'checs oppose 6 personnes. Chaque joueur doit affronter tous les autres. Construisez un graphe reprsentant toutes les parties possibles. Quel type de graphe obtenez-vous ? Si chaque joueur ne joue qu'un match par jour, combien de jours faudra-t-il pour terminer le tournoi ? Aidez-vous du graphe pour proposer un calendrier des matches. Exercice 1.4 Sur un chiquier 3x3, les deux cavaliers noirs sont placs sur les cases a1 et c1, les deux cavaliers blancs occupant les cases a3 et c3. Aidez-vous d'un graphe pour dterminer les mouvements qui permettront aux cavaliers blancs de prendre les places des cavaliers noirs, et vice versa.

Exercice 1.5 Un jour, Sherlock Holmes reoit la visite de son ami Watson que l'on avait charg d'enquter sur un assassinat mystrieux datant de plus de trois ans. l'poque, le Duc de Densmore avait t tu par l'explosion d'une bombe, qui avait entirement dtruit le chteau de Densmore o il s'tait retir. Les journaux d'alors relataient que le testament, dtruit lui aussi dans l'explosion, avait tout pour dplaire l'une de ses sept ex-pouses. Or, avant de mourir, le Duc les avait toutes invites passer quelques jours dans sa retraite cossaise.

Holmes : Je me souviens de cette affaire ; ce qui est trange, c'est que la bombe avait t fabrique spcialement 3

pour tre cache dans l'armure de la chambre coucher, ce qui suppose que l'assassin a ncessairement effectu plusieurs visites au chteau !

Watson : Certes, et pour cette raison, j'ai interrog chacune des femmes : Ann, Betty, Charlotte, Edith, Flicia, Georgia et Helen. Elles ont toutes jur qu'elles n'avaient t au chteau de Densmore qu'une seule fois dans leur vie. Holmes : Hum ! Leur avez-vous demand quelle priode elles ont eu leur sjour respectif ? Watson : Hlas ! Aucune ne se rappelait les dates exactes, aprs plus de trois ans ! Nanmoins, je leur ai demand qui elles avaient rencontr :

Ann a rencontr Betty, Charlotte, Flicia et Georgia. Betty a rencontr Ann, Charlotte, Edith, Flicia et Helen. Charlotte a rencontr Ann, Betty et Edith. Edith a rencontr Betty, Charlotte et Flicia. Flicia a rencontr Ann, Betty, Edith et Helen. Georgia a rencontr Ann et Helen. Helen a rencontr Betty, Flicia et Georgia.

Vous voyez, mon cher Holmes, les rponses sont concordantes ! C'est alors que Holmes prit un crayon et dessina un trange petit dessin, avec des points marqu A, B, C, E, F, G, H et des lignes reliant certains de ces points. Puis, en moins de trente secondes, Holmes dclara : Tiens, tiens ! Ce que vous venez de me dire dtermine d'une faon unique l'assassin. Qui est l'assassin ?

2.

Graphe partiel et sous-graphe

Soit G = (V, E) un graphe. Le graphe G' = (V, E') est un graphe partiel de G, si E' est inclus dans E. Autrement dit, on obtient G' en enlevant une ou plusieurs artes au graphe G. Pour un sous-ensemble de sommets A inclus dans V, le sous-graphe de G induit par A est le graphe G = (A, E(A)) dont l'ensemble des sommets est A et l'ensemble des artes E(A) est form de toutes les artes de G ayant leurs deux extrmits dans A. Autrement dit, on obtient G' en enlevant un ou plusieurs sommets au graphe G, ainsi que toutes les artes incidentes ces sommets. Un graphe partiel d'un sous-graphe est un sous-graphe partiel de G. On appelle clique un sous-graphe complet de G. On appelle stable un sous-graphe de G sans artes.

Soit le graphe G = (V, E) V = {v1, v2, v3, v4, v5} E = {e1=(v1,v2), e2=(v2,v3), e3=(v1,v3), e4=(v3,v4), e5=(v3,v5)}

Graphe partiel de G V' = V E' = {e1, e4, e5}

Sous-graphe de G V' = {v1, v3, v4, v5} E' = {e3, e4, e5}

4

Une clique de G Sous-graphe partiel de G V' = {v1, v2, v3, v4} E' = {e1, e4} V' = {v1, v2, v3} E' = {e1, e2, e3}

Un stable de G V' = {v1, v4, v5} E' = {}

Exercice 2.1 Montrez que dans un groupe de six personnes, il y en a ncessairement trois qui se connaissent mutuellement ou trois qui ne se connaissent pas (on suppose que si A connat B, B connat galement A). Montrez que cela n'est plus ncessairement vrai dans un groupe de cinq personnes.

3.

Degrs

Degr d'un sommetPour un graphe ou un multigraphe, on appelle degr du sommet v, et on note d(v), le nombre d'artes incidentes avec ce sommet. Attention ! une boucle sur un sommet est compte deux fois. Dans un graphe simple, on peut aussi dfinir le degr d'un sommet comme tant le nombre de ses voisins (la taille de son voisinage). Dans le graphe ci-contre, on a les degrs : d(v1) = 2 d(v2) = 1 d(v3) = 3 d(v4) = 2 d(v5) = 1 d(v6) = 1

Lemme des poignes de mainsLa somme des degrs des sommets d'un graphe est gale deux fois le nombre d'artes.

Degr d'un grapheLe degr d'un graphe est le degr maximum de tous ses sommets. Dans l'exemple ci-dessus, le degr du graphe est 3. Un graphe dont tous les sommets ont le mme degr est dit rgulier. Si le degr commun est k, alors on dit que le graphe est k-rgulier. 5

Exercice 3.1 Une suite dcroissante (au sens large) d'entiers est graphique s'il existe un graphe simple dont les degrs des sommets correspondent cette suite (par exemple, le triangle trois sommets correspond la suite 2, 2, 2). Les suites suivantes sont-elles graphiques ? a) b) c) d) e) f) 3, 3, 2, 1, 1 3, 3, 1, 1 3, 3, 2, 2 4, 2, 1, 1, 1, 1 5, 3, 2, 1, 1, 1 5, 4, 3, 1, 1, 1, 1

Trouvez deux graphes distincts correspondant la suite (3, 2, 2, 2, 1). Exercice 3.2 Dmontrez le lemme des poignes de mains. Exercice 3.3 Montrez qu'un graphe simple a un nombre pair de sommets de degr impair. Exercice 3.4 Est-il possible de relier 15 ordinateurs de sorte que chaque appareil soit reli avec exactement trois autres? Exercice 3.5 On s'intresse aux graphes 3-rguliers. Construisez de tels graphes ayant 4, 5, 6, puis 7 sommets. Qu'en dduisez-vous ? Prouvez-le ! Exercice 3.6 Un groupe de 15 fans dun chanteur clbre, possde les deux particularits suivantes :

chaque personne connat au moins 7 autres toute information dtenue par une personne est rpercute dans la minute qui suit ses connaissances (et uniquement elles)

Quel est le temps maximal entre le moment o un des 15 fans apprend une chose nouvelle sur leur idole, et celui o le groupe entier est au courant ?

4.

Chanes et cycles

Une chane dans G, est une suite de la forme (v0, e1, v1, e2, ..., vk-1, ek, vk) ayant pour lments alternativement des sommets (vi) et des artes (ei), commenant et se terminant par un sommet, et telle que les extrmits de ei soient vi-1 et vi, i = 1, ..., k. Si v0 = a et vk = b, on dira que la chane relie a et b. En plus, on dira que la chane a une longueur k (c'est le nombre d'artes de la chane). Une chane doit comporter au moins une arte. Le graphe ci-contre contient les chanes (v1, e3, v3, e4, v4) et (v4, e4, v3, e2, v2, e1, v1), entre autres. On ne change pas une chane en inversant l'ordre des lments dans la suite correspondante, ainsi les chanes (v1, e3, v3, e4, v4) et (v4, e4, v3, e3, v1) sont identiques. On appelle distance entre deux sommets la longueur de la plus petite chane les reliant. On appelle diamtre d'un graphe la plus longue des distances entre deux sommets.

6

Une chane est lmentaire si chaque sommet y apparat au plus une fois. Une chane est simple si chaque arte apparat au plus une fois. Dans le graphe ci-dessus, (v1, e1, v2, e2, v3) est une chane simple et lmentaire. Une chane telle que v0 = vk est appele chane ferme. Dans le graphe ci-dessus, (v2, e2, v3, e4, v4, e4, v3, e2, v2) est une chane ferme. Une chane ferme simple est appele cycle si seul le sommet de dpart apparat deux fois dans la chane. Dans le graphe ci-dessus, (v2, e2, v3, e4, v4, e5, v2) est un cycle.

Thorme 1Pour tout graphe ayant m artes, n sommets et p composantes connexes, on a : (G) = m n + p 0 De plus, (G) = 0 si et seulement si G est sans cycles. (G) est appel le nombre cyclomatique. Prononcer nu de G .

Exercice 4.1 Dans certains livres, on dfinit une chane comme une suite de sommets. Dites pourquoi cette dfinition n'est pas tout fait correcte. Exercice 4.2 Dmontrez le thorme 1. Exercice 4.3 Quel est le diamtre du graphe ci-contre ? Combien d'artes (et lesquelles) faut-il enlever pour que son diamtre soit de 3 ? Exercice 4.4 Quels sont les graphes de diamtre 1 ?

5.

Graphes eulriens

On dit qu'un graphe est eulrien s'il est possible de trouver un cycle passant une et une seule fois par toutes les artes. On dit qu'un graphe est semi-eulrien s'il est possible de trouver une chane passant une et une seule fois par toutes les artes. Plus simplement, on peut dire qu'un graphe est eulrien (ou semi-eulrien) s'il est possible de dessiner le graphe sans lever le crayon (et sans passer deux fois sur le mme trait). Exercice 5.1 Les graphes suivants sont-ils eulriens (ou semi-eulriens) ? a. b. c.

7

Exercice 5.2Cet exercice est un des problmes fondateurs de la thorie des graphes, propos par le mathmaticien suisse Leonhard Euler en 1736.

La ville de Knigsberg (aujourd'hui Kaliningrad) est traverse par la Pregel, qui coule de part et d'autre de l'le de Kneiphof, et possde sept ponts (en rouge sur la figure ci-dessous):

Leonhard Euler (1707-1783)

Lors d'une promenade, est-il possible de passer sur tous les ponts de la ville une et une seule fois ?

Exercice 5.3 Donnez un critre permettant de dire coup sr si un graphe est eulrien. Exercice 5.4 Soit G un graphe non eulrien. Est-il toujours possible de rendre G eulrien en lui rajoutant un sommet et quelques artes ? Exercice 5.5 Est-il possible de tracer une courbe, sans lever le crayon, qui coupe chacun des 16 segments de la figure suivante exactement une fois ?

Exercice 5.6 On considre des dominos dont les faces sont numrotes 1, 2, 3, 4 ou 5. 1. En excluant les dominos doubles, de combien de dominos dispose-t-on ? 2. Montrez que l'on peut arranger ces dominos de faon former une boucle ferme (en utilisant la rgle habituelle de contact entre les dominos). 3. Pourquoi n'est-il pas ncessaire de considrer les dominos doubles ? 4. Si l'on prend maintenant des dominos dont les faces sont numrotes de 1 n, est-il possible de les arranger de faon former une boucle ferme ?

8

6.

Graphes hamiltoniens

On dit qu'un graphe est hamiltonien s'il est possible de trouver un cycle passant une et une seule fois par tous les sommets. On dit qu'un graphe est semi-hamiltonien s'il est possible de trouver une chane passant une et une seule fois par tous les sommets. Contrairement aux graphes eulriens, il n'existe pas de caractrisation simple des graphes hamiltoniens ou semihamiltoniens. On peut cependant noncer quelques proprits et conditions suffisantes.

Un graphe possdant un sommet de degr 1 ne peut tre hamiltonien. Si un sommet dans un graphe est de degr 2, alors les deux artes incidentes ce sommet doivent faire partie du cycle hamiltonien. Les graphes complets Kn sont hamiltoniens.

Thorme 2 (Ore)Soit G = (V, E) un graphe simple d'ordre n 3. Si pour toute paire {x, y} de sommets non adjacents, on a d(x) + d(y) n, alors G est hamiltonien.

Corollaire (Dirac)Soit G = (V, E) un graphe simple d'ordre n 3. Si pour tout sommet x de G, on a d(x) n/2, alors G est hamiltonien. En effet, un tel graphe vrifie les conditions du thorme prcdent. Si x et y ne sont pas adjacents, on a bien : d(x) + d(y) n/2 + n/2 = n

Problme du voyageur de commerceLe problme du voyageur de commerce (Traveling Salesman Problem en anglais) consiste trouver le plus court cycle passant par tous les sommets dans un graphe o les artes sont pondres. On travaille souvent sur un graphe complet. Exercice 6.1 Dessinez un graphe d'ordre au moins 5 qui est... 1. 2. 3. 4. hamiltonien et eulrien hamiltonien et non eulrien non hamiltonien et eulrien non hamiltonien et non eulrien.

7.

Graphes planaires

On dit qu'un graphe est planaire si on peut le dessiner dans le plan de sorte que ses artes ne se croisent pas. Rappelons que les artes ne sont pas forcment rectilignes. Une carte, ou graphe planaire topologique, est une reprsentation particulire d'un multigraphe planaire fini. On dit qu'une carte est connexe si son graphe l'est. Une carte divise le plan en plusieurs rgions. Par exemple, la carte ci-contre, avec six sommets et neuf artes, divise le plan en cinq rgions (A, B, C, D, E). On remarque que quatre rgions sont limites alors que la cinquime (E), extrieure au diagramme, ne l'est pas. Le degr d'une rgion r, not d(r), est la longueur du cycle ou de la chane ferme qui limite r. Dans le graphe ci-contre, d(A)=4, d(B)=3, d(C)=3, d(D)=5, d(E)=3. On remarque que toute arte limite deux rgions, ou est contenue dans une rgion et est alors compte deux fois dans la chane ferme. Nous avons donc un lemme pour les rgions, analogue au lemme des poignes de mains pour les sommets. 9

LemmeLa somme des degrs des rgions d'une carte connexe est gale deux fois le nombre d'artes. On peut vrifier ce lemme sur le graphe ci-dessus : il comporte 9 artes et la somme des degrs des rgions vaut 18.

Thorme 3 (Euler)Euler a tabli une formule clbre qui relie le nombre de sommets S, le nombre d'artes A et le nombre de rgions R d'une carte connexe. SA+R=2 Pendant de nombreuses annes, les mathmaticiens ont tent de caractriser les graphes planaires. Ce problme a t rsolu en 1930 par le mathmaticien polonais K. Kuratowski. La dmonstration du thorme sort du cadre de ce cours.

Thorme 4 (Kuratowski)Un graphe est non planaire si et seulement si il contient un sous-graphe homomorphe K3,3 ou K5.

K3,3 Exercice 7.1 Dmontrez le thorme d'Euler. Procdez par induction. Exercice 7.2

K5

Utilisez le thorme d'Euler pour dmontrer que le graphe K3,3 n'est pas planaire.

8.

Matrice et listes d'adjacences

Matrice d'adjacencesOn peut reprsenter un graphe par une matrice d'adjacences. Une matrice (n x m) est un tableau de n lignes et m colonnes. (i, j) dsigne l'intersection de la ligne i et de la colonne j. Dans une matrice d'adjacences, les lignes et les colonnes reprsentent les sommets du graphe. Un 1 la position (i, j) signifie que le sommet i est adjacent au sommet j. Cette matrice a plusieurs caractristiques : 0 0 M = 1 1 1

0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 10

1. Elle est carre : il y a autant de lignes que de colonnes. 2. Il n'y a que des zros sur la diagonale. Un 1 sur la diagonale indiquerait une boucle. 3. Elle est symtrique : mij = mji.

Les matrices d'adjacences ont des proprits intressantes. On a calcul ci-dessous les matrices M et M . Pour chacune de ces matrices, quoi correspondent les nombres obtenus ? 3 1 2 M = 2 2 2

2

3

1 1 0 1 1 2 0 4 2 2 2 1 2 3 2 2 1 2 2 3 6 2 3 M = 8 7 7 2 0 4 2 2 8 4 6 8 8 7 2 8 6 7 7 2 8 7 6

Listes d'adjacencesOn peut aussi reprsenter un graphe en donnant pour chacun de ses sommets la liste des sommets auxquels il est adjacent.

1 : 3, 4, 5 2:3 3 : 1, 2, 4, 5 4 : 1, 3, 5 5 : 1, 3, 4

Exercice 8.1

Dcrivez le graphe G ci-contre par une matrice d'adjacences et des listes d'adjacences.

9.

Arbres

On appelle arbre tout graphe connexe, sans cycles. Un graphe sans cycles mais non connexe est appel une fort.

Un arbre

Une fort

Thorme 5Les affirmations suivantes sont quivalentes pour tout graphe G = (V, E) n sommets. 1. 2. 3. 4. 5. G est un arbre, G est sans cycles et connexe, G est sans cycles et comporte n1 artes, G est connexe et comporte n1 artes, chaque paire {u, v} de sommets distincts est relie par une seule chane simple (et le graphe est sans boucles). 11

Thorme 6Tout arbre fini avec au moins deux sommets comporte au moins deux sommets pendants ou feuilles, c'est--dire des sommets incidents avec une seule arte. Exercice 9.1 Dmontrez le thorme 5. Pour cela, utilisez le thorme 1. Exercice 9.2 Dmontrez le thorme 6. Exercice 9.3 Combien d'arbres diffrents existe-t-il avec 5 sommets ? avec 6 sommets ? avec 7 sommets ?

10. Codage de PrferLe codage de Prfer est une manire trs compacte de dcrire un arbre. Soit l'arbre T = (V, E) et supposons V = {1, 2, ..., n}. L'algorithme ci-dessous fournira le code de T, c'est--dire une suite S de n2 termes employant (ventuellement plusieurs fois) des nombres choisis parmi {1, ..., n}.

Pas gnral de l'algorithme de codage( rpter tant qu'il reste plus de deux sommets dans l'arbre courant T)

identifier la feuille v de l'arbre courant ayant le numro minimum ; ajouter la suite S le seul sommet s adjacent v dans l'arbre T courant ; enlever de l'arbre T courant le sommet v et l'arte incidente v.

Exemple de codage

Etape 0 Arbre coder

Etape 1 S = {4}

Etape 2 S = {4,10}

Etape 3 S = {4,10,3}

Etape 4 S = {4,10,3,8} 12

Etape 5 S = {4,10,3,8,4}

Etape 6 S = {4,10,3,8,4,4}

Etape 7 S = {4,10,3,8,4,4,5}

Etape 8 S = {4,10,3,8,4,4,5,10}

S={4,10,3,8,4,4,5,10} est le codage de Prfer de l'arbre initial.

DcodageDonne : suite S de n2 nombres, chacun provenant de {1, ..., n}. Posons I = {1, ..., n}.

Pas gnral de l'algorithme de dcodage( rpter tant qu'il reste des lments dans S et plus de deux lments dans I)

identifier le plus petit lment i de I n'apparaissant pas dans la suite S ; relier par une arte de T le sommet i avec le sommet s correspondant au premier lment de la suite S ; enlever i de I et s de S.

Les deux lments qui restent dans I la fin de l'algorithme constituent les extrmits de la dernire arte ajouter T. Exemple de dcodage

Etape 1 I = {1,2,3,4,5,6,7,8,9,10} S = {4,10,3,8,4,4,5,10}

Etape 2 I = {2,3,4,5,6,7,8,9,10} S = {10,3,8,4,4,5,10}

Etape 3 I = {3,4,5,6,7,8,9,10} S = {3,8,4,4,5,10}

Etape 4 I = {3,4,5,7,8,9,10} S = {8,4,4,5,10}

Etape 5 I = {4,5,7,8,9,10} S = {4,4,5,10} 13

Etape 6 I = {4,5,8,9,10} S = {4,5,10}

Etape 7 I = {4,5,9,10} S = {5,10}

Etape 8 I = {5,9,10} S = {10}

Etape 9 I = {9,10} S = {}

Etape 10 I = {} S = {}

Thorme 7 (Cayley, 1857)Le nombre d'arbres que l'on peut construire sur n (n>1) sommets numrots est gal nn-2.

PreuveLa preuve est immdiate en utilisant le codage de Prfer. En effet, on vrifie aisment que les deux algorithmes constituent les deux sens d'une bijection entre les arbres sur n sommets numrots et les mots de n2 lettres sur l'alphabet n lettres. Ce constat permet de conclure la preuve du thorme de Cayley. En effet, il existe nn-2 mots de longueur n2 sur l'alphabet n lettres, donc d'arbres sur n sommets numrots.

Exercice 10.1 1: 2 2: 1, 3 3: 2, 4, 5 4: 3 5: 3, 6, 7 6: 5 7: 5, 8, 9 8: 7 9: 7, 10 10: 9

Dcrivez l'arbre ci-contre l'aide du codage de Prfer. Dessinez l'arbre correspondant la suite S = {1,1,1,1,1,1,1,1,1}.

14

11. Arbres couvrantsUn arbre couvrant (ou arbre maximal) est un graphe partiel qui est aussi un arbre. Cicontre, un des arbres couvrants (en bleu) d'un graphe donn.

Arbre maximal de poids minimumOn considrera le problme suivant : Soit le graphe G = (V, E) avec un poids associ chacune de ses artes. Trouver, dans G, un arbre maximal A = (V, F) de poids total minimum.

L'algorithme de KruskalDonnes : Graphe G = (V, E) (|V| = n, |E| = m) et pour chaque arte e de E, son poids c(e). Rsultat : Arbre ou fort maximale A = (V, F) de poids minimum. Trier et renumroter les artes de G dans l'ordre croissant de leur poids : c(e1) c(e2) ... c(em). Poser F := , k := 0 Tant que k < m et |F| < n1 faire Dbut si ek+1 ne forme pas de cycle avec F alors F := F {ek+1} k := k+1 Fin Ce problme de trouver un arbre maximal de poids minimum se pose, par exemple, lorsqu'on dsire relier n villes par un rseau routier de cot minimum. Les sommets du graphe reprsentent les villes, les artes, les tronons qu'il est possible de construire et les poids des artes correspondent aux cots de construction du tronon correspondant. L'algorithme de Kruskal dcrit ci-dessus permet de rsoudre ce problme. Exercice 11.1 Combien d'arbres couvrants diffrents les graphes suivants possdent-ils ? a. b. c.

Exercice 11.2 Trouvez tous les arbres maximaux de poids minimum du graphe ci-contre (les chiffres en bleu reprsentent le poids des artes) :

15

12. ArborescencesOn appelle arborescence un arbre avec un sommet distingu, que l'on appelle la racine. On reprsente gnralement une arborescence avec la racine en haut du dessin et les feuilles en bas. Sur l'arborescence ci-contre, la racine est le sommet 4. Les sommets 5, 6, 7 et 9 sont les feuilles. On peut, dans une arborescence, assigner un rang aux sommets. Le rang sera en fait la distance du sommet la racine. Ainsi, dans l'exemple cicontre, le sommet 4 (la racine) a rang 0, le sommet 1 a rang 1, les sommets 2 et 10 ont rang 2, les sommets 3, 5 et 8 ont rang 3 et les sommets 6, 7 et 9 ont rang 4. On dira que la hauteur de l'arborescence est le rang maximum (4 dans l'exemple cicontre). Une arborescence

Arborescences ordonnesUne arborescence ordonne est une arborescence dont les artes partant de chaque sommet sont ordonnes. On peut systmatiquement tiqueter les sommets d'un tel arbre comme suit : on attribue 0 la racine r, puis 1, 2, 3, ... aux sommets qui sont adjacents r. Les tiquettes suivantes sont constitues de l'tiquette du sommet pre , suivie d'un chiffre obtenu comme prcdemment. Ainsi, les sommets fils attachs au sommet 2 seront numrots 2.1, 2.2, 2.3,... La figure ci-contre illustre le procd. Cet ordre (0, 1, 1.1, 1.2, 2, 2.1, 3, 3.1, 3.1.1, 3.1.2, 3.2, 3.3) est appel ordre lexicographique, puisqu'il est semblable au classement des mots dans un dictionnaire. Il est identique l'ordre obtenu en parcourant de haut en bas la branche la plus gauche de l'arbre, puis la branche immdiatement droite, et ainsi de suite jusqu' la branche la plus droite. On parle aussi de parcours en profondeur de l'arbre, par opposition au parcours en largeur qui serait l'ordre: 0, 1, 2, 3, 1.1, 1.2, 2.1, 3.1, 3.2, 3.3, 3.1.1, 3.1.2. N'importe quelle expression algbrique comprenant des expressions binaires, telle que l'addition, la soustraction, la multiplication et la division, peut tre reprsente par une arborescence ordonne. Par exemple, l'aborescence cidessous reprsente l'expression arithmtique (a b) / ((c x d) + e) :

On observe que les variables de l'expression (a, b, c, d et e) sont les feuilles et que les oprations sont les autres sommets. L'arbre doit tre ordonn car ab et ba conduisent au mme arbre, mais pas au mme arbre ordonn. Le mathmaticien polonais Lukasiewicz a remarqu qu'en plaant les symboles des oprations binaires avant les arguments, c'est--dire + ab au lieu de a+b ou /cd au lieu de c/d, nous n'avions plus besoin de parenthses. Il s'agit de la notation polonaise dans sa forme prfixe ou directe (par analogie, en notation polonaise postfixe ou inverse, on place les symboles aprs les arguments ; certaines calculatrices, notamment les HP, utilisent la notation polonaise inverse). L'expression (a b) / ((c x d) + e) devient ainsi / a b + x c d e (voir le chemin vert de l'arborescence cidessus).

16

Exercice 12.1 Combien d'arborescences existe-t-il sur n sommets numrots ? Exercice 12.2 tant donne l'expression algbrique (2x + y)(5a b) , a) dessinez l'arborescence ordonne correspondante ; b) trouvez la porte de l'exponentiation (la porte d'un sommet s dans une arborescence est le sous-arbre gnr par s et les sommets qui le suivent avec s pour racine) ; c) crivez l'expression en notation polonaise directe.3

13. Codage de HuffmanLe codage de Huffman est une mthode de compression statistique de donnes qui permet de rduire la longueur du codage d'un alphabet. Le code de Huffman (1952) est un code de longueur variable optimal, c'est--dire tel que la longueur moyenne d'un texte cod soit minimale. On observe ainsi des rductions de taille de l'ordre de 20 90%.

Le principeLe principe de l'algorithme de Huffman consiste recoder les octets (suite de 8 bits) rencontrs dans un ensemble de donnes source avec des valeurs de longueur binaire variable. L'unit de traitement est ramene au bit. Huffman propose de recoder les donnes qui ont une occurrence trs faible sur une longueur binaire suprieure la moyenne, et recoder les donnes trs frquentes sur une longueur binaire trs courte. Ainsi, pour les donnes rares, nous perdons quelques bits regagns pour les donnes rptitives. Par exemple, dans un fichier ASCII le w apparaissant 10 fois aura un code trs long : 0101000001000. Ici la perte est de 40 bits (10 x 4 bits), car sans compression, il serait cod sur 8 bits au lieu de 12. Par contre, le caractre le plus frquent comme le e avec 200 apparitions sera cod par 1. Le gain sera de 1400 bits (7 x 200 bits). On voit l'intrt d'une telle mthode. De plus, le codage de Huffman a une proprit de prfixe : une squence binaire ne peut jamais tre la fois reprsentative d'un lment cod et constituer le dbut du code d'un autre lment. Si un caractre est reprsent par la combinaison binaire 100 alors la combinaison 10001 ne peut tre le code d'aucune autre information. Dans ce cas, l'algorithme de dcodage interprterait les 5 bits comme une succession du caractre cod 100 puis du caractre cod 01. Cette caractristique du codage de Huffman permet une codification l'aide d'une structure d'arbre binaire.

MthodeL'algorithme opre sur une fort. Une fort est ici un ensemble d'arbres tiquets complets : tout noeud interne (c'est-dire qui n'est pas une feuille) a deux fils non-vides. La fort initiale est forme d'un arbre un noeud pour chaque lettre du langage-source, dont l'tiquette est la probabilit de cette lettre. La fort finale est forme d'un unique arbre, qui est l'arbre de dcodage du code. L'algorithme est de type glouton : il choisit chaque tape les deux arbres d'tiquettes minimales, soit x et y, et les remplace par l'arbre form de x et y et ayant comme tiquette la somme de l'tiquette de x et de l'tiquette de y. La figure ci-dessous reprsente les tapes de la construction d'un code de Huffman pour l'alphabet source {A, B, C, D, E, F}, avec les probabilits P(A)=0.10, P(B)=0.10, P(C)=0.25, P(D)=0.15, P(E)=0.35 et P(F)=0.05. Le code d'une lettre est alors dtermin en suivant le chemin depuis la racine de l'arbre jusqu' la feuille associe cette lettre en concatnant successivement un 0 ou un 1 selon que la branche suivie est gauche ou droite. Ainsi, sur la figure ci-contre, A=0111, B=010, C=10, D=00, E=11 et F=0110. Par exemple le mot FADE serait cod 011001110011. Pour dcoder, on lit simplement la chane de bits de gauche droite. Le seul dcoupage possible est, grce la proprit du prfixe, 0110-0111-00-11.

17

ConclusionCe principe de compression est aussi utilis dans le codage d'image TIFF (Tagged Image Format File) spcifi par Microsoft Corporation et Aldus Corporation. Par ailleurs, le codage d'image est fait en retranscrivant exactement le contenu d'un cran (image), en utilisant les mthodes traditionnelles de compression. Il existe des mthodes qui ne conservent pas exactement le contenu d'une image (mthodes non conservatives) mais dont la reprsentation visuelle reste correcte. Entre autres, il y a la mthode JPEG (Join Photographic Experts Group) qui utilise la compression de type Huffman pour coder les informations d'une image. 18

Malgr son anciennet, cette mthode est toujours remise au got du jour, et offre des performances apprciables. En effet, beaucoup de recherches en algorithmique ont permis d'amliorer les fonctionnalits de la mthode Huffman de base, par exemple les arbres binaires, les arbres quilibrs, etc. Exercice 13.1 Construisez un codage de Huffman du message "ceciestuncodagedehuffman" (on a supprim les espaces et la ponctuation pour simplifier la construction). Il y a plusieurs codages de Huffman possibles. Vrifiez la proprit du prfixe. Exercice 13.2 (pour les plus courageux) Utilisez le tableau ci-dessous pour dterminer le codage de Huffman de la langue franaise. Frquences d'apparition des lettres en franais Lettre Frquence Lettre Frquence A B C D E F G H I J K L M 8.40 % 1.06 % 3.03 % 4.18 % 17.26 % 1.12 % 1.27 % 0.92 % 7.34 % 0.31 % 0.05 % 6.01 % 2.96 % N O P Q R S T U V W X Y Z 7.13 % 5.26 % 3.01 % 0.99 % 6.55 % 8.08 % 7.07 % 5.74 % 1.32 % 0.04 % 0.45 % 0.30 % 0.12 %

14. Coloration des sommetsSoit G = (V, E) un graphe. Un sous-ensemble S de V est un stable s'il ne comprend que des sommets non adjacents deux deux. Le cardinal du plus grand stable est le nombre de stabilit de G ; on le note (G). La coloration des sommets d'un graphe consiste affecter tous les sommets de ce graphe une couleur de telle sorte que deux sommets adjacents ne portent pas la mme couleur. Une coloration avec k couleurs est donc une partition de l'ensemble des sommets en k stables. Le nombre chromatique du graphe G, not (G), est le plus petit entier k pour lequel il existe une partition de V en k sous-ensembles stables. Sur le graphe ci-contre, on a eu besoin de trois couleurs pour colorer les sommets de sorte que deux sommets adjacents ont des couleurs diffrentes. On a donc trois stables : {1, 2}, {3, 5} et {4}. On ne peut pas utiliser moins de couleurs, cause des cliques 1-4-5 et 1-3-4. Remarquons enfin que le sommet 2 aurait pu aussi tre vert. La coloration minimale n'est donc pas forcment unique.

Une coloration des sommets

19

Encadrement du nombre chromatiqueMajoration 1. (G) r + 1, o r est le plus grand degr de ses sommets. Preuve : Soit un graphe et r le degr maximum de ses sommets. Donnons-nous une palette de (r + 1) couleurs. Pour chaque sommet du graphe on peut tenir le raisonnement suivant : ce sommet est adjacent r sommets au plus, et le nombre de couleurs dj utilises pour colorer ces sommets est donc infrieur ou gal r. Il reste donc au moins une couleur non utilise dans la palette, avec laquelle nous pouvons colorer notre sommet. 2. (G) n + 1 (G) Preuve : Considrons S un stable de V de cardinal (G). Une coloration possible des sommets consiste colorer les sommets de S d'une mme couleur et les n(G) autres sommets de couleurs toutes diffrentes. On en dduit que (G) 1+(n(G)). Minoration 1. Le nombre chromatique d'un graphe est suprieur ou gal celui de chacun de ses sous-graphes. Preuve: Ce rsultat dcoule de la dfinition mme du nombre chromatique. 2. (G) (G) Preuve : Puiqque, par dfinition, dans une clique d'ordre m, tous les sommets sont adjacents entre eux, il faudra m couleurs. Donc, forcment, le nombre chromatique du graphe sera suprieur ou gal l'ordre de sa plus grande clique.

Algorithme de coloration de Welsh et PowellCet algorithme couramment utilis permet d'obtenir une assez bonne coloration d'un graphe, c'est--dire une coloration n'utilisant pas un trop grand nombre de couleurs. Cependant il n'assure pas que le nombre de couleurs utilis soit minimum (et donc gal au nombre chromatique du graphe). tape 1 Classer les sommets du graphe dans l'ordre dcroissant de leur degr, et attribuer chacun des sommets son numro d'ordre dans la liste obtenue. tape 2 En parcourant la liste dans l'ordre, attribuer une couleur non encore utilise au premier sommet non encore color, et attribuer cette mme couleur chaque sommet non encore color et non adjacent un sommet de cette couleur. tape 3 S'il reste des sommets non colors dans le graphe, revenir l'tape 2. Sinon, la coloration est termine.

Exercice 14.1 Tout graphe contenant un triangle (K3) ne peut pas tre color en moins de trois couleurs. 1. Construire un graphe sans K3 qui ncessite galement trois couleurs. 2. Comment, partir du graphe prcdent, construire un graphe sans K4 ncessitant 4 couleurs ? 3. Un graphe sans K5 ncessitant 5 couleurs ?

Exercice 14.2 Dterminez le nombre chromatique de ce graphe.

20

Exercice 14.3 Sept lves, dsigns par A, B, C, D, E, F et G, se sont rendus la bibliothque aujourd'hui. Le tableau suivant prcise qui a rencontr qui (la bibliothque tant petite, deux lves prsents au mme moment se rencontrent ncessairement...). l'lve A B C D E F G

a rencontr D,E D,E,F,G E,G A,B,E A,B,C,D,F,G B,E,G B,C,E,F De combien de places assises doit disposer la bibliothque pour que chacun ait pu travailler correctement au cours de cette journe ? Exercice 14.4 A, B, C, D, E, F, G et H dsignent huit poissons. Dans le tableau ci-dessous, une croix signifie que les poissons ne peuvent pas cohabiter dans un mme aquarium : A A B C D E F G H Quel nombre minimum d'aquariums faut-il ? Exercice 14.5 Un lyce doit organiser les horaires des examens. On suppose qu'il y a 7 preuves planifier, correspondant aux cours numrots de 1 7 et que les paires de cours suivantes ont des tudiants communs: 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, 5 et 7 et enfin 6 et 7. Comment organiser ces preuves de faon qu'aucun tudiant n'ait passer deux preuves en mme temps et cela sur une dure miminale ? Exercice 14.6 Sept agences de voyage romaines proposent des visites de monuments et lieux touristiques : le Colise, le Forum romain, le muse du Vatican et les thermes de Caracalas. Un mme lieu ne peut tre visit par plusieurs groupes de compagnies diffrentes le mme jour. La premire Compagnie fait visiter uniquement le Colise ; la seconde le Colise et le muse du Vatican ; la troisime les thermes de Caracalas ; la quatrime le muse du Vatican et les thermes de Caracalas ; la cinquime le Colise et le Forum romain ; la sixime le Forum romain et les thermes de Caracalas ; la septime le muse du Vatican et le forum romain. Ces agences peuvent-elles organiser les visites sur les trois premiers jours de la semaine ? Exercice 14.7 Utilisez l'algorithme de coloration de Welsh et Powell pour colorer les graphes des exercices 14.2 et 14.5. Exercice 14.8 Exprimez la rsolution d'un Sudoku classique en termes de coloration de graphe. Dcrivez le graphe (nombre de sommets, nombre d'artes, etc.). Combien faut-il de couleurs ? 21 x x x x x x x x x x x x x x x x x x x x B x C x D x x x x E F G x x x x x H x

15. Coloration des sommets d'un graphe planaireThorme 8 : thorme des quatre couleursOn peut colorer les sommets d'un graphe planaire (sans boucles) en utilisant au plus quatre couleurs de telle sorte que toutes les artes aient des extrmits de couleurs diffrentes. Cette conjecture a t formule pour la premire fois par l'cossais Francis Guthrie en 1852. Il tait alors question de coloration de carte de gographie (voir exercice 15.1). La preuve de ce thorme n'arriva qu'en... 1976, grce Kenneth Appel et Wolfgang Haken. La dmonstration fit grand bruit car ce fut le premier thorme de l'histoire des mathmatiques qui a ncessit l'usage systmatique de l'ordinateur. La communaut mathmatique se divisa alors en deux camps : ceux pour qui le thorme des quatre couleurs tait dfinitivement dmontr, et ceux pour qui tout restait faire. Exercice 15.1 Colorez la carte ci-dessous en utilisant le moins de couleurs possibles, de sorte que deux pays voisins aient des couleurs diffrentes (cliquez sur l'image pour avoir la carte de l'Afrique sans les couleurs). Construisez d'abord un graphe associ cette carte, puis colorez-en les sommets.

Exercice 15.2 Prenez une feuille de papier. Tracez une droite quelconque qui traverse la feuille de part en part. Recommencez l'opration n fois. Dmontrez que la carte ainsi obtenue peut tre colore en deux couleurs. 22

16. Coloration des artesLa coloration des artes d'un graphe consiste affecter toutes les artes de ce graphe une couleur de telle sorte que deux artes adjacentes ne portent pas la mme couleur. L'indice chromatique du graphe G est le plus petit entier k pour lequel il existe une coloration des artes; on le note (G). Sur le graphe ci-contre, on a eu besoin de trois couleurs pour colorer les artes de sorte que deux artes adjacentes ont des couleurs diffrentes. Pour colorer les artes d'un graphe, on peut se ramener au problme de la coloration des sommets Il suffit pour cela de travailler non pas sur le graphe lui-mme, mais sur le graphe adjoint, not G', et que l'on dfinit ainsi:

chaque arte de G = (V, E) correspond un sommet de G' = (E, F) deux sommets de G' sont relis par une arte si les deux artes correspondantes de G sont adjacentes.

Une coloration des artes

On peut ensuite appliquer par exemple l'algorithme de Welsh et Powell sur le graphe G' pour colorer ses sommets. Une fois cela fait, on colorera les artes de G de la mme couleur que les sommets correspondants de G'. Exemple de coloration d'artes

Un graphe G

Son graphe adjoint G'

Coloration des sommets de G'

Coloration des artes de G

Exercice 16.1 Dans un tournoi d'checs, chaque engag doit rencontrer tous les autres. Chaque partie dure une heure. Dterminez la dure minimum du tournoi dans le cas o le nombre d'engags est 3, 4, 5 ou 6.

17. Graphes orients (digraphes)En donnant un sens aux artes d'un graphe, on obtient un digraphe (ou graphe orient). Un digraphe fini G = (V, E) est dfini par l'ensemble fini V = {v1, v2, ..., vn} (|V| = n) dont les lments sont appels sommets, et par l'ensemble fini E = {e1, e2, ..., em} (|E| = m) dont les lments sont appels arcs. Un arc e de l'ensemble E est dfini par une paire ordonne de sommets. Lorsque e = (u, v), on dira que l'arc e va de u v. On dit aussi que u est l'extrmit initiale et v l'extrmit finale de e. Exercice 17.1 Construire un graphe orient dont les sommets sont les entiers compris entre 1 et 12 et dont les arcs reprsentent la relation tre diviseur de . 23

18. Degr d'un sommet d'un digrapheSoit v un sommet d'un graphe orient. On note d+(v) le degr extrieur du sommet v, c'est--dire le nombre d'arcs ayant v comme extrmit initiale. On note d(v) le degr intrieur du sommet v, c'est--dire le nombre d'arcs ayant v comme extrmit finale. On a : d(v) = d+(v) + d(v)

Exercice 18.1 Trouvez les degrs extrieurs et intrieurs de chacun des sommets du graphe ci-contre :

Exercice 18.2 Soit X un ensemble de lapins, et G un graphe orient ayant X pour ensemble de sommets. On dit que G est un graphe de parent si les arcs de G codent la relation tre l'enfant de... . Quelles conditions doit ncessairement vrifier G pour pouvoir tre un graphe de parent ?

19. Chemins et circuitsUn chemin conduisant du sommet a au sommet b est une suite de la forme (v0, e1, v1, e2, ..., vk-1, ek, vk) o les vi sont des sommets (v0=a et vk=b) et les ei sont des arcs tels que ei va de vi-1 vi. Sur le digraphe ci-contre, on peut voir par exemple le chemin (v3, e3, v4, e4, v5). Par convention, tout chemin comporte au moins un arc. On appelle distance entre deux sommets d'un digraphe la longueur du plus petit chemin les reliant. S'il n'existe pas de chemin entre les sommets x et y, on pose d(x,y) = . Par exemple, sur le digraphe ci-contre, d(v1,v5) = 2, d(v1,v6) = 1, d(v6,v1) = . Un circuit est un chemin avec u0 = uk. Le digraphe ci-contre ne contient pas de circuit. Les notions de longueur, de chemins et de circuits sont analogues celles des chanes et des cycles pour le cas non orient.

Digraphe fortement connexeUn digraphe est fortement connexe, si toute paire ordonne (a, b) de sommets distincts du graphe est relie par au moins un chemin. En d'autres termes, tout sommet est atteignable depuis tous les autres sommets par au moins un chemin. On appelle composante fortement connexe tout sous-graphe induit maximal fortement connexe (maximal signifie qu'il n'y a pas de sous-graphe induit connexe plus grand contenant les sommets de la composante). Exercice 19.1 On souhaite prlever 4 litres de liquide dans un tonneau. Pour cela, nous avons notre disposition deux rcipients (non gradus!), l'un de 5 litres, l'autre de 3 litres. Comment doit-on procder ? Exercice 19.2 (Jeu de Fan Tan) Deux joueurs disposent de 2 ou plusieurs tas d'allumettes. tour de rle, chaque joueur peut enlever un certain nombre d'allumettes de l'un des tas (selon la rgle choisie). Le joueur qui retire la dernire allumette perd la partie. 24

Modlisez ce jeu l'aide d'un graphe dans le cas o l'on dispose au dpart de deux tas contenant chacun trois allumettes, et o un joueur peut enlever une ou deux allumettes chaque fois. Que doit jouer le premier joueur pour gagner la partie coup sr ? Exercice 19.3 Donnez un algorithme permettant de calculer la distance entre deux sommets x et y d'un digraphe connexe. Exercice 19.4 Proposez un algorithme qui dtermine si un graphe est fortement connexe ou non. Indication: utilisez un systme de marquage des sommets. Les graphes ci-dessous sont-il fortement connexes ? Si non, donnez leurs composantes fortement connexes. a. b.

20. Matrice et listes d'adjacencesMatrice d'adjacencesOn peut reprsenter un digraphe par une matrice d'adjacences. Une matrice (n x m) est un tableau de n lignes et m colonnes. (i,j) dsigne l'intersection de la ligne i et de la colonne j. Dans une matrice d'adjacences, les lignes et les colonnes reprsentent les sommets du graphe. Un 1 la position (i,j) signifie qu'un arc part de i pour rejoindre j. Exemple Voici la matrice d'adjacences du digraphe G : Cette matrice plusieurs caractristiques : 0 0 0 M = 0 0 0

1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 2 1 1 0 0 1 0 0 0 0 0 0 25

1. Elle est carre : il y a autant de lignes que de colonnes. 2. Il n'y a que des zros sur la diagonale. Un 1 sur la diagonale indiquerait une boucle. 3. Contrairement au cas non orient, elle n'est pas symtrique.2 3

Les matrices d'adjacences ont des proprits intressantes. On a calcul ci-dessous les matrices M et M . Pour chacune de ces matrices, quoi correspondent les nombres obtenus ? 0 0 2 0 M = 0 0 0

1 0 0 0 0 0

0 0 3 0 M = 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 1 0 0 0 0 0 0

Listes d'adjacencesOn peut aussi reprsenter un digraphe en donnant pour chacun de ses sommets la liste des sommets qu'on peut atteindre directement en suivant un arc (dans le sens de la flche). Exemple Voici les listes d'adjacences du digraphe G :

1 : 2, 4, 6 2 : 4, 5 3:4 4:5 5:6:2

Exercice 20.1 Dcrivez le digraphe G ci-contre par une matrice d'adjacences et des listes d'adjacences.

21. Digraphes sans circuitsThorme 9Le digraphe G = (V, E) est sans circuits si et seulement si on peut attribuer un nombre r(v), appel le rang de v, chaque sommet v de manire que pour tout arc (u, v) de G on ait r(u) < r(v).

PreuveSi G comporte un circuit C, il n'est pas possible de trouver de tels nombres r(i) car, autrement, considrant r(j) = max {r(i) | i C} et l'arc (j, k) C on aurait r(j) r(k) en contradiction avec la dfinition de r( ). Rciproquement, si G n'a pas de circuits, il existe au moins un sommet sans prdcesseurs dans G (sans cela, en remontant successivement d'un sommet un prdcesseur, on finirait par fermer un circuit). Ainsi, on peut attribuer squentiellement des valeurs r( ) aux sommets du graphe l'aide de l'algorithme qui suit, ce qui conclura la dmonstration.

Algorithme de calcul du rangDonne : digraphe G = (V, E) sans circuit. Rsultat : rang r(v) de chaque sommet v V du digraphe G. Dbut r := 0, X := V R : l'ensemble des sommets de X sans prdcesseurs dans X Tant que X n'est pas vide faire Dbut r(v) := r pour tout sommet v R X := X R R : l'ensemble des sommets de X sans prdcesseurs dans X r := r + 1 Fin Fin.

26

Exercice 21.1 Attribuez un rang aux sommets du digraphe ci-dessous en utilisant l'algorithme de calcul du rang :

22. Algorithme de DijkstraEdgser Wybe Dijkstra (1930-2002) a propos en 1959 un algorithme qui permet de calculer le plus court chemin entre un sommet particulier et tous les autres. Le rsultat est une arborescence. Numrotons les sommets du graphe G = (V, E) de 1 n. Supposons que l'on s'intresse aux chemins partant du sommet 1. On construit un vecteur = ((1); (2); ...; (n)) ayant n composantes tel que (j) soit gal la longueur du plus court chemin allant de 1 au sommet j. On initialise ce vecteur c1,j, c'est--dire la premire ligne de la matrice des cots du graphe, dfinie comme indiqu ci-dessous : 0 si i= j cij = si i j et i , j E i , j si i j et i , j E o (i,j) est le poids (la longueur) de l'arc (i, j). Les cij doivent tre strictement positifs. On construit un autre vecteur p pour mmoriser le chemin pour aller du sommet 1 au sommet voulu. La valeur p(i) donne le sommet qui prcde i dans le chemin. On considre ensuite deux ensembles de sommets, S initialis {1} et T initialis {2, 3, ..., n}. chaque pas de l'algorithme, on ajoute S un sommet jusqu' ce que S = V de telle sorte que le vecteur donne chaque tape le cot minimal des chemins de 1 aux sommets de S.

{

Description de l'algorithme de DijkstraOn suppose ici que le sommet de dpart (qui sera la racine de l'arborescence) est le sommet 1. Notons qu'on peut toujours renumroter les sommets pour que ce soit le cas. Initialisations (j) = c1,j et p(j) = NIL, pour 1 j n Pour 2 j n faire Si c1,j < alors p(j) = 1. S = {1} ; T = {2, 3, ..., n}. Tant que T n'est pas vide faire Choisir i dans T tel que (i) est minimum Retirer i de T et l'ajouter S Pour chaque successeur j de i, avec j dans T, faire Si (j) > (i) + (i, j) alors (j) = (i) + (i, j) p(j) = i

Itrations

27

Exemple

Itrations 1re itration

S = {1} ; T = {2, 3, 4, 5} ; = (0, 15, , , 4); p = (NIL, 1, NIL, NIL, 1) i = 5 car (5) = min(15, , , 4) = 4 S = {1, 5}; T = {2, 3, 4} les successeurs de 5 dans T sont 3 et 4 (3) prend la nouvelle valeur min(; (5) + (5; 3)) = min(; 4 + 7) = 11; p(3) = 5 (4) prend la nouvelle valeur min(; (5) + (5; 4)) = 9; p(4) = 5 d'o les nouveaux vecteurs = (0, 15, 11, 9, 4) et p = (NIL, 1, 5, 5, 1) i = 4; (4) = 9 S = {1, 5, 4}; T = {2, 3} le seul successeur de 4 dans T est 2 (2) prend la nouvelle valeur min(; (4) + (4; 2)) = min(15; 9 + 3) = 12; p(2) = 4 d'o les nouveaux vecteurs = (0, 12, 11, 9, 4) et p = (NIL, 4, 5, 5, 1) i = 3; (3) = 11 S = {1, 5, 4, 3}; T = {2} le seul successeur de 3 dans T est 2 (2) garde sa valeur car min(12; (3) + (3; 2)) = min(12; 11 + 3) = 12 d'o les vecteurs inchangs = (0, 12, 11, 9, 4) et p = (NIL, 4, 5, 5, 1) i = 2; (2) = 12 S = {1, 5, 4, 3, 2}; T = {}; FIN = (0, 12, 11, 9, 4) p = (NIL, 4, 5, 5, 1)

2me itration

3me itration

4me itration

Par exemple, le chemin minimal de 1 4 est de cot 9. C'est le chemin 154, car p(4) = 5 et p(5) = 1.

Exercice 22.1 Appliquez l'algorithme de Dijkstra au graphe de l'exemple ci-dessus pour trouver tous les plus courts chemins en partant des sommets 2, 3, 4 et 5. Exercice 22.2 Expliquez pourquoi des arcs avec des poids ngatifs pourraient poser problme dans la recherche d'un plus court chemin dans un graphe.

28

23. Mthode PERTLe problme du plus long chemin dans les digraphes sans circuits trouve une application dans l'ordonnancement et la planification des tches composant un projet complexe, par exemple la construction d'une maison. On fait correspondre chaque tche un arc d'un digraphe, sa dure d'excution tant gale au poids de cet arc. Le digraphe reflte les prcdences requises dans l'excution du projet. Ainsi, la tche correspondant l'arc (i, j) ne peut commencer que si toutes les tches correspondant des arcs (k, i) ont t compltes. Le digraphe peut contenir des tches fictives de dure nulle afin de forcer certaines prcdences. Les sommets du digraphe reprsentent des vnements, dbut (fin) des activits correspondant aux arcs dont ils sont l'extrmit initiale (finale). Le fait que le digraphe est sans circuit est garant de la faisabilit du projet. En effet, l'existence d'un circuit impliquerait une contradiction dans les prcdences : une tche devant en mme temps prcder et succder une autre! On supposera dornavant que les sommets ont dj t numrots de 1 n de manire compatible avec leurs rangs, c'est--dire que r(j) > r(i) implique j > i (voir l'algorithme de calcul du rang). En plus, si le digraphe possde plusieurs sommets sans prdcesseurs, on supposera avoir introduit un sommet 1 reli par un arc de dure nulle chacun de ces sommets. Ce sommet indique le dbut du projet. De mme, si le digraphe possde plusieurs sommets sans successeurs, ceux-ci seront relis par un arc de dure nulle un dernier sommet n (fin du projet). Enfin, on supposera limins les arcs parallles par l'introduction de tches fictives.

Algorithme du chemin critiqueDonnes : Digraphe G = (V, E), sans circuits, des activits avec leur dure dik. Notations : P(i) = {k V | (k, i) E}: c'est l'ensemble des sommets prdcesseurs de i. S(i) = {k V | (i, k) E}: c'est l'ensemble des sommets successeurs de i. Rsultat : i : dbut au plus tt des activits correspondant aux arcs (i, k) partant de i, i : fin au plus tard des activits correspondant aux arcs (k, i) arrivant i, dure du chemin critique.

Dbut I. Calcul des dates de dbut au plus tt (rcurrence en avanant dans le projet) 1 := 0 Pour k := 2 n faire k := max{j + djk | j P(k)} II. Calcul des dates de fin au plus tard (rcurrence en reculant dans le projet) n := n

Pour k := n1 1 faire k := min{j dkj | j S(k)} Fin.

DfinitionsUn sommet i est critique si i = i. Un arc (i, j) est critique si ses extrmits sont des sommets critiques et dij = j i. Un chemin critique est un chemin de 1 n n'utilisant que des arcs critiques, c'est--dire des activits telles que tout retard dans leur excution provoquerait un retard de la fin du projet. La dure du chemin critique est donne par n (ou par n, les deux valeurs tant toujours gales). Elle correspond la dure minimale du projet tant donnes les dures des tches le composant et les prcdences respectives.

ExempleCi-dessous le graphe des prcdences obtenu avec l'algorithme du chemin critique. Les sommets et les arcs critiques sont en rouge. 29

Tches A B C D E F G H I

Prcdences A B B B C, F D,E

Dure (jours) 3 9 5 8 4 7 20 6 5

Exercice 23.1 Refaites le graphe des prcdences de l'exemple en utilisant l'algorithme du chemin critique.

Exercice 23.2 La rnovation du sjour d'un appartement se dcompose en plusieurs tches dcrites dans le tableau ci-dessous. Ce dernier donne galement les prcdences respecter lors de la planification des travaux ainsi qu'une estimation de la dure de chacune des tches.Tches A B C D E F G H I J K L M N O Enlvement des portes Ponage et peinture des portes Pose des portes Arrachage des papiers peints Tirage des fils lectriques Pose des prises Ragrage des murs Peinture du plafond Pose des papiers peints Peinture des cadres Arrachage de la moquette Ponage du parquet Imprgnation et schage du parquet Peinture du balcon Changement des protections solaires Prcdences A B, J D E, H, I E, A G G H, I H, I, J K L, F N Dure (jours) 1/2 3 1/2 1 1 1/2 2 2 3 1 1/2 1 4 2 1

1. 2.

Reprsentez le graphe des prcdences de ces travaux de rnovation. Dterminez une dure totale minimale de rnovation en exhibant un chemin critique dans le graphe prcdent. 30

24. Introduction aux chanes de MarkovGnralement, un processus stochastique est une suite d'expriences dont le rsultat dpend du hasard. Ici, nous admettrons qu'en certains temps 0, 1, 2, ..., t, nous observons un systme. Celui-ci peut se trouver dans l'un des tats d'une collection finie d'tats possibles. L'observation du systme est ainsi considre comme une exprience dont le rsultat (alatoire) est l'tat dans lequel se trouve le systme. Nous supposons que nous connaissons pour chaque paire d'tats i et j, et pour chaque instant t, la probabilit pij(t) que le processus soit dans l'tat j l'instant t+1 tant donn qu'il se trouve dans l'tat i l'instant t. De plus, la probabilit pij(t) sera suppose ne pas dpendre de t. Un tel processus est appel chane de Markov ( temps discret et avec un ensemble fini d'tats), du nom de son inventeur Andrei Andreyevich Markov (1856-1922), dont vous voyez le visage ci-contre. Avec ces hypothses, nous pouvons dcrire le systme en donnant l'ensemble {u1, ..., um} des tats ui possibles et une matrice P de dimensions mxm dont le terme pij est la probabilit que le processus soit dans l'tat j l'instant t+1 tant donn qu'il se trouve dans l'tat i l'instant t, pour tout t. P est appele matrice de transition du systme. On reprsente gnralement P par un graphe orient G dont les sommets correspondent aux m tats et les arcs aux couples ordonns d'tats (i, j) tels que pij > 0. Exemple Pour reprsenter le passage d'une molcule de phosphore dans un cosystme, nous considrerons quatre tats possibles : 1. 2. 3. 4. la molcule est dans le sol, la molcule est dans l'herbe, la molcule a t absorbe par du btail, la molcule est sortie de l'cosystme.

3 5 1 La matrice de transition est la suivante : P = 10 3 4 0

3 10 2 5 0 0 0 1 2 1 5 0 1 10 0 1 20 1

Remarquez que la somme de chaque ligne vaut 1. Cette matrice correspond au graphe ci-dessous :

Proprit 1La probabilit pij(t) que le systme soit dans l'tat j au temps t sachant qu'il tait dans l'tat i au temps 0 est donn par (P t)i,j (le terme i,j de la t-ime puissance de P). 31

Si on ne connat pas l'tat initial, on peut donner un vecteur de probabilit (0) = (1(0), ..., m(0)) o i(0) est la probabilit que le systme se trouve dans l'tat i au temps 0. Si (t) est le vecteur donnant les probabilits d'occupation des tats au temps t (autrement dit la distribution), nous avons :

Proprit 2(t) = (0) P t

Exercice 24.1 crivez dans Mathematica un programme qui simule une chane de Markov donne par sa matrice de transition. Comme rsultat, on veut la liste des tats successifs du processus et le pourcentage de fois o le processus a t dans chacun des tats.

Exercice 24.2 Utilisez votre programme de l'exercice 24.1 pour simuler la chane de Markov donne en exemple. Partant du vecteur initial (0)=(1, 0 , 0 , 0), dterminez (10), (100) et (1000) par calcul, puis par simulation en utilisant votre programme. Vous calculerez P t avec Mathematica. Exercice 24.3 Un individu vit dans un milieu o il est susceptible d'attraper une maladie par piqre d'insecte. Il peut tre dans l'un des trois tats suivants : immunis (I), malade (M), non malade et non immunis (S). D'un mois l'autre, son tat peut changer selon les rgles suivantes :

tant immunis, il peut le rester avec une probabilit 0.9 ou passer l'tat S avec une probabili 0.1 ; tant dans l'tat S, il peut le rester avec une probabilit 0.5 ou passer l'tat M avec une probabilit 0.5 ; tant malade, il peut le rester avec une probabilit 0.2 ou passer l'tat I avec une probabilit 0.8.

Tracez un graphe probabiliste pour dcrire cette situation et crivez la matrice de transition. Calculez l'tat de probabilit de l'individu au bout de trois mois, de six mois, d'un an, de deux ans, pour chacune des situations suivantes :

au dpart, il est immunis (I); au dpart, il est non malade et non immunis (S); au dpart, il est malade (M).

Pouvez-vous donner des lments sur la proportion d'individus malades dans la population tudie ?

25. Distribution limiteOn constate souvent (par exemple l'exercice 24.2) que la distribution (t) converge vers une distribution limite si t . Si tel est le cas, on dit que cette dernire dfinit un rgime permanent du processus stochastique. Le rgime permanent n'est pas influenc par le choix de la distribution initiale.

Existence d'une distribution limiteProprit 3Si la matrice de transition P est telle qu'une au moins de ses puissances n'a que des termes strictement positifs, alors (t) quelle que soit la distribution initiale (0) et P t P* lorsque t . est un vecteur de probabilit strictement positif et P* une matrice dont toutes les lignes sont identiques au vecteur limite . En plus, P* = . La dmonstration de cette condition d'existence dpasse le cadre de ce cours.

32

Exercice 25.1 1 2 Soit la matrice stochastique P = 1 2 0

1 2 0 1 0 1 2 0 3 10 2 5 0 0 0 1 2 1 5 0 1 10 0 . 1 20 1

Montrez que la chane de Markov dfinie par P converge et calculez la distribution limite. Exercice 25.2 3 5 1 Soit la matrice stochastique P = 10 3 4 0

Hier Beau Beau

Montrez que la chane de Markov dfinie par P converge et calculez la distribution limite. Exercice 25.3 Un service de mto a constat aprs de longues annes que le temps qu'il fera demain dpend essentiellement du temps qu'il faisait hier et du temps qu'il fait aujourd'hui. Les probabilits de transition ont t tablies ainsi : Aujourd'hui Beau Mauvais Demain Beau Mauvais 0.8 0.4 0.6 0.1 0.2 0.6 0.4 0.9

Mauvais Beau Mauvais Mauvais

1. Modlisez ce processus l'aide d'une chane de Markov. 2. Calculez le nombre moyen de jours de beau temps par anne. Exercice 25.4 Un ivrogne se dplace dans les quatre bistrots du village (voir plan ci-dessous) d'une manire bien personnelle : en sortant d'un bistrot, il lance une pice de monnaie pour savoir dans lequel des deux autres bistrots les plus proches il entrera.

1. Modlisez ce processus l'aide d'une chane de Markov. 2. Montrez que cette chane de Markov n'a pas de distribution limite.

33

26. Chane absorbanteUn tat absorbant est un tat que l'on ne quitte plus lorsqu'on y pntre. Autrement dit, l'tat j est absorbant si pjj = 1. Une chane de Markov est absorbante si et seulement si : 1. il y a au moins un tat absorbant, 2. de tout tat non absorbant, on peut atteindre un tat absorbant. Par exemple, l'tat 4 du premier exemple de ce chapitre est un tat absorbant. Comme on peut atteindre cet tat depuis tous les autres, la chane de Markov est absorbante.

Proprit 4Pour toute chane de Markov absorbante et pour tout tat de dpart, la probabilit de se trouver dans un tat absorbant au temps t tend vers 1 lorsque t tend vers l'infini.

Dlais d'absorption et probabilit d'absorptionLorsque l'on a affaire une chane de Markov absorbante, on est gnralement intress par les deux questions suivantes :

Combien de temps faudra-t-il en moyenne pour arriver dans un tat absorbant, tant donn son tat initial ? S'il existe plusieurs tats absorbants, quelle est la probabilit de tomber dans un tat absorbant donn ?

Forme canonique de PSi une chane de Markov est absorbante, on placera au dbut les tats absorbants ; on aura alors une matrice de transition de la forme suivante (I est une matrice unit et 0 une matrice de 0) :

Dans l'exemple du phospore vu prcdemment, nous avons (les numros des tats sont en rouge) :

La matrice N = (IQ)-1 est appele la matrice fondamentale de la chane absorbante.

Proprit 5Le nombre moyen eij de passages l'tat j (non absorbant) avant l'absorption quand on part de l'tat i (non absorbant) est donne par eij = (N)ij. Le nombre moyen d'tapes avant absorption sachant que l'on part de l'tat i (non absorbant) est la somme des termes de la i-me ligne de N. 34

Toujours dans l'exemple du phosphore, on a : 3 5 1 Q= 10 3 4

3 10 2 5 0 0 1 10 R= 0 1 20

2 5

1 1 , I Q= 2 10 1 3 5 4

3 10 3 5 0

320 37 1 1 910 , d'o N = I Q = 2 111 4 300 5 37 0

160 37 640 111 150 37 100 37 400 111 140 37

D'o le nombre moyen d'tapes avant absorption en partant de l'tat 1: (320 + 160 + 100) / 37 = 15.67

Proprit 6Dans une chane de Markov absorbante avec P mise sous forme canonique, le terme bij de la matrice B = NR est la probabilit d'absorption par l'tat absorbant j sachant que l'on part de l'tat i. Dans l'exemple du phosphore, on a :

320 37 910 d'o B = NR = 111 300 37

160 37 640 111 150 37 100 1 37 10 1 400 0 = 1 111 1 1 140 20 37

La probabilit d'tre absorb par l'unique tat absorbant est 1 quel que soit l'tat initial ! Exercice 26.1 Considrons un joueur qui possde 2 francs initialement. chaque tape du jeu il peut gagner 1 franc avec probabilit p ou perdre 1 franc avec probabilit 1p. Il s'arrte lorsqu'il a gagn 4 francs ou lorsqu'il a tout perdu. 1. Reprsentez cette exprience par une chane de Markov. 2. Avec p = 1/3, calculez la probabilit de la ruine du joueur. 3. Avec p = 1/3, calculez la longueur moyenne d'une partie. Exercice 26.2 Monsieur X se rend au Salon du Livre de Rigoleville dans l'espoir de trouver enfin un exemplaire du livre de Stendhal Le Rose et le Vert. Le Salon compte cinq stands et les organisateurs se sont amuss aux cours des annes prcdentes construire la matrice des probabilits de transition des visteurs d'un stand un autre : de \ Stand 1 Stand 2 Stand 3 Stand 4 Stand 5 Stand 1 Stand 2 Stand 3 Stand 4 Stand 5 0 0.2 0 0.9 0.8 0.8 0 0 0 0 0 0.5 0 0.1 0 0 0.3 0.6 0 0.2 0.2 0 0.4 0 0

Sachant que seuls les stands 4 et 5 disposent du livre recherch et que Monsieur X commence par visiter le stand 1, quelle est la probabilit qu'il achte son livre au stand 4 plutt qu'au stand 5 (Monsieur X achtera le premier exemplaire qu'il trouvera) ? Exercice 26.3 Considrons une srie de jets d'une pice de monnaie normale. On notera P pour pile et F pour face. 1. Quelle est la probabilit d'obtenir une squence PFP avant une squence PPP ? 2. Quel est le nombre de jets ncessaires en moyenne pour raliser l'une des deux squences PFP et PPP ? 35

Exercice 26.4 : la parade nuptiale des bourdons Cet exercice est tir du livre donn en rfrence. On s'y reportera pour avoir tous les dtails de l'exprience. On ne prsente ici que le minimum ncessaire l'exercice. Observation d'une sance d'accouplement Une sance d'accouplement peut se dcomposer en 7 phases :

Dpart (D) : mise en contact des bourdons mle et des reines. Approche (App) : un mle se dirige vers la reine. Il s'approche courte distance. Il est le comportement le plus frquent et souvent suivi d'une rcidive. Inspection de la femelle (IF) : le mle suit la reine avec ses antennes tendues vers elle. Il inspecte souvent la reine au niveau de la tte (rgion o se trouvent les glandes produisant les phromones sexuelles), mais parfois au niveau de l'abdomen. Tentative d'accouplement (T) : le mle s'approche de la reine, il s'accroche elle. Il frotte de ses pattes antrieures l'extrmit de l'abdomen de la femelle. Il sort ses gnitalias (appareil reproducteur) et tente de pntrer la reine. Accouplement (Acc) : lors de l'accouplement, le comportement du mle se caractrise par des mouvements de battements des pattes sur l'extrmit de l'abdomen de la reine. Sortie par abandon du mle (SA) : lors de la squence de 15 minutes, le bourdon mle peut adopter un comportement indiffrent vis--vis de la reine; il sort de la parade nuptiale et n'y revient jamais. Sortie pour dpassement du temps (ST) : l'observation est limite 15 minutes. Aprs cette dure, la probabilit d'accouplement peut tre considre comme presque nulle.

Approche du mle Rsultats des observations

Inspection de la reine par le mle

Tentative d'accouplement

Accouplement

Voici les statistiques obtenues pour 78 sances d'accouplement en laboratoire. suivi de App D App IF T Travail 1. 2. 3. 4. Dessinez le graphe de transitions d'une parade nuptiale de bourdons. Calculez les probabilits de transition d'un tat un autre et ajoutez-les au graphe. Donnez la matrice correspondante de la chane de Markov. Adaptez votre programme simulant une chane de Markov (voir exercice 24.1) la situation prsente. Utilisez ce programme pour simuler une parade nuptiale de bourdons. 5. Cette chane de Markov est une chane absorbante. Quel est le nombre moyen d'tapes avant absorption ? Trouvez le rsultat thoriquement et par simulation.Rfrence: Mathmatique & biologie. Une exprience pluridisciplinaire, ditions De Boeck, Bruxelles, 2003, chapitre 7

T 0 202 0 0

IF 0 87 0 0

Acc 0 0 0 35

ST 0 16 3 7

SA 0 8 1 8

Total 78 927 87 202

78 614 83 152

36

Lexique sur les graphesEntre parenthses, le terme anglais.

Acyclique (Acyclic)Un graphe est acyclique s'il ne contient aucun cycle.

Adjacent (Adjacent)Deux sommets sont adjacents s'ils sont relis par une arte. On qualifie souvent de voisins deux sommets adjacents. Voici deux sommets adjacents :

Arborescence (Rooted tree)Arbre avec un sommet distingu r (la racine).

Arbre (Tree)Graphe connexe ne contenant aucun cycle.

Arbre couvrant (Spanning tree)Un sous-graphe maximum d'un graphe qui est aussi un arbre. On parle aussi d'arbre de recouvrement.

Arbre de recherche dichotomique (Binary search tree)Arbre binaire qui a t tiquet avec des nombres de sorte que le fils de droite d'un sommet s et tous ses descendants aient des numros plus petits que le numro de s, et le fils de gauche de s et tous ses descendants ont des numros plus grands que celui de s.

Arbre n-aire (N-ary tree)Un arbre o chaque sommet a 0 ou n fils. Quand n = 2, on parle d'arbre binaire.

Arc (Arc)Une arte oriente d'un digraphe.

Arte (Edge)Une arte relie deux sommets dans un graphe. Nous appelons ces deux sommets les extrmits de l'arte. Voici les artes d'un graphe (en rouge) :

Biparti (Bipartite)Un graphe est biparti si ses sommets peuvent tre diviss en deux ensembles X et Y, de sorte que toutes les artes du graphe relient un sommet dans X un sommet dans Y. Les arbres sont des exemples des graphes bipartis. Si G est biparti, il est habituellement not par G = (X, Y, E), o E est l'ensemble des artes. 37

K3,3 est un graphe biparti :

Boucle (Loop)Arte ou arc partant d'un sommet et allant vers lui-mme. Les boucles ne sont pas autorises dans les graphes et digraphes simples.

Chane (Chain)Une chane dans un graphe est une suite de sommets relis par des artes. La longueur d'une chane est le nombre d'artes utilises, ou, ce qui revient au mme, le nombre de sommets utiliss moins un. Une chane simple ne peut pas visiter le mme sommet deux fois. Voici un exemple d'une chane simple :

Chemin (Path)Un chemin dans un digraphe est une suite de sommets relis les uns aux autres par des arcs. La longueur du chemin est le nombre d'arcs utiliss, ou le nombre de sommets moins un. Un chemin simple ne peut pas visiter le mme sommet plus d'une fois. Un chemin ferm a pour dernier sommet le premier. Voici un exemple de chemin :

Circuit (Circuit)Dans un digraphe, un circuit est un chemin ferm simple.

Clique (Clique)Sous-graphe complet d'un graphe G. L'ordre de la plus grande clique de G est not (G). Prononcer omga de G .

Complet (Complete)Dans un graphe complet, toutes les paires de sommets sont adjacentes. Un graphe complet n sommets est not Kn (le K est en l'honneur de Kuratowski, un pionnier de la thorie des graphes). Voici le graphe complet sur cinq sommets, not K5 :

Composante connexe (Connected component)Dans un graphe, une composante connexe est un sous-graphe induit maximal connexe. Maximal signifie qu'il n'y a pas de sous-graphe induit connexe plus grand contenant les sommets de la composante.

38

Condens (Condensed)tant donn un graphe G, si deux sommets de G sont fusionns et si tous les boucles ou artes multiples crs par cette fusion sont enleves, le graphe rsultant s'appelle le graphe condens.

Connexe (Connected)Un graphe connexe est un graphe dans lequel chaque paire de sommets est relie par une chane. Un graphe qui n'est pas connexe est dit non connexe, et se dcompose en composantes connexes.

Corde (Chord)On appelle corde d'un cycle lmentaire une arte qui relie deux sommets non conscutifs de ce cycle.

Couplage ou appariement (Matching)Un couplage est un ensemble d'artes tel que chaque sommet du graphe appartient au plus une arte de cet ensemble.

Couplage parfait (Perfect matching)Dans un graphe 2n sommets, un couplage avec n artes est dit parfait. Chaque sommet du graphe est satur par un couplage parfait.

Cycle (Cycle)Dans un graphe, un cycle est une chane simple dont les extrmits concident. On ne rencontre pas deux fois le mme sommet, sauf celui choisi comme sommet de dpart et d'arrive.

Degr (Degree)Le degr d'un sommet est la taille de son voisinage. Le degr d'un graphe est le degr maximum de tous ses sommets.

Diamtre (Diameter)Le diamtre d'un graphe est la plus longue des distances entre deux sommets de ce graphe.

Digraphe (Digraph)Un digraphe est un graphe dans lequel les artes sont orientes et appeles arcs. Plus formellement, un digraphe est un ensemble de sommets ainsi qu'un ensemble de paires ordonnes des sommets, appeles les arcs. Voici un digraphe sur 4 sommets :

Distance (Distance)La distance entre deux sommets est la longueur de la plus courte chane entre eux.

tiquette (Label)Les tiquettes sont simplement des noms donns aux sommets et aux artes de faon pouvoir les diffrencier. L'tiquetage des sommets est arbitraire.

39

Eulrien (Eulerian)Une chane ou un circuit est dit eulrien si chaque arte du graphe y apparat exactement une fois.

Fermeture (Closure)La fermeture d'un graphe G n sommets est le graphe obtenu partir de G en ajoutant progressivement des artes entre les sommets non adjacents dont la somme des degrs est au moins gale n, jusqu' ce que ceci ne puisse plus tre fait. Plusieurs rsultats sur l'existence des circuits hamiltoniens se rapportent la fermeture d'un graphe.

Feuille (Leaf)Sommet de degr 1. Aussi appel sommet pendant.

Fils (Offspring)Dans un arbre, les sommets adjacents un sommet donn du niveau suprieur sont appels fils de ce sommet. Les descendants d'un sommet sont les sommets qui sont le fils, ou le fils du fils, etc., d'un sommet donn.

Fort (Forest)Graphe qui ne contient aucun cycle. Les composantes connexes d'une fort sont des arbres.

Fortement connexe (Strongly Connected)Dans un digraphe fortement connexe, chaque sommet peut tre atteint depuis n'importe quel autre par un chemin.

Graphe (Graph)Un graphe est un ensemble de points, dont certaines paires sont relies par des lignes. Les points sont appels sommets et les lignes sont nommes artes. Plus formellement, un graphe est compos de deux ensembles, l'ensemble des artes (E) et l'ensemble des sommets (V). L'ensemble des sommets est simplement une collection d'tiquettes qui permettent de distinguer un sommet d'un autre. L'ensemble des artes est constitu de paires non ordonnes d'tiquettes de sommets. Voici la reprsentation graphique d'un graphe et les ensembles dfinissant le graphe : V = {A, B, C, D} - l'ensemble des sommets E = {(A,B) , (A,C) , (B,C) , (B,D)} - l'ensemble des artes Une reprsentation graphique

Hamiltonien (Hamiltonian)Une chane ou un cycle est dit hamiltonien si chaque sommet du graphe y apparat exactement une fois. Les chemins et les circuits des digraphes sont dits hamiltoniens sous les mmes conditions. Un graphe contenant un circuit hamiltonien ou un digraphe contenant un cycle hamiltonien est appel graphe ou digraphe hamiltonien.

Hauteur (Height)La hauteur d'un arbre est la longueur de la plus longue chane simple partant de la racine de l'arbre.

Homomorphe (Homeomorphic)Deux graphes sont homomorphes s'ils peuvent tous les deux tre obtenus partir d'un graphe commun en remplaant les artes par des chanes simples. 40

Incident (Incident)Un sommet est incident une arte s'il est situ une des deux extrmits de cette arte. Inversement, une arte est incidente un sommet si elle touche ce sommet.

Indice chromatique (Chromatic index ?)L'indice chromatique d'un graphe est le plus petit nombre k pour lequel il existe une k-coloration des artes. L'indice chromatique du graphe G est not par (G) [ est la lettre grecque khi]. Dans l'exemple ci-dessous, l'indice chromatique vaut 4.

Isomorphe (Isomorphic)Deux graphes sont isomorphes si ce sont les mmes graphes, dessins diffremment. Deux graphes sont isomorphes si on peut tiqueter les deux graphes avec les mmes tiquettes de sorte que chaque sommet ait exactement les mmes voisins dans les deux graphes. Voici deux graphes isomorphes :

Isthme (Bridge)Arte dont la suppression augmente le nombre de composantes connexes du graphe.

k-colorable (k-colorable)Un graphe est dit k-colorable si chacun de ses sommets peut tre assigne une parmi k couleurs de sorte qu' deux sommets adjacents soit assigne une couleur diffrente. Cette assignation est appele coloration.

Liste d'adjacences (Adjacency Structure)Une reprsentation d'un graphe ou d'un digraphe qui numre, pour chaque sommet, tous les sommets qui sont adjacents au sommet donn.

Liste d'arcs (Arc List)Une reprsentation d'un digraphe utilisant les arcs du digraphe. Ce peut tre une liste de paires ordonnes de sommets, ou deux listes tries avec le sommet de dpart dans une liste et le sommet de fin la position correspondante de la deuxime liste.

Matrice d'adjacences (Adjacency Matrix)Une matrice carre contenant des 0 et des 1, dont les lignes et les colonnes sont classes par sommets. Un 1 en position (i,j) signifie qu'il y a une arte (ou arc) du sommet i au sommet j. Un 0 indique qu'il n'y a aucune arte ou arc. Une matrice d'adjacences peut tre utilise pour des graphes et des digraphes.

Matrice d'incidences (Incidence Matrix)Une matrice contenant des 0 et des 1 dont les lignes sont indexes par les sommets du graphe et dont les colonnes sont indexes par les artes. Un 1 la position (i, j) de la matrice signifie que le sommet i est une extrmit de l'arte j. Un 0 indique que ce n'est pas le cas. 41

Noeud (Node)Autre mot pour sommet.

Nombre chromatique (Chromatic number)Le nombre chromatique d'un graphe est le plus petit nombre k pour lequel il existe une k-coloration des sommets. Le nombre chromatique du graphe G est not par (G) [ est la lettre grecque gamma]. Dans l'exemple ci-dessous, le nombre chromatique vaut 3.

Ordre (Order)L'ordre d'un graphe est le nombre de ses sommets.

Ordre topologique (Topological Order)Un ordre topologique d'un digraphe est un tiquetage des sommets avec des entiers conscutifs de sorte que chaque arc soit orient d'un numro plus petit vers un plus grand.

Orientation (Orientation)Une assignation de direction aux artes d'un graphe. Une arte oriente est un arc. Le graphe auquel on a donn une orientation est dit graphe orient et est un digraphe.

Partiel (Spanning Subgraph)Le graphe obtenu en enlevant des artes d'un graphe G est appel graphe partiel :

Un graphe

Un graphe partiel

Pendant (Pendant)Un sommet est pendant s'il est de degr 1. Aussi appel feuille si le graphe est un arbre.

Planaire (Planar)Un graphe planaire est un graphe que l'on peut dessiner sur une surface plate sans que ses artes se croisent. Les graphes que l'on ne peut pas desssiner sans croisements sont dits non planaires. Tout graphe contenant l'un ou l'autre des deux sous-graphes ci-dessous est non planaire :

Racine (Root)Sommet distingu d'un arbre. En distinguant un sommet d'un arbre, on obtient une arborescence.

42

Rang (Level)Dans une arborescence, les sommets la mme distance de la racine sont dits tre au mme rang. La racine est par convention au rang 0 et la hauteur de l'arbre est le rang maximum.

Rduit (Reduced)Si une arte a, est enleve d'un graphe G, le graphe rsultant, not G'a, est appel le graphe rduit.

Rgulier (Regular)Dans un graphe rgulier, tous les sommets ont le mme degr. Si le degr commun est k, alors on dit que le graphe est k-rgulier.

Satur (Saturated)Un sommet appartenant une arte d'un couplage est dit satur.

Simple (simple)Un graphe est dit simple, s'il ne contient pas de boucles et s'il n'y a pas plus d'une arte reliant deux mmes sommets.

SimplicialUn sommet est dit simplicial si l'ensemble de ses voisins forme une clique.

Sommet (Vertex, pluriel Vertices)Extrmit d'une arte. Voici les sommets (en rouge) d'un graphe :

Sous-graphe (Induced Subgraph)Un sous-graphe d'un graphe est obtenu en y enlevant des sommets et toutes les artes incidentes ces sommets.

Un graphe

Un sous-graphe

Stable (Stable)Un stable d'un graphe G est un sous-graphe de G sans artes. L'ordre du plus grand stable de G est not (G) est s'appelle nombre de stabilit. Prononcer alpha de G .

Taille (Size)La taille d'un graphe est le nombre de ses artes.

Tournoi (Tournament)Digraphe complet. 43

Voisinage (Neighborhood)Le voisinage d'un sommet est l'ensemble de tous ses sommets adjacents. Ci-dessous le voisinage (en rouge) du sommet bleu :

Quelques rfrences sur la thorie des graphesLivresPour dbutants

Cogis O., Robert Cl., Thorie des graphes, Vuibert, 2003 Droesbeke F., Hallin M., Lefevre Cl., Les graphes par l'exemple, Ellipses, 1987 Lipschutz Seymour, Mathmatiques discrtes, Srie Schaum, McGraw-Hill, 1990

Pour aller plus loin

Gondran M., Minoux M., Graphes et algorithmes, 2e dition, Eyrolles, 1986 Regg Alan, Processus stochastiques, Presses polytechniques romandes, 1989 Skiena Steven, Implementing Discrete Mathematics, Addison-Wesley, 1990 (voir le site www.combinatorica.com)

D'autres rfrences sur le web sont disponibles l'adresse : www.apprendre-en-ligne.net/graphes/ref.html

44