Bonjour,
Il y a quelques jours ma mère, qui est enseignante, a eu à résoudre un problème d'apparence anodine:
Elle avait une classe de douze élèves dont chacun devait tenir un entretien en tête-à-tête avec chaque autre élève.
Elle comptaient en plus tout organiser onze séances, chacune de ses séances comptant six entretiens.
Ce problème n'est pas aussi facile à résoudre qu'il en a l'air. Elle a commencé elle-même à essayer d'établir un emploi du temps, mais même au bout de deux heures elle n'y est pas parvenu.
On pourrait en tirer la formulation mathématique que voici:
Soit S := {1, 2, ..., 2n} un ensemble de taille paire.
Donner 2n-1 partitions de S tel que tout sous-ensemble de taille deux de S est présent dans une et une seule partition.
J'ai fini par trouver une solution (absolument dégueulasse) dans le cas particulier où 2n = 12: j'ai dressé une liste de toutes les partitions en paires de S, et j'en ai extrait celles dont j'ai besoin pour résoudre le problème dans le cas ou 2n = 6. Avec une astuce, je suis ensuite passé au cas 2n = 12.
Voici maintenant ce que je vous demande: connaissez-vous une façon plus jolie de résoudre le problème ? Je dirais qu'il devrait y avoir un algorithme, qui implique peut-être les facteurs premiers de n, permettant de donner les partitions voulues, peut-être même dans un cas encore plus général.
Est-ce que vous en connaissez un tel algorithme, ou auriez-vous d'autres choses à dire qui valent la peine d'être connues ?
Partager