Monte-Carlo : estimer l'aire sous une parabole

Énoncé

On tire au hasard un point M(x ; y) dans le carré [0 ; 1] × [0 ; 1] : x et y sont choisis au hasard entre 0 et 1, indépendamment l'un de l'autre. On note A l'aire de la région du carré située sous la parabole d'équation y = x². On considère le programme suivant, où « random() » renvoie un nombre au hasard dans [0 ; 1[. ```python from random import random def aire_parabole(n): sous = 0 for i in range(n): x = random() y = random() if y <= x * x: sous = sous + 1 return sous / n ``` a) Que traduit la condition « y <= x * x » ? Quelle est la probabilité qu'un point tiré au hasard dans le carré la vérifie ? b) Une exécution de « aire_parabole(1000) » a renvoyé 0,322, et une exécution de « aire_parabole(100000) » a renvoyé 0,3334. Que renvoie la fonction ? Que peut-on en déduire pour A ? c) Justifier que x² ≤ x pour x ∈ [0 ; 1], puis que 1/8 ≤ A ≤ 1/2. Les résultats de la question b) sont-ils cohérents ? d) Modifier la fonction pour qu'elle estime le nombre π, sachant que le quart de disque de centre O et de rayon 1, d'aire π/4, est formé des points du carré qui vérifient x² + y² ≤ 1.

Indice : Le carré a pour aire 1 : la probabilité de tomber dans une région est l'aire de cette région. Pour c), compare la région à un triangle et à un rectangle.

Correction

  1. Étape 1 : Deux idées se combinent dans la méthode de Monte-Carlo. Probabilité et aire : Quand x et y sont tirés au hasard entre 0 et 1, indépendamment, la probabilité que le point M(x ; y) tombe dans une région du carré est l'aire de cette région, car le carré a pour aire 1. Et, comme en Seconde, la fréquence d'un événement sur un grand nombre de répétitions est, sauf exception, proche de sa probabilité. Une fréquence observée estime donc une aire.
  2. Étape 2 : a) La condition « y <= x * x » traduit y ≤ x² : le point M est sous la parabole (ou dessus). La probabilité qu'un point tiré au hasard la vérifie est donc l'aire de cette région, divisée par l'aire du carré, qui vaut 1 : P(y ≤ x²) = A

    P(y ≤ x²) = A

  3. Étape 3 : b) La fonction tire n points, compte dans « sous » ceux qui sont sous la parabole, et renvoie « sous / n » : la fréquence des points sous la parabole. Cette fréquence est proche de la probabilité A, et d'autant plus, en général, que n est grand. Les deux exécutions suggèrent A ≈ 0,33. ⚠️ Ce n'est qu'une estimation : une autre exécution donnerait d'autres nombres, proches. On saura calculer A exactement en Terminale : A = 1/3.
  4. Étape 4 : c) Pour x ∈ [0 ; 1] : x² - x = x(x - 1), produit d'un nombre positif par un nombre négatif, donc x² - x ≤ 0, c'est-à-dire x² ≤ x. Majoration. La parabole est donc sous la droite y = x : la région sous la parabole est contenue dans le triangle de sommets (0 ; 0), (1 ; 0) et (1 ; 1), d'aire (1 × 1)/2 = 1/2. Donc A ≤ 1/2. Minoration. Pour x ∈ [1/2 ; 1], x² ≥ 1/4 : le rectangle [1/2 ; 1] × [0 ; 1/4] est sous la parabole. Son aire vaut 1/2 × 1/4 = 1/8. Donc A ≥ 1/8. Ainsi 0,125 ≤ A ≤ 0,5 : les estimations 0,322 et 0,3334 sont bien dans cet intervalle ✓

    1/8 ≤ A ≤ 1/2

  5. Étape 5 : d) Il suffit de deux changements, puisque la fréquence des points du quart de disque estime π/4 : - la condition devient « x * x + y * y <= 1 » (le point est dans le quart de disque) ; - la fonction renvoie « 4 * sous / n » au lieu de « sous / n », car π = 4 × π/4. On peut aussi renommer la fonction « estimer_pi » et le compteur « dedans ». Une exécution de la fonction ainsi modifiée, avec n = 100 000, a renvoyé 3,1438.
  6. Étape 6 : L'erreur classique : Oublier le facteur 4 en d) : la fréquence des points du quart de disque estime π/4 ≈ 0,785, pas π. Autre erreur : présenter 0,3334 comme la valeur exacte de l'aire. Une simulation donne une estimation, qui change d'une exécution à l'autre. À retenir : Monte-Carlo : pour estimer l'aire d'une région du carré unité, on tire un grand nombre de points au hasard et l'on calcule la fréquence de ceux qui tombent dans la région. Un encadrement géométrique simple permet de contrôler le résultat.