La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

262 Plus courts chemins Toutes paires d'états algorithme de Floyd 0( S 3 ) Chemins de même origine algorithme de Dijkstra 0 ( S 2 ) ou 0 ( S|+|Allog|S|)

Présentations similaires


Présentation au sujet: "262 Plus courts chemins Toutes paires d'états algorithme de Floyd 0( S 3 ) Chemins de même origine algorithme de Dijkstra 0 ( S 2 ) ou 0 ( S|+|Allog|S|)"— Transcription de la présentation:

1 262 Plus courts chemins Toutes paires d'états algorithme de Floyd 0( S 3 ) Chemins de même origine algorithme de Dijkstra 0 ( S 2 ) ou 0 ( S|+|Allog|S|) algorithme de Bellman-Ford ( S ) plus court chemin même destination UMLV

2 263 Problème : G = (S, A, V ) s S t S calculer (s,t) = min V ( c ) pour c chemin de s à t. Exemple S UMLV

3 et arbres de plus courts chemins UMLV

4 265 Lemme 1 G=(S,A, V ) c plus court chemin de p à r si c = p q r alors (p,r) = (p,q)+v(q,r) Preuve : car p q est un plus court chemin de p à q Lemme 2 (q,r) arc (p,r) (p,q)+v(q,r) d UMLV

5 266 Relaxation t S d(t) estimation de (s,t) Initialisation Pour chaque t S faire d(S) 0 ; Relaxation (p,q) si d(q) > d(p) + v(p,q) alors {d(q) d(p)+v(p,q) (q) p ; } UMLV

6 267 Propriété d(q) (s,q) invariant de relax Preuve induction sur le nombre d'éxécution de "relax" UMLV

7 268 Lemme t (s,t) > - ssi pas de circuit de valeur < O UMLV

8 269 Algorithme de Dijkstra début v o init Q S ; tant que Q faire { p MIN d (Q) ; Q Q - {p} pour chaque q A (p) faire relax (p,q) ; } fin. UMLV

9 270 Implémentation Matrice d'adjacence O (|S| 2 ) Liste d'adjacence Q : file de priorité par "tas" |S| opér.MIN |S| log|S| |A| opér relax |A|log|S| (|S|+|A|) log |S| UMLV

10 271 Algorithme de Bellman-Ford début v R init ; répéter S| - 1 fois pour chaque (p,q) A faire relax (p,q) ; pour chaque (p,q) A faire si d(q) + v(p,q) < d (q) alors retour faux retour vrai fin UMLV

11 272 Exemple Complexité O ( S A ) S UMLV

12 273 plus courts chemins début init ; pour chaque p S en ordre topologique faire pour chaque q A (u) faire relax (p,q) ; fin Graphes acycliques S UMLV


Télécharger ppt "262 Plus courts chemins Toutes paires d'états algorithme de Floyd 0( S 3 ) Chemins de même origine algorithme de Dijkstra 0 ( S 2 ) ou 0 ( S|+|Allog|S|)"

Présentations similaires


Annonces Google