Sunteți pe pagina 1din 2

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 –8
b
e
4 –5 1 3
2
1 d 4
a
g 10
6 f
–7 2
5 c
1 4 2
7
3
k
i
4 j 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 7
2 h
b –8
e 9
4 –5 1 3
2
1
1 d 4
a
g 10
4 8 11
6 f
–7 2
5 5 c
1 4 7 2
3
k 6
3 i 10
4 j 1
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.
7
2 h 2
b 2 1
4 –1
e 9
4 –5 1 3
1 2
1 d 4 2
a
–2 g 10
4 8 11
0 6 f
10
–7 4 2
5 5 c
1 4 7 2
3
k 6
3 i 10
5 4 j 1 8
7

S-ar putea să vă placă și