\documentclass{pbsheet}

\TITRE{Feuille de TP n°4 \\ 
 Calcul approché d'intégrales -- Méthodes de Monte-Carlo}
\FORMATION{Épreuve de modélisation - Agrégation Externe de Mathématiques}
\ETABLISSEMENT{Université Paul Sabatier Toulouse III}
\ANNEE{2005}
\MEL{chafai@math.ups-tlse.fr}
\AUTEUR{B. Bercu \& D. Chafaï}
\WEB{http://www.lsp.ups-tlse.fr/Chafai/agregation.html}
\DATE{Octobre 2004}

\begin{document}

La méthode de Monte-Carlo permet le calcul de valeurs approchées d'intégrales
multiples dont le calcul purement algébrique est impossible ou très difficile.
Le fondement de la méthode repose sur la Loi des Grands Nombres (LGN) et le
calcul de l'erreur associée à la méthode s'obtient à partir du Théorème Limite
Centrale (TLC). On cherche à évaluer une intégrale multiple de la forme $$
I =
\int_A f(x)\,dx $$
où $A$ est un pavé de $\bR^d$ avec $d\geq 1$ de mesure de
Lebesgue connue $m_A$ et $f$ est une fonction mesurable de $\bR^d$ dans $\bR$,
intégrable sur $A$. Soit $(X_n)_n$ une suite de variables aléatoires
indépendantes et de même loi uniforme sur $A$. On a par la LGN $$
\frac{1}{n}\sum_{k=1}^n f(X_k) \limPS{n} I_A. $$
avec $I_A = I/m_A$. De plus,
si $f$ est de carré intégrable sur $A$, on a par le TLC $$
\sqrt{n}\PAR{\frac{1}{n}\sum_{k=1}^n f(X_k)-I_A} \limL{n}\cN(0,\si^2) $$
avec
$$
\si^2 = \frac{1}{m_A}\int_A f^2(x)\,dx-I_A^2. $$
On a donc un intervalle de
confiance pour $I_A$ donné, avec un niveau de confiance de $95\%$, par $$
I_A
\in \SBRA{%
  \frac{1}{n}\sum_{k=1}^n f(X_k) - \frac{1.96\si}{\sqrt{n}}%
  \,,\,%
  \frac{1}{n}\sum_{k=1}^n f(X_k) + \frac{1.96\si}{\sqrt{n}}}. $$
Ce résultat
n'a d'intérêt que si l'on sait majorer convenablement $\si^2$. Toutefois, si
$\si^2$ est difficile à majorer, on peut l'estimer par la variance empirique
$$
S_n^2=\frac{1}{n-1}\sum_{k=1}^n (f(X_k) -\OL{f(X)})^2 \text{ avec }
\OL{f(X)}=\frac{1}{n}\sum_{k=1}^n f(X_k). $$
On peut montrer que $S_n^2$
converge en probabilité vers $\si^2$ et l'intervalle de confiance ci-dessus
reste encore valable en remplaçant $\si$ par $S_n$. Finalement, on obtient un
erreur d'approximation de l'ordre de $1/\sqrt{n}$. Cette vitesse est assez
lente, comparée aux méthodes déterministes classiques, en particulier pour
$d=1$. En effet, si $d=1$, alors l'erreur d'approximation de la méthode des
rectangles ou du point central est de l'ordre de $1/n$. Pour la méthode des
trapèzes, elle est en $1/n^2$ et pour la méthode de Simpson en $1/n^4$. La
méthode de Monte-Carlo est intéressante si $d\geq 3$ ou bien si $f$ est très
irrégulière car on peut observer qu'elle ne demande aucune hypothèse de
régularité sur $f$.

%%
\section{Exercices}
%%

\begin{exo} On cherche à évaluer, pour tout $a>0$, l'intégrale
  $$
  I(a)=\int_0^a\exp(-x^2)\,dx.
  $$
  Créer un code Matlab permettant d'évaluer $I(a)$ par les méthode
  déterministes classiques des rectangles, du point central, des trapèzes et
  de Simpson.  Evaluer également $I(a)$ par la méthode de Monte-Carlo puis
  grace à la fonction \texttt{erf} de Matlab. Dresser, pour différentes
  valeurs de $a$ et pour $n=10^2,10^3,10^4,10^5$, un tableau comparatif de vos
  six évaluations.
\end{exo}

\begin{exo} Effectuer le même exercice sur l'intégrale $I(a)$ définie,
  pour tout $a>0$, par
  $$
  I(a)=\int_0^a\frac{1}{\sqrt{x}}\exp(-x)\,dx
  $$
  en comparant vos évaluations à celle obtenue grace à la fonction
  \texttt{pchisq} de Matlab.
\end{exo}

\begin{exo}
  Evaluer la valeur de $\pi$ à partir des trois intégrales suivantes par la
  méthode de Monte-Carlo.
  $$
  \int_{[-1,+1]}4\sqrt{1-x^2}\,dx
  $$
  $$
  \int_{[-1,+1]^2}\rI_{(x^2+y^2\leq 1)}\,dxdy%
  \text{\quad et \quad} %
  \int_{[-1,+1]^3}\frac{3}{4}\rI_{(x^2+y^2+z^2\leq 1)}\,dxdydz.
  $$
  Comparer vos trois résultats avec les évaluations obtenues grâce aux
  fonctions \texttt{quad}, \texttt{dblquad} et \texttt{triplequad} de Matlab.
\end{exo}

\begin{exo} Pour $a>0$, soit $f_a$ la fonction définie sur l'intervalle
  $[0,1]$ par
  $$
  f_a(x)=x(1-x)\sin^2(ax(1-x)).
  $$
  Pour $a=1,10,50,100$, créer un code Matlab permettant d'évaluer
  l'intégrale
  $$
  I(a)=\int_0^1f_a(x)\,dx
  $$
  par les méthode déterministes classiques, par la méthode de Monte-Carlo
  sur l'intervalle $[0,1]$ et par la méthode de Monte-Carlo avec rejet sur le
  rectangle $[0,1]\times[0,1/4]$.
\end{exo}

\begin{exo}
  Effectuer le même exercice sur la fonction $f_a$ définie par
  $$
  f_a(x)=x\sin^2(a/x)\rI_{x\in[0.5,1]}
  $$
  en proposant une méthode de Monte-Carlo avec rejet adaptée à $f_a$.
\end{exo}

\begin{rem}
  On trouvera dans \cite[Chapitre IX]{bouleau2bis} quelques exemples intéressants
  d'utilisation de méthodes de Monte-Carlo.
\end{rem}

{\tiny
\bibliographystyle{smfplain}
\bibliography{biblio}
}

\end{document}






