Académique Documents
Professionnel Documents
Culture Documents
Lecon 63
Lecon 63
M GRAPHES A5
E.A.D ET ALGORITHMES leçon N° : 6.2
L’ordre dans lequel les arcs sont examinés dans l’algorithme de’ FORD’ pour
calculer les plus courts chemins de valeur minimale issus d’un sommet x s, est
arbitraire. Le nombre d’itérations effectuées peut être élevé. Dans le cas où les
valuations des arcs sont positives ou nulles, nous présentons l’algorithme de
DIJKSTRA qui évite cet inconvénient.
Dans cet algorithme, le traitement d’un sommet ‘xi’ consistera à examiner
successivement tout les arcs d’origine ‘xi’. Tous les sommets du graphe seront
traités une fois et une seule, suivant un ordre déterminé dynamiquement au
cours de l’algorithme :
Pour tout sommet xi≠ xs,
1-initialement λ i := ∞ pour i≠ s ; λ s :=0;
tout sommet est déclaré ‘non traité’ ;
2-tant que tout les sommets ne sont pas traités faire ;
3- soit ‘xi’ un sommet non traité, de valeur λi minimale(parmi les sommets non
traités).
4- pour tout arc(i,j) faire
5- si λi + v(i,j) < λj, alors λj :=λi+ v(i,j)
6- le sommet ‘xi’ est «traité »
NB :1) : cet algorithme ne peut pas se transposer au cas du calcul des chemins
de valeur maximale
2) les λi de cet algorithme ont une interprétation analogue aux ti dans
l’algorithme de Ford(minimisation)
Dans notre exemple on va prendre comme origine le sommet ‘A’. Les sommets
traités sont grisés, alors que le sommet en cours de traitement est encerclé d’un
cercle épais. Les arcs modifiant les valeurs λi sont représentés en gras. Sur la
dernière figure, les arcs en bleus sont ceux utilisés lors de la dernière
modification des valeurs λi. En remontant ces arcs nous obtenons les plus
courts chemins issus du sommet A.
1 λc= ∞
λB=∞ C
B
6
A
λA=0 2 4
2
2 ∞
D
λD=∞
E
1
λE= ∞
Initialisation
6 1 ∞
C
6 B
0 A
2 4
2 2 ∞
D
E 1
2
A est traité
C
6 1 ∞
B
6
A 4
0 2 2
2
D
1 3
E
2
E est traité
5 7
1 C
B
6
2
A 4
0 2
D
3 3
D est traité 1
2E
5 1 C 6
B
6 2 4
A
0 2 2
D
1 3
B est traité E
5 1 C 6
B
6 2 4
A
2 2
D
2E 1
C est traité
1 6
C
5B
6 2 2 4
A
0
2 D 3
2E 1