Vous êtes sur la page 1sur 4

C.N.A.

M GRAPHES A5
E.A.D ET ALGORITHMES leçon N° : 6.2

CAS DES VALUATIONS POSITIVES


ALGORITHME DE DIJKSTRA

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é »

Remarques : dans cet algorithme, dès qu’un sommet xi a été « traité » λi


représente la valeur minimale des chemins de xs à xi. Ainsi cet algorithme
permet de déterminer les chemins de valeur minimale d xs vers tous les autres
sommets.

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)

Page 1 sur 1 leçon 06.2.doc

Pr LEMAIRE –EL GOHARY .H


C.N.A.M GRAPHES A5
E.A.D ET ALGORITHMES leçon N° : 6.2

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.

Exemple d’exécution de l’algorithme de ‘DIJKSTRA’

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é

Page 2 sur 2 leçon 06.2.doc

Pr LEMAIRE –EL GOHARY .H


C.N.A.M GRAPHES A5
E.A.D ET ALGORITHMES leçon N° : 6.2

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

Page 3 sur 3 leçon 06.2.doc

Pr LEMAIRE –EL GOHARY .H


C.N.A.M GRAPHES A5
E.A.D ET ALGORITHMES leçon N° : 6.2

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

Le chemin de valeur minimale de A à C est ( A, E ,D, B, C ) ; sa valeur est 6

Rappel : l’algorithme de DIJKSTRA permet de traiter seulement la recherche


de chemins de valeur minimale ; de plus les valuations des arcs du graphe
doivent être positives ou nulles.

Page 4 sur 4 leçon 06.2.doc

Pr LEMAIRE –EL GOHARY .H

Vous aimerez peut-être aussi