Décomposer à la main
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 24 — Composantes fortement connexes et couplages
É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.
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.