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é
- Écrire une fonction
frequence_six(N)renvoyant la fréquence de surNlancers. - Pour chaque dans , appeler la fonction cinq fois et relever l'écart entre la plus grande et la plus petite des cinq fréquences.
- 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 | ||
|---|---|---|
| 10 | 0,3 | 0,32 |
| 100 | 0,09 | 0,10 |
| 1 000 | 0,033 | 0,032 |
| 10 000 | 0,010 | 0,010 |
| 100 000 | 0,003 | 0,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.