informatique (tronc commun des prépas scientifiques) · Chapitre 4 · Exercice de TD
La méthode de Monte-Carlo
Modules, fichiers et données · niveau 3 (difficile)
Énoncé
Estimer la valeur de en simulant points uniformément répartis dans le carré unité et en calculant la proportion de points se situant dans le quart de disque unité . Étudier l'erreur pour .
Corrigé
La probabilité pour qu'un point tombe dans le quart de disque de surface à l'intérieur du carré de surface 1 vaut . La fréquence observée permet d'estimer .
import random
random.seed(2)
def estime_pi(n: int) -> float:
dans_disque = 0
for _ in range(n):
x = random.random()
y = random.random()
if x*x + y*y <= 1.0:
dans_disque += 1
return 4.0 * dans_disque / n
import math
for n in (100, 10_000, 1_000_000):
pi_est = estime_pi(n)
print(f"n={n:<7} estimation={pi_est:<10} erreur={abs(pi_est - math.pi):.6f}")
L'erreur décroit proportionnellement à . Multiplier la précision par 10 nécessite d'augmenter le nombre de tirages par un facteur 100.