aide algorithmie pour un petit jeu

aide algorithmie pour un petit jeu - Divers - Programmation

Marsh Posté le 14-12-2008 à 19:04:16    

:hello:
 
je dois faire ceci: "vous disposez de 171 bonbons, vous êtes 2 à piocher ds le panier de bonbons. Chaque joueur peut piocher obligatoirement entre 1 et 4 bonbons. Sachant que le dernier qui pioche le dernier bonbon à perdu. Donner l'algorithme qui permet d'avoir une stratégie gagnate en jouant en 2ème position."
 
Le problème c'est que je n'arrive pas à savoir comment on peux faire ça, déjà que l'algo c'est pas mon fort mais si je pourrai avoir un peu d'aide pour savoir comment ça marche, je me suis penché sur le truc mais je ne vois pas comment faire, le fait que ce soit un nbre impair n'y fait rien puisqu'on peux piocher entre 1 et 4 bonbons :/
 
merci pour votre aide !

Reply

Marsh Posté le 14-12-2008 à 19:04:16   

Reply

Marsh Posté le 14-12-2008 à 19:20:32    

Dans ce genre de problème, il faut raisonner en commençant par la fin.  
 
Combien de bonbons doit-il rester pour que tu sois sûr de gagner ? Une fois ce nombre trouver, tu passes au tour d'avant, puis encore au tour précédent. etc...

Reply

Marsh Posté le 15-12-2008 à 14:16:47    

c'est le jeu des allumettes (comme dans fort boyard). J'avais fait un petit programme en Delphi pour un TP de biomimétique où je devais coder un algo d'apprentissage par renforcement afin que l'ordinateur comprenne les règles du jeu et soit capable de jouer contre un humain de manière intelligente. petite remarque en passant : partir de 171 ne sert à rien, c'est quand on arrive entre 10 et 15 que nos choix sont déterminants. Moi, c'était avec des prises de 1 à 3 mais ça doit pas être très différent avec des prises de 1 à 4.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-12-2008 à 21:09:43    

rufo a écrit :

Petite remarque en passant : partir de 171 ne sert à rien, c'est quand on arrive entre 10 et 15 que nos choix sont déterminants. Moi, c'était avec des prises de 1 à 3 mais ça doit pas être très différent avec des prises de 1 à 4.


 
Si!!! le nombre de départ (171) est important, les choix sont déterminants à partir du premier coup. Il existe une stratégie optimale et gagnante en jouant en deuxième quoi que fasse l'autre joueur. Si le deuxième joueur fait n'importe quoi lors des n premiers coups, alors le premier joueur peut prendre l'avantage et gagner.
 
Sinon, effectivement les nombres (171, 1 et 4) de l'exercice ne sont que des paramètres, tu peux écrire un algorithme qui gère tout les cas possible sans beaucoup plus de difficulté.

Message cité 1 fois
Message édité par mr simon le 15-12-2008 à 21:10:30
Reply

Marsh Posté le 16-12-2008 à 11:41:37    

ok, merci pour vos réponses je vais essayer :o

Reply

Marsh Posté le 16-12-2008 à 12:01:47    

mr simon a écrit :


 
Si!!! le nombre de départ (171) est important, les choix sont déterminants à partir du premier coup. Il existe une stratégie optimale et gagnante en jouant en deuxième quoi que fasse l'autre joueur. Si le deuxième joueur fait n'importe quoi lors des n premiers coups, alors le premier joueur peut prendre l'avantage et gagner.
 
Sinon, effectivement les nombres (171, 1 et 4) de l'exercice ne sont que des paramètres, tu peux écrire un algorithme qui gère tout les cas possible sans beaucoup plus de difficulté.


Je ne suis pas d'accord avec toi. Il n'y a pas une stratégie (au sens, enchainement de coups) mais un état du jeu à atteindre. Par ex, si t'as droit à prendre que 1 à 3 allumettes, l'état à atteindre est 4 allumettes au moment où c'est ton tour de jouer. Si ne nb initial est 171 allumettes, tu vois bien qu'il y a un grand nb d'enchainements différents de coups qui permettront d'arriver à cet état.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-12-2008 à 15:48:40    

rufo a écrit :


Je ne suis pas d'accord avec toi. Il n'y a pas une stratégie (au sens, enchainement de coups) mais un état du jeu à atteindre. Par ex, si t'as droit à prendre que 1 à 3 allumettes, l'état à atteindre est 4 allumettes au moment où c'est ton tour de jouer. Si ne nb initial est 171 allumettes, tu vois bien qu'il y a un grand nb d'enchainements différents de coups qui permettront d'arriver à cet état.


Je plussoie mr simon :
il y a bien une stratégie qui permet de gagner à tous les coups.
 
Dans ton exemple, on peut "remonter" le problème :
Pour gagner l'état à atteindre est 4 allumettes au moment où c'est ton tour de jouer.
Du coup on peut considérer que celui qui perd est celui qui laisse 4 alumettes.
=> On peut déterminer un état de X allumettes à atteindre pour gagner.
=> On peut considérer que celui qui perd est celui qui laisse X allumettes.
etc.
Et donc, en fonction du nombre initial il y a une statégie gagnante à coups sûrs.
Si tu veux, on peut y jouer en MP  :D
On joue avec les paramètres de Tilk-SG1 et comme je suis gentil je te laisse commencer  :ange:

Reply

Sujets relatifs:

Leave a Replay

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