Académique Documents
Professionnel Documents
Culture Documents
1
2 3 IMPLMENTATION DE L'ALGORITHME
0 1
depuis sdeb vers sf in de moindre poids (autrement dit un
chemin le plus lger ou encore le plus court).
L'algorithme fonctionne en construisant un sous-graphe
P de manire ce que la distance entre un sommet s de
2
P depuis sdeb soit connue et soit un minimum dans G .
Initialement P contient simplement le nud sdeb isol, et
4
G qui donne la distance minimum depuis sdeb
sj2 en passant tous les chemins crs menant
4 ce nud.
0
couvrant de G , soit quand tous les nuds d'intrt[2] sont
1 dans P .
On peut donc crire l'algorithme de la faon suivante :
Entres : G = (S, A) un graphe avec une pondration
2
d[a] := + pour chaque sommet a d(sdeb ) = 0 Tant
qu'il existe un sommet hors de P Choisir un sommet
a hors de P de plus petite distance d[a] Mettre a
dans P Pour chaque sommet b hors de P voisin de a
d[b] = min(d[b], d[a] + poids(a, b)) Fin Pour Fin Tant
Que
4 3 3 Implmentation de l'algorithme
2 2
Initialisation(G,sdeb) 1 pour chaque point s de G 2 faire
d[s] := inni /* on initialise les sommets autres que sdeb
inni */[3] 3 d[sdeb] := 0 /* sdeb tant le point le plus
proche de sdeb */
nuds situs hors de P . Le complmentaire de P de l'algorithme est O((|A| + |S|) log(|S|)) si on im-
est not Q . On implmente pour cela une fonction plmente la le priorits par un tas binaire (en suppo-
Trouve_min(Q) qui choisit un nud de Q de dis- sant que les comparaisons des poids d'arcs soient temps
tance minimale. constant). Si on implmente la le priorits avec un tas
de Fibonacci, l'algorithme est en O(|A| + |S| log(|S|))
[4]
.
Trouve_min(Q) 1 mini := inni 2 sommet := 1 3 pour
chaque sommet s de Q 4 si d[s] < mini 5 alors 6 mini =
d[s] 7 sommet := s 8 renvoyer sommet
4 Correction de l'algorithme
3.1.3 Mise jour des distances
La dmonstration de correction repose sur l'invariant sui-
vant : les distances des sommets dans P sont les distances
On met jour les distances entre sdeb et s2 en se
minimales[4] . L'algorithme de Dijkstra est un algorithme
posant la question : vaut-il mieux passer par s1 ou
glouton.
pas ?
8 Annexes
8.1 Bibliographie
Algorithme A*
9.2 Images
Fichier:Dijkstra{}s_algorithm.svg Source : https://upload.wikimedia.org/wikipedia/commons/b/be/Dijkstra%27s_algorithm.svg Li-
cence : Public domain Contributeurs : Travail personnel Artiste dorigine : Dcoetzee
Fichier:DijkstraBis01.svg Source : https://upload.wikimedia.org/wikipedia/commons/2/29/DijkstraBis01.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis02.svg Source : https://upload.wikimedia.org/wikipedia/commons/5/5c/DijkstraBis02.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis03.svg Source : https://upload.wikimedia.org/wikipedia/commons/3/3a/DijkstraBis03.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis04.svg Source : https://upload.wikimedia.org/wikipedia/commons/2/26/DijkstraBis04.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis05.svg Source : https://upload.wikimedia.org/wikipedia/commons/b/b0/DijkstraBis05.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis06.svg Source : https://upload.wikimedia.org/wikipedia/commons/f/f5/DijkstraBis06.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis07.svg Source : https://upload.wikimedia.org/wikipedia/commons/d/d9/DijkstraBis07.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis08.svg Source : https://upload.wikimedia.org/wikipedia/commons/f/f7/DijkstraBis08.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:DijkstraBis09.svg Source : https://upload.wikimedia.org/wikipedia/commons/d/d9/DijkstraBis09.svg Licence : CC BY-SA 3.0
Contributeurs : Travail personnel Artiste dorigine : HB
Fichier:Dijkstra_Animation.gif Source : https://upload.wikimedia.org/wikipedia/commons/5/57/Dijkstra_Animation.gif Licence : Pu-
blic domain Contributeurs : Work by uploader. Artiste dorigine : Ibmua
Fichier:Max-cut.svg Source : https://upload.wikimedia.org/wikipedia/commons/c/cf/Max-cut.svg Licence : CC BY-SA 3.0 Contribu-
teurs : Travail personnel Artiste dorigine : Miym