Adloun

Écrire une fonction Python qui simule le tirage successif de deux…

Exercice d'entraînement · niveau 3 (difficile) · mathématiques (première), chapitre 10 — Probabilités conditionnelles et indépendance · Indépendance, répétitions et simulation

Énoncé

Écrire une fonction Python qui simule le tirage successif de deux boules sans remise dans une urne contenant boules rouges et boules noires, puis une fonction qui estime, sur répétitions, la probabilité d'obtenir deux boules de la même couleur. Comparer à la valeur exacte trouvée plus haut. (Représenter l'urne par une liste de huit éléments, et retirer la boule tirée de cette liste avant le second tirage.)

Corrigé

Le principe. On représente l'urne par une liste de huit éléments. Le premier tirage retire effectivement la boule de la liste (pop), ce qui traduit l'absence de remise ; le second tirage se fait alors parmi les sept boules restantes.


from random import randrange

def tirage_sans_remise():
    # Renvoie le couple des deux couleurs tirees
    urne = ['R'] * 5 + ['N'] * 3
    b1 = urne.pop(randrange(len(urne)))   # la boule tiree quitte l'urne
    b2 = urne[randrange(len(urne))]       # second tirage parmi les 7 restantes
    return (b1, b2)

def frequence_meme_couleur(N):
    # Frequence des tirages bicolores identiques sur N repetitions
    favorables = 0
    for k in range(N):
        b1, b2 = tirage_sans_remise()
        if b1 == b2:
            favorables = favorables + 1
    return favorables / N

print(frequence_meme_couleur(100000))     #   0.464

Comparaison. La valeur exacte est . Sur répétitions, la fréquence observée tourne autour de : les deux nombres coïncident à près, et l'écart se resserre quand grandit (loi des grands nombres).

Le point délicat du code : si l'on écrivait urne[randrange(8)] deux fois de suite sans pop, on simulerait un tirage avec remise — dont la probabilité exacte serait , sensiblement différente. La simulation ne pardonne pas l'approximation du modèle.

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.