Combien de points pour trois décimales de pi ?
Exercice de TD · niveau 3 (difficile) · sciences numériques et technologie (seconde), chapitre 7 — Projets et mini-jeux · Estimation de pi par Monte-Carlo
Énoncé
On estime par la méthode de Monte-Carlo du cours.
- Pour valant , et , lancer cinq estimations et relever l'écart entre la plus grande et la plus petite.
- Comparer cet écart à .
- Combien de points faudrait-il, à ce rythme, pour obtenir trois décimales justes à coup sûr ? Conclure.
Corrigé
1. et 2.
import random
def estime_pi(N):
dedans = 0
for i in range(N):
x, y = random.random(), random.random()
if x*x + y*y <= 1:
dedans = dedans + 1
return 4 * dedans / N
for N in [100, 10000, 1000000]:
essais = [estime_pi(N) for k in range(5)]
print(N, round(max(essais) - min(essais), 4))
| étendue des 5 essais | ||
|---|---|---|
| 0,32 | 0,10 | |
| 0,04 | 0,01 | |
| 0,004 | 0,001 |
L'étendue est de l'ordre de quelques : elle décroît comme la racine carrée, pas comme .
3. Trois décimales justes demandent une erreur inférieure à , donc de l'ordre de — et encore, sans garantie : la méthode est probabiliste, elle ne promet jamais un résultat à coup sûr.
Conclusion, et c'est le cœur de l'exercice : c'est une très mauvaise façon de calculer . Une formule comme celle de Leibniz, ou mieux les algorithmes classiques, donnent des milliers de décimales en un instant. Ce qui fait l'intérêt de Monte-Carlo est ailleurs : il s'applique à des domaines dont on ne sait pas calculer l'aire, et son coût ne dépend pas du nombre de dimensions — là où les méthodes exactes deviennent impraticables.
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.