Problème combinatoire : 10 équipes et 15 jeux
Bonjour à tous,
J'ai un petit problème combinatoire que je n'arrive pas à résoudre. Si jamais quelqu'un a une idée de la solution, ou d'un algorithme capable de la découvrir, je serais très intéressé...
10 équipes s'affrontent, autour de 15 jeux différents. Pour chaque jeu, deux équipes s'affrontent simultanément (donc simultanément, 5 jeux/15 sont occupés).
J'aimerais obtenir une solution telle que :
-Chaque équipe ait joué exactement une fois à chaque jeu
-Deux équipes aient joué au moins une fois l'une contre l'autre, au plus deux fois
La première condition fait qu'il faut exactement 15 parties, ce qui est compatible avec la 2ème condition. Cependant, je n'arrive pas à savoir comment organiser le "calendrier des rencontres" pour obtenir une telle solution, si elle existe bien entendu.
Si jamais quelqu'un a une idée, je serais ravi !
Merci d'avance,
David
J'ai un petit problème combinatoire que je n'arrive pas à résoudre. Si jamais quelqu'un a une idée de la solution, ou d'un algorithme capable de la découvrir, je serais très intéressé...
10 équipes s'affrontent, autour de 15 jeux différents. Pour chaque jeu, deux équipes s'affrontent simultanément (donc simultanément, 5 jeux/15 sont occupés).
J'aimerais obtenir une solution telle que :
-Chaque équipe ait joué exactement une fois à chaque jeu
-Deux équipes aient joué au moins une fois l'une contre l'autre, au plus deux fois
La première condition fait qu'il faut exactement 15 parties, ce qui est compatible avec la 2ème condition. Cependant, je n'arrive pas à savoir comment organiser le "calendrier des rencontres" pour obtenir une telle solution, si elle existe bien entendu.
Si jamais quelqu'un a une idée, je serais ravi !
Merci d'avance,
David
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
La deuxième condition ne peut pas se réaliser en $15$ parties, car $\binom{10}{2} = 45\gt 15$.
Je pense alors que tes deux conditions sont incompatibles.
Babacar
Cordialement
Je me suis mal exprimé. Par "partie" j'entends "journée" dans un championnat de foot par exemple. Appelons cela un "tour". Dans mon cas, comme tu le dis la deuxième condition stipule qu'il faut au moins 9 tours pour que chaque équipe ait joué contre une autre (45/5). Au delà de 18 tours, des équipes auront nécessairement joué plus de deux fois l'une contre l'autre.
Le but est de trouver 15 tours tels que deux équipes aient joué une ou deux fois l'une contre l'autre, et que chacune ait joué exactement une fois à chaque jeu.
David
Soit, des équipes vont répéter un jeu, soit, des équipes vont se rencontrer plus de deux fois.
Cordialement
Il serait prudent de vérifier par sondage aléatoire qu'elle satisfait aux contraintes.
En fichiers attachés, ce tableau et les listes par équipes (ce sont des fichiers .txt renommés en .tex).
Juste par curiosité, quelle est la méthode suivie ?
Merci beaucoup,
David
Plus précisément, on définit une inconnue A[t,j,p] par triplet (t,j,p) où t est un numéro de tour, j un numéro de jeu et p un numéro de paire (parmi les $\frac{10\times9}{2}$ paires existantes) : elle vaut 1 si la paire p se rencontre au tour t à l'épreuve du jeu j. Les contraintes s'expriment par des équations et des inéquations linéaires. Par exemple, pour dire qu'à un tour t, il y a au plus une paire pour chaque jeu j, il suffit d'écrire que la somme des A[t,j,p] (sur toutes les paires p) est $\le1$.
Voir ici pour un programme explicite d'un problème analogue.
Un grand merci en tous cas pour les infos !
David
J'ai revu mon code, j'ai trouvé des bugs que j'ai corrigés, mais ça ne fonctionne toujours pas, aucune solution n'est trouvée, le problème semble trop contraint.
J'ai implémenté les contraintes suivantes :
- A chaque tour, chaque jeu est occupé au plus une fois
- A chaque tour, 5 jeux sont occupés (j'ai également essayé avec <=)
- Deux équipes se rencontrent soit une fois, soit deux fois
- Chaque équipe joue exactement une fois à chaque jeu
- Au total, il y a 75 rencontres.
Même en enlevant certaines contraintes, il n'y a pas de solution. Vois-tu une erreur dans mes contraintes ?
Bravo pour la ténacité ! Ça va converger !
Merci, c'est le côté matheux qui m'emporte : j'aurais pu me contenter de ta solution, mais j'ai voulu apprendre, comprendre, et réussir à le faire tourner par moi-même ! Mais avant tout, un grand merci à toi, pour tes réponses et conseils
est ce possible de résoudre mon problème?
merci
et 9 tours je pense