Estimations de Pi avec les méthodes de Monte-Carlo

Monte-Carlo fait appel aux probabilités et à la génération de larges ensembles de nombres aléatoires afin d’éstimer une grandeur.
On l’utilise par exemple:
– en finance, pour déterminer le prix d’une option
– en finance encore : le modèle stochastique tente de prédire les variations de prix des actifs (actions et obligations) au cours du temps
– en physique
– en ingénierie

J’ai créé une application pour illuster cette approche: http://www.olivettom.com/pisimulation

screen1
Le code est accessible ici: https://github.com/Ren0/monte-carlo-pi-simulator
Un mot sur l’application : il s’agit d’une ‘Single Page Application’ HTML5 réalisée à l’aide d’AngularJS et Twitter Bootsrap. AngularJS organise l’application en différents blocs logiques (controlleurs, vues, routing, ‘directives’ pour obtenir des composants HTML au comportement spécifiques) et facilite la synchronisation entre les différents éléments de la page. Twitter Bootsrap permet d’avoir des composants HTML/CSS standards.

Explications
Ici on cherche par d’approximer le nobre Pi de deux manières différentes:
I) Lancer de fléchettes sur une cible
II) Aiguilles de Buffon

I) Fléchettes
Imaginons:
– une cible carrée de côté 1
– un cercle de diamètre 1 inscrit dans le carré

L’aire du carré est 1 x 1 = 1
L’aire du cercle est est rayon-au-carré multiplié par Pi soit 0.5² x Pi = Pi/4
L’aire du cercle par rapport à l’aire du carré est donc Pi/4 ÷ 1 = Pi/4
Le cercle occupe donc environ 80% de la surface du carré (3.14… / 4 ≈ 0.785…)

On va lancer de manière aléatoire (les yeux bandés) des fléchettes sur la cible. Certaines seront hors du cercle, d’autres hors du cercle (mais dans le carré).
On sait que le nombre de fléchettes dans le cercle par rapport au nombre total de fléchettes est Pi/4. On multiplie le résultat par 4 pour obtenir une approximation de Pi.
Pi ≈ 4 x (nombre de fléchettes dans le cercle) / (nombre de fléchettes lancées)
L’application illustre bien le résultat.
On voit que la précision de l’approximation s’améliore avec le nombre de lancés. Essayez 100, 1.000, 100.000 lancés…

II) Aiguilles de Buffon
http://www.olivettom.com/pisimulation/#/buffonsNeedles

screen2
Le principe est similaire. Ici on jette des aiguilles (de longueur 1) sur un plancher (dont les lattes mesurent 1 de largeur).
Cette fois on compte le nombre d’aiguilles qui atterrissent entre deux lattes.
A l’aide d’un peu de trigonométrie on peut montrer que 2 x (nombre d’aiguilles) / (nombre de d’aiguilles entre deux lattes) est une approximation de Pi.
Plus d’explications ici: http://mste.illinois.edu/reese/buffon/buffon.html

Comments are closed.