\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{2004}
\MEL{chafai@math.ups-tlse.fr}
\AUTEUR{B. Bercu \& D. Chafaï}
\WEB{http://www.lsp.ups-tlse.fr/Chafai/agregation.html}
\DATE{Novembre 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}

\end{document}






