www.almohandiss.com Algorithme de Bellman Énoncé On considère le graphe orienté G = (X, U) ci-dessous valué par des longueurs d’arcs,. On cherche à déterminer les plus courts chemins de a à tout autre sommet. Dire pourquoi on peut utiliser pour cela l’algorithme de Bellman. Résoudre le problème. On indiquera des numéros topologiques des sommets sans indiquer la façon de les obtenir. On surlignera les arcs d’une arborescence de plus courts chemins. 2 h –5 4 –8 b e 3 1 2 1 a 4 d 10 g 6 f 2 –7 5 c 4 1 3 k i j 4 2 7 1 Corrigé On peut appliquer l’algorithme de Bellman parce que le graphe est sans circuit, ce qu’on peut vérifier en effectuant la numérotation topologique qui a été fait ci-dessous. Les numéros topologiques sont encadrés. 2 –8 b –5 4 7 2 h e 3 1 9 2 1 1 a 4 d 4 8 6 11 f 2 –7 5 c 5 4 1 k 3 10 g 7 3 6 4 j 1 2 i 10 www.almohandiss.com Après avoir posé distance(a) = 0, on calcule les distances par numéros topologiques croissants en appliquant la formule : distance(y) = min prédécesse urs de y (distance( x ) + longueur( x, y ) ) . Les distances sont indiquées en gras à côté des sommets et les plus courts chemins sont indiqués par les arcs en gras. 2 7 2 h –1 4 –5 4 1 a 0 4 2 8 6 –7 5 10 2 7 3 6 5 4 j 7 11 f 4 1 k 10 g 2 4 c 5 3 9 2 4 d –2 1 e 3 1 1 2 b 1 8 i 10