Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Composition de match

325 views
Skip to first unread message

JLuc69

unread,
Jul 28, 2016, 10:45:46 AM7/28/16
to
Salut le groupe,

Je me retrouve avec un petit problème posé par un ami que mes quelques
neuronnes n'arrivent pas à gérer.
Les données du problème :
- Ils sont 24 joueurs (de tennis, ça ne sert pas, mais ce sera peut
être plus parlant :p)
- Ils ont 6 cours de disponnible par semaine dont 3 le mardi et 3 le
jeudi
- Ils voudraient pouvoir jouer avec tout le monde et rencontrer tout le
monde sur l'année

J'ai fais des calculs, ça ferait 276 doubles différent donc 138 matchs
possibles. Sur 48 semaines, ils ont la possibilité de faire 48*6=288
matchs. Ce qui fait qu'ils pourraient faire fois la liste trouvée, plus
12 rencontres aléatoires.
J'ai commencer un fichier excel où j'ai tous les binomes mais je coince
sur les rencontres pour que chaque semaine, tout le monde joue et que
sur la liste des rencontres, tout le monde joue avec tout le monde et
rencontre tout le monde.

C'est le coté ardu de la tâche (au moins pour moi). Pourriez vous
m'aider à établir cette liste ?
Je vous mets ce que j'ai déjà commencer :
http://www.cjoint.com/c/FGCoSYhVFug

Un grand merci si vous pouvez me donner des pistes pour y arriver

JLuc

Jacquouille

unread,
Jul 28, 2016, 12:10:55 PM7/28/16
to
Bonjour

Pour faire court ...
24 joueurs
6 terrains ----> = 6 match = 12 joueurs/semaine.

Donc, un joueur ne saura jouer que toutes les 2 semaines, soit 26 matchs
théoriques par an (sans congés, sans maladie ...)

Si 24 joueurs, chacun devra livrer 23 maths par an, pour jouer une fois
contre chacun.
J'ai donc du mal à comprendre ta dernière phrase ..... pour que tout le
monde joue chaque semaine....

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"JLuc69" a écrit dans le message de groupe de discussion :
mn.e3ed7e073c...@free.fr...
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

JLuc69

unread,
Jul 28, 2016, 12:16:59 PM7/28/16
to
Salut Jacquouille,
Pour que tout le monde puisse jouer chaque semaine, c'est des parties
en double (2 joueurs contre 2 joueurs), donc 6 doubles = 24 joueurs.
Pour ça, je pense avoir fait tous les doubles possible.
Ce qui serait idéal, c'est que tous les jouers rencontrent tous les
joueurs : que le N°1 puisse jouer contre tous avec chaque fois un
coéquipier différent. Je ne sais pas si je suis assez clair :p


Jacquouille a exposé le 28/07/2016 :

Jacquouille

unread,
Jul 28, 2016, 12:18:38 PM7/28/16
to
Re
D'après ta colonne B, qui semble reprendre toutes les possibilités, il y
aurait 276 matchs, à raison de 6 par semaine, cela ferait 46 semaines pour
que chacun joue une fois contre chacun.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
nndaqc$frc$1...@gioia.aioe.org...

JLuc69

unread,
Jul 28, 2016, 12:20:04 PM7/28/16
to
Non, ça c'est les équipe pour les doubles :p


Jacquouille vient de nous annoncer :

MichD

unread,
Jul 28, 2016, 1:07:52 PM7/28/16
to
Bonjour,

Regarde ce fichier, est-ce que cela t'aide?

http://www.cjoint.com/c/FGCrfFvcDOi

Bien sûr, il faudra l'adapter selon les données de ton application...

MichD

JLuc69

unread,
Jul 28, 2016, 1:17:07 PM7/28/16
to
Alors, je suis (encore :p) sous excel 2003
Dans mon fichier, j'ai déjà créer des matchs aléatoires, mais ça ne
marche pas : en essayant de les trier pour chaque joueur joue chaque
semaine mais ne se retrouve pas deux fois la même semaine, je me suis
aperçu que l'aléatoire n'est pas bon.

J'ai déjà avalé un tube de dolipran sur ce problème :D


MichD a formulé ce jeudi :

isabelle

unread,
Jul 28, 2016, 11:45:22 PM7/28/16
to
bonjour JLuc,

Le 2016-07-28 à 12:16, JLuc69 a écrit :

> Ce qui serait idéal, c'est que tous les jouers rencontrent tous les joueurs :
> que le N°1 puisse jouer contre tous avec chaque fois un coéquipier différent. Je

d'après cette description, j'ai commencé le décompte,
mais pour satisfaire les 2 conditions :
- tous les jouers rencontrent tous les joueurs
- le N°1 puisse jouer contre tous avec chaque fois un coéquipier différent

il faudra plus d'une année pour que ça se concrétise


joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 4
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 5
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 6
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 7
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 8
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 9
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 10
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 11
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 12
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 13
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 14
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 15
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 16
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 17
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 18
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 19
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 20
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 21
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 22
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 23
joueur 1 équipié de joueur 2 joute contre joueur 3 équipié de joueur 24

joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 5
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 6
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 7
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 8
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 9
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 10
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 11
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 12
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 13
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 14
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 15
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 16
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 17
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 18
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 19
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 20
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 21
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 22
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 23
joueur 1 équipié de joueur 2 joute contre joueur 4 équipié de joueur 24

etc...

isabelle


JLuc69

unread,
Jul 29, 2016, 6:59:34 AM7/29/16
to
Désolé Isabelle, mais ce n'est pas ce que je recherche :/
Avec ta méthode, le joueur 1 joue pleins de fois avec le joueur 2.

la liste que je cherche, c'est :

J1 J2 contre J3 J4
J5 J6 contre J7 J8
J9 J10 contre J11 J12
J13 J14 contre J15 J16
J17 J18 contre J19 J20
J21 J22 contre J23 J24
Pour la première semaine

Ensuite, J1 jouera avec J3, par exemple contre deux autres joueurs et
ainsi de suite.
Sur 24 semaines, chaque joueur pourrais jouer avec les 23 autres contre
une éqipe à chaque fois différente pour, éventuellement jouer contre
tous les autres.

Arf, en écrivant et relisant ces lignes, je m'apperçois que ce serait
sur 23 semaines :p


isabelle a exposé le 29/07/2016 :

LSteph

unread,
Jul 29, 2016, 7:25:10 AM7/29/16
to
Bonjour,

Ca peut faire bien plus il me semble....sauf erreur
Le joueur24 a 23 partenaires possibles
il en reste 22 le 22 en a 21
le 20 en 19 ...
...
.. le 2 en a 1
Soit possibilités de constitution d'équipes 23*21*19*17*15*13*11*..*1

Bon courage si je ne me trompe pas.

Cordialement.

--
LSteph

LSteph

unread,
Jul 29, 2016, 8:02:51 AM7/29/16
to

Bonjour cher Jacquouille qui a écrit :

> Pour faire court ...


..voilà un terrain de + ..!

;o)

--
LSteph

JLuc69

unread,
Jul 29, 2016, 8:07:25 AM7/29/16
to
Dans le fichier joint, je pense avoir mis toutes les équipes possible,
soit 276 si je n'ai pas fait de gourance :p


LSteph a formulé la demande :

LSteph

unread,
Jul 29, 2016, 8:40:41 AM7/29/16
to
Bonjour,


Dans ton fichier joint je vois des chiffres un peu partout sans aucun titre et ne vois pas à quoi ils réfèrent... ou je n'ai pas pris le bon...!

Pour en revenir au plus gros souci reprends mon raisonnement si tu veux dans le message précédent (pas sûr que ce soit le bon) et
pas sûr d'avoir bien expliqué mais j'essayais d'envisager le nombre de match que cela va générer...§

C'est effrayant.

--
LSteph

LSteph

unread,
Jul 29, 2016, 8:49:21 AM7/29/16
to
...ce nombre immensément grand tient juste à cette assertion que tu as formulée:

>Ce qui serait idéal, c'est que tous les jouers rencontrent tous les
>joueurs : que le N°1 puisse jouer contre tous avec chaque fois un
>coéquipier différent.


Autre difficulté, on peut se demander 6 courts par semaine pendant combien de temps?
Restera une inconnue en combien de sets voir la durée que prendra chaque rencontre.

Cordialement.

--
LSteph

Geo

unread,
Jul 29, 2016, 9:29:27 AM7/29/16
to
Bonjour

> Bon courage si je ne me trompe pas.

Rendez-vous dans quelques années ou décennies avec le résultat de
chaque match et établir un classement du meilleur coéquipier :-)

Jacquouille

unread,
Jul 29, 2016, 9:46:54 AM7/29/16
to
C'est bien dans cet esprit d'humour que j'ai formulé ma phrase de cette
façon .... -))

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
078ffb08-fd67-433c...@googlegroups.com...

JLuc69

unread,
Jul 29, 2016, 9:54:06 AM7/29/16
to
Arf, tu as raison ! Bon sang de bois !
Sur la feuille il n'y a que des chiffres...
En fait, tout se passe dans la macro de feuille. Il est vrai que c'est
un petit détail que j'aurai dû souligné


LSteph a exposé le 29/07/2016 :

LSteph

unread,
Jul 29, 2016, 11:29:11 AM7/29/16
to
...si on veut limiter les dégats (en nombre de match)...

(reste aussi à savoir la dispo des courts de quelle heure à quelle h
les 6 courts par semaine pourraient tenir un ou plusieurs matchs..? )

...au lieu que chaque doublette possible rencontre chaque doublette possible
te contenter que chaque joueur ait joué au moins une fois contre chaque joueur dans une doublette quelconque donc le plus simple change une seule fois de coéquipier pour pouvoir jouer contre au moins une fois.

...

JLuc69

unread,
Jul 29, 2016, 11:35:02 AM7/29/16
to
LSteph a exposé le 29/07/2016 :
> ...si on veut limiter les dégats (en nombre de match)...
sur l'année, ils ont 48 semaines

>
> (reste aussi à savoir la dispo des courts de quelle heure à quelle h
> les 6 courts par semaine pourraient tenir un ou plusieurs matchs..? )
ça, je ne sais pas ! ont peut considerer qu'ils ont 6 courts le matin.
S'ils n'ont pas terminer le match, tans pis. Donc chaque semaine = 6
matchs

>
> ...au lieu que chaque doublette possible rencontre chaque doublette possible
> te contenter que chaque joueur ait joué au moins une fois contre chaque
> joueur dans une doublette quelconque donc le plus simple change une seule
> fois de coéquipier pour pouvoir jouer contre au moins une fois.
Le mieux, d'après ce que j'ai pu comprendre, c'est surtout qu'ils
puissent jouer AVEC tout le monde

JièL

unread,
Jul 29, 2016, 11:51:30 AM7/29/16
to
Ce qui m'amuse, c'est que ce casse tête ne tient pas compte des gens
absents, ceux qui changent de date, ceux qui se trompent de semaine, des
vacances etc etc et qui va faire que de toute façon ça sera un joyeux
bord*** ;-)))))

Bon courage quand même :-)

--
JièL plat nid fi squateur

HB

unread,
Jul 29, 2016, 12:32:15 PM7/29/16
to

Bonjour,

le pb est compliqué donc le message est long ... désolé ;o)


concernant le calcul de Lsteph :
================================
Un match est une paire de paires...

{ {A ; B} ; {C ; D} }


L'utilisation des accolades signale
que ces structures ne sont pas ordonnées.

Puisqu'il y a 24 joueurs ,

le nb de groupes {A ; B; C ; D} distincts

est COMBIN(24;4) = 24*23*22*21/(4*3*2*1)

ce qui fait tout de même 10 626 ...


Ensuite, chaque groupe {A ; B ; C ; D}
de 4 éléments peut être partagés
de 3 façons : AB et CD ; AC et BD ; AD et BC

Cela fait donc en tout 31 878 matchs distincts

C'est bien moins que la valeur annoncée par Lsteph
et bien plus que les 138 annoncés par JLuc69

MAIS

on voit bien sur les 3 maths ci-dessus
que A jouera 2 fois contre chaque joueur.

et plus généralement, ces 31 878 matchs distincts
ne fournissent pas une liste optimale !!!

Concernant le classeur (mis sur ci-joint.com)
============================================

Il suppose que chaque paire n'aura pas à jouer plusieurs fois
d'où le nb de 276 ... mais ce nombre est-il bon ? ...

Début d'analyse
=================

Imaginons les matchs avec A :
Avec 11 matchs il joue
avec 11 différents ( B à L)
et contre tous sauf B

AB CD
AC EF
AD GH
AE IJ
AF KL
AG MN
AH OP
AI QR
AJ ST
AK UV
AL WX

Il faut donc que A fasse encore des matchs avec M à X pendant que les
autres remplissent partiellement leurs obligations ;o)

B et M à X n'ont fait qu'un match, C à L en ont déjà fait deux ...
complétons les maths de A pour équilibrer

AM BX
AN DE
AO FG
AP HI
AQ JK
AR LM
AS VW
AT PQ
AU RS
AV TU
AW NO
AX BC

ainsi, avec 23 matchs :
- A a joué avec tous
- A a joué contre tous


Passons à B qui a déjà fait trois matchs :
BX AM
BC AX
AB CD


Il doit donc encore jouer
avec D à W et
AU MOINS contre E à W sauf M :


BD EF
BE GH
BF IJ
BG KL
BH NO
BI PQ
BJ RS
BK TU
BL VW

BM UV
BN WX
BO GH
BP IJ
BQ KL
QR MN
BS OP
BT QR
BU ST
BV CD
BW EF

Avec ces 20 matchs supp :

B a fait tous les matchs obligatoires

on en est à 23+20 = 43 matchs

... bref on le voit bien, ...
on va pouvoir respecter les contraintes
avec un nombre de matchs très limité
mais il faudrait mieux choisir les secondes équipes
(là j'ai pris assez bêtement)

Par exemple :

les 4 matchs déjà faits par C :
CD AB
AC EF
CD BV
BC AX

il a joué deux fois avec D

les 5 matchs déjà faits par D :
CD AB
AD GH
DE AN
BD EF
CD BV
il a joué deux fois avec C

les 4 matchs déjà faits par X :
AL WX
AM BX
AX BC
BN WX

il a joué deux fois avec W


les 6 matchs déjà faits par W :
WX AL
VW AS
AW NO
VW BL
WX BN
BW EF

il a joué deux fois avec X et deux fois avec V ...

GASP !!!! c'est la panique ...

Peut-on modifier une des listes du dessus
pour éviter ces problèmes ?...

peut-être ...


Les outils "théoriques" pour déterminer proprement
une liste optimale de matchs
sont, je pense, assez compliqués ...
je ne vois rien d'évident pour l'instant.

Une grosse macro brutale
peut probablement proposer qqchose rapidement
MAIS
faire tourner qqchose (VBA) qui fournira
une _solution optimale_
ne me semble pas immédiat ...

... et encore, je n'évoque pas les problèmes
de disponibilité des courts ...

Bref ... je ne vois aucun argument simple permettant
de proposer une liste optimale de matchs ...
( sachant qu'à la main c'est pas évident)

Il me semble que ce problème
est plus proche d'un pb de maths (combinatoire)
(concours d'entrée à Normale-sup ou à HEC)
que d'un problème de VBA ;o)


Pour finir :

Pour commencer, il faudrait reprendre le problème
en faisant des listes à la main
pour 4 joueurs, 5 joueurs, 6 joueurs, ...
De fécondes idées peuvent surgir
de l'observation
- des résultats
- de la méthode adoptée


Cordialement,

HB

JLuc69

unread,
Jul 29, 2016, 12:41:26 PM7/29/16
to
Merci pour ton analyse qui me parais bien et productive.
Après, si tout le monde ne joue pas avec tout le monde, est ce
problèmatique ? Je serais enclin à penser que oui, mais si on ne peut
pas faire autrement....
Par contre, il faut juste respecter un impératif : chaque semaine, TOUS
les joueurs doivent jouer

J'en suis à 3 tubes de dolipran :p


HB avait prétendu :

isabelle

unread,
Jul 29, 2016, 1:31:02 PM7/29/16
to
reste plus qu'à apporter un sac et 24 billes pour le tirage au sort ;-)
isabelle

HB

unread,
Jul 29, 2016, 6:16:14 PM7/29/16
to
j'ai suivi mon conseil ;o)

tests.xls est là :
http://www.cjoint.com/c/FGDvXoBxk6C

J'ai établi des listes pour les cas 4 à 7 joueurs

1) En ce qui concerne la contrainte de calendrier
il me semble que
si on trouve "le moins de matchs possibles"
ce sera d'autant plus facile à mettre en place ;o)

il faut savoir comment générer la liste des matchs
pour ensuite utiliser cette liste ...
(avançons pas à pas)

2) Il semble qu'effectivement
on peut utiliser
les 24*(24 - 1) / 2 paires
en les associant 2 par deux
pour que, en plus, chacun joue contre tous.

(Cela ne me semble pas si évident ... mais bon)

Cela fera donc effectivement 138 matchs nécessaires.

Mais attention, toutes les combinaisons
ne vont pas forcément convenir...

3) Il faut donc d'abord trouver un algo efficace
qui fournit une liste convenable de 138 matchs.

On devrait pouvoir faire en sorte que
- chacun joue AVEC chacun (une fois)
- chacun affronte exactement deux fois chacun
(comme dans les cas n=4 et n=5)
Cet équilibre parfait sera fort utile pour la suite :
Répartir tout ça dans le calendrier ...
(mais ce sera sans doute plus facile ...)

HB

isabelle

unread,
Jul 30, 2016, 1:13:45 AM7/30/16
to
bonjour JLuc,

j'ai fais une approche différente, approche dont tu avais parlé mais à ton dire
que tu avais abandonné,
mais peut être que ... la solution aléatoire n'est pas encore exclue,

http://www.cjoint.com/c/FGEfbz5h7ia

Sub Tableau_aleatoire_sans_doublon()
'Déclare un tableau pour 24 joueurs, (6 courts pour chacun 4 joueurs)
Dim Tableau(1 To 4, 1 To 6) As String
'Déclare un tableau à 1 dimensions pour 24 joueurs.
Dim joueur(1 To 24) As String
Dim i As Integer, j As Integer, x As Integer, n As Integer, Nb As Integer
Dim k As Single, S As String, Resultat As String

Randomize
n = 24 'maximum : 32735
For Nb = 1 To n
S = S & ChrW(32 + Nb)
Next

'liste aléatoir des joueurs sans doublon
Do
Nb = Int(Rnd * Len(S) + 1)
k = k + 1
joueur(k) = AscW(Mid(S, Nb, 1)) - 32
S = Left$(S, Nb - 1) & Mid$(S, Nb + 1)
Loop Until S = ""

'inscrit la liste aléatoire dans le tableau
For i = 1 To UBound(Tableau, 2)
For j = 1 To UBound(Tableau, 1)
x = x + 1
Tableau(j, i) = joueur(x)
Next j
Next i

'Affiche le résultat sur l'onglet "Feuil1"
Sheets("Feuil1").Range("A2").Resize(UBound(Tableau, 2), 4) =
Application.Transpose(Tableau)
End Sub

isabelle

LSteph

unread,
Jul 30, 2016, 4:01:26 AM7/30/16
to
...tu as dit "avec tout le monde" mais sinon j'ai une solution "Contre chaque":

Pour chaque équipe Prénom1 Prénom2
Puis un tableau des (paires) Equipes en Abcisse et transposées en ordonnées
Tu remplis les numéros des matchs
en n'inscrivant rien dans ni sous la diagonale (équipes identiques)
Donc je ne comprends pas la théorie d HB qui ne comprenais pas la mienne.

Cela fera 66 matchs et tout le monde aura rencontré chaque joueur.
donc 11 semaines avec 6 courts.

12 équipes si tu en mets une sur un terrain il en reste 11 pour venir en face
12*11=132 soit 2 équipes par matchs 132/2=66 matchs
http://www.cjoint.com/c/FGEiaIaOsMw


Après siv en plus chacun doit avoir eu tous les partenaires, tu peux permuter chaque joueur en décalant à chaque fois pour qu'ils aient joué avec chaque ce qui fait 23 permutations , on arrive déjà à 1518 matchs. Tu n'auras pas assez de courts!

Cordialement.

--
LSteph

LSteph

unread,
Jul 30, 2016, 4:24:57 AM7/30/16
to
... je me réponds à moi même.
Il faudra en fait au moins une permutation de joueur (cf. mon petit tableau) pour que chacun ait joué aussi contre son partenaire cela fait donc le double de matchs soit 132.
On peut imaginer une distribution aléatoire des joueurs dans la liste puis,
Première session joueur1 avec joueur 2
Seconde session joueur 1 avec joueur 3.

...

JLuc69

unread,
Jul 30, 2016, 4:25:41 AM7/30/16
to
Je m'aperçois que le problème est beaucoup plus épineux que je ne
l'avais envisagé au départ...

LSteph

unread,
Jul 30, 2016, 4:54:59 AM7/30/16
to

Jacquouille

unread,
Jul 30, 2016, 6:47:42 AM7/30/16
to
Bonjour JLuc

tel qu'énoncé, c'est infaisable.
Si chaque joueur doit faire équipe avec chacun des 23 autres, pour jouer une
fois contre chacun des 22 autres, cela fera 11 rencontres, rien qu'avec les
joueurs A+B.
11 autres avec A+C .... . Tout cela rien que pour le joueur A
Idem pour B, avec 11 rencontres en moins (celles déjà jouées avec A).

Si, en plus, tu veux de l'aléatoire .....



Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"JLuc69" a écrit dans le message de groupe de discussion :
mn.f2717e07b5...@free.fr...

Je m'aperçois que le problème est beaucoup plus épineux que je ne
l'avais envisagé au départ...


JLuc69

unread,
Jul 30, 2016, 6:58:32 AM7/30/16
to
Non, il y a méprise
Je n'ai pas dit que chaque joueur devait jouer avec chaque autre contre
tous les autres joueurs, mais que chaque joueur devait pouvoir jouer
aves les 23 autres et si possible contre tous les autres mais quelle
que soit la compsition des adversaire.

Dans la théorie, le joueur N°1 pourra composer 23 duos, donc il fera 23
parties qui s'étaleront sur 23 semaines (1 partie par semaine). Sur ces
23 parties, il serait bien qu'il recontre les 23 autres quelque soit la
composition de l'équipe adverse.
Une fois cette liste composée, ils la répeteront pour avoir des matchs
sur 46 semaines. Pour les 2 semaines restantes, ils pourraient soit
faire un tirage aléatoire comme le propose Isabèle, soit reprendre
quelqus matchs de la première liste


Dans son message précédent, Jacquouille a écrit :

HB

unread,
Jul 30, 2016, 9:47:40 AM7/30/16
to
Bonjour,

J'ai commencé à réfléchir
à la façon de générer les 138 matchs
mais ce n'est pas encore au point ...

Je fais un tableau de 138 lignes et 138 colonnes

les entêtes de lignes et de colonnes
sont les 2x138 paires différentes

Il faut compléter le tableau pour qu'il y ait
une croix par ligne et une par colonne
(une croix représente une rencontre)

mais il faut aussi veiller à ce que
les matchs soient possibles
(AD contre DQ ... ce n'est pas possible)
Cela condamne pas mal de cases...

Ensuite, avec les cases restantes
il faut bien répartir
et là un algo récursif devrait y parvenir ...
en tout cas je l'espère ...
( si ça bloque à un niveau,
on passe au choix suivant au niveau précédent)

reste à bien structurer tout ça ...
Il faut du temps ...

Remarque concernant le second groupe de match.
================================================

Il y a plusieurs façons d'organiser
les 138 matchs en utilisant correctement
les 276 couples.
On le comprend en imaginant simplement
de renuméroter autrement la liste des joueurs ...

Il y a exactement 24x23x...x2x1 façon de ranger
24 objets ... ça fait beaucoup ...

il serait peut-être plus utile d'utiliser
une seconde répartition
pour la seconde série de matchs.
l'idéal serait même qu'aucun match ne se répète ...
et c'est sans doute possible...


Parmi ces permutations, il vaut mieux choisir
une permutation qui ne laisse aucun numéro immobile.
Y'en a énormément !
Il suffit de partager la liste des 24 en un certain nombre de
sous-listes puis, sur chaque sous-liste, d'effectuer
une "permutation circulaire".

En ce qui concerne les 12 matchs restants,
on pourrait aussi leur foutre la paix
qu'ils profitent un peu de la vie, non ? :o)


A+

HB

LSteph

unread,
Jul 30, 2016, 5:38:23 PM7/30/16
to

Re,
as tu regardé le tableau que j'ai joint.
en 2 fois 66 matchs c joué
http://www.cjoint.com/c/FGEi0Wljd8w

--
LSteph

HB

unread,
Jul 31, 2016, 7:51:34 AM7/31/16
to
Bonjour Isabelle,

je viens de prendre le temps de regarder cette proposition.

Pour répartir les 24 joueurs sur les 6 rencontres
d'une semaine donnée, c'est nickel.
C'est rigolo l'idée de la chaîne.
Pour ma part j'utilise un tableau intermédiaire
.. mais bon c'est le même résultat ...
=========================================================
Sub Permut()
Dim TEMP(1 To 24) As Integer
Dim R, S, T As Integer

' remplit de façon aléatoire le tableau TabloPermut()
' avec les nombres de 1 à 24
' -> une "permutation" de l'ensemble {1;2;...;24}

For R = 1 To 24
TEMP(R) = R
Next
Randomize
For R = 1 To 24
T = R + Int((25 - R) * Rnd())
TabloPermut(R) = TEMP(T)
S = TEMP(T)
TEMP(T) = TEMP(R)
TEMP(R) = S
Next
=========================================================

Toutefois si on fait ainsi un tirage au hasard par semaine, il est
hautement improbable que les autres contraintes soient respectées.

Je tente petit à petit de raffiner :


Deux feuilles avec les 2x23 semaines
Deux feuilles avec les 23 matchs de chaque joueur pour 23 semaines

Des variables en plus
- nb de match d'un paire
( devra plafonner à 1 dans la boucle_1 puis à 2)
- nb de tirages tentés pour chaque semaine
TIR(1 à 46)

Principe pour 23 semaines
boucle de 1 à 23
- tirer une les matchs de la semaine

- Test de compatibilité avec les semaines précédentes
- chaque paire ne joue qu'une fois

Test positif _> passer à la suite
sinon refaire le tirage



La contrainte "chacun joue contre chacun"
a été complètement zappée dans ce cas
mais je ne serait pas surpris
que ce soit respecté quand même si ça marche...


Il faut aussi tester le nombre de tirages déjà tentés
sur cette semaine là
avec d'en refaire un nouveau
- si le nb de tirages est trop fort (max à définir ?)

--> remonter à la semaine précédente
et refaire ce tirage là...
c'est là que les tableaux des variables
bien choisies seront indispensables
et c'est encore en cours ... doucement ...


Cordialement,

HB

LSteph

unread,
Jul 31, 2016, 9:14:58 AM7/31/16
to
donc tu n'as pas regardé , c'est clair.

Pourquoi tu es toujours sur 138 ?

isabelle

unread,
Jul 31, 2016, 10:30:32 AM7/31/16
to
c'est très bien pensé LSteph, bravo!
isabelle

HB

unread,
Jul 31, 2016, 12:43:08 PM7/31/16
to
Le 31/07/2016 à 15:14, LSteph a écrit :
> donc tu n'as pas regardé , c'est clair.
>
> Pourquoi tu es toujours sur 138 ?
>

??????????????????????????????????????

J'ai regardé le classeur proposé par Isabelle qui proposait une macro
pour remplir aléatoirement le tableau des six matchs d'une semaine.
C'est de cela que mon message parlait.

De quoi parles-tu ?
J'ai effectivement aussi vu ton classeur
mais les conditions requises ne sont pas respectées
et Jluc69 a déjà dit en quoi ta proposition
ne correspond pas aux contraintes.

Résumé des épisodes précédents :
- Il y a 24 joueurs A, B, ...., X
- Les couples possibles sont {A,B} ; {A,C} ; ...
- Avec 24 joueurs, il y a 24x23/2 = 276 couples distincts.
- Si on regroupe ces 276 couples 2 par 2
on peut obtenir 276/2 = 138 matchs.
Il faut juste veiller à ce que
les deux couples de chaque match
concerne bien 4 joueurs distincts...

138 matchs est donc le minimum
pour respecter la contrainte
"chacun des (276) couples possibles jouent".

La seconde contrainte
"chaque joueur rencontre chacun des autres"
peut très probablement être assurées
en organisant correctement ces 138 matchs.

La troisième contrainte concerne le planning
et n'est pas directement liée à ce qui précède.

Il y a 6 matchs par semaines ;
le nb de semaines est largement suffisant
mais il faut en plus que chaque joueur joue chaque semaine.
donc, 6 matchs de double avec 24 joueurs
ça fait exactement un match pour chaque joueur par semaine.

voili voilou,

LSteph

unread,
Jul 31, 2016, 6:26:02 PM7/31/16
to
Bonsoir,

A l'évidence cela vient de là nous n'avons pas tout à fait la même lecture
deux contraintes ont été posées
qui si on les combines ne sont pas réalisable tel qu'exprimées précédemment.

j'ai donc privilégié ce qui semble possible dans le nombre de semaines imparti...

mais probablement n'était ce pas au plus près que voulais JL.

--
LSteph

LSteph

unread,
Jul 31, 2016, 6:44:35 PM7/31/16
to

Re,
...
Si l'on doit privilégier l'autre hypothèse:
chaque joueur doit prioritairement avoir joué avec chaque autre peu importe contre qui
il lui faut 23 matchs.
Il pourrait ainsi changer de partenaire à chaque match
si chacun doit pouvoir jouer au moins 1 fois par semaine
on a 6 courts pour la durée d'un match par semaine donc 6 matchs par semaine.
Cette condition est donc remplie et il faudra 23 semaines.
REmplir aléatoirement ou pas le tableau est un choix.
Une fois la liste établie il suffit de gérer l'écart de joueur chaque semaine
1 avec 2, 2 avec 3...
1 avec 3, 2 avec 4 ...
...
Dans ce cas effectivement cela fera 138 matchs.


--
LSteph

Jacquouille

unread,
Aug 1, 2016, 7:56:19 AM8/1/16
to
Ah que mon vieux prof avait raison:
Un problème clairement énoncé est à moitié résolu .....

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
a618fd87-8acb-4cab...@googlegroups.com...

LSteph

unread,
Aug 1, 2016, 8:07:20 AM8/1/16
to
re,

Donc voici une possibilité sans macro
juste à mettre les 24 noms dans la liste.
Les 6 courts se remplissent à coté.

http://www.cjoint.com/c/FHbmctdRerI

(la première semaine transpose la liste en deux parties
pour faire les 6 courts
les lignes suivante décalent la seconde ligne.
On reposition en 7ème semaine le reste de la liste et on poursuit pareil en dessous...)

--
LSteph

LSteph

unread,
Aug 1, 2016, 8:16:45 AM8/1/16
to
lire 13ème et non 7ème...

sinon je me demande si on peut arriver à permuter quand même les adversaires
en gardant ce défilement.

HB

unread,
Aug 2, 2016, 6:48:11 AM8/2/16
to
Bonjour,

=============================================================
j'ai creusé cette piste :
tirage aléatoire d'une semaine avec comme contrainte
" chaque joueur joue exactement une fois chaque semaine",
puis passage à la suivante etc ...
avec retour en arrière si un blocage se produit.
La seule contrainte supp était :
" chacune des 276 paires joue exactement une fois"

J'ai renoncé car même en autorisant exp(Numéro de semaine)
comme nombre de tentatives pour une semaine,
l'algo n'a pas réussi à dépasser la semaine n°17
(Au bout d'un très très long moment j'ai tout arrêté ... )

=============================================================
J'ai donc creusé l'autre piste :

On construit d'abord un tableau (virtuel) des rencontres de paires
( 188 paires en abscisse et 188 en ordonnée
une "croix" par ligne et par colonne...)

En répartissant d'abord les 276 paires (en X et Y) au hasard
la construction de ce premier tableau aboutit
en une seconde et facilement ...
(3 tentatives max avec la dizaine de tests faits )

Il me reste donc à répartir ces 188 matchs sur les 23 semaines
mais je crois que j'ai trouvé une bonne idée.

En fait, moins on met d'aléa plus la recherche est exhaustive
donc plus les chances sont grandes...

Une fois les paires réparties en X et Y dans mon tableau
la recherche des matchs est totalement exhaustive.
Le seul hasard est donc dans la répartition initiale.

Si la répartition sur les semaines fonctionne,
obtenir un second groupe de 188 matchs pour les 23 semaines suivantes
sera aussi réglé et les matchs seront "a priori" différents.
(répartition initiale au hasard)

Je verrais à ce moment là si ajouter la contrainte
" les matchs de la seconde série sont nouveaux"
provoque ou pas un blocage...
mais avec le nombre de matchs possibles est énorme
... cela peut donc fonctionner.

à suivre donc,

amicalement,
Message has been deleted

LSteph

unread,
Aug 2, 2016, 8:49:20 AM8/2/16
to
Re,

donc voici version rectifiée avec un peu de VBA
pour tirage aléatoire
http://www.cjoint.com/c/FHcmUXFNMwI

JLuc69

unread,
Aug 9, 2016, 6:41:07 AM8/9/16
to
Salut tout le monde,
Désolé pour le retard de réponse, mais j'ai eu quelques soucis de
connection en fin de semaine et je suis parti en vacances dans la
foulée :p

LSteph, ton fichier semble bien, mais j'ai du télécharger ExcelViewer
2007 pour le lire et je ne peux rien en faire. Pourrais tu me le
sauvegarder avec la version 2003 ?
Merci d'avance

JLuc


LSteph a pensé très fort :
> Bonjour,
>
> Le même mais cette fois avec un peu de VBA pour tirage aleatoire
>
> http://www.cjoint.com/c/FHcmKJr5HzI
>
> Cordialement.
>
> --
> LSteph

LSteph

unread,
Aug 9, 2016, 7:43:27 AM8/9/16
to
Bonjour,

Au format 97-2003

http://www.cjoint.com/c/FHjlPIgnxlI

Cordialement.

--
LSteph

Jacquouille

unread,
Aug 9, 2016, 8:03:20 AM8/9/16
to
Hé hé, c'est dans les vieilles marmites ....

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
a9a53420-0cf3-4cec...@googlegroups.com...

JièL

unread,
Aug 9, 2016, 8:19:06 AM8/9/16
to
Salut la marmite :-)))))))))))

NB : ce qui tu avais pris pour de la "méchanceté" ;-) la dernière fois
n'était pas (spécialement/uniquement) pour toi, mais surtout/aussi pour
ce bon vieux Excel 2003 ;-)

--
JièL Tas qu'ain

PS pour les autres qui n'auraient pas suivi : rien de méchant, tout
juste de la taquinerie entre potes du mpfe

Jacquouille

unread,
Aug 9, 2016, 10:26:32 AM8/9/16
to
JièL Tas qu'ain........ Caïn

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"JièL" a écrit dans le message de groupe de discussion :
57a9ca39$0$7990$426a...@news.free.fr...

JLuc69

unread,
Aug 10, 2016, 4:38:15 AM8/10/16
to
Salut LSteph,

Bon, j'ai regardé ton fichier plus attentivement, mais ça ne correspond
pas à ce que je cherche :/
Chaque joueur a deux ou trois coéquipiers maximum et joue contre deux
ou trois autres équipes maximum. Ce qui fait que, sur 23 semaines, il
n'y a pas beaucoup de mélange


LSteph a écrit :

JLuc69

unread,
Aug 10, 2016, 9:32:48 AM8/10/16
to
Bon, j'arrete là :p

Ci joint la mailleure distribution que j'ai réussi à faire en combinant
les propositions de chacun.

http://www.cjoint.com/c/FHknENXK0Ig

Je vous remercie pour le temps que vous m'avez consacré

JLuc

LSteph

unread,
Aug 10, 2016, 10:23:09 AM8/10/16
to
Bonjour,

C'était un choix sur 23 semaines ou les partenaires ou les adversaires.

>Chaque joueur a deux ou trois coéquipiers maximum
oui
> et joue contre deux ou trois autres ...
Pas d'accord
Si tu regardes bien chaque joueur a affronté tous les autres joueurs!

Mais je comprends plus simplement que ce n'est pas ce que tu voulais.

Cordialement.

--
LSteph

JLuc69

unread,
Aug 10, 2016, 10:46:31 AM8/10/16
to
Excuses moi, oui, éffectivement je voulais privilégier le fait que
chacun joue avec tous les autres d'où ma première liste pour avoir tous
les duos possible.
Mais au final, je n'aurais pas réussi :/ Avec mon dernier tirage, au
mieux j'ai 12 duos que je n'ai pas pu placer dans une grille de 23
semaines


Le 10/08/2016, LSteph a supposé :

HB

unread,
Aug 10, 2016, 1:07:26 PM8/10/16
to
bonjour,

voici l'état de mes "recherches"

http://www.cjoint.com/c/FHkqPfcIsrC


Le point de départ c'est "chacun joue avec chacun"
et c'est respecté.

Je n'ai pas réussi à trouver la bonne répartition des paires
pour que, en plus "chacun rencontre chacun".

Il faudrait trouver le bon algo pour répartir les paires

Je n'ai plus de temps à y consacrer avant un bon moment... désolé...
C'est donc en chantier...

Les macros utilisées pour le moment sont dans le module "macros1"

La macro à améliorer est

Sub FaitTableauRencontresHasard()

Le résultat se voit dans les entêtes de la feuille TOUT1



La façon de répartir au départ ne convient pas car du coup
certains ne peuvent pas rencontrer certains

C 'est la première boucle qu'il faudrait changer pour mieux répartir les
joueurs entre les lignes PT(0, I) et les colonnes PT(1, I)



Le classeur est prévu pour faire les deux séries de rencontres ...

Pour le moment, donc, il y a des rencontres telles que chacun joue avec
chacun mais "pas tout à fait" avec tous.
Cela se voit sur la feuille "Rencontre1" :
Il y a des trous en plus des trous normaux sur la diagonale.

Sur cette feuille, le 62 en bas signale qu'à un moment, il y a eu 62
trous (au lieu de 24) et que sur les 2000 tentatives ce fut le minimum.

Comme l'écart est à diviser par deux, ça veut dire que 19 rencontres
n'ont pas lieu ...

On peut essayer avec plus que 2000 pour voir si on trouve moins de 62
ou bien arrêter avant d'avoir trouvé 24 trous ...

Les modifs à faire sont dans la sub RECHERCHE()

Le paramètre "num" de cette sub est 1 ou 2 selon que l'on fasse la
première série ou la seconde.

pour le moment, la sub FaitTout() ne lance que
RECHERCHE 1


Je n'ai pas encore fait la répartition sur les semaines car je ne pense
pas que ce soit le plus compliqué une fois que l'on a des matchs qui
conviennent ...
mais les feuilles sont prêtes ;o)

Il y a des restes de macros de l'ancienne tentative dans le second
module nommé "Macros"...

voili voilou ... si qqun a le courage d'un plonger un oeil ...

A+

LSteph

unread,
Aug 10, 2016, 1:52:00 PM8/10/16
to
Re,

...les joueurs c'est jouable, les doublettes.. il me semble que le calcul combinatoire montre que même en plusieurs années avec 6 h par semaine ce n'est pas vraiment envisageable;..
j'ai essayé de respecter 2 points
*chaque semaine tout le monde joue
*au final tout le monde a affronté chaque joueur dans une doublette ou une autre..

sinon si le but était que chacun joue avec chacun et non contre chacun ma 1ère proposition y souscrivait.

Si on veut les deux à la fois c'est il me semble impossible en 23 semaines avec 6 matchs!

mais l'exercice était amusant et nous à tous poussé à chercher des solutions.


Je note au passage qu'il y a peu de questions intéressantes depuis un moment.
Il y a plus de questions sur answers mais elles sont encore moins intéressantes.

Conclusion Vive les canards pourvu qu'il y en ait toujours dans la mare!
Bisous à Isabelle et autres belles... et mon chapeau à ces messieurs dont maître Jacques, HB et le marseillais (savon un peu caustique parfois mais bon...)

Amicordialités.

--
LSteph

JLuc69

unread,
Aug 10, 2016, 2:19:26 PM8/10/16
to
Tu as regarder mon dernier essai ? (je me suis répondu à moi même sur
le premier message)
C'est le mieux que j'ai pu faire. Au final, le mieux est 12 équipes sur
le "carreau"

Amicordialemment aussi, et encore merci à tous les "chercheurs" :D


LSteph a émis l'idée suivante :

MichD

unread,
Aug 10, 2016, 5:54:39 PM8/10/16
to
Bonjour,

Regarde le fichier joint, les explications sont à l'intérieur!

http://www.cjoint.com/c/FHkv1hF0yIi


MichD

MichD

unread,
Aug 10, 2016, 7:22:35 PM8/10/16
to
Juste un petit complément.

Avec 24 joueurs -> 12 équipes de 2 joueurs.

Le tableau te donne la possibilité de former 12 combinaisons d'équipe
par concaténation horizontale des colonnes B et C. Comme chaque
combinaison jour 6 parties, cela représente 72 semaines.

Il y a beaucoup plus de combinaisons que cela si chaque joueur doit
formé un duo (équipe) avec les 23 autres joueurs car les joueurs qui
appartiennent à a la même colonne n'ont pas joué ensemble... Tu en as
pour plusieurs années! ;-))

MichD

LSteph

unread,
Aug 11, 2016, 5:58:13 AM8/11/16
to
Bonjour,

MichD a écrit :

> Il y a beaucoup plus de combinaisons que cela si chaque joueur doit
> formé un duo (équipe) avec les 23 autres joueurs car les joueurs qui
> appartiennent à a la même colonne n'ont pas joué ensemble... Tu en as
> pour plusieurs années! ;-))
>
Merci j'aurais bien dit CQFD mais là je dirai plutôt
CQSEDDD

Ce Qu'on S' Emploie à Dire Depuis le Début

;o)

Cordialement.
--
LSteph

Jacquouille

unread,
Aug 11, 2016, 6:02:59 AM8/11/16
to
... et comme 2003 est avant 2007 et 2010, j'ai arrêté de m'échiner à le dire
aussi .
-))



Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"LSteph" a écrit dans le message de groupe de discussion :
12794f26-9bed-4854...@googlegroups.com...

HB

unread,
Aug 11, 2016, 8:06:57 AM8/11/16
to
Bonjour,

... et non,
Avec 24 joueurs, il y a exactement 276 paires distinctes
qui peuvent donc jouer en 138 matchs.
Le calcul donnant 276 a déjà été détaillé ici.

En 23 semaines avec 6 matchs par semaine
cela fait pile-poil 138 ...

il n'y a pas "impossibilité" à cause de la taille des nombres.
En revanche, trouver les bons algo pour organiser tout ça ...
c'est une autre affaire.

Cordialement,

HB

LSteph

unread,
Aug 11, 2016, 8:32:49 AM8/11/16
to
Re,

> Le calcul donnant 276 a déjà été détaillé ici.

> HB

Et bien non pas vraiment... (ou on a raté un post ou on a pas vu de démonstration pertinente)

...on a par contre bien noté que tu es parti dans cette hypothèse.

Sauf erreur de ma part 24 joueurs il en reste 23 avec lesquels faire une paire

24*23=552 possibilités d'assortiments. Si on croise avec le fait de de devoir rencontrer chaque paire (sauf celles à laquelle on appartient déjà
cela induit bien plus que 138 matchs

et donc qu'en 23 semaines par 6 matchs cela ne me semble pas possible, mais je peux me tromper et je vais plutôt attendre ta solution.

Cordialement.

--
LSteph

LSteph

unread,
Aug 11, 2016, 8:47:26 AM8/11/16
to
...je me réponds à moi même...
effectivement d'accord, il n'y a pas d'ordre donc
il faut considérer (24*23) / (1*2)
car sinon on prendrai les paires AB et BA

donc ok pour les 276

reste la suite du calcul pour que chaque paire rencontre chaque paire..

...@ suivre

> --
> LSteph

HB

unread,
Aug 11, 2016, 9:54:44 AM8/11/16
to
Re,

Réponse dans le message.

=================================================================================
Le 11/08/2016 à 14:32, LSteph a écrit :
(...)
>
> Sauf erreur de ma part 24 joueurs il en reste 23 avec lesquels faire une paire
>
> 24*23=552 possibilités d'assortiments.
=================================================================================
Avec ton calcul, les couples sont ordonnés :
or AB et BA c'est la même paire :
"A ET B" jouent ensemble
Tu comptes donc chaque équipe deux fois.

552 : 2 = 276 PAIRES distinctes

On peut aussi utiliser un vocabulaire plus précis.
On cherche le nombre de
parties à 2 éléments d'un ensemble à 24 éléments.

C'est le fameux coefficient binomial combin(24;2) = 24*23/2

Ce que tu comptes ce sont les "arrangements"
qui tiennent compte de l'ordre ...

c.f. : initiation à l'analyse combinatoire telle que cela
se pratique en terminale pour le calcul des probabilités.

Ces 276 paires peuvent donc jouer dans 138 matchs.

=================================================================================

> Si on croise avec le fait de de devoir rencontrer chaque paire
(sauf celles à laquelle on appartient déjà
> cela induit bien plus que 138 matchs
> et donc qu'en 23 semaines par 6 matchs cela ne me semble pas possible,
mais je peux me tromper et je vais plutôt attendre ta solution.
=================================================================================
La seconde contrainte posée par l'auteur du message initial
n'est pas
"chaque paire rencontre chaque paire",
ni
"chaque joueur rencontre chaque paire"

mais
"chaque joueur rencontre chaque joueur" ...

Pour des raisons analogues, cette contrainte
donne aussi 138 matchs au minimum.

Il n'est donc pas a priori
numériquement impossible d'organiser tout ça.

Je ne sais pas si ou non c'est impossible mais le nombre de façons
d'organiser 138 matchs est titanesque.
Il est donc tout à fait possible que parmi tous ces cas, certains
respectent la seconde contrainte.

Le fait que l'on ne parvienne pas à mettre au point
un algorithme de recherche efficace
ne signifie pas que c'est impossible
mais seulement
qu'on n'est pas assez fortiches ;o(

D'une manière générale, il convient de ne pas confondre
"c'est impossible"
avec
"je ne sais pas faire"

Pour progresser, on peut trouver seul en cherchant ou apprendre.

LSteph

unread,
Aug 11, 2016, 11:45:47 AM8/11/16
to
Re,

Si c'était juste cela ...
> La seconde contrainte posée par l'auteur du message initial
> n'est pas
> "chaque paire rencontre chaque paire",
> ni
> "chaque joueur rencontre chaque paire"
>
> mais
> "chaque joueur rencontre chaque joueur" ...
>

c'est déjà proposé plus haut dans le fil

MichD

unread,
Aug 11, 2016, 11:51:32 AM8/11/16
to
Le fichier contient une façon de procéder afin de répartir les équipes
pour les 138 semaines.

Et bien sûr, je vous ai laissé un peu de travail pour vous amuser

http://www.cjoint.com/c/FHlpU1wFCyi


MichD

MichD

unread,
Aug 11, 2016, 12:00:00 PM8/11/16
to
Même fichier après enlever le non nécessaire...

http://www.cjoint.com/c/FHlp6fdVRKi

MichD

LSteph

unread,
Aug 11, 2016, 12:02:28 PM8/11/16
to
... donc ce que j'ai ainsi proposé (cf.9/8) ne convient pas

"pourtant chaque joueur a rencontré chaque joueur".

s'il y a poursuite de la discussion c'est bien
de chaque paires contre chaque paires dont on discute , aussi sur ce point
je n'ai pas affirmé c'est impossible mais:

"..cela ne me semble pas possible, mais je peux me tromper .."

Donc pour reprendre ton propos:
>D'une manière générale, il convient de ne pas confondre.

Merci.

Cordialement.

--
LSteph

LSteph

unread,
Aug 11, 2016, 12:09:48 PM8/11/16
to
Bonjour,

J'essaye de comprendre mieux ton tableau,

cela tiendrait donc dans 12 combinaisons d'équipes * 6 semaines ?

@...

--
LSteph

MichD

unread,
Aug 11, 2016, 2:37:16 PM8/11/16
to
Je suppose que tu as attribué au hasard, à chaque joueur, un numéro
entre 1 et 24.

Le bouton de commande sépare les 24 joueurs en 2 colonnes B4:B15 et
C4:C15 contenant le même nombre de joueurs au hasard. (Évidemment, ce
bouton sert seulement une fois. Lorsque cela est fait, il s'agit de
concaténer la colonne B et la colonne C pour former des équipes.
B4:C4 , B5:C5 .... pour obtenir le tableau D3:O15

Le tableau D3:O15 = Section 1 comprend toutes les combinaisons
possibles entre la colonne B4:B15 et la colonne C4:C15. Afin de rendre
la lecture plus évidente, en colonne B4:B15 , tu as les 12 premiers
joueurs (1 à 12) et en colonne c4:C15 les 12 joueurs suivants (13 à
24).

Chaque colonne du tableau D3:O15 représente 12 équipes (chacun des 24
joueurs y est présent).

À chaque ligne de la colonne D4:D15 (première combinaison), j'attribue
à chaque cellule une lettre de A à L qui représente le nom de l'équipe
énoncé en colonne Q4:Q15.

Le tableau S4:X10 représente le nombre de matchs différents qu'il est
possible d'avoir à partir de la première combinaison. Avec chaque
colonne représentant les combinaisons de 12 équipes, il est possible de
créer 6 parties. Comme ces parties doivent être réparties en 2 soirs,
tu peux prendre les 3 premières lignes de chacune des colonnes du
tableau pour le mardi et les 3 dernières pour le jeudi. Chaque semaine,
tous les joueurs participent au tournoi.

Dans le tableau S4:X10, nul besoin de le modifier durant le tournoi,
puisqu'après 6 semaines, on passe à la combinaison 2, et les joueurs
qui font équipe changent. (Les chiffres dans chaque cellule de la
combinaison 2 représentent les numéros des joueurs qui formeront les
équipes.

La deuxième section de la présentation (tableaux D22:N32 et D34:N44)
représente les autres combinaisons possibles pour former des équipes.
Pour faciliter la tâche, le tableau D2:N32 représente des joueurs de 1
à 12, tandis que l'autre tableau D34:N4 représente les joueurs de 13 à
24.

À partir de ces 2 tableaux D22:N32 et D34:N44, il reste à faire 11
colonnes de 12 équipes. Pour ce faire, il faut jumeler les données du
tableau D22:N32 et D34:N44, car il faut se souvenir que tous les
joueurs doivent participer chaque semaine. En fait, il s'agit de créer
un tableau ressemblant à celui du haut (section 1). Tout le monde aura
joué avec tout le monde après 138 semaines.

Assez simple, n'est-ce pas?


MichD

MichD

unread,
Aug 11, 2016, 3:14:33 PM8/11/16
to
En passant, il n'est pas nécessaire d'utiliser le bouton de commande
qui active la macro puisque les joueurs reçoivent un numéro au hasard
au début du tournoi. Comme chaque joueur jouera avec tout le monde, son
numéro déterminera selon la grille avec qui il évoluera à chaque 6
semaines. Ce n'est pas pour rien, si les numéros de joueurs en colonne
B et C se suivre, cela aide à la compréhension de la procédure...

Sauf pour la colonne B et C, les autres cellules des tableaux
contiennent une formule simple de concaténation se référant au contenu
des colonnes B et C.


MichD

LSteph

unread,
Aug 12, 2016, 2:15:12 AM8/12/16
to
Bonjour,

Je n'avais tout à fait pas le même ordre dans la construction des paires mais
du coup en poussant plus loin les permutations j'aurais sans doute rejoint les 138 semaines nécessaires , me suis arrêté aux 23 demandées. Soit 2 permutations.

Ta présentation est ainsi beaucoup plus claire est mieux ordonnée sur les permutations et les sessions de matchs.

Bravo!

--
LSteph

isabelle

unread,
Aug 24, 2016, 5:22:52 AM8/24/16
to
salutatous,

http://www.cjoint.com/c/FHyjvOSQpQa

voici mon dernier essai
résultat: 24 joueurs 276 équipes

tous les joueurs jouent à chaque rencontre

durant la période 23 semaines (1 jour/semaine), chacun des joueurs joue avec
tous, et chacun des joueurs joue contre tous.

si vous jouer 2 fois par semaine sans attribuer un nouveau numéro à chaque
joueur,
chacun des joueurs joue avec tous (2 fois), et chacun des joueurs joue
contre tous (2 fois).

sinon, répéter autant de fois que voulu, en attribuant un nouveau numéro à
chaque joueur.

utiliser la macro "numéro aléatoire" pour distribuer un numéro à chaque
joueur"

Distribution: 1 journée / 23 semaines

S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 S18 S19 S20
S21 S22 S23

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1
2 6 9 22 5 8 24 4 3 17 2 18 19 14 20 16 15 23 10 11
7 21 12

3 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2
2 2 2
4 7 6 9 18 20 8 5 4 15 17 17 14 3 16 19 23 21 13 12
11 24 10

5 3 3 3 3 3 3 3 5 3 4 3 3 4 3 3 3 3 3 3
3 3 3
6 11 16 18 22 19 4 8 9 6 8 14 5 15 15 21 20 12 24 7
13 10 9

7 4 4 4 4 4 5 6 6 4 5 4 4 5 4 4 4 4 4 4
4 4 4
8 21 18 17 19 14 23 22 24 16 16 9 6 17 22 23 12 24 11 20
10 13 7

9 5 5 5 6 5 6 7 7 5 6 5 7 6 5 5 5 5 5 5
5 5 5
10 18 11 19 8 21 21 16 17 14 18 8 23 20 12 24 22 13 6 10
15 7 20

11 8 7 6 7 6 7 9 8 7 7 6 8 7 6 6 6 6 7 6
6 6 6
12 9 24 23 9 9 15 21 23 18 19 19 21 21 14 13 11 10 12 15
16 12 17

13 10 8 7 10 7 9 10 10 8 9 7 9 8 7 7 7 7 8 8
8 8 8
14 12 10 8 14 22 22 17 18 24 24 20 20 22 13 14 10 11 15 16
17 18 19

15 13 12 10 11 10 10 11 11 9 10 10 10 9 8 8 8 8 9 9
9 9 11
16 14 14 24 15 15 16 18 19 23 20 21 22 19 11 12 13 14 14 13
12 11 13

17 15 13 11 12 11 11 12 12 10 11 11 11 10 9 9 9 9 16 14
14 14 14
18 17 15 14 16 16 17 19 20 19 21 22 24 13 18 15 16 17 23 18
21 23 22

19 16 17 12 13 12 12 13 13 11 12 12 12 11 10 10 14 15 17 17
18 15 15
20 20 23 15 17 17 18 20 21 20 22 23 13 23 23 11 17 19 21 24
24 20 21

21 19 19 13 20 13 13 14 14 12 13 13 15 12 17 17 18 16 18 19
19 16 16
22 23 20 16 24 18 19 24 16 21 23 24 18 24 19 20 21 22 19 21
22 19 24

23 22 21 20 21 23 14 15 15 13 14 15 16 16 21 18 19 18 20 22
20 17 18
24 22 21 23 24 20 23 22 22 15 16 17 18 24 22 24 20 22 23
23 22 23

isabelle

HB

unread,
Aug 28, 2016, 3:45:42 PM8/28/16
to
Bonsoir Isabelle,

Je rentre et découvre cette solution ...

J'ai regardé le code mais je ne comprends pas
comment tu as trouvé cette solution ...

Quoi qu'il en soit, c'est un super boulot
qui prouve que les contraintes initiales
pouvaient être respectées ...

Il ne me reste qu'un mot à dire : BRAVO !

Amicalement,

HB

PS : Je vais tenter de trouver le temps
de regarder le second classeur qui, si j'ai bien compris,
propose de rechercher d'autres "solutions".

isabelle

unread,
Aug 31, 2016, 1:20:52 AM8/31/16
to
salut hb,

gros merci pour tes encouragements,
tu retrouveras plus d'explication sur le fichier en ligne en date du 2016-08-126
02:42
http://www.cjoint.com/c/FHAgPedtGTa
intitulé: Avez-vous envie de jouer ?
merci de jouer et de transmettre ton résulltat

le truc est inscrit dans les cellules CB29:CQ44 de l'onglet "ma solution"
peut-être avec plus de solution nous aurons un patron pour écrire une macro

ps/
je ne sais pas si vous suivez les forums
m.p.excel
et
m.p.e.programming

j'ai l'impression que ces temps-ci, nous nous faisons la compétition du plus
longue fil
isabelle

isabelle

unread,
Aug 31, 2016, 1:36:39 AM8/31/16
to
j'oubliais cette précision,

"la couleur de fond appliquée à cette étape pourra aider au permutation futur"
information inscrit en cellule CB40:CB41

cette permutation s'applique presque uniquement
aux rangées BC29:BY34
mais peut s'étendre aux autres lignes
c'est pour cette raison qu'il faut appliquer cette 2ème couleur
c'est un aide pour remonter ...

isabelle

Manu

unread,
Sep 8, 2016, 3:21:21 PM9/8/16
to
Trop épatant !!! Je pense qu'Isabelle mangeait des cellules Excel au p'tit
déj à la place de nos casses croutes habituels de l'époque (vous vous
rappelez de ces casses croutes sans quasi gouts, mais qu'on appréciais tant)
....

Avec tous ces patrons Excelliens, Isa est toujours étonnante !

Félicitations !

Et Merci à toutes les générosités de ce Forum !

Manu

"isabelle" a écrit dans le message de groupe de discussion :
nq5qd5$cfr$1...@gioia.aioe.org...
0 new messages