Adloun

Floyd-Warshall, matrice après matrice

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 19 — Parcours de graphes et plus courts chemins

Énoncé

Sur le graphe orienté d'arcs (3), (2), (1), (4), (7), (5), donner la matrice après chaque valeur de , et dire à quel tour chaque case se stabilise.

Corrigé

Mesures (la diagonale est nulle, inf note l'absence de chemin) :


D initiale        apres k = 0       apres k = 1       apres k = 2  (= finale)
  0   3   7 inf     0   3   7 inf     0   3   5 inf     0   3   5   6
inf   0   2 inf   inf   0   2 inf   inf   0   2 inf     7   0   2   3
  5 inf   0   1     5   8   0   1     5   8   0   1     5   8   0   1
  4 inf inf   0     4   7  11   0     4   7   9   0     4   7   9   0

Le tour ne change plus rien.

Lecture des tours.

L'invariant est visible dans la table : après le tour , la case contient la longueur du plus court chemin de à n'utilisant que comme intermédiaires. Après , vaut encore inf : le seul chemin de à passe par , qui n'est pas encore autorisé. Il apparaît exactement au tour .

Contrôle utile en pratique : si, après le dernier tour, une case diagonale est devenue strictement négative, c'est qu'il existe un circuit de poids négatif passant par ce sommet. C'est gratuit — la diagonale est déjà là — et c'est le sujet du problème sur Floyd-Warshall, plus bas.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.