Sujet : Re: F-Nim
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.rec.jeux.enigmesDate : 05. Nov 2022, 18:35:14
Autres entêtes
Organisation : There's no cabale
Message-ID : <tk63c3$1a60$1@cabale.usenet-fr.net>
References : 1 2 3
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Bonjour Jacques,
Le 04/11/2022 11:53, Jacques Mathon a écrit :
>
[...]
Voici un autre exemple, une vraie partie que je viens de gagner contre le
programme que je venais de terminer.
Heureusement qu'il a finalement joué au hasard quand il restait 38 objets.
Un coup gagnant aurait été 1 ou 4, mais en jouant 2 il m'a permis de gagner
quels que soient ses choix dans la suite.
Quelque chose doit m'échapper...
Ton programme peut jouer... au hasard ?
Pourquoi ? Pour pouvoir le battre ? ;-)
Oui, c'est exactement ça : pour pouvoir le battre. Parce que sinon, à partir
du moment où il est dans une position potentiellement gagnante, il ne pourrait
plus perdre.
Si c'est bien ça, comment le fais-tu jouer ?
Autrement dit, quelle est la part de hasard que tu as programmé ?
Au début du jeu, le programme demande de choisir un pourcentage. Supposons
que j'aie choisi 80. Alors le programme avant de jouer commence à tirer au
hasard un nombre entre 0 et 100. Si ce nombre est inférieur à 80, alors il
applique la stratégie optimale pour ce coup. Sinon, il joue un nombre tiré
au hasard entre 1 et le maximum permis (quand même plus petit que le tiers
du nombre restant si c'est possible).
Question subsidiaire: n est-il borné ?
Non. La stratégie est valable quel que soit N. D'ailleurs Python ne limite
la taille des entiers que selon la taille mémoire disponible, ce qui fait
qu'en pratique il n'y a pas vraiment de limite pour une partie de durée
raisonnable.
Amicalement,
-- Olivier Miakinen