Vous êtes sur la page 1sur 7

Problmes de cheminements optimaux dans un rseau

Nizar El Hachemi

12 mai 2011

Nizar El Hachemi

Problmes de cheminements optimaux dans un rseau

Introduction

Dans tous les algorithmes quon dcrira ci-dessous, n reprsente le nombre de sommets et m le nombre darcs du graphe considr. On a donc n = |V | et m = |A|. On notera N + (x) lensemble des successeurs immdiats de x et N (x) lensemble de ses prdcesseurs immdiats. De plus, on + notera dG (x) le nombre de sommets dans N + (x), et dG (x) le (x). nombre de sommets dans N

Nizar El Hachemi

Problmes de cheminements optimaux dans un rseau

Recherche des plus courts chemins du sommet 1 aux autres sommets du graphe
Algorithme de Dijkstra Hypothse : tous les arcs ont des longueurs non ngatives. (1) S := {2, ..., n} ; (1) := 0 ; pour tout x = 1 faire (x) := d1x si x N + (1) sinon +

(2) Derminer x tel que (x) (y ) pour tout y dans S et poser t = S {x}. Si S = alors STOP. S (3) Pour tout y dans S N + (x) faire (y ) := min{(y ), (x) + dxy } et retourner (2). Complxit est de O(n2 ). Pour retrouver les plus courts chemins, il sut de mmoriser le prdcesseur de x et y chaque fois (y ) est modi.
Nizar El Hachemi Problmes de cheminements optimaux dans un rseau

Recherche des plus courts chemins du sommet 1 aux autres sommets du graphe

Algorithme de Dijkstra adapt dans le cas o toutes les longueurs sont unitaires (1) S := ; (1) := 0 pour tout x = 1 faire (x) := + ; k := 0 ; (2) Dterminer Sk = {x : (x) = k} ; S := S Sk . Si S = V STOP. (3) k := k + 1 ; pour tout arc (x,y) tel que x S et y S poser / (y ) := k ; retourner (2). Complxit : O(m)

Nizar El Hachemi

Problmes de cheminements optimaux dans un rseau

Recherche des plus courts chemins du sommet 1 aux autres sommets du graphe
Algorithme de Moore Hypothse : les longueurs peuvent tre ngatives, mais il nexiste pas de circuit de longueur ngative. (1) S := {2, ..., n} ; (1) := 0 ; pour tout x = 1 faire (x) := d1x si x N + (1) sinon +

(2) Derminer x tel que (x) (y ) pour tout y dans S et poser t S = S {x}. (3) Pour tout y dans N + (x) faire := min{(y ), (x) + dxy }. Si < (y ) alors poser (y ) := et rajouter y dans S sil ne se = alors STOP sinon aller (2). trouve pas dj. Si S Lalgorithme est une extension naturelle de lalgorithme de Disjkstra au cas o des longueurs peuvent tre ngatives.
Nizar El Hachemi Problmes de cheminements optimaux dans un rseau

Recherche des plus courts chemins du sommet 1 aux autres sommets du graphe

Algorithme de Bellman Hypothse : aucune (cest dire que les longueurs peuvent tre ngatives, et il peut y avoir des circuits de longueur ngative) (1) 0 (1) := 0 ; 0 (x) := + pour tout x = 1 ; k := 1 ; (2) k (1) := 0 ; k (x) := min{ k1 (x), min{ k1 (y ) + dyx }y N (x)} (3) Si k (x) = k1 (x) pour tout x STOP. Si k n 1 poser k := k + 1 et aller (2). Si k = n STOP : il existe un circuit de longueur ngative Complxit : O(mn)

Nizar El Hachemi

Problmes de cheminements optimaux dans un rseau

Recherche des plus courts chemins du sommet 1 aux autres sommets du graphe

Algorithme de Ford Hypothse : aucune sur les longueurs des arcs (cest--dire que les longueurs peuvent tre ngatives). Par contre, on sait quil nexiste pas de circuits de longueur ngative. (1) (1) := 0 ; (x) := + pour tout x = 1 ; (2) Pour x = 2 n faire (x) := min{(x), min{(y ) + dyx }y N (x)}. (3) Si (x) a t modi pour au moins un sommet x, alors retourner (2), sinon STOP. Remarque : On a de la xibilit sur la numrotation des sommets considre ltape 2.

Nizar El Hachemi

Problmes de cheminements optimaux dans un rseau

Vous aimerez peut-être aussi