Adloun

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.