Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

20/11/2010

Méthode de Monte-Carlo

Méthode de Monte-Carlo

Page d'aide sur l'homonymie Pour les articles homonymes, voir Monte-Carlo (homonymie).

Le terme méthode de Monte-Carlo, ou méthode Monte-Carlo, désigne toute méthode visant à calculer une valeur numérique en utilisant des procédés aléatoires, c'est-à-dire des techniques probabilistes. Le nom de ces méthodes, qui fait allusion aux jeux de hasard pratiqués à Monte-Carlo, a été inventé en 1947 par Nicholas Metropolis1, et publié pour la première fois en 1949 dans un article co-écrit avec Stanislas Ulam2.

Les méthodes de Monte-Carlo sont particulièrement utilisées pour calculer des intégrales en dimensions plus grandes que 1 (en particulier, pour calculer des surfaces et des volumes). Elles sont également couramment utilisées en physique des particules, où des simulations probabilistes permettent d'estimer la forme d'un signal ou la sensibilité d'un détecteur. La comparaison des données mesurées à ces simulations peut permettre de mettre en évidence des caractéristiques inattendues, par exemple de nouvelles particules.

La méthode de simulation de Monte-Carlo permet aussi d'introduire une approche statistique du risque dans une décision financière. Elle consiste à isoler un certain nombre de variables-clés du projet, tels que le chiffre d'affaires ou la marge, et à leur affecter une distribution de probabilités. Pour chacun de ces facteurs, un grand nombre de tirages aléatoires est effectué dans les distributions de probabilité déterminées précédemment, afin de trouver la probabilité d'occurrence de chacun des résultats.

Le véritable développement des méthodes de Monte-Carlo s'est effectué sous l'impulsion de John von Neumann et Stanislas Ulam notamment, lors de la Seconde Guerre mondiale et des recherches sur la fabrication de la bombe atomique. Notamment, ils ont utilisé ces méthodes probabilistes pour résoudre des équations aux dérivées partielles dans le cadre de la Monte-Carlo N-Particle transport (MCNP).

Sommaire

 [masquer]

Théorie [modifier]

Nous disposons de l'expression de l'espérance mathématique d'une fonction g de variable aléatoire X, résultant du théorème de transfert, selon lequel

G = E(g(X))=int_a^b g(x)f_X(x) , mbox{d}x

où fX est une fonction de densité sur le support [a;b]. Il est fréquent de prendre une distribution uniforme sur [a;b]:

f_X(x) = frac{1}{b-a}

Ceci peut être étendu aux probabilités discrètes en sommant grâce à une mesure ν discrète, de type Dirac.

L'idée est de produire un échantillon (x1,x2,...,xN) de la loi X (donc d'après la densité fX) sur le support [a;b], et de calculer un nouvel estimateur dit de Monte-Carlo, à partir de cet échantillon.

La loi des grands nombres suggère de construire cet estimateur à partir de la moyenne empirique :

tilde{g_N} = frac{1}{N} sum_{i=1}^{N} g(x_i),

qui se trouve être, par ailleurs, un estimateur sans biais de l'espérance.

Ceci est l'estimateur de Monte-Carlo. Nous voyons bien qu'en remplaçant l'échantillon par un ensemble de valeurs prises dans le support d'une intégrale, et de la fonction à intégrer, nous pouvons donc construire une approximation de sa valeur, construite statistiquement.

Cette estimation est sans-biais, dans le sens où

E(tilde{g_N})= G = E(g(X))

Il faut aussi quantifier la précision de cette estimation, via la variance de

tilde{g_N}.

Si l'échantillon est supposé iid, cette variance est estimée à l'aide de la variance empirique

 S^2_{g(X)} = frac{1}{N} sum_{i=1}^N (g(x_i) - tilde{g_N})^2 simeq sigma_g^2

avec

sigma_g^2= E(g^2(X)) - E(g(X))^2 = int_{Omega} g^2(x) f_X(x) ,mbox{d} x - G^2


Par le théorème de la limite centrale, on sait que la variable :

Z := frac{tilde{g_N}-G}{sigma_g / sqrt{N}} equiv N ; left(0;1right)

qui est centrée et réduite, suit approximativement la loi normale centrée réduite, ou loi de Gauss. Il est alors possible de construire des intervalles de confiance, ce qui permet d'encadrer l'erreur commise en remplaçant G par tilde{g_N}. Si cette erreur est dénotée en, alors pour un niveau de risque α donné, on a:

|e_n| leq z_{1-alpha/2}frac{sigma_g}{sqrt{N}}

avec probabilité 1 − α. Le réel z1 − α / 2 est le quantile de la loi normale centrée réduite. Par exemple, au niveau de risque alpha = 5 %, on trouve dans les tables z1 − α / 2 = 1,96 et l'erreur est majorée par 1,96 sigma_g/sqrt{N}. Cette méthode permet donc de quantifier l'erreur commise, à condition d'estimer σg par sa contre-partie empirique

hat{sigma}_g = sqrt{S^2_{g(X)}}.

On voit ainsi que l'erreur est de l'ordre de N − 1 / 2: par exemple, multiplier la taille de l'échantillon par 100 permet de diviser par 10 l'erreur d'estimation.

Il est à noter qu'en pratique, hat{sigma}_g n'est pas connu et doit être estimé ; comme précisé plus-haut, on peut utiliser sa contre-partie empirique. Diverses méthodes, dites techniques deréduction de la variance, permettent d'améliorer la précision — ou de diminuer le temps de calcul — en remplaçant g(X) par une autre variable aléatoire. Ces techniques rentrent en général dans l'une des classes suivantes : l'échantillonnage préférentiel, les variable de contrôle, la variable antithétique, la stratification (Monte-Carlo) et le conditionnement (Monte-Carlo).

Exemples [modifier]

Résolution du Problème du voyageur de commerce [modifier]

La résolution du problème du voyageur de commerce est difficile, du fait de la complexité du problème, l'emploi de méthodes d'optimisation probabilistes peut s'avérer efficace pour obtenir une approximation de la meilleure solution, en un temps plus court que pour des méthodes déterministes.

Détermination de la valeur de π (pi) [modifier]

Cette méthode est proche de l'expérience de l'aiguille de Buffon.

Soit un point scriptstyle M  de coordonnées scriptstyle (x, y) , où scriptstyle 0<x<1  et scriptstyle 0<y<1 .

On tire aléatoirement les valeurs de scriptstyle x  et scriptstyle y .

Si scriptstyle x^2+y^2<1  alors le point scriptstyle M  appartient au disque de centre scriptstyle (0,0)  de rayon 1.

La probabilité que le point scriptstyle M  appartienne au disque est π/4.

En faisant le rapport du nombre de points dans le disque par rapport au nombre de tirages on obtient une approximation du nombre π/4 si le nombre de tirages est grand.

représentation du calcul de la valeur de pi par rapport du nombre de points aléatoires étant contenus dans un quart de cercle, l'ensemble des possible étant un carré de côté R

Détermination de la superficie d'un lac [modifier]

Cet exemple est un classique en vulgarisation de la méthode de Monte-Carlo. Soit une zone rectangulaire ou carrée dont les côtés sont de longueur connue. Au sein de cette aire se trouve un lac dont la superficie est inconnue. Grâce aux mesures des côtés de la zone, on connaît l'aire du rectangle. Pour trouver l'aire du lac, on demande à une armée de tirer X coups de canon de manière aléatoire sur cette zone. On compte ensuite le nombre N de boulets qui sont restés sur le terrain ; on peut ainsi déterminer le nombre de boulets qui sont tombés dans le lac : X-N. Il suffit ensuite d'établir un rapport entre les valeurs :

frac{mathrm{superficie}_{~mathrm{terrain}}}{mathrm{superficie}_{~mathrm{lac}}} = frac{X}{X-N}
Longrightarrow qquad mathrm{superficie}_{~mathrm{lac}} = frac{(X-N)}{X}  times  mathrm{superficie}_{~mathrm{terrain}}

Par exemple, si le terrain fait 1000 m2, que l'armée tire 500 boulets et que 100 projectiles sont tombés dans le lac, alors une estimation de la superficie du plan d'eau est de : 100*1000/500 = 200 m2.

Estimation de la surface du lac grâce à des tirs d'artillerie aléatoires

La qualité de l'estimation s'améliore en augmentant le nombre de tirs et en s'assurant que les artilleurs ne visent pas toujours le même endroit mais couvrent bien la zone. Cette dernière remarque est à mettre en parallèle avec la qualité du générateur aléatoire qui est primordiale pour avoir de bons résultats dans la méthode de Monte-Carlo. Un générateur biaisé est comme un canon qui tire toujours au même endroit : les informations qu'il apporte sont réduites.

Application au modèle d'Ising [modifier]

Article détaillé : Modèle d'Ising.

Estimation de la valeur d'un coup au Go [modifier]

Aux Échecs, il est facile de mesurer la valeur d'une position, et donc d'un coup y menant, en comptant le nombre de pièces sur l'échiquier, en les pondérant (1 point par pion, 5 par tour...), et en ajustant la valeur trouvée par les libertés, les protections des pièces... Cela n'est pas possible au go. On a alors recours à une analyse de Monte-Carlo : on joue "au hasard" un grand nombre de parties, et on comptabilise la proportion que l'on en gagne. Cette estimation statistique peut s'affiner en biaisant le hasard en évitant les coups stupides. Voir l'article dédié.

Notes et références [modifier]

  1.  Nicholas Metropolis, « The Beginning of the Monte Carlo Method », dans Los Alamos Scienceno 15, 1987, p. 125-130 texte intégral [archive] ]
  2.  Nicholas Metropolis et Stanislas Ulam, « The Monte Carlo Method », dans Journal of the American Statistical Associationvol. 44, no 247, septembre 1949, p. 335-341 texte intégral [archive] ].

Voir aussi [modifier]

Bibliographie [modifier]

Articles connexes [modifier]

Codes de simulation utilisant des méthodes de Monte-Carlo

Liens externes [modifier]

10:08 Publié dans Méthode de Monte-Carlo | Lien permanent | Commentaires (0) | |  del.icio.us | | Digg! Digg |  Facebook