Chapitre 5 - Arbres Et Foret
Chapitre 5 - Arbres Et Foret
Chapitre 5 - Arbres Et Foret
Cours et Exercices
Adil Bellabdaoui
adil.bellabdaoui@um5.ac.ma
www.decision.ma/
25 octobre 2017
2
Chapitre 5
Arbre et Foret
Les arbres et forets sont des graphes particuliers, tres populaires en algorith-
miques et en informatique.
Exemple 5.2
Remarques 5.3
Etant une foret un graphe sans cycle, chacune de ses composantes connexes
est acyclique, en plus, elle est connexe (par definition). La definition dune foret
correspond donc bien au sens usuel dun ensemble darbres, chacune de ses com-
posantes connexes etant un arbre.
45
46 CHAPITRE 5. ARBRE ET FORET
Si nous regardons les arbres sous langle des graphes acycliques, ils sont
maximaux, au sens ou ajouter la moindre arete cree un cycle.
Remarques 5.7
-Un arbre couvrant dun graphe G est donc un graphe T tel que :
LegrapheT estunarbre
U narbrecouvrantpourungrapheGn0 estpasuniquesauf siGest
LegrapheT estungraphepartieldeG.
- Dans le cas general, il existe exactement trois arbres non-isomorphes a 5
sommets.
nombre reel appele poids. Si ce nombre est postif, on parle alors de graphe
pondere.
Definition 5.9
Le probleme de larbre couvrant de poids minimum (MST, Minimum Span-
ning Tree) consiste a trouver un arbre couvrant dont la somme des poids de
ses aretes est minimum. La seule condition, necessaire et suffisante, pour quun
graphe admette un arbre couvrant est quil soit connexe.
Exemple dillustration
Faisons tourner cet algorithme sur lexemple de la figure 5.3 avec n = 6 et m = 9.
On pose T = et i = 1.
Donc on commence par ajouter u1 dans notre arbre : T = {u1 } et i = 2.
Ensuite on ajoute u2 : T = {u1 , u2 } et i = 3.
On peut ajouter aussi u3 et u4 sans creer de cycle, donc T = {u1 , u2 , u3 , u4 } et
i = 5.
A ce stade on obtient la figure 5.5 :
5.3. PROBLEME DE LARBRE COUVRANT DE POIDS MINIMUM 49
On tente alors dajouter u5 , mais (u3 , u5 ) forment un cycle. u5 est donc re-
jete, et i = 6.
Attention ! ! !
- Notez quun arbre de recouvrement minimal nest pas obligatoirement unique.
Dautres peuvent peser le meme poids. On va dailleurs en trouver un autre
pour notre probleme lorsquon va utiliser lalgorithme de Prim dans la section
suivante.
- Si toutes les aretes sont de poids differents, la solution est unique.
xj a A.
Etape 4. Si |T| = n - 1, Stop, sinon retourner en 3.
Exemple dillustration
- Pour demarrer lexemple dillustration precedent presente dans la figure 5.7, on
va choisir dinitialiser A avec le sommet 1 :
- A = {1}
- Q = w(A) = w(1) = {u1 , u4 }
-T=
- On doit choisir une arete de moindre poids dans q. Larete u4 (de poids 2) est
donc exclue. On va prendre u1 . Elle est reliee a 2 qui rentre donc dans lensemble
A (voir figure 5.8).
- T = {u1 }
- A = {1, 2}
- Q = w(A) = {u2 , u4 , u8 , u9 }
- Encore une autre fois, deux aretes u2 et u7 (de poids 2) peuvent convenir. En
choisissant larete u7 , on ajoute son extremite 4 (voir la figure 5.11).
- T = {u1 , u2 , u4 , u7 }
- A = {1, 2, 3, 4, 6}
- Q = w(A) = {u3 , u5 , u6 }
Larbre trouve ici nest pas le meme que dans la section precedente, mais il
pese bien le meme poids (7). Aussi bien pour Kruskal que pour Prim, il y a des
choix a faire (par exemple, lorsquil y a plusieurs aretes avec le meme minimum),
et il y a donc plusieurs bonnes solutions.
5.4 Arborescence
Souvent, pour manipuler un arbre, nous particularisons un sommet du graphe
que nous appelons racine.
Dans le cas des graphes non orientes, le choix dune racine r dans larbre
est arbitraire.
54 CHAPITRE 5. ARBRE ET FORET
Dans le cas des graphes orientes, la racine est definie de maniere unique
comme le sommet sans predecesseur de larbre.
Le choix dune racine revient dans un certain sens a orienter larbre, la racine
apparaissant comme lancetre commun a la maniere dun arbre genealogique. Le
vocabulaire de la theorie des graphes sen inspire directement : on parle de fils,
de pere et de frere.
Definition 5.13
Une arborescence est un graphe oriente ayant un sommet r appele racine
tel que pour tout sommet s, il existe un chemin unique de r vers s.
5.5 Serie 5
Exercie 5.1
Trouver tous les arbres ayant 6 sommets.
Montrez que :
1. Un graphe partiel dun graphe connexe G est un arbre couvrant de G si et
seulement si il est connexe et minimal avec cette propriete relativement a la
suppression daretes.
2. Un graphe partiel dun graphe connexe G est un arbre couvrant de G si
et seulement si il est acyclique et maximal avec cette propriete relativement a
lajout daretes.
Exercie 5.3
Montrer quun graphe G sans boucle est un arbre si et seulement si, pour
toute paire x, y de sommets distincts de G, il existe une et une seule chane
elementaire de x a y.
Exercie 5.4
Tout arbre dordre n (n 2) a au moins deux sommets pendants.
Idee 1 : Montrer que lorigine et la fin dune plus longue chane elementaire
dans un arbre non trivial ont degre un.
Idee 2 : Appliquer la propriete 5.1 et Lemme des poignees de mains.
Exercice 5.8
5.5. SERIE 5 57
Exercice 5.9
1. Montrer quun arbre est biparti.
2. Montrer plus generalement quun graphe est bipartite si et seulement si tous
ses cycles sont de longueur paire.
120 CHAPITRE 5. ARBRE ET FORET