informatique (MP2I/MPI) · Chapitre 24 · Application directe du cours
Décomposer à la main
Composantes fortement connexes et couplages · niveau 2
Énoncé
Le graphe orienté sur a pour listes de successeurs :
a -> b b -> c, e, f c -> d, g d -> c, h
e -> a, f f -> g g -> f h -> d, g
Donner ses composantes fortement connexes, son graphe quotient, et vérifier que ce dernier est acyclique.
Corrigé
Les composantes — on cherche les cycles, puis on les recolle :
Justification de : est un cycle, donc les trois sont mutuellement accessibles. De : , et . De : . Et rien de plus ne peut fusionner : depuis on n'atteint jamais , car aucun arc ne sort de vers .
Le quotient contient trois arcs, obtenus en projetant les arcs inter-composantes :
Il est acyclique : n'a aucun arc entrant, aucun sortant, et il n'y a pas d'arc ni . Un tri topologique est .
Ce que la méthode a de mécanique. On n'a pas cherché les composantes « au flair » : on a d'abord repéré les cycles élémentaires, puis vérifié qu'aucun arc ne permettait de revenir en arrière entre les paquets obtenus. C'est très exactement ce que Kosaraju automatise — et l'exercice « Dérouler Kosaraju » le déroule sur ce même graphe.