T ES spé L`algorithme de Dijkstra pour la recherche du plus court

publicité
T ES spé
L’algorithme de Dijkstra pour la recherche du plus court chemin.
ACH
La semaine dernière, vous n’avez pas été convaincu par l’efficacité de l’algorithme de Dijkstra.
Cet algorithme permet de trouver le chemin le plus court. En général, on recherche le chemin le moins long,
le plus rapide, ou le moins cher …
Voici une nouvelle situation.
Tous les chemins mènent à Rome, mais
pour un parmesan (un habitant de
Parme !)
1) Quel est le moins long ?
2) Le plus rapide ?
3) Le moins cher ?
4) Est-ce le même chemin dans les
trois cas ?
(Sources : Carte Michelin)
1)
Parme
Pa
La Spezia
L
Bologne
B
Florence
F
Pérouse
Pe
Rome
R
Sommets
fixés
0
∞
∞
∞
∞
∞
Pa
_
124Pa
104 Pa
∞
∞
∞
B
_
124 Pa
_
104 Pa + 131 =
104 Pa+245=
∞
L
_
_
_
∞
F
235B
124 + 163=
287L > 235B
235B
349B
349B
235+150=
_
_
_
_
385F
349B
_
_
_
_
_
_
_
_
_
-
CONCLUSION
Pa-B-F-R
_
235+283 =
518F
349+181
=530P
518F
Pe
R
Ecrire 0 dans le premier sommet Pa et ∞ aux autres.
Pa est relié à L et B.
Ecrire les distances entre Pa et L et entre Pa et B. En indice écrire Pa, le nom du sommet précédent. Et on écrit des ∞ partout
ailleurs.
On choisit le sommet de poids le plus petit, donc B. on écrit B dans la colonne des sommets fixés.
On repart de B.
B est relié à F et à Pe.
On écrit dans F, la somme du poids qui se trouve dans B et du poids entre B et F, avec B en indice.
De même, on écrit dans Pe, la somme du poids qui se trouve dans B et du poids entre B et Pe, avec B en indice.
on continu e en choisissant le somme de poids le plus petit. On additionne les poids, lorsqu’un sommet a déjà un poids on compare
au nouveau poids et on écrit le plus petit des deux, avec le nom du sommet en indice….etc…
…Etc…
2) et 3) à faire sur votre cahier.
Exemple Apprendre au XXI-nième siècle :
BAC ES Asie 2012 algorithme dijkstra - Recherche du plus court chemin, Sur YOU TUBE :
https://www.youtube.com/watch?v=vJOHB2yXI_s
Belle explication visuelle dans l’exercice en bas de page : Cliquez sur le bouton Algorithme de Dijkstra.
http://yallouz.arie.free.fr/terminale_cours/graphes/dijkstra.php
T ES spé
Exercices pour la semaine prochaine:
Exercice 1.
Cherchons dans le graphe G ci-dessous, un chemin minimal de I à F, en utilisant l’algorithme de DIJKSTRAMOORE. ( Ce qui est possible les poids étant tous positifs.).
Donner ce chemin minimal et son poids.
Exercice 2.
Une agence de voyages organise différentes excursions dans une région du monde et propose la visite de
sites incontournables, nommés A, B, C, D, E et F.
Ces excursions sont résumées sur le graphe ci-dessous dont les sommets désignent les sites, les arêtes
représentent les routes pouvant être empruntées pour relier deux sites et le poids des arêtes désigne le
temps de transport (en heures) entre chaque site.
1. Justifier que ce graphe est connexe.
2. Un touriste désire aller du site A au site F en limitant au maximum les temps de transport.
a) En utilisant un algorithme, déterminer la plus courte chaîne reliant le sommet A au sommet F.
b) En déduire le temps de transport minimal pour aller du site A au site F.
3. Un touriste désirant apprécier un maximum de paysages souhaite suivre un parcours empruntant toutes
les routes proposées une et une seule fois.
Si ce parcours existe, le décrire sans justifier ; dans le cas contraire justifier qu'un tel parcours n'existe pas.
CORRECTION
I
0
_
_
A
∞
1I
_
B
∞
∞
2A
D
∞
∞
5A
E
∞
∞
∞
G
∞
∞
∞
H
∞
∞
∞
J
∞
∞
∞
K
∞
∞
∞
L
∞
∞
∞
M
∞
∞
∞
N
∞
∞
∞
P
∞
∞
∞
F
∞
∞
∞
Sommets
I
A
B
4B
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
D
∞
∞
∞
∞
∞
∞
∞
∞
∞
C
_
_
-
C
∞
6I
6A
ou I
6A
ou I
8D
6A
ou I
_
_
-
_
_
_
_
_
_
_
_
-
_
_
-
9C
9C
-
∞
∞
∞
∞
∞
∞
∞
10 E
10 E
∞
∞
14 H
∞
∞
17 H
∞
∞
∞
∞
∞
∞
E
H
L
_
_
_
_
∞
16 L
_
14 H
17 H
17 L
∞
G
_
-
_
-
_
-
_
-
∞
∞
16 L
16 L
_
_
12G
_
17 H
17 H
17 L
17 L
M
K
_
_
_
∞
_
_
_
18
17 H
__
17 L
_
__
_
_
_
∞
24
M
24
M
26 N
24
M
23 P
_
6D
_
_
-
6D
_
-
_
_
_
_
-
_
-
_
-
_
∞
∞
11
H
11
H
_
_
_
17 L
N
P
N
Téléchargement