1.53k likes | 1.69k Views
IN302 – Chapitre 3. Plus courts chemins. Existence. De à :. 9. 1. 4. 1. 8. 2. 6. 6. 6. 3. -1. 3. 2. 2. -6. 5. 7. pas de chemin pas de plus court chemin. 1. 8. Existence. pas de chemin pas de plus court chemin. 9. 1. 4. 1. 8. 2. 6. 6. 6. 3. -1.
E N D
IN302 – Chapitre 3 Plus courts chemins
Existence • De à : 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 pas de chemin pas de plus court chemin 1 8
Existence pas de chemin pas de plus court chemin 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 • De à : 7 1
Existence chemins : (1,4), (1,3,4), (1,2,3,4) plus court chemin : (1,2,3,4) 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 • De à : 1 4
Existence chemin : (3,4,6,5) longueur : 5 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 • De à : 3 5
Existence • De à : chemin : (3,4,6,5,7,6,5) longueur : 4 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 3 5
Existence • De à : chemin : (3,4,6,5,7,6,5,7,6,5) longueur : 3 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 3 5
Existence • De à : PAS DE PLUS COURT CHEMIN 9 1 4 1 8 2 6 6 6 3 -1 3 2 2 -6 5 7 3 5
2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 Graphe des plus courts chemins
Graphe des plus courts chemins 0 3 5 8 En rouge : p(x) est la longueur d’un plus court chemin du sommet i=0 au sommet x 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Graphe des plus courts chemins 0 3 5 8 Comment caractériser, grâce aux valeurs de p, les arcs qui font partie de plus courts chemins dans(E, G, l) à partir de i ? 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Graphe des plus courts chemins 0 3 5 8 u = (x,y) est dans un plus court chemin dans(E, G, l) à partir de i si et seulement si :p(y) - p(x) = l(u) 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Graphe des plus courts chemins 0 3 5 8 u = (x,y) est dans un plus court chemin dans (E, G, l) à partir de i si et seulement si :p(y) - p(x) = l(u) 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Graphe des plus courts chemins 0 3 5 8 c est un plus court chemin dans (E, G, l) àpartir de i si et seulement si :c est un chemin dans (E, G’) 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Arborescence des plus courts chemins (E’,A) est une arborescence des plus courts chemins pour (E, G, l) de racine i si : • (E’,A) est une arborescence de racine i, et • E’ = {x E, p(x) < } • (E’,A) est un sous-graphe du graphe des plus courts chemins pour (E, G, l) 0 1 4 6 3 5
2 1 4 1 1 1 2 3 Arborescence des plus courts chemins = APMin ?
Arborescence des plus courts chemins = APMin ? 2 1 4 1 1 1 2 3 APCC (relative au sommet 1)
Arborescence des plus courts chemins = APMin ? 2 1 4 1 1 1 2 3 APMin
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 Partir de i ? 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 Partir de i ? 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 Partir de d ! 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 Partir de d ! 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 Partir de d ! 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 Partir de d ! 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i=0 à d=6 0 3 5 8 x = d ; C = (x) Tant que x != i Soit y G-1(x) tel que p(y) - p(x) = l((y,x))x = y ; C = x + C 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i à d 0 3 5 8 x = d ; C = (x) Tant que x != i Soit y G-1(x) tel que p(y) - p(x) = l((y,x))x = y ; C = x + C 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i à d 0 3 5 8 x = d ; C = (x) Tant que x != i Soit y G-1(x) tel que p(y) - p(x) = l((y,x))x = y ; C = x + C 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i à d 0 3 5 8 x = d ; C = (x) Tant que x != i Soit y G-1(x) tel que p(y) - p(x) = l((y,x))x = y ; C = x + C 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i à d 0 3 5 8 x = d ; C = (x) Tant que x != i Soit y G-1(x) tel que p(y) - p(x) = l((y,x))x = y ; C = x + C 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Trouver un plus court chemin de i à d 0 3 5 8 x = d ; C = (x) Tant que x != i Soit y G-1(x) tel que p(y) - p(x) = l((y,x))x = y ; C = x + C 2 3 4 0 1 4 6 5 2 1 2 2 3 1 2 3 5 6 7
Algorithme de Bellman : exemple 4 4 2 1 7 2 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 0 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 0 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 0 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 0 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 0 2 2 i = 1 5 8 -2 3 2 3 6
4 4 2 1 7 2 0 2 2 i = 1 5 8 -2 3 2 3 6
7 4 4 2 1 7 2 0 2 2 1 5 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 π2(6) = 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 π2(6) = min(, 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 π2(6) = min(, 7+2, 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 π2(6) = min(, 7+2, 8+2) = 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 π2(6) = min(, 7+2, 8+2) = 9 8 -2 3 2 3 6 8
7 4 4 2 1 7 2 0 2 2 1 5 π2(5) = 8 -2 3 2 3 6 8