Algorithme de Bellman

publicité
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
Téléchargement