Adloun

Deux stratégies au jeu du 20

Exercice de TD · 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 s'arrête dès que le total atteint un seuil s ; obtenir un fait tout perdre.

  1. Écrire partie(s) qui simule une partie avec le seuil s, et gain_moyen(s, N) qui estime le gain moyen sur N parties.
  2. Comparer les seuils de à .
  3. Quel seuil maximise le gain moyen ? Expliquer pourquoi il existe un optimum.

Corrigé

1. et 2.

import random

def partie(s):
    total = 0
    while total < s:
        de = random.randint(1, 6)
        if de == 1:
            return 0
        total = total + de
    return total

def gain_moyen(s, N):
    return sum(partie(s) for i in range(N)) / N

for s in range(10, 31, 5):
    print(s, round(gain_moyen(s, 20000), 2))

Résultats typiques :

seuilgain moyen
106,5
156,9
206,7
256,1
305,3

3. L'optimum est aux alentours de .

Pourquoi il existe. Deux effets se combattent. Viser plus haut augmente le gain quand on gagne — c'est ce qui pousse le seuil vers le haut. Mais chaque lancer supplémentaire a une chance sur six de tout annuler, et la probabilité de survie décroît géométriquement avec le nombre de lancers : environ après lancers. Le produit « gain × probabilité de l'atteindre » croît d'abord, puis s'effondre.

C'est exactement la structure d'un problème d'espérance : on ne maximise pas le meilleur résultat possible, mais la moyenne sur un grand nombre de parties. Un joueur qui viserait ferait de très beaux scores… rarement.

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.