Aller au contenu

Problème des colocataires

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 10 novembre 2020 à 16:12 et modifiée en dernier par CodexBot (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

En mathématiques et en algorithmique, le problème des colocataires consiste à trouver, étant donné un nombre pair d'individus, une façon stable de former des paires d'individus. La stabilité signifie qu'il n'existe pas deux couples (a,b) et (a',b') tels que a préférerait être avec a’ qu’avec b, et a’ préférerait être avec a qu'avec b’. Ce problème diffère du problème des mariages stables par le fait que les individus ne sont pas séparés en deux ensembles, les hommes et les femmes, tels qu'un homme ne peut s'apparier qu'avec une femme et réciproquement.

Solution

Contrairement au problème des mariages stables, le problème des colocataires n'a pas toujours une solution stable[1]. Par exemple, si A, B, C et D sont quatre individus ayant pour préférences :

A : B, C, D
B : C, A, D
C : A, B, D
D : A, B, C

A, B et C sont chacun le préféré de quelqu'un d'autre. Si une solution existait, un du groupe A, B, C serait avec D et les deux autres ensemble : par exemple AD et BC. Alors C préférerait être avec A qu'avec B, et A préférerait être avec C qu'avec D. Donc il n'y a pas de solution stable.

Algorithme

Un algorithme efficace a été donné par (Irving 1985). L'algorithme détermine, pour toute instance du problème, si un appariement stable existe, et si oui, trouve une telle correspondance à condition que les structures de données appropriées soient utilisées pour faciliter la manipulation des listes de préférences et d'identification des rotations.

Implémentation dans les progiciels

  • R: Une solution programmation par contraintes pour le problème des colocataires stables est implémentée dans le paquet R matchingMarkets[2],[3].
  • API: La API MatchingTools fournit une interface de programmation applicative pour l'algorithme.[4]

Références

  1. Jérôme Cottanceau, Le choix du meilleur urinoir : Et 19 autres problèmes amusants qui prouvent que les maths servent à quelque chose !, Paris, Belin, coll. « Science à plumes », , 216 p. (ISBN 978-2-7011-9766-1), chap. 15 (« À quoi servent les maths... À former des couples que nul ne saurait séparer ? »).
  2. (en) T. Klein, « Analysis of Stable Matchings in R: Package matchingMarkets », Vignette to R Package matchingMarkets,‎ (lire en ligne)
  3. (en) « matchingMarkets: Analysis of Stable Matchings », R Project
  4. « MatchingTools API »

Articles connexes