Th´eorie des Graphes - Travaux dirig´es n◦1
Didier MAQUIN
Probl`emes de cheminement
L’objectif est d’impl´ementer “`a la main”, un algorithme de cheminement (en particu-
lier l’algorithme de Ford) pour la recherche de chemins de longueur minimale ou maximale,
ou pour d´eterminer les niveaux d’un graphe.
Rappelons rapidement l’algorithme de Ford. On se donne un graphe Gdont les arcs
sont valu´es positivement par une fonction d(ce graphe peut ´eventuellement comporter des
circuits). On se fixe un sommet aqui sera le sommet de d´epart et on cherche, pour tout
sommet x, un chemin de longueur minimale joignant a`a x.
Pour effectuer cette recherche, on d´efinit, sur tous les sommets du graphe, une fonction
p(le “potentiel”), telle que p(x) repr´esente la longueur du plus court chemin reliant a`a
x. De fa¸con assez intuitive, on peut alors ´ecrire :
1. p(a) = 0
2. pour tout sommet xposs´edant des ant´ec´edents, p(x) = min(p(y) + d(y, x)) o`u yest
un ant´ec´edent de x.
L’algorithme de Ford constitue une illustration, dans un contexte discret, du th´eor`eme
du point fixe. Si fest une application continue d’un espace Fdans lui-mˆeme et si la suite
d´efinie par la connaissance de X0et par Xn+1 =f(Xn) est convergente, alors on d´emontre
que sa limite Xest solution de l’´equation X=f(X). Ceci constitue le “th´eor`eme du point
fixe”.
Pour r´esoudre le probl`eme pr´ec´edent, il suffit donc de construire la suite d´efinie par :
1. p0(a) = 0
2. p0(x) = ∞pour x6=a
3. pour tout sommet xposs´edant des ant´ec´edents, pn+1(x) = min(pn(y) + d(y, x)) o`u
yest un ant´ec´edent de x.
A titre d’exemple, consid´erons le graphe Gd´ecrit par la table de listes d’ant´ec´edents
ci-dessous. On a ´egalement fait figurer dans cette table les diff´erentes valeurs de potentiel
pour une recherche des chemins minimaux issus de a.
a b c d e f
a5b4e3a6c4
Γ−1d1b2d4
e2
P00 +∞+∞+∞+∞+∞
P10 5 9 +∞6 13
P20 5 8 9 6 12
P30 5 8 9 6 12
La suite est stationnaire `a partir du rang 3 et l’on obtient ainsi les longueurs des
chemins minimaux issus du sommet a.
1