3. Rappeler le principe et la complexit´e de l’algorithme de Bellman-Ford. Quel est
l’avantage par rapport `a l’algorithme de Dijkstra?
4. Utiliser l’algorithme de Bellman-Ford sur le graphe ci-dessous pour obtenir les plus
courts chemins `a partir du sommet A, puis `a partir du sommet E.
5. Proposer une am´elioration simple de cet algorithme.
A
B
C
D
E
F
4
-
2j
4
@@@@@@R
5
-2
5
*
-8
?
2
-
-1
9
-
3
1
@
@
@
@
@
@I
-3
6
15
xExercice 3. Plus court chemin pour tout couple de sommets.
L’algorithme de Floyd-Warshall se base sur l’observation suivante : soit ple plus court
chemin entre les sommets iet j. Si on consid`ere que pn’emprunte que des sommets dans
l’ensemble {1, . . . , k}, avec 1 < k ≤ |S|, alors :
•soit kne fait pas partie du chemin le plus court entre iet j, et on peut donc dire que
pn’emprunte que des sommets issus de l’ensemble {1, . . . , k −1};
•soit kfait partie du plus court chemin entre iet j, on peut donc dire qu’il existe deux
chemins p1et p2entre iet k, et ket j, et que ces chemins n’empruntent que des sommets
issus de l’ensemble {1, . . . , k −1}.
Sur ce principe de r´ecursion, on construit les matrices des poids des plus courts chemins
empruntant des sommets issus des ensembles {∅},{1},{1,2}, . . . , {1,...,|S|}.
1
2
3
4
5
3
AAAU
-4
CCCCCCCCW
1
7
@
@
@
@I
4
-5
Q
Q
Q
Q
Q
Qk
2
-
6
1
8
1. Quelle est la complexit´e de la m´ethode qui consiste `a appliquer l’algorithme de Dijkstra
plusieurs fois en vue d’obtenir les plus courts chemins entre tous les couples de sommets?
2. Construisez la matrice des poids des plus courts chemins entre tous les couples de
sommets possibles du graphe ci-dessus en utilisant l’algorithme de Floyd-Warshall.
3. Que faut-il faire pour que cet algorithme construise, en mˆeme temps que la matrice des
poids des plus courts chemins, une matrice permettant d’obtenir ces chemins?
2