IN302 – Chapitre 3 Plus courts chemins
Existence De à : pas de chemin pas de plus court chemin
Existence pas de chemin pas de plus court chemin De à :
Existence chemins : (1,4), (1,3,4), (1,2,3,4) plus court chemin : (1,2,3,4) De à :
Existence chemin : (3,4,6,5) longueur : De à :
Existence De à : chemin : (3,4,6,5,7,6,5) longueur :
Existence De à : chemin : (3,4,6,5,7,6,5,7,6,5) longueur :
Existence De à : PAS DE PLUS COURT CHEMIN
Graphe des plus courts chemins
En rouge : x est la longueur dun plus court chemin du sommet i=0 au sommet x
Graphe des plus courts chemins Comment caractériser, grâce aux valeurs de les arcs qui font partie de plus courts chemins dans (E,, l ) à partir de i ?
Graphe des plus courts chemins u = (x,y) est dans un plus court chemin dans (E,, l ) à partir de i si et seulement si : y x l (u)
Graphe des plus courts chemins u = (x,y) est dans un plus court chemin dans (E,, l ) à partir de i si et seulement si : y x l (u)
Graphe des plus courts chemins c est un plus court chemin dans (E,, l ) à partir de i si et seulement si : c est un chemin dans (E, )
Arborescence des plus courts chemins (E,A) est une arborescence des plus courts chemins pour (E,, l ) de racine i si : (E,A) est une arborescence de racine i, et E = {x E, x } (E,A) est un sous-graphe du graphe des plus courts chemins pour (E,, l )
Arborescence des plus courts chemins = APMin ?
APCC (relative au sommet 1)
Arborescence des plus courts chemins = APMin ? APMin
Trouver un plus court chemin de i=0 à d=
Trouver un plus court chemin de i=0 à d= Partir de i ?
Trouver un plus court chemin de i=0 à d=6 Partir de i ?
Trouver un plus court chemin de i=0 à d= Partir de d !
Trouver un plus court chemin de i=0 à d= Partir de d !
Trouver un plus court chemin de i=0 à d= Partir de d !
Trouver un plus court chemin de i=0 à d= Partir de d !
Trouver un plus court chemin de i=0 à d=6 x = d ; C = (x) Tant que x != i Soit y (x) tel que y x l ((y,x)) x = y ; C = x + C
Trouver un plus court chemin de i à d x = d ; C = (x) Tant que x != i Soit y (x) tel que y x l ((y,x)) x = y ; C = x + C
Trouver un plus court chemin de i à d x = d ; C = (x) Tant que x != i Soit y (x) tel que y x l ((y,x)) x = y ; C = x + C
Trouver un plus court chemin de i à d x = d ; C = (x) Tant que x != i Soit y (x) tel que y x l ((y,x)) x = y ; C = x + C
Trouver un plus court chemin de i à d x = d ; C = (x) Tant que x != i Soit y (x) tel que y x l ((y,x)) x = y ; C = x + C
Trouver un plus court chemin de i à d x = d ; C = (x) Tant que x != i Soit y (x) tel que y x l ((y,x)) x = y ; C = x + C
Algorithme de Bellman
Algorithme de Bellman : exemple i =
π0π0 π1π1 k i =
π0π0 0 π1π1 0 k 1 0 i =
π0π0 0 π1π1 0 k 1 0 i =
π0π0 0 π1π1 0 k 1 0 i =
π0π0 0 π1π1 0 7 k 1 0 i =
π0π0 0 π1π1 0 7 k 1 0 i =
π0π0 0 π1π k 1 0 i =
π0π0 0 π1π1 078 k
π0π0 0 π1π1 078 k
π0π0 0 π1π1 078 π2π2 k
π0π0 0 π1π1 078 π2π2 k
π0π0 0 π1π1 078 π2π2 k π 2 (6) =
π0π0 0 π1π1 078 π2π2 k π 2 (6) = min(,
π0π0 0 π1π1 078 π2π2 k π 2 (6) = min(, 7+2,
π0π0 0 π1π1 078 π2π2 k π 2 (6) = min(, 7+2, 8+2) =
π0π0 0 π1π1 078 π2π2 9 k π 2 (6) = min(, 7+2, 8+2) = 9
π0π0 0 π1π1 078 π2π2 9 k π 2 (5) =
π0π0 0 π1π1 078 π2π2 9 k π 2 (5) = min(,
π0π0 0 π1π1 078 π2π2 9 k π 2 (5) = min(, 7+1,
π0π0 0 π1π1 078 π2π2 9 k π 2 (5) = min(, 7+1, +3) =
π0π0 0 π1π1 078 π2π2 89 k π 2 (5) = min(, 7+1, +3) = 8
π0π0 0 π1π1 078 π2π2 89 k π 2 (3) =
π0π0 0 π1π1 078 π2π2 89 k π 2 (3) = min(8,
π0π0 0 π1π1 078 π2π2 89 k π 2 (3) = min(8, -2,
π0π0 0 π1π1 078 π2π2 89 k π 2 (3) = min(8, -2, 0+8) =
π0π0 0 π1π1 078 π2π2 889 k X 2 (3) = min(8, -2, 0+8) = 8
π0π0 0 π1π1 078 π2π k π 2 (4) = min(, +2, 7+4) = 11
π0π0 0 π1π1 078 π2π k π 2 (2) = min(7, 0+7, 8+2) = 7
π0π0 0 π1π1 078 π2π k π 2 (1) = min(0) = 0
π0π0 0 π1π1 078 π2π k
π0π0 0 π1π1 078 π2π k
π0π0 0 π1π1 078 π2π π3π3 k
π0π0 0 π1π1 078 π2π π3π3 k
π0π0 0 π1π1 078 π2π π3π3 0 k
π0π0 0 π1π1 078 π2π π3π3 0 k
π0π0 0 π1π1 078 π2π π3π3 07 k
π0π0 0 π1π1 078 π2π π3π3 07 k
π0π0 0 π1π1 078 π2π π3π3 076 k
π0π0 0 π1π1 078 π2π π3π3 076 k
π0π0 0 π1π1 078 π2π π3π k
π0π0 0 π1π1 078 π2π π3π k
π0π0 0 π1π1 078 π2π π3π k
π0π0 0 π1π1 078 π2π π3π k
π0π0 0 π1π1 078 π2π π3π k
π0π0 0 π1π1 078 π2π π3π k
π0π0 0 π1π1 078 π2π π3π π4π4 k
π0π0 0 π1π1 078 π2π π3π π4π4 k
π0π0 0 π1π1 078 π2π π3π π4π4 8 k
π0π0 0 π1π1 078 π2π π3π π4π k
π0π0 0 π1π1 078 π2π π3π π4π k
π0π0 0 π1π1 078 π2π π3π π4π π5π5 k
π0π0 0 π1π1 078 π2π π3π π4π π5π k
π0π0 0 π1π1 078 π2π π3π π4π π5π k
π0π0 0 π1π1 078 π2π π3π π4π π5π k
Résultat
Plus court chemin de 1 à 3 ?
Exécuter Bellman (i = 1)
Algorithme Circuit-Niveaux
N 0 i 0 E0E0
N 0 i 0 x E0E0
N 0 i 0 x 1 E0E0
N 0 i 0 x 1 E0E0 1 2
N 1 i 0 E0E0 2
N 1 i 0 E0E0 E1E1 2
N 1 i 0 E0E0 E1E1 x 1 2
N 1 i 0 E0E0 E1E1 x 1 y 2 2
N 1 i 0 E0E0 E1E1 x 1 y 2 1 2
N 1 i 0 E0E0 E1E1 x 1 y 2 1 2
N 1 i 0 E0E0 E1E1 x 1 y
N 1 i 0 E0E0 E1E1 x 1 y
N 1 i 0 E0E0 E1E1 x 1 y E1E1 2 2
N 0 i 0 E0E0 x 1 y E1E1 21 2
N 0 i 0 E0E0 1 0 E1E1 21 2
N 0 i 0 E0E0 1 0 E1E1 21 E2E2 2
N 0 i 0 E0E0 1 0 E1E1 21 E2E2 x 3 2
N 0 i 0 E0E0 1 0 E1E1 21 E2E2 x 3 y 2 2
N 0 i 0 E0E0 0 E1E1 21 E2E2 x 3 y
N 0 i 0 E0E0 0 E1E1 21 E2E2 x 3 y 2 0 E2E2 3 2
N 0 i 0 E0E0 0 E1E1 21 x 3 y 2 0 E2E2 35 2
N 0 i 0 E0E0 0 E1E1 21 x 3 y 2 0 E2E
N 0 i 0 E0E0 0 E1E1 21 x 3 y 2 0 E2E
N 0 i 0 E0E0 0 E1E1 21 x 3 y 2 0 E2E
Ni E0E0 0 E1E1 1 x 3 y 2 0 E2E2 32 2
Ni E0E0 0 E1E1 1 0 E2E2 32 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 y 4 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 y 4 1 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 y 45 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 y
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 y 456 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 x 2 y
Ni E0E0 0 E1E1 1 0 E2E2 32 x 2 y 456 E3E3 4 2
Ni E0E0 0 E1E1 1 0 E2E2 32 x 2 y 456 E3E3 43 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 43 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 43 E4E4 2
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 43 E4E4 2 x 6
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 43 E4E4 2 x 6 y 4
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E3 43 E4E4 2 x 6 y 4 0
Ni E0E0 0 E1E1 1 0 E2E2 42 E3E3 53 E4E4 2 x 6 y 4 E4E4
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E x 6 y 4 E4E4 5
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E x 6 y 4 E4E4 5 0
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E x 6 y 4 E4E4 5 E4E4 6
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E x 6 y 45 E4E4 4
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 4
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 4 y 7
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 4 y 7 1
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 5
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 45 y 7
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 45 y 7 0
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 x 45 y 7 E5E5
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 x 45 y 7 E5E5 7
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 x 45 y 7 E5E5 75
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 75
Ni E0E0 0 E1E1 1 0 E2E2 32 E3E E4E4 4 E5E5 75
E0E0 E1E1 E2E2 E3E3 E4E4 E5E5 Résultat