ExerciceTerminale, chapitre 6 — Calcul intégral · Exercices de synthèse
Exercice 39 La méthode de Monte-Carlo
On considère la fonction définie sur par , et l'on note le domaine situé sous sa courbe, au-dessus de l'axe des abscisses.
1. Démontrer que la courbe de est un quart de cercle de centre et de rayon . En déduire, sans aucun calcul d'intégrale, que .
2. On tire au hasard un point dans le carré , chaque point ayant la même chance d'être choisi. On admet que la probabilité que appartienne à est égale au quotient de l'aire de par celle du carré.
(a) Que vaut cette probabilité ?
(b) Démontrer que appartient à si et seulement si .
3. On répète l'expérience fois de façon indépendante, et l'on note le nombre de points tombés dans . Expliquer pourquoi fournit une valeur approchée de .
4. Deux simulations ont donné les résultats suivants : pour , ; pour , . Donner dans chaque cas l'approximation de obtenue, et la comparer à .
5. Recopier et compléter la fonction Python ci-dessous, qui renvoie l'approximation de obtenue à partir de tirages. L'instruction random() renvoie un nombre au hasard dans .
from random import random
def approx_pi(N):
c = 0
for i in range(N):
x = random()
y = random()
if ... :
c = ...
return ...6. Deux appels successifs à approx_pi(1000) renvoient des résultats différents. Est-ce normal ? Cela constituerait-il une erreur de programmation ?
7. Généralisation. Soit une fonction continue et positive sur , majorée par un réel . On tire points au hasard dans le rectangle et l'on note le nombre de points situés sous la courbe de . Justifier que est approché par .
8. Deux simulations avec donnent des approximations de dont les deux premières décimales diffèrent souvent. Cette méthode est-elle précise ? En pratique, il faut multiplier par pour gagner une décimale : comparer avec la méthode des milieux de l'exercice 38 et conclure.
Corrigé
1. Soit un point de la courbe, avec . Alors , donc et, en élevant au carré :
Le domaine situé sous cette courbe est donc un quart de disque de rayon , dont l'aire vaut le quart de :
Le domaine sous la courbe est bien le quart du disque de rayon : c'est ce que montre le cercle complet tracé en pointillés. Son aire, , s'obtient donc sans aucune primitive — et c'est heureux, car aucune primitive de ne figure au tableau du cours.
2. (a) Le carré a pour aire , donc :
(b) Comme et , le point appartient à si et seulement s'il est sous la courbe, c'est-à-dire . Les deux membres étant positifs, on peut élever au carré sans changer le sens : C'est la traduction du fait que est à une distance de inférieure à .
3. La proportion de points tombés dans est la fréquence de l'événement « le point est dans ». Lorsque est grand, cette fréquence se rapproche de la probabilité :
4. La première estimation donne une décimale exacte, la seconde deux. Rappelons que .
5.
from random import random
def approx_pi(N):
c = 0
for i in range(N):
x = random()
y = random()
if x**2 + y**2 <= 1 :
c = c + 1
return 4 * c / N6. C'est parfaitement normal, et ce n'est pas une erreur de programmation : Deux exécutions ne tirent pas les mêmes points et ne comptent donc pas le même nombre . C'est la nature même de la méthode : elle ne fournit pas une valeur, mais une estimation.
7. Le rectangle a pour aire , et le domaine sous la courbe de y est entièrement contenu puisque . La probabilité qu'un point tiré au hasard tombe sous la courbe vaut donc : En remplaçant par la fréquence observée :
8. Non, la méthode est très peu précise. Pour gagner une décimale il faut multiplier par , donc effectuer cent fois plus de tirages.
La comparaison est sans appel : avec points, Monte-Carlo donne une ou deux décimales de , alors que la méthode des milieux de l'exercice 38 en donnait sept avec évaluations seulement. Son intérêt est ailleurs : en dimension élevée, découper l'espace en petits pavés devient impraticable, alors que tirer des points au hasard reste tout aussi simple.