Vidéo terminée
Fin du chapitrePasser le QCM du chapitreLeçon 10
Python, la méthode de Monte-Carlo
Le cours écrit
10.1 Le principe
On tire un point au hasard dans un carré d'aire . La probabilité qu'il tombe dans une zone du carré est égale à l'aire de cette zone. Or, lorsque est grand, sauf exception, la fréquence observée est proche de la probabilité. Compter les points tombés dans la zone donne donc une estimation de son aire :
10.2 Estimer le nombre
La zone est le quart de disque de rayon centré à l'origine, d'aire . Un point du carré est dans cette zone si sa distance à l'origine est au plus , c'est-à-dire, d'après le théorème de Pythagore, si . Si est la fréquence des points dans la zone, alors , donc .
from random import random
def estimation_pi(n):
compteur = 0
for i in range(n):
x = random()
y = random()
if x**2 + y**2 <= 1:
compteur = compteur + 1
return 4 * compteur / n
La fonction random() renvoie un nombre au hasard entre et . En langage naturel, la ligne de comptage s'écrit « compteur compteur ».
Exemple 28. Une exécution a donné les résultats suivants. Le hasard change à chaque exécution : tes résultats seront différents.
estimation_pi(n)L'estimation s'améliore en général quand augmente, mais lentement.
10.3 Estimer l'aire sous la parabole
On cherche l'aire sous la parabole d'équation , entre et . Cette zone est dans le même carré, et un point y est si . Il suffit de changer le test, et de renvoyer la fréquence.
def aire_parabole(n):
compteur = 0
for i in range(n):
x = random()
y = random()
if y <= x**2:
compteur = compteur + 1
return compteur / n
Exemple 29. Une exécution a donné les résultats suivants.
aire_parabole(n)Ces résultats conduisent à conjecturer que l'aire vaut . C'est bien la valeur exacte : tu le démontreras en Terminale.
Exercices 19 et 20
- Exercice 19 : lire et modifier un programme
- Exercice 20 : simuler une répétition
Corrigés
Cherche d'abord les exercices sur ta feuille, puis compare avec le corrigé détaillé.