[MATHS] - pour ceux qui aiment se creuser la tête...RéSOLU

- pour ceux qui aiment se creuser la tête...RéSOLU [MATHS] - PHP - Programmation

Marsh Posté le 07-01-2003 à 23:50:28    

Alors voilà je vous explique mon problème.
je créer un script en php/mysql qui permettra de gérer les tournois en LAN (ça c pour vous plonger dans le bain :))
 
bon bref donc j'utilise au debut les poules
à la base j'etait parti pour utiliser des poules de 4 équipes(donc taille fixe, 4 pour tout le monde).
Chaque equipe rencontre toutes les autres ET SUR UNE MAP DIFFERENTE donc en recapitulant cela nous donne,
001,002,003,004 -> Equipes
map1,map2,map3 -> Cartes sur lesquelles sont joués les matchs
 
001-002 map 1
001-003 map 2
001-004 map 3
002-003 map 3
002-004 map 2
003-004 map 1
 
Voilà donc n remarque qu'une team ne fais jamais 2 de ses matches sur une meme map !
 
Le problème arrive ici : j'aurais desiré pour faire varier le nb d'équipes par poules
par exemple 5 equipes par poules (donc 4 maps), cela nous donnerait :
001-002
001-003
001-004
001-005
002...etc
 
mais après avoir longuement reflechi je n'arrive pas à respecter la condition du dessus càd que chaque matches d'une team se deroule sur une map differente et que biensure toutesles equipes jouent sur les meme maps (vous avez pas le droit de me repondre "bah prend 5 maps !!" :p
 
qq precisions :
Si on test avec 3 equipes par poules on voit tout de suite que c pas possible
001-002 map 1
001-003 map 2
002-003 map ...pas possible
 
avec 5 c plus laborieux et tester toute les combinaisons est un peu long à mon avis. Donc je fais appel à vous programmeurs bon en maths, si vous avez une solution/explication/demonstration (que ça soit possible ou impossible)
 
dernière precision : JE SUIS PAS SUR QUE çA SOIT POSSIBLE (avec 5 eq/poule)
 
Voilà y'a rien à gagner sauf mon plus grand respect :)
 
Merci, meme à ceux qu'on dejà fait l'effort de lire ce msg :D
 
PS : si vous pensez que ça a rien à faire la dites le moi, mais je savais pas vraiment ou poster ça...


Message édité par ofbdood le 11-01-2003 à 18:56:37
Reply

Marsh Posté le 07-01-2003 à 23:50:28   

Reply

Marsh Posté le 07-01-2003 à 23:54:38    

rho dood voyons mais c facile........
 
 
 
Ps:g suis deja dehors....
ok ok g retourne a mon psd

Reply

Marsh Posté le 08-01-2003 à 00:03:52    

bon pour ceux qui cherchent je resume vous devez etre capable d'utiliser seulement 4 maps differentes et q'aucune team ne jouent sur 2 meme identiques
 
001-002  
001-003  
001-004  
001-005
002-003
002-004
002-005
003-004
003-005
 
voilà si vous mettez en face une map et qu'en regardant chaque equipe une par une vous avez à chaque fois une map differente bah vous prevenez :)

Reply

Marsh Posté le 08-01-2003 à 00:40:57    

ben t'as qu'a générer toutes lescombinaisons possibles et créer des matchs avec un algo glouton :/

Reply

Marsh Posté le 08-01-2003 à 01:02:18    

ou alors tu te creuse la crane kom moi meme !! et tu cherhce les combinaisons
 
BON dsl je t'explike pas je te dis seulement ke j'ai trouvé j'ai essayé toutes les possibilités
 
(4 pour 5 teams et 5 maps)
 
je t'envoie les scans demain soir commentés et tout !
 
je t'envoie déja ske j'ai fé pour 4 teams 3 maps essaye de faire pareil pr 5 teams 5 maps
 
pour 4  teams 4 maps ya un moment ou on est obligés de prendre une 5eme map donc pour pa te faire chier introduit la 5eme map tout de suite
 
genre  
1 2   map 1  (1,2 ici tu met les teams ki ont joué
1 3       2  (1,3
1 4       3  (1,4
1 5       4  (1,5
2 3       5  (2,3 ....
2 4       ? fo trouver la!!
 
a un moment tu devra choisir en tre la map 2 ou la 4
 
dc tu traite les 2 cas a part
 
si tu pren la 2  tu devra a un moment choisir entre la 1 et al 4
si tu prend la 4 -------------------------------------2 et 3
 
celles ki marchent sont
prendre 2 Puis 4
prendre 4 puis 2  
 
sa a l'air tout con hein !

Reply

Marsh Posté le 08-01-2003 à 01:04:25    

je veut bien chercher plus loin avec plus de teams de façon a trouver une expression ki marche (récurrente) puis la démontrer
 
on apelle ça la démo par récurrence ... mais il est 1 heure du mat et G pas fini mon DM ki est pour demain.....
 
démo par récurrence C pas dur mais trouver la formule si :kaola:

Reply

Marsh Posté le 08-01-2003 à 01:06:15    

c'est bien passke C'est pour la Quiche-Lan hein !!
 
he yles mecs !! une lan avec des tournois parfaitements gérés ??
 
www.quiche-lan.org inscrivez vous !! comme sa vous serez prévenus pour la prochaine !
 
 
ouéé je fé de la pub  :na:


Message édité par BRZ666 le 08-01-2003 à 01:06:32
Reply

Marsh Posté le 08-01-2003 à 11:31:58    

++Taz -> mouais c une solution qui m'a efleurée mais ça va être très long :)
 
brz666 -> moi je veux juste savoir si c possible avec 4 maps (et 5 teams par poules) d'après toi nan mais bon vu le nombre de possibilité j'vois pas comment t'a fait :)
et si c'est pas possible tampis, mais je veux pas mettre plus de maps que de math/teams parce que après sinon ça déséquilibre (certain jouent sur des maps differente des autres)
donc si ça marche pas bah les poules auront tjs une taille de 4 eqipes et pi voilà

Reply

Marsh Posté le 08-01-2003 à 12:20:03    

Il n'y a pas tant de possibilités que cela (lorsque tu prends une bonne modélisation l'arbre de possibilités se restreint très vite).
 
MA réponse est non (je vais dire à 99% car je suis parfois distrait) spa possible.


Message édité par PatBasi le 08-01-2003 à 12:20:18
Reply

Marsh Posté le 08-01-2003 à 12:40:18    

Exercice :
Soit A et B deux ensembles.
Soit F:AxA -> B tels que :
pour tout x, {F(x,y), y <> x} = B, et pour tout x,y et z on ait : F(x,y) <> F(x,z).  
Question : quel est le nombre minimal des éléments de B ?
 
( désolé si c'est hors sujet, mais il me semble a priori que la résolution de ce petit exercice devrai te donner la solution )
 
 :pt1cable:


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
Reply

Marsh Posté le 08-01-2003 à 12:40:18   

Reply

Marsh Posté le 08-01-2003 à 19:19:18    

patbasi -> j'aurais opter pour la meme reponse pour ma part :)
 
tomlameche ->houloulou c compliqué ton enoncé...

Reply

Marsh Posté le 08-01-2003 à 19:31:44    

Ofbdood a écrit :

patbasi -> j'aurais opter pour la meme reponse pour ma part :) >>> :sol:  hehe merci pour le soutien
 
tomlameche ->houloulou c compliqué ton enoncé...>>>pas tant que çà, et il semble juste, ce serait plutôt la résolution qui serait compliquée ;)  

Reply

Marsh Posté le 08-01-2003 à 22:21:54    

patbasi-->je ne me suis en aucun cas compliqué la vie j'ai fait un pauvre arbre et il a 4 branches dont 2 mortes
 
4 possibilités C pas bcp hein.....
 
a 4 C meme pas la peine sa coince au bout du 6 eme match
 
on est obligé d'introduire une 5eme map
 
dood--> T relou je t'ai dis ke il en fallé au moins 5 !!! et toi tu m'a laissé chercher pr rien ? enfin C pas grave sa proue juste ke ta pas de logique...
 
 
naan jrigole sa fé du bien de faire marcher les neurones a 1h du mat ( surtout kil fo finir le DM pour le lendemain aussi )
regarde moi je suis bien un BRZ pourtant !!!


Message édité par BRZ666 le 08-01-2003 à 22:23:18
Reply

Marsh Posté le 08-01-2003 à 22:26:08    

tomlameche-->
 
Soit A et B deux ensembles.  
Soit F:AxA -> B tels que :  
pour tout x, {F(x,y), y <> x} = B, et pour tout x,y et z on ait : F(x,y) <> F(x,z).  
Question : quel est le nombre minimal des éléments de B ?  
 
C koi le signe <> ? sa veut dire koi ?
je le ferais volontier sinon lol

Reply

Marsh Posté le 08-01-2003 à 22:29:26    

heu brz t'a pensé aussi que ça pouvait commencer comme ça :
 
001-002 : map4
001-003 : map3
001-004 : map1
001-005 : map2
 
enfin dejà rienq u'avec les 4 premiers affronts ça fait...un paquet de possibilités :)

Reply

Marsh Posté le 08-01-2003 à 22:32:47    

sa revient au meme cocotte!! :sol:  
 
essaye de faire ske je te di et tu verra  :D

Reply

Marsh Posté le 08-01-2003 à 23:16:55    

BRZ666 a écrit :

sa revient au meme cocotte!! :sol:  
 
essaye de faire ske je te di et tu verra  :D  


 
+1 :whistle:

Reply

Marsh Posté le 09-01-2003 à 16:27:45    

ben les equations sont simples
Xe nombre d'équipes
Xm=Xe-1 nombre de Maps
 
ben tu veux que chaque Map voit toutes les équipes
donc nombre de matches sur 1 map Xmmi=Xe/2.
donc pour ne pas retrouver une équipe 2 fois il faut
que Xmmi<=Xe/2 pour toutes les Maps,
chose impossible si 3 equipe par exemple car Xmm1=2 et Xmm2=1
du fait que Xe/2 est le nombre de matches par map théorique
 
nombre de matches totaux.
(Xe-1)*Xe/2
 
problème si Xe est impair, le nombre de matches par map est non entier, donc Xe=NOMBRE PAIR est ta condition pour avoir un nombre entier de matches par map.
 
 

Ofbdood a écrit :

Alors voilà je vous explique mon problème.
je créer un script en php/mysql qui permettra de gérer les tournois en LAN (ça c pour vous plonger dans le bain :))
 
bon bref donc j'utilise au debut les poules
à la base j'etait parti pour utiliser des poules de 4 équipes(donc taille fixe, 4 pour tout le monde).
Chaque equipe rencontre toutes les autres ET SUR UNE MAP DIFFERENTE donc en recapitulant cela nous donne,
001,002,003,004 -> Equipes
map1,map2,map3 -> Cartes sur lesquelles sont joués les matchs
 
001-002 map 1
001-003 map 2
001-004 map 3
002-003 map 3
002-004 map 2
003-004 map 1
 
Voilà donc n remarque qu'une team ne fais jamais 2 de ses matches sur une meme map !
 
Le problème arrive ici : j'aurais desiré pour faire varier le nb d'équipes par poules
par exemple 5 equipes par poules (donc 4 maps), cela nous donnerait :
001-002
001-003
001-004
001-005
002...etc
 
mais après avoir longuement reflechi je n'arrive pas à respecter la condition du dessus càd que chaque matches d'une team se deroule sur une map differente et que biensure toutesles equipes jouent sur les meme maps (vous avez pas le droit de me repondre "bah prend 5 maps !!" :p
 
qq precisions :
Si on test avec 3 equipes par poules on voit tout de suite que c pas possible
001-002 map 1
001-003 map 2
002-003 map ...pas possible
 
avec 5 c plus laborieux et tester toute les combinaisons est un peu long à mon avis. Donc je fais appel à vous programmeurs bon en maths, si vous avez une solution/explication/demonstration (que ça soit possible ou impossible)
 
dernière precision : JE SUIS PAS SUR QUE çA SOIT POSSIBLE (avec 5 eq/poule)
 
Voilà y'a rien à gagner sauf mon plus grand respect :)
 
Merci, meme à ceux qu'on dejà fait l'effort de lire ce msg :D
 
PS : si vous pensez que ça a rien à faire la dites le moi, mais je savais pas vraiment ou poster ça...


Message édité par einstein2 le 09-01-2003 à 16:48:45
Reply

Marsh Posté le 09-01-2003 à 16:41:03    

BRZ666 a écrit :

tomlameche-->
 
Soit A et B deux ensembles.  
Soit F:AxA -> B tels que :  
pour tout x, {F(x,y), y <> x} = B, et pour tout x,y et z on ait : F(x,y) <> F(x,z).  
Question : quel est le nombre minimal des éléments de B ?  
 
C koi le signe <> ? sa veut dire koi ?
je le ferais volontier sinon lol


Ca veux dire différent, en java on mettrai !=.


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
Reply

Marsh Posté le 09-01-2003 à 22:07:14    

einstein2 -> bravo pour ton raisonnement qui me semble plutôt bon :)
mais bon j'ai un petit problème c'est de savoir maintenant comment remplir mon tableau avec des maps allant de 1 à 5.
Parce que je suppose qu'il n'y a qu'une solution et tomber sur la bonne ça serait un peu un coup de chance, donc n'y a t'il pas un moyen spéciale de le remplir ou un algo à faire (lequel :p)
un exemple pour tout ceux qui veulent chercher :
http://www.quiche-lan.org/FILESTMP/DOOD/prob.jpg
 
donc faut remlpir les cases blanches avec des chiffres compris entre 1 et 5 (normalement 3 de chaque) sans qu'une equipe (abcisse et ordonné) ne tombe sur la meme map.
 
Voilà mon nouveau problème :)
je remercie dejà tout ceux qui se sont penché sur mon premier problème !!!! merci à vous !

Reply

Marsh Posté le 10-01-2003 à 13:05:58    

une seule et unique je ne saurais pas dire
 
mais si je ne m'abuse cela marche:
ABCDE
_CDEB
__EAD
___BA
____C


Message édité par PatBasi le 10-01-2003 à 13:06:42
Reply

Marsh Posté le 10-01-2003 à 14:45:20    

:sarcastic:  
ouais comme tu dis ça marche...tu l'a trouvés comme ça un peu au pif ???
paske bon doit y'en a voir un paquet de solutions...enfin bref ça confirme donc bien qu'apparement il faut un nombre paire de teams (merci einstein2 ;))
maintenant plus qu'a trouvé un algorythme pour qu'un morceaux de code puisse remplir toutes les case ds n'importe quel cas...mais ce qui est embetant c qu'apparement les chiffres ds le tableau n'ont aucun ordre specifique... :-/
enfin bon j'vé reflechir à tout ça...

Reply

Marsh Posté le 10-01-2003 à 15:22:18    

c bizarre mais ce truc est assez proche du fameux problm des 4coleurs, non ?? connaitre a l'avance le nb de couleurs minimal necessaire pr colorier une carte contenant n pays.
 
la reponse est...(je vous laisse chercher...)
mais c juste une ressemblance, vu qu'ici ya mini autant de map que de teams-1 :sol:

Reply

Marsh Posté le 10-01-2003 à 17:43:06    

Ofbdood a écrit :

:sarcastic:  
ouais comme tu dis ça marche...tu l'a trouvés comme ça un peu au pif ???
paske bon doit y'en a voir un paquet de solutions...enfin bref ça confirme donc bien qu'apparement il faut un nombre paire de teams (merci einstein2 ;))
maintenant plus qu'a trouvé un algorythme pour qu'un morceaux de code puisse remplir toutes les case ds n'importe quel cas...mais ce qui est embetant c qu'apparement les chiffres ds le tableau n'ont aucun ordre specifique... :-/
enfin bon j'vé reflechir à tout ça...


 
Pour des petites grilles, avec un peu de méthode ce n'est pas très dur.
 
Réalisé en 2-3 minutes en mangeant (nez dans le bol, baguettes dans une main, stylo dans l'autre .... :sol: )

Reply

Marsh Posté le 10-01-2003 à 18:36:58    

ouais c sur un cherchant un peu on peut trouver mais bon j'espère monter avec ce sytème à 8 teams/poules environ. Le suel problème ce que tout doit être scripté donc que la grille soit rempli automatiquement d'ou l'importance pour moi de trouver une methode pour remplir ces grilles ds n'importe quelles conditions :)

Reply

Marsh Posté le 10-01-2003 à 19:11:26    

J'ai peut-être une piste (je viens d'essayer la même méthode que la dernière fois sur une poule 8*8 + 7 maps, et du premier coup ca marche) maintenant il faudrait que j'essaie de la formuler et de la vérifier.
 
J'essaie pendant le week-end. (Là je suis au boulot :ange:  donc je ne peux pas réfléchir ;) ).

Reply

Marsh Posté le 10-01-2003 à 19:51:52    

c'est pas bête ton idée mais malheuresmeent ça marche pas à tout les coups :'S
j'ai testé la methode sur papier et ça bloque à la 12ème rencontre.
parce que on en revient tjs au meme problème y'a, je pense, qu'une seule solution...
ou sinon je viens d'y penser là...on reprenant la meme base (remplir au fur et à mesure mais en plus verifier combien on doit definir d'affronts pour cette team et lesquels...)
j'vé etudier ça, si qqun à une autre idée moins...bourrin j'uis preneur ;)

Reply

Marsh Posté le 10-01-2003 à 20:08:49    

Ofbdood a écrit :

c'est pas bête ton idée mais malheuresmeent ça marche pas à tout les coups :'S
j'ai testé la methode sur papier et ça bloque à la 12ème rencontre.
parce que on en revient tjs au meme problème y'a, je pense, qu'une seule solution...
ou sinon je viens d'y penser là...on reprenant la meme base (remplir au fur et à mesure mais en plus verifier combien on doit definir d'affronts pour cette team et lesquels...)
j'vé etudier ça, si qqun à une autre idée moins...bourrin j'uis preneur ;)


 
e ne comprends pas trop ta remarque car je n'ai pas encore exposé ma méthode.... :??:  
 
M'enfin si ne vous dites rien à mon patron, j'expose une formule pour des nombres d'équipes paires (N=2n) et N-1 maps...
 
Les numéros des maps sont dans {0;1;...;N-2}
 
Ok X et Y sont les numéros des teams dans {0;1;...;N-1}
 
F(X;Y) donne le numéro de la map du match entre X et Y
 
F définie pour x <> Y (X!=Y ;))  
X et Y <> N-1: F(X;Y)= X+Y modulo(N-1)
Sinon si X ou Y = N-1: F(X;Y)= (2*(X+Y)) modulo(N-1)
 
J'ai vérifié (mais cela me fait suer de taper la justification :whistle: ).
 
Confiance ou pas confiance maintenant? :ange:

Reply

Marsh Posté le 10-01-2003 à 22:11:19    

patbasi a écrit :


 
e ne comprends pas trop ta remarque car je n'ai pas encore exposé ma méthode.... :??:  
 
M'enfin si ne vous dites rien à mon patron, j'expose une formule pour des nombres d'équipes paires (N=2n) et N-1 maps...
 
Les numéros des maps sont dans {0;1;...;N-2}
 
Ok X et Y sont les numéros des teams dans {0;1;...;N-1}
 
F(X;Y) donne le numéro de la map du match entre X et Y
 
F définie pour x <> Y (X!=Y ;))  
X et Y <> N-1: F(X;Y)= X+Y modulo(N-1)
Sinon si X ou Y = N-1: F(X;Y)= (2*(X+Y)) modulo(N-1)
 
J'ai vérifié (mais cela me fait suer de taper la justification :whistle: ).
 
Confiance ou pas confiance maintenant? :ange:  


 
heu nan la remarque c t pour la personne qui à proposé l'idée de remplir au fur et à mesure en verifiant à chaque fois les possibilités restantes :)
 
sinon pour ton raisonnement oui j'te fais entièrement confiance je vais regarder ce que t'a detaillé ici mais ne privilégie pas mon problème à ton travail sinon Mr "patron" va pas être très content :D
 
bon j'ai comrpis et tester ta formule qui apparement marche !!
sauf que je pense que t'a oublié 2 petites parenthèses :
 
X et Y <> N-1: F(X;Y)= (X+Y)*modulo(N-1)  
Sinon si X ou Y = N-1: F(X;Y)= (2*(X+Y))*modulo(N-1)  
 
donc bah j'ai plus qu'a reussir à coder ça (c pas le plus dur :))
si jamais t'a un petit moment j'veux bien la justification juste par curiosité :)
 
voilà et je dirais qu'une seule chose : :jap:  :jap:  :jap:  


Message édité par ofbdood le 10-01-2003 à 22:44:27
Reply

Marsh Posté le 10-01-2003 à 23:02:54    

Pour la paire de parenthèses mea culpa
 
la justif j'essaie demain (mais elle n'est pas très élégante; bête étude de cas)
 
quant à monsieur patron il est déjà en week-end depuis quelques heures; de mon côté je n'ai plus le courage de bosser donc j'attends que quelques opés de maintenance s'achèvent. et je tue le temps; en fait meric à toi cela m'a occupé ;) ; mais maintenant dîner :D

Reply

Marsh Posté le 10-01-2003 à 23:08:35    

ok pas de pb pour les "(" " )"
de rien pour t'avoir aidé à tuer le temps :D
 
moi de mon coté j'essaie de commencer à coder tout ce petit bordel :)

Reply

Marsh Posté le 11-01-2003 à 13:37:04    

[Je risque d'omettre les mod N*1 à l'écriture par moment]
 
On fixe Y par exemple:
 
Si Y=N-1 alors:
on a des (2X+2Y)=2x+2(N-1) des 2X koi (avec le mod)
il faut juste vérifier que l'on ne peut pas avoir Xa et Xb tels que 2(Xa-Xb)=k(N-1) (où k entier) cad Xa-Xb=k(N-1)/2
or N-1 c impair (cf condition de départ du nbre pair de teams) donc k(N-1)/2 spa entier !!! skool
 
Maintenant si Y<>N-1:
on a des (X+Y) pour X<N-1 et un (2X+2Y)=2Y pour X=N-1
pour avoir un problème il faudrait 2Y=X+Y soit X=Y
et donc c aussi ok dans ce cas
 
Je crois que c tout
 
PS: oui c un peu porciné comme justif

Reply

Marsh Posté le 11-01-2003 à 18:55:55    

AYéééééééééé :)
j'ai fini le bout du script utilisant tes formules ! et ça marche parfaitement !!!
 
si vous voulez voir ça sep asse par là :
www.dood.no-ip.org/quiche/tournois/
 
(dans "information à propos des tournois"/"t1"/->Suivant
y'a la liste des rencontres tirées au sort avec les maps.)
 
Voilà je crois avoir fini, encore un énorme merci à ceux qui sont venu ici pour m'aider !!
 
Si par le plus grand des hasards vous avez des commentaires à propos du site c'est dans le "about" que ça se passe.
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed