Adloun

La loi des grands nombres, mesurée

Exercice de TD · niveau 3 (difficile) · sciences numériques et technologie (seconde), chapitre 6 — Listes et simulations aléatoires · Le module random et les simulations

Énoncé

  1. Écrire une fonction frequence_six(N) renvoyant la fréquence de sur N lancers.
  2. Pour chaque dans , appeler la fonction cinq fois et relever l'écart entre la plus grande et la plus petite des cinq fréquences.
  3. Que constate-t-on ? Le comparer à .

Corrigé

1. et 2.

import random

def frequence_six(N):
    c = 0
    for i in range(N):
        if random.randint(1, 6) == 6:
            c = c + 1
    return c / N

for N in [10, 100, 1000, 10000, 100000]:
    essais = []
    for k in range(5):
        essais.append(frequence_six(N))
    print(N, round(max(essais) - min(essais), 4))

Résultats typiques :

étendue des 5 essais
100,30,32
1000,090,10
1 0000,0330,032
10 0000,0100,010
100 0000,0030,003

3. Deux choses se lisent dans ce tableau.

D'abord, les fréquences se rapprochent de : c'est la loi des grands nombres. Mais le résultat le plus instructif est la vitesse : l'étendue suit remarquablement . Multiplier par ne divise la fluctuation que par .

La conséquence pratique est importante : pour gagner une décimale de précision, il faut cent fois plus de tirages. C'est pourquoi une simulation ne remplace jamais un calcul exact quand celui-ci est possible — et pourquoi un sondage sur personnes annonce une marge d'erreur d'environ , soit précisément .

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.