Adloun

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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre