Adloun

La stratégie optimale, par le calcul

Exercice supplémentaire · niveau 3 (difficile) · sciences numériques et technologie (seconde), chapitre 7 — Projets et mini-jeux · Le jeu du 20 (dés)

Énoncé

Au jeu du 20, on peut calculer l'espérance de gain sans simuler. Écrire une fonction qui, pour un seuil s, estime l'espérance sur un grand nombre de parties, puis balayer s de à pour trouver l'optimum. Comparer au raisonnement.

Corrigé

import random

def esperance(s, N=30000):
    return sum(partie(s) for i in range(N)) / N

meilleur = max(range(1, 41), key=esperance)
print(meilleur, round(esperance(meilleur), 2))   # autour de 15-17

Le raisonnement. Chaque lancer rapporte en moyenne points quand il ne tue pas, ce qui arrive avec la probabilité . Après lancers, la probabilité de survivre est et le total espéré vaut environ . L'espérance de gain est donc de l'ordre de , qui atteint son maximum vers lancers, soit un seuil autour de … un peu au-dessus de ce que mesure la simulation.

L'écart est instructif et il n'est pas une erreur : le raisonnement suppose un nombre de lancers fixé d'avance, alors que la règle réelle arrête dès que le seuil est franchi — donc souvent plus tôt, avec un dépassement. La simulation tranche là où le calcul approché ne suffit plus. C'est le rôle propre de la simulation : mesurer ce qu'on ne sait pas calculer.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.