Corrigé CCINP 2025 Informatique MPI — Partie III (III.1) (Q17 à Q25) : Couplages stables : l'algorithme de Gale-Shapley et son optimalité pour V
Sujet officiel du concours CCINP, session 2025, épreuve Informatique MPI. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
Deux groupes et de même cardinal ; chaque élément a un ordre de préférence total sur l'autre groupe : signifie que préfère strictement à (et l'ordre large). Un couplage est un ensemble de paires où chaque élément apparaît au plus une fois ; il est parfait si chacun apparaît exactement une fois ; est alors le partenaire de . Un couplage parfait est stable s'il n'existe pas avec et . Pour deux couplages parfaits stables , et , Pareto-domine sur si pour tout , strictement pour au moins un ; un couplage est Pareto-optimal s'il est stable et non Pareto-dominé sur .
Algorithme 3 (Gale-Shapley) : ; tant qu'un est libre, on choisit un tel , qui propose au qu'il préfère parmi ceux à qui il n'a pas encore proposé ; si est libre, entre dans ; si est apparié à avec , sort de et y entre ; sinon rien ne change. On rend .
Jeu de données (ligne de : le sujet imprime en second, coquille relevée par le jury) :
Q17. Trace de l'algorithme 3 sur , le libre d'indice minimal proposant.
Q18. L'algorithme 3 termine.
Q19. Un invariant (sans preuve) montrant qu'il rend un couplage parfait.
Q20. Le couplage rendu est stable.
Q21. Il y a moins de itérations.
Pour deux couplages parfaits stables et , préfère à s'il a deux partenaires différents et préfère celui de .
Q22. Si préfère , son partenaire dans préfère .
est réalisable pour si un couplage parfait stable contient . est le réalisable préféré de , et .
Q23. Au cours de l'algorithme 3, n'est rejeté que par des non réalisables pour .
Q24. Pendant l'exécution : 1) un apparié l'est à un ; 2) un libre n'a proposé qu'à des .
Q25. Quel que soit le choix de à chaque tour, l'algorithme 3 rend .
Corrigé
Vocabulaire. On dit que est rejeté par quand refuse sa proposition (dernier cas de l'algorithme) ou quand , qui l'avait accepté, le quitte pour un nouveau proposant. Deux faits découlent directement de l'algorithme et servent partout : (F1) chaque propose dans l'ordre décroissant de ses préférences, et ne propose à nouveau qu'après avoir été rejeté ; (F2) un qui a reçu une proposition reste apparié jusqu'à la fin, et son partenaire ne fait que s'améliorer selon .
Q17. On numérote les tours de boucle ; « libres » liste les éléments de libres en début de tour.
| tour | libres | proposition | réponse | après le tour |
|---|---|---|---|---|
| 1 | libre, accepte | |||
| 2 | libre, accepte | |||
| 3 | : rejeté | |||
| 4 | : rejeté | |||
| 5 | : rejeté | |||
| 6 | : refus | |||
| 7 | libre, accepte |
L'algorithme rend après tours. Il est bien stable : préférerait , mais préfère son partenaire ; préférerait , qui préfère ; préférerait ou , qui préfèrent tous deux leur partenaire. Ce que le correcteur attend : un ne repropose jamais à un qui l'a déjà rejeté (tour 5 : passe à son deuxième choix). Une simulation exécutée de l'algorithme donne la même suite de tours, et le programme C de Q34, exécuté sur , le même couplage.
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.