[TUTORIEL] Tournoi entre 16 joueurs (4 joueurs/table)
par
, 01/04/2021 à 10h15 (423 Affichages)
À chaque nouvelle partie d’un tournoi, les joueurs (1 à 16) doivent être affectés à l’une des 4 tables (lignes horizontales) de façon à ce qu’aucun joueur ne rencontre deux fois un même autre joueur.
Première partie
Il s’agit d’un simple exercice de réflexion et non d'un algorithme à programmer en logique combinatoire… sauf si l’exercice vous inspire.
Table N° 1 1 2 3 4Table N° 2 5 6 7 8Table N° 3 9 10 11 12Table N° 4 13 14 15 16
Avant-propos
Chaque joueur devant rencontrer les quinze autres, trois par trois, cinq parties sont nécessaires pour que chaque joueur rencontre tous les autres joueurs du tournoi (3 x 5 = 15).
Les tableaux 1, 3, 5 et 7 sont les copies respectives des 1ère, 2ème, 3ème et 4ème parties. Chaque copie d’une partie permet d’organiser la partie suivante.
L’organisation de la partie N + 1 se fait en deux temps :
- Sélection des joueurs depuis la copie de la partie N.
La sélection est verticale pour la 2ème partie, en diagonales pour les autres parties.
Chaque sélection a pour objectif d’affecter les joueurs à l'une des 4 tables de la partie N + 1.
- Copie horizontale, table par table, de chaque sélection.
Conventions d’organisation de la partie N + 1 depuis la copie de la partie N :
Les couleurs jaune, vert, bleu et marron symbolisent la sélection des joueurs depuis la copie de la partie N, à affecter respectivement et chronologiquement aux 1ère, 2ème, 3ème, et 4ème tables de la partie N + 1.
Conventions du sens des sélections à adopter :
Copie 1ère partie - Organisation de la 2ème partie : Sélection verticale des joueurs
Copie 2ème partie - Organisation de la 3ème partie : Sélection diagonale des joueurs
Copie 3ème partie - Organisation de la 4ème partie : Sélection diagonale des joueurs
Copie 4ème partie - Organisation de la 5ème partie : Sélection des joueurs ne s’étant pas encore rencontrés
IMPORTANT :
La sélection dans le sens des diagonales se fait d’abord sur les grandes diagonales d’angle à angle puis sur les petites de côté à côté, toujours chronologiquement et sur des lignes différentes, bien sûr.
- La 1ère grande diagonale permet d’affecter les joueurs à la 1ère table.
- La 2ème grande diagonale permet d’affecter les joueurs à la 2ème table.
- Les deux premières demi-diagonales permettent d’affecter les joueurs à la 3ème table.
- Les deux dernières demi-diagonales permettent d’affecter les joueurs à la 4ème table.
Ces dispositions étaient dictées à l’origine par l’instinct, la simplicité et la facilité. Les deux grandes diagonales se perçoivent immédiatement. Les demi-diagonales nécessitent une fraction de seconde de réflexion supplémentaire. Rien de plus, mais efficace sans en comprendre la dynamique.
Pour organiser la 3ème partie, il peut être tentant d’affecter les joueurs d’une diagonale ou de deux demi-diagonales à la table 1, 2, 3 ou 4 en fonction du premier joueur 1, 2, 3 ou 4. L’organisation de la 4ème partie à partir de la matrice obtenue fera hélas se rencontrer des joueurs s’étant déjà rencontrés.
Les étapes :
- 1ère partie : Colorisation en jaune, vert, bleu et marron des cellules horizontales représentant le placement initial des joueurs à chaque table.
- Copie 1ère partie : Colorisation des cellules verticales de la 1ère partie en jaune, vert, bleu et marron selon une logique simple, on est sûr que les joueurs de chaque colonne ne se rencontreront qu’une seule fois lors de la prochaine partie.
- 2ème partie : Depuis la copie de la 1ère partie, les cellules verticales d’une même couleur sont copiées horizontalement et chronologiquement dans le tableau de la 2ème partie.
- Copie 2ème partie : Colorisation des cellules de la 2ème partie en jaune, vert, bleu et marron selon une autre logique, d’abord les cellules en grandes diagonales puis deux fois les cellules en petites diagonales sur des lignes (tables) différentes.
Chaque groupe d’une même couleur est ainsi constitué d’un joueur de chaque table. À noter que la répartition des joueurs dans ce tableau aurait pu être constituée à partir du premier tableau. On est sûr que les joueurs choisis en diagonales ne se rencontreront qu’une seule fois lors de la prochaine partie.
- 3ème partie : Depuis la copie de la 2ème partie, les cellules d’une même couleur sont copiées horizontalement et chronologiquement dans le tableau de la 3ème partie.
- Copie 3ème partie : Colorisation des cellules de la 3ème partie en jaune, vert, bleu et marron selon la même logique qu’en 3. Chaque groupe d’une même couleur est ainsi constitué d’un joueur de chaque table.
Aucune réflexion rationnelle n’étaye ce choix de sélection en diagonales à l’identique du choix précédent ayant permis l’organisation de la 3ème partie. Il peut certainement se justifier à postériori mais à l’origine, c’est juste une répétition du choix précédent avec 50 % d’intuition et 50 % de chance.
- 4ème partie : Depuis la copie de la 3ème partie, les cellules d’une même couleur sont copiées horizontalement et chronologiquement dans le tableau de la 4ème partie.
- Copie 4ème partie : La démarche logique utilisant les diagonales pour organiser la partie N + 1 ne fonctionne plus car elle reconstituerait en fait la deuxième partie. Cette démarche constitue un processus itératif. Il est nécessaire d’utiliser une autre logique pour organiser la dernière partie.
Chacun des joueurs 1, 2, 3 et 4 n’a plus qu’à rencontrer trois derniers joueurs. La colorisation en jaune, vert, bleu et marron de chacun de ces joueurs et des trois derniers joueurs qu’ils n’ont pas encore rencontrés révèle une certaine logique symétrique.
- 5ème partie : Depuis la copie de la 4ème partie, les cellules d’une même couleur sont copiées horizontalement et chronologiquement dans le tableau de la 5ème partie.
Suite de la démarche algorithmique
La démarche algorithmique a permis d’organiser les cinq parties mais rien n’empêche de la poursuivre pour voir comment elle évolue.
Appliquée sur la 5ème partie, la démarche recrée la 2ème partie qui permet elle-même de recréer soit la 1ère partie, soit la 3ème partie selon que l’on choisit des sélections verticales ou des sélections diagonales. Étonnant ! Non ?
Liste des joueurs / partie, pour chaque joueur
Les tableaux Joueurs N° 1 à Joueurs N° 16 affichent pour chacun des joueurs les autres joueurs qu’il rencontre à chaque partie.
Pour créer le tableau récapitulatif d’un joueur, il suffit de copier la ligne de chaque partie citant le joueur.
Liste des joueurs de chaque partie / table
Pour créer le tableau récapitulatif du tournoi pour chaque table, il suffit de copier depuis chaque partie la ligne correspondant à la table.
Conclusion
C’est juste un exercice de réflexion faisant appel à l’imagination, à l’intuition, à la chance et à la logique séquentielle.
Cette simulation se suffit à elle-même mais rien n’empêche maintenant d'en programmer l'algorithme qui ne serait qu’une liste d’instructions d’affectation équivalentes à ce qui a été fait sous Excel.
L’Intelligence Artificielle via ChatGPT tente d’apporter une solution à cette problématique par la logique combinatoire mais ne finalise pas…
Je ne suis pas sûr que ce soit facile à informatiser dans une logique combinatoire. Je ne trouve pas vraiment de logique itérative susceptible d’être traduite par un algorigramme.
Le sujet a été proposé sur le forum Algorithmes et structures de données