Académique Documents
Professionnel Documents
Culture Documents
Problèmes de cheminement
1
Plan
2
Introduction (1)
3
Introduction (2)
5
Problème du plus court chemin
(1)
Problèmes de
cheminement
Algorithmes
Bellman-Ford Graphes
PERT déterministes
Dijkstra Eulériens
GANTT Algorithmes
Floyd minimaux
d’approximation
6
Problème du plus court chemin
(2)
Le poids c(p) d’un chemin p est la somme des arrêtes le long du
chemin. Le poids d’un chemin est aussi appelé longueur du
chemin.
➢ Dijkstra
➢ Bellman-Ford
➢ Floyd 7
Algorithme Dijkstra
8
Algorithme Dijkstra
9
Principe
10
Algorithme Dijkstra
Initialisation
d(x0) = 0, P(x0) = nul
aucun sommet n’est marqué
min_dist_M = 0 (minimum des distances estimées des sommets non marqués)
Pour tout s ∈ S, s x0 répéter
d(s) = +∞
Fin pour
Répéter
chercher x non marqué tel que d(x) = min_dist_M
marquer x
Pour tout y non marqué répéter
si d(x) + v(x, y) < d(y) alors
d(y) ← d(x) + v(x, y) (MAJ distance)
P(y) ← x (MAJ père)
min_dist_M = min{d(s), s M}
Fin pour
Jusqu’à ce que M = S
11
8 B
Exemple A
2
5
D
Origine: A 3
Destination: B
6 1
M d(A) d(B) d(C) d(D)
0 + + +
{A} - 8 6 2
C
{A,D} - DB+2=7 DC+2=3 -
(<8) (<6)
{A,D,C} - CB+3=6 - -
(<8)
{A,D,C,B} - - - -
12
Travail à faire
1
B C
Origine: A
Destination: C 10
9
2 3 6
A
4
5
E
2
D
7
13
Solution B
1
C
10 9
2 3 6
A
4
5
E
M d(A) d(B) d(C) d(D) d(E) 2
0 + + + + D
{A}
7
10 + + 5
{A,E} 8 14 7
{A,E,D} 8 13
{A,E D, B} 9
14
Solution
1
B C
10 9
2 3 6
A
4
5
E
M d(A) d(B) d(C) d(D) d(E) 2
0 + + + + D
{A}
7
- 10 + + 5
{A,E} - 8 14 7 -
{A,E,D} - 8 13 - -
{A,E D, B} - - 9 - -
{A,E D, B,C} - - - - -
15
Exercice
16
Trouver le chemin qui minimise la distance de déplacement entre le
laboratoire et le dernier patient à visiter en appliquant l’algorithme de Dijkstra.
17