Le recasage, pas à pas
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 24 — Composantes fortement connexes et couplages
Énoncé
On affecte cinq étudiants à cinq stages. Les vœux sont :
e0 : s0, s1 e1 : s0, s2 e2 : s1, s2 e3 : s2, s3 e4 : s3, s4
Dérouler l'algorithme des chemins augmentants dans l'ordre , en indiquant chaque recasage.
Corrigé
e0 : essaie s0 -- LIBRE --> e0-s0
e1 : essaie s0 -- pris par e0 ; e0 se recase en s1 --> e0-s1, e1-s0
e2 : essaie s1 -- pris par e0 ; e0 essaie s0
-- pris par e1 ; e1 se recase en s2 --> e1-s2, e0-s0, e2-s1
e3 : essaie s2 -- pris par e1 ; e1 essaie s0
-- pris par e0 ; e0 essaie s1
-- pris par e2 ; e2 n'a plus rien --> ECHEC de la branche
essaie s3 -- LIBRE --> e3-s3
e4 : essaie s3 -- pris par e3 ; e3 essaie s2 ... echec en cascade
essaie s4 -- LIBRE --> e4-s4
Résultat : , de cardinal — tout le monde est placé. Une force brute sur les sous-ensembles d'arêtes confirme que est le maximum.
Trois choses à observer.
Le recasage est récursif, et il l'est réellement : au traitement de , la chaîne fait bouger deux étudiants. C'est un chemin augmentant de longueur : , alternant hors-couplage et dans-couplage.
Le tableau vu sert à ne pas tourner en rond. Au traitement de , la première branche échoue précisément parce que a déjà été visité : sans ce marquage, redemanderait et l'on boucherait. C'est le même rôle que le tableau des sommets visités d'un parcours en profondeur — parce que c'en est un.
L'échec d'une branche n'est pas l'échec de l'étudiant. échoue sur et réussit sur . On explore donc bien un arbre de choix, avec retour en arrière : c'est l'exploration du chapitre chap:exploration, appliquée à la recherche d'un chemin augmentant.
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.