Sujet : Re: F-Nim
De : mathon.jacques (at) *nospam* free.fr (Jacques Mathon)
Groupes : fr.rec.jeux.enigmesDate : 06. Nov 2022, 11:36:29
Autres entêtes
Organisation : Aioe.org NNTP Server
Message-ID : <tk7v6u$gpc$1@gioia.aioe.org>
References : 1 2 3 4 5
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3
Le 05/11/2022 à 17:50, Olivier Miakinen a écrit :
Le 05/11/2022 17:35, je répondais à Jacques Mathon :
>
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.
OK !
Je vais donner ci-dessous le programme en Python (presque complet).
La partie du programme qui réalise la stratégie optimale est la fonction
'choix(have, maxi)' pour laquelle le paramètre 'have' est le nombre d'objets
restant et le paramètre 'maxi' est le nombre maximum que le programme a le
droit de retirer.
Voici cette fonction, dans laquelle j'ai remplacé les caractères non blancs
de la fin par des '#' :
=============================================================================
def choix(have, maxi):
while True:
if have <= maxi:
return have
## # # ## #
##### # # #####
## # # ## ###
#### ## #
=============================================================================
Comme vous pouvez le voir, l'algorithme est *trés* court.
Vu que nous sommes sur frje, je considère ça comme une énigme à résoudre. :-)
Si j'ai bien compris la partie masquée permet de trouver le meilleur coup possible. Je vais chercher.
Juste pour être sûr...
Est-ce que chaque # cache un et un seul caractère ?
Amicalement
-- Jacques