recherche de la meilleure combinaison possible

recherche de la meilleure combinaison possible - Algo - Programmation

Marsh Posté le 12-05-2012 à 19:38:24    

Bonjour,
Je ne suis pas programmeur, juste un utilisateur averti ( :sleep: ). Parfois je me pose des petits problèmes et un me tracasse, je me permets donc de le soumettre à votre aide.
 
L’idée c’est de pondre un algorithme pour déterminer la meilleure équipe possible selon des combinaisons d’épreuves (ou sport ou postes sur un terrain par exemple etc peu importe). Pour cela il suffirait de déterminer en amont que l’on attribue tel nombre de points (niveau) à tel joueur/athlète/sportif pour tel sport/position/épreuve…
 
Exemple : j’ai 26 individus a,b,c,d… z et j’ai 4 postes, si on prend l’exemple du foot : gardien, déf, milieu, attaquant.
Donc je fais un tableau avec 4 colonnes, 26 lignes et hop je remplis 10 c’est zidane, 1 c’est moi etc.
Sur mes 26 joueurs, 11 postes possibles, quelle combinaison donne le meilleur résultat ?
 
J’ai deux problèmes à titre perso sur ce sujet :
 
- déjà c’est tout bête je ne vois pas comment écrire l’algo pour tester toutes les possibilités (c'est facile pour peu de variables mais là je ne comprends pas trop comment croiser tout ça quand on a autant de types variables ? (26 joueurs, 11 positions, 4 types de postes…)  
- tout tester me semble déjà intéressant, mais vite très très très long. Je me suis dit qu’on peut orienter, en classant d’abord le niveau des joueurs puis ensuite chercher la meilleure combinaison. Mais je pars du principe (pas IRL mais dans mon problème :ange: ) qu’un joueur peut être à 10 sur des postes différents (gardien + défense + attaque je ne sais pas bref)
Voilà si quelqu’un a une idée pour m’aiguiller merci !

Juste une précision, en me relisant je me rends compte que ça me fait penser à Hattrick Organizer toussa mais mon idée d’origine n’a rien à voir avec ça (du moins je pense) puisque c’est « orienté » mais qu’on peut trouver facilement meilleur « à la main ».

Reply

Marsh Posté le 12-05-2012 à 19:38:24   

Reply

Marsh Posté le 13-05-2012 à 11:17:05    

pour 11 poste et 26 joueurs, tu peux générer les Arrangement " prendre 11 parmis 26 l'ordre compte". Le nombre de combinaison à tester serait donc 26!/((26-11)! = 1 307 Milliards de combinaisons possibles. Générer des arrangements est quelque chose de bien connu et d'implémenter dans les langages usuels ou les librairies standards de ces langages, un peu comme les tris.
 
Après 1307 Milliards de de combinaison c'est beaucoup, soit il faut creuser d'avantage sur le fait qu'il n'y ait finalement que 4 postes, soit il faut mettre en place une heuristique, comme par exemple présélectionner les 16 joueurs ayant la meilleure moyenne sur les différents postes, ou au contraire les 16 joueurs ayant la meilleur performance maximale sur un poste.
 
Avec 16 joueurs, on tombe à 120 combinaison.
Avec 20 joueurs, on tombe à 362 880 ==> ca me parait être un bon chiffre pour faire ça dans un langage dynamique comme par exemple le Python.


---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
Reply

Marsh Posté le 13-05-2012 à 12:12:25    

[:the bloodhound gang] merci des pistes je vais creuser ça.  
faudrait que je m'amuse à le programmer et tester avec un jeu simple (10 athlètes / 4 épreuves par exemple) les résultats donnés mais ce qui me semble intéressant dans le problème c'est qu'en augmentant le nombre d'individus, on augmente l’hétérogénéité (enfin on peut... ou pas selon leur profil) et donc la difficulté de présélectionner sans passer à côté d'une meilleure option.

Reply

Sujets relatifs:

Leave a Replay

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