Adloun

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.