Anda di halaman 1dari 40

Ensa de Marrakech, Thorie des graphes, 2011 -2012 1

QUELQUES PROBLEMES DANS


GRAPHES
Maria ZRIKEM
Ensa de Marrakech, 2011-2012
Ensa de Marrakech, Thorie des graphes, 2011 -2012 2
Problme de coloration des sommets dun graphe
Colorer les sommets dun graphe G=(X,U) consiste leur affecter des
couleurs, ou tout autre identificateurs, de telle sorte que deux sommets
adjacents naient la mme couleur. Si k couleur sont utiliss, on parle
dune k-coloration.
On vrifie directement quune k-coloration est une partition de X en k
sous-ensemble stables, chacun entre eux contenant les sommets de
mme couleur.
Le nombre chromatique de G, note (G), est la plus petite valeur de K pour
laquelle il existe une k-coloation des sommets. Une coloration des
sommets en (G) couleurs, est une coloration minimale.
De nombreux problmes concrets, tels que certains problmes dhoraire
et dallocation de ressources, peuvent se ramener la recherche dune
coloration minimale des sommets dun graphe.
Rappel ; un graphe est biparti ssi (G)=2.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 3
Coloration des sommets dun graphe
{x1,x5,x8}; {x2, x6, x4}; {x3, x7} est une 3-
coloration. Elle est minimale.
1
2
4
3
6
5
8
7
Ensa de Marrakech, Thorie des graphes, 2011 -2012 4
Coloration des sommets dun graphe
Algorithme de Welsh et Pawell (coloration selon les degrs)
Soit G=(X,U) un graphe.
(1) Numroter les sommets suivants lordre dcroissent de leurs degrs,
i=1, N=X.
(2) Donner au sommet qui a le plus petit numro la couleur i.
(3) Soit Ni lensemble des sommets non colors qui ne sont adjacents
aucun sommet de couleur i.
Si Ni=C faire N=Ni et aller en (2)
Sinon aller en (4)
(4) Poser N=lensemble des sommets non encore colors
Si N =C faire i=i+1 et aller en (2)
Sinon on a une coloration en i couleurs.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 5
Algorithme de Welsh et Powell
Exemple :
1
2
4
3
6
5 8
7
Ensa de Marrakech, Thorie des graphes, 2011 -2012 6
Bornes pour le nombre chromatique
Les bornes infrieures
) ( ) (
) 2 ( ) (
) ( ) (
) ( ) (
2 2
min
G n G
m n n G
G G
d n n G
o

>
>
>
> d
min
est le degr minimum des sommets du graphe
e(G) est le cardinal de la plus grande clique
Les bornes suprieures
] 1 ) ( , min[ max ) (
) ( 1 ) (
1 ) (
max
+ s s
+ s
+ s
e
i
X x
x d i k G
G n G
d G

d
max
est le degr maximum des sommets du graphe
d(x
i
) est le degr du sommet x
i
et k le nombre de
couleurs fournies par lalgo de welsh et powell
Ensa de Marrakech, Thorie des graphes, 2011 -2012 7
Bornes pour le nombre chromatique
Exemple :
1
2
4
3
6
5 8
7
3
] 3 / 8 , 5 / 8 , 3 , 3 / 4 max[
] ) ( , ) 2 ( ), ( ), ( max[ ) (
2 2
min
=
=
> G n m n n G d n n G o e
3
] 5 , 3 , 6 min[
] ), ( 1 , 1 min[ ) (
max
=
=
+ + s k G n d G o
Ensa de Marrakech, Thorie des graphes, 2011 -2012 8
Problme du couplage maximum
Dfinitions :
Soit G=(X,U) un graphe non orient.
Un ensemble C dartes est un couplage si deux artes quelconques de C
nont aucune extrmit en commun. Un couplage est dit maximum lorsquil
est de cardinalit maximale.
Le concept de couplage maximum revt une importance particulire dans les
graphes bipartis et permet notamment de rsoudre certains problmes
daffectation optimale de personnel
Exemple : une entreprise employant 4 ouvriers doit effectuer 4 travaux. Les
affectations possibles sont :
Louvrier x1 est qualifi pour les travaux y1, y2
Louvrier x2 est qualifi pour les travaux y1, y3
Louvrier x3 est qualifi pour les travaux y3, y4
Louvrier x4 est qualifi pour les travaux y4
La socit peut-elle raliser les 4 travaux? Dans laffirmative, comment doit-
elle affecter les ouvriers aux postes de travail?
Ensa de Marrakech, Thorie des graphes, 2011 -2012 9
Couplage maximum
Louvrier x1 est qualifi pour les travaux y1, y2
Louvrier x2 est qualifi pour les travaux y1, y3
Louvrier x3 est qualifi pour les travaux y3, y4
Louvrier x4 est qualifi pour les travaux y4
Construisons le graphe biparti G=(XY,U) suivant, o une arte relie x
i
y
j
si
louvrier x
i
est qualifi pour le travail y
j
x
1
x
2
x
3
x
4
y
1
y
2
y
3
y
4
Une affectation optimale des ouvriers correspond
un couplage maximum dans le graphe G :
{(x1, y2), (x2,y1), (x3,y3), (x4,y4)} est un couplage
maximum.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 10
Algorithme dobtention dun couplage maximum dans un graphe biparti
G=(XY, U) un graphe biparti.
lalgorithme procde par marquage de sommets non marqus de X ou
de Y, partir de sommets marqus, respectivement de Y ou de X. Notons
X
M
(resp Y
M
) lensemble des sommets marqus de X (resp Y) et X
N
(resp
Y
N
) lensemble des sommets complmentaires non marqus de X (resp
de Y)
un sommet est sature par un couplage sil est extrmit dune arte du
couplage (un couplage parfait sature tout les sommets du graphe).
Ensa de Marrakech, Thorie des graphes, 2011 -2012 11
Algorithme dobtention dun couplage maximum dans un graphe biparti
G=(XY,U)
Calculer un couplage initial C
X
M
=Y
M
=C, X
N
=X, Y
N
=Y
- xeX\C
Marquer + un tel sommet x
X
M
=X
M
{x}, X
N
=X
N
\{x}
- yeI(x)Y
N
Marquer +x un tel sommet y
Y
M
=Y
M
{y}, Y
N
=Y
N
\{y}
-xeI(y)C X
N,
O ye Y
M
Marquer -y un tel sommet x
X
M
=X
M
{x}, X
N
=X
N
\{x}
Tous les ye Y
M
appartiennent C
STOP. Le couplage C obtenu est un couplage maximum
non
oui
non
non
oui
oui
oui
(1)
(2)
Supprimer dans C toutes les artes de C Qui
sont reprises dans A;
Ajouter dans C toutes les artes eC qui sont
reprises dans A
Soit y* e Y
M
\C;
Dterminer la chaine A={x,,y*}
commenant en un sommet x marqu +
et qui a conduit au marquage de y*
non
(1) existe-t-il un sommet y non
marqu adjacent x (marqu)
(2) C contient-il un sommet x non
marqu adjacent un sommet
y marqu
Ensa de Marrakech, Thorie des graphes, 2011 -2012 12
Algorithme dobtention dun couplage maximum dans un graphe biparti
x
1
x
2
x
3
x
4
y
1
y
2
y
3
y
4
Exemple :
Considrons par exemple le couplage initial c={e
1
, e
4
, e
6
)
Etape1 :
Seul le sommet x
4
nest pas satur par C, nous marquons
successivement les sommets suivants
e
1
e
2
e
3
e
4
e
5
e
6
e
7
sommets x
4
y
4
x
3
y
3
x
2
y
1
x
1
y
2
marques + (+, x
4
) (-, y
4
) (+, x
3
) (-, y
3
) (+, x
2
) (-, y
1
) (+, x
1
)
Observons que y
2
est marqu mais nappartient pas C. Dterminons la
chane alterne A qui a permis de marquer y
2
: A={e
7
, e
6
, e
5
, e
4
, e
3
, e
1
, e
2
)
Pour obtenir le nouveau couplage, nous supprimons dans C les artes qui
appartiennent la fois C et A (i.e. e
1
, e
4
, e
6
) et nous les remplaons par les
artes qui appartiennent A mais pas C (i.e. e
2
, e
3
, e
5
, e
7
)
tape 2 :
Tous les sommets de X appartiennent C, le couplage obtenu ltape 1 est
un couplage maximum.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 13
Coloration des artes dun graphe
Colorer les artes dun graphe G=(X,U) consiste leur affecter des
couleurs, de telle sorte que deux artes adjacents naient pas la mme
couleur. Si k couleur sont utiliss, on parle dune k-coloration.
On vrifie directement quune k-coloration des artes de G est une
partition de U en k couplages, chacun entre eux contenant les artes de
mme couleur.
Lindice chromatique de G, note _(G), est la plus petite valeur de K pour
laquelle il existe une k-coloation des artes. Une coloration des sommets
en _(G) couleurs, est une coloration minimale.
De nombreux problmes concrets, tels que certains problmes dhoraire
et dallocation de ressources, peuvent se ramener la recherche dune
coloration minimale des sommets dun graphe
Ensa de Marrakech, Thorie des graphes, 2011 -2012 14
Bornes pour lindice chromatique
1 ) (
max max
+ s s d G d
d
max
est le degr maximum des sommets du graphe
Si G est biparti alors
max
) ( d G =
Ensa de Marrakech, Thorie des graphes, 2011 -2012 15
Nombre cyclomatique
Soit G=(X,U) un multigraphe avec n sommets, m artes et p composantes
connexes. Le nombre cyclomatique de G est :
p n m G + = ) ( u
Thorme :
Pour tout multigraphe G, on a v(G)0. De plus v(G)=0 si et seulement si G
est sans cycle.
Nombre darcs dans un graphe
Si G est connexe alors m n-1.
Si G est sans cycle alors m n-1.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 16
Arbres et forts
Un graphe (non orient) sans cycle est une fort.
Un graphe (non orient) sans cycle est connexe est un arbre.
Une fort
Un arbre
Remarque : les forts et les arbres sont des graphes simples et chaque
composante connexe dune fort est un arbre.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 17
Racine et arborescence
Un sommet r dun graphe G est une racine de G sil existe un chemin
joignant r chaque sommet du graphe G.
Un graphe G est une arborescence de racine r si G est un arbre et r une
racine.
G est une arborescence de racine A
C G
D H
A
B
I
Ensa de Marrakech, Thorie des graphes, 2011 -2012 18
Caractrisation des arbres
Soit G=(X,U) un graphe de n sommets. Les affirmations suivantes sont
quivalentes :
(a) G est un arbre
(b) G est connexe et sans cycle
(c) G est sans cycle et comporte n-1 artes
(d) g est connexe et comporte n-1 artes
(e) G est sans cycle et en ajoutant une arte quelconque on cre un cycle
et un seul
(f) G est connexe et en supprimons une artes quelconque, on le rend
non connexe
(g) Chaque paire de sommets distincts de G est relie par une et une
seule chane simple
Ensa de Marrakech, Thorie des graphes, 2011 -2012 19
Arbre partiel de poids minimum
Soit G=(X,U) un graphe valu simple et connexe.
Un graphe partiel de G sans cycle est un arbre couvrant de G.
Un arbre couvrant de poids minimum est un arbre couvrant dont la
somme des poids des artes est minimale.
La construction dun arbre de poids minimum dans un graphe a de
nombreuses applications, notamment dans certains problmes de
distribution et de tlcommunications.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 20
Problme darbre partiel de poids minimum
Exemple
Le problme abord ici correspond la minimisation du cot de
construction dun rseau minimal de communication connaissant le cot
de chaque liaison possible entre les nuds du rseau construire.
Puisque on cherche un rseau minimale, on cherche un arbre couvrant
(i.e. le graphe induit connexe qui a le minimum dartes). On doit de plus
tenir compte du cot de construction : on cherche donc un arbre
couvrant minimal.
6
6
6
3
3
2
3
6
4
5
8
7
Ensa de Marrakech, Thorie des graphes, 2011 -2012 21
Algorithmes darbre partiel de poids minimum
Algorithme de KRUSKAL
Cest un algorithme glouton qui repose sur le fait quun arbre couvrant dun
graphe dordre n a n-1 artes et est acyclique.
(1) marquer larte de poids minimum
(2) soit T lensemble des artes marques
si |T|=n-1 alors aller en 4
(3) parmi les artes qui ne forment pas un cycle avec T marquer celle de
valeur minimale et aller en (2)
(4) T fournit larbre couvrant minimal
u
v
2
2
1
y
x
z
3
2
1
u
v
y
x
2
2
1
u
v
y
x
z
5
5
4
2
2
1
2
u
v
y
x
z
3
6
1
v
u
2
2
1
y
x
z
3
Ensa de Marrakech, Thorie des graphes, 2011 -2012 22
Algorithmes darbre partiel de poids minimum
Algorithme de PRIM
Lalgorithme de Kruskal veille maintenir la proprit dacyclicit dun arbre alors que
lalgorithme de Prim se base sur la connexit dun arbre. Lalgorithme de Prim fait pousser un
arbre couvrant minimal en ajoutant au sous-arbre T dj construit une nouvelle branche parmi
les artes de poids minimal joignant un sommet de T un sommet nappartenant pas ce
dernier. Lalgorithme sarrte lorsque tous les sommets du graphe appartiennent T.
(1) choisir arbitrairement un sommet et marquer larte de poids minimum issue de
ce sommet
(2) soit A lensemble des sommets extrmits des artes marques.
si A=X alors aller en 4
(3) marquer larte de valeur minimum joignant un sommet de A et un sommet de X\A
et aller en (2)
(4) lensemble des artes marques donne larbre partiel minimum
1
5
5
4
2
2
1
2
u
v
y
x
z
3
6
1
v u
u v
2
2
1
y
x
z
3
2
u
v
z
2
3
1
u v
x
z
1
y
z
u
Ensa de Marrakech, Thorie des graphes, 2011 -2012 23
Problme des plus courts chemins dans les rseaux
Un rseau est un graphe orient G = (V,E) muni dune ou plusieurs
pondrations de ses arcs ou de ses sommets. Nous considrerons ici
des rseaux R = (V,E, c) o c est une pondration, priori
quelconque, des arcs du graphe G = (V,E).
Les problmes de plus courts chemins se divisent en trois grands
groupes :
dterminer un plus court chemin dun sommet origine (source) s
un sommet destination (puits) t ;
dterminer les plus courts chemins dun sommet source s
tous les autres sommets du graphe ;
dterminer les plus courts chemins entre toutes les paires
(ordonnes) de sommets du graphe.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 24
Plus courts chemins dans les rseaux
Remarques.
Dans les rseaux la longueur dun chemin ou dun circuit correspond la
somme des poids de ses arcs et non plus leur nombre !
Les problmes de plus courts chemins ne sont bien dfinis que si le graphe
ne contient pas de circuit cot ngatif (ou, du moins, ne possde pas de
circuit cot ngatif atteignable depuis la source s). Ds prsent nous
supposerons que cette hypothse est toujours vrifie.
Les problmes de plus courts chemins peuvent tre rsolus
laide de la programmation dynamique ;
laide de la programmation linaire (transbordement) ;
laide dalgorithmes spcialiss
Ensa de Marrakech, Thorie des graphes, 2011 -2012 25
Le principe doptimalit de Bellman
Ce principe, galement valable pour de nombreux problmes de dcisions, est
la base des techniques doptimisation de la programmation dynamique ainsi que
des algorithmes dtiquettes.
Spcialis aux problmes de plus courts chemins, ce principe nonce
simplement quun plus court chemin est form de plus courts chemins.
Si C est un plus court chemin de s t et si u appartient ce plus court chemin,
alors les sous-chemins de s u et de u t sont galement des plus courts
chemins.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 26
Problme de chemin de valeur extremum dans un graphe valu
Soit G=(X,U) un graphe orient sans boucle tel que chaque arc (x
i
, x
j
) soit
associ une valeur l
ij
On se propose de chercher un chemin reliant un sommet x
1
un sommet x
n
tel
que sa longueur soit minimale ou maximale.
Posons : l
ij
= + si (x
i
, x
j
) eU
l
ii
= 0 i
Ensa de Marrakech, Thorie des graphes, 2011 -2012 27
Algorithme de FORD
Hypothse particulire : aucune
Algorithme
On pose
1
= 0 et
i
= + i = 1
On cherche un arc (x
i
, x
j
) tel que
j
-
i
> l
ij
et on remplace
j
par

j
=
i
+ l
ij
On continue ainsi jusqu ce quaucun arc ne permette de diminuer les

j
Il existe ncessairement un sommet x
p
1
tel que
n
-
p
1
= l
p
1
n
un sommet x
p
2
tel que
p
1
-
p
2
= l
p
2
p
1
et ainsi de suite jusqu ce que x
p
k
= x
1
Le chemin (x
1
, xp
k-1
, xp
k-2
, ., xp
1
, xn) est optimal
Ensa de Marrakech, Thorie des graphes, 2011 -2012 28
Algorithme de FORD
Exemple :
x1
x2
x3
x4
x5
3
2
5
2
3
7
5
l
ij x
1
x
2
x
3
x
4
x
5
x
1
x
4
x
2
x
3
x
5
0 3
2

0
5
2


0
3 7

0 5

0

1
= 0 et
i
= + i = 1
Arc (x
1
, x
2
)
2
-
1
> 3
2
= 3
Arc (x
1
, x
3
)
3
-
1
> 2
3
= 2
Arc (x
2
, x
4
)
4
-
2
> 2
4
= 5
Arc (x
4
, x
5
)
5
-
4
> 5
5
= 10
Arc (x
3
, x
5
)
5
-
3
> 7
5
= 9
Il nest plus possible de diminuer les
i

5
-
3
= l
35

3
-
1
= l
13
(x
1
, x
3
, x
5
) est un chemin optimal de x
1
x
5

4
-
3
= l
34

3
-
1
= l
13
(x
1
, x
3
, x
4
) est un chemin optimal de x
1
x
4
Ensa de Marrakech, Thorie des graphes, 2011 -2012 29
Lalgorithme de Bellman-Kalaba
Hypothse particulire : aucune
Algorithme :

i
(j) : la valeur du chemin optimal allant de x1 xi et compos se j arcs au plus
Lalgorithme consiste calculer les quantits
i
(j) successivement pour i de 1 n

1
(1) = 0

i
(1) = l
1i
i

i
(k) = min
j
(
j
(k-1) + l
ji
) (principe doptimalit)
Lalgorithme sarrte quand
i
(k) =
i
(k-1) i
Remarque :
Si K=n, le graphe admet un cycle ngatif (cycle absorbant)
Ensa de Marrakech, Thorie des graphes, 2011 -2012 30
Lalgorithme de Bellman-Kalaba
Exemple :
x1
x2
x3
x4
x5
3
2
5
2
3
7
5
l
ij x
1
x
2
x
3
x
4
x
5
x
1
x
4
x
2
x
3
0 3
2

0
5
2

0
3 7

0 5

i
(1)
0 (1)
3 (1)
2 (1)

5 (2)

i
(2)
0 (1)
3 (1)
2 (1)
9 (3)
5 (2)

i
(3)
0 (1)
3 (1)
2 (1)
9 (3)
x
5

0
0 (1) 3 (1)
2 (1) 5 (2) 9 (3)
( ) Indice du sommet qui prcde
Les chemins optimaux :
(x1, x2)
(x1, x3)
(x1, x2, x4)
(x1, x3, x5)
Ensa de Marrakech, Thorie des graphes, 2011 -2012 31
Lalgorithme de Dijkstra (1959) [Moore (1957)]
Hypothse particulire : les l
ij
positives
Notations :

i
(k) : la marque du sommet x
i
ltape k

i
: la marque dfinitive du sommet x
i
M(k) : ensemble des sommets marqus dfinitivement la fin de ltape k
n
k
: le numro du sommet marqu dfinitivement ltape k
Algorithme
Etape 1 :
i
(1) = l
1i
i = 1,
1
(1)=0, n1=1, M(1) ={1}
Etape K+1

i
(k+1) = Min (
i
(k),
nk
+ l
n
k
i
) ieM(k)

n
(k+1) = Min
i
(k+1)
M(k+1) = M(k) {n
k+1
}
A chaque tape on marque dfinitivement un sommet, cest celui de plus
petite marque parmi les sommets non encore marqus dfinitivement.
Lalgorithme sarrte quand x
n
est marqu dfinitivement
Ensa de Marrakech, Thorie des graphes, 2011 -2012 32
Lalgorithme de Dijkstra (1959) [Moore (1957)]
Exemple :
Ensa de Marrakech, Thorie des graphes, 2011 -2012 33
Lalgorithme de Dijkstra (1959) [Moore (1957)]
Complments
Pour reconstruire les plus courts chemins, on part de la destination et on
remonte jusqu s. Lensemble des arcs ainsi slectionns forme un arbre,
larbre des plus courts chemins. En fait il sagit dune arborescence,
Lalgorithme de Dijkstra peut galement tre appliqu un graphe non
orient muni dune pondration non ngative de ses artes. Il suffit de
remplacer successeurs par sommets adjacents dans lalgorithme ou, encore,
de remplacer chaque arte par deux arcs de sens opposs. Le poids de ces
arcs tant le mme que celui de larte quils remplacent.
Ensa de Marrakech, Thorie des graphes, 2011 -2012 34
Parcours de graphes
Ordre de parcours en largeur:
1, 2, 3, 4, 5, 6, 7
Parcours des arborescences en largeur
Le parcours en largeur (breadth-first search) dune arborescence consiste
visiter les noeuds dans lordre de gauche droite et de haut en bas
Parcourir une arborescence en largeur:
enfiler la racine;
TANT QUE la file nest pas vide
soit n le premier noeud de la file;
{ traitement de n }
dfiler;
enfiler tous les fils de n
FIN TANT QUE
Ensa de Marrakech, Thorie des graphes, 2011 -2012 35
Parcours de graphes
Parcours des arborescences en profondeur
Le parcours rcursif en profondeur (depth-first seareh) dune arborescence
consiste visiter la racine, la visite dun noeud tant termine lorsquon a visit
tous ses fils:
parcourir une arborescence en profondeur:
visiter la racine
visiter un noeud n:
{ pr-traitement de n }
visiter tous les fils de n
{ posttraitement de n }
Lordre de visite est de haut en bas et de gauche droite (ordre prfixe).
Lordre de post-visite est de bas en haut et de gauche droite (ordre postfixe).
Ensa de Marrakech, Thorie des graphes, 2011 -2012 36
Parcours de graphes
Parcours des arborescences en profondeur
On peut effectuer un parcours en profondeur non rcursif en marquant les
sommets en cours de traitement, et en utilisant une pile pour garder la trace des
noeuds en attente:
parcourir une arborescence en profondeur:
empiler la racine;
TANT QUE la pile nest pas vide
soit s le sommet de pile;
SI s na pas t marqu ALORS
{ pr-traitement de s }
marquer s;
SI s a des fils ALORS
empiler le fils an de s
FIN SI
SINON
{ posttraitement de s }
dpiler;
SI s a des frres plus jeunes ALORS
empiler le frre cadet de s
FIN SI
FIN SI
FIN TANT QUE
Ordre de visite: 1, 2, 5, 6, 3, 4, 7;
de post-visite: 5, 6, 2, 3, 7, 4 , 1
Ensa de Marrakech, Thorie des graphes, 2011 -2012 37
Parcours de graphes
Les algorithmes de parcours des arborescences sadaptent aux graphes, en
considrant que lon parcourt des arborescences associes aux sommets du
graphe; larborescence associe un sommet est celle des descendants de
ce sommet que lon na pas encore parcourus. Les arbres sous-jacents ces
arborescences forment une fort recouvrante du graphe (contenant tous les
sommets du graphe)
Les ordres de parcours dpendent videmment de lordre des sommets et de
lordre des successeurs de chaque sommet (ordres implicites dans la
reprsentation du graphe en mmoire).
Ensa de Marrakech, Thorie des graphes, 2011 -2012 38
Parcours de graphes
Parcours en largeur
Parcourir un graphe en largeur:
Visiter tous les sommets
visiter un sommet s
SI s na pas t marqu ALORS
marquer et enfiler s;
TANT QUE la file nest pas vide
soit n le premier sommet de la file;
{ traitement de n}
dfiler;
marquer et enfiler tous les successeurs non marqus de n
FIN TANT QUE
FIN SI
Ordre de parcours :
1, 2, 4, 5, 3
Ensa de Marrakech, Thorie des graphes, 2011 -2012 39
Parcours de graphes
Parcours en profondeur
Parcourir un graphe en largeur:
visiter tous les sommets
visiter un sommet s
SI s na pas t marqu ALORS
{ pr-traitement de s }
marquer et empiler s;
TANT QUE la pile nest pas vide
Soit x le sommet en tte de la pile
SI il existe un sommet y non marqu successeur de x ALORS
{ pr-traitement de y}
marquer et empiler y;
SINON
{ posttraitement de x }
dpiler x;
FIN SI
FIN TANT QUE
FIN SI
Ordre de visite : 1, 2, 4, 3, 5
Ordre de post-visite : 5, 3, 4, 2, 1
Ensa de Marrakech, Thorie des graphes, 2011 -2012 40
Applications des parcours de graphes
Accessibilit
Pour connaitre les sommets accessibles depuis un sommet donn dun graphe (orient
ou non), il suffit de faire un parcours en profondeur partir de ce sommet,en marquant
les sommets visits.
Composantes connexes dun graphe non orient
La composante connexe dun sommet s est lensemble des sommets accessibles
depuis s. On peut colorier les composantes connexes en adaptant lun des algorithmes
de parcours: par exemple (parcours en profondeur)
Graphe orient sans circuit
Un graphe orient comporte un circuit si et seulement si lors du parcours des sommets
accessibles depuis un sommet, on retombe sur ce sommet. Pour savoir si un graphe
est sans circuit, il suffit donc dadapter lun des algorithmes de parcours, en maintenant
une liste des sommets critiques (en cours de visite).
Tri topologique dun graphe orient sans circuit
Le tri topologique dun graphe orient sans circuit est une numrotation des sommets
dans laquelle les descendants dun sommet de numro k sont ncessairement de
numro suprieur k.

Anda mungkin juga menyukai