% Created 2020-03-30 lun. 22:50 % Intended LaTeX compiler: pdflatex \documentclass[11pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{grffile} \usepackage{longtable} \usepackage{wrapfig} \usepackage{rotating} \usepackage[normalem]{ulem} \usepackage{amsmath} \usepackage{textcomp} \usepackage{amssymb} \usepackage{capt-of} \usepackage{hyperref} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[francais, frenchb]{babel} \usepackage{amsmath} \usepackage{amssymb} \usepackage{mathrsfs} \author{Adam Taheraly\thanks{taheraly.adam@gmail.com}} \date{Lundi 30 Mars} \title{À propros du calcul de \(\pi\)} \hypersetup{ pdfauthor={Adam Taheraly}, pdftitle={À propros du calcul de \(\pi\)}, pdfkeywords={MOOC-RR exo1}, pdfsubject={Exercice Mooc RR sur le calcul de \(\pi\)}, pdfcreator={Emacs 26.3 (Org mode 9.1.9)}, pdflang={Frenchb}} \begin{document} \maketitle \tableofcontents \section{En demandant à la lib maths} \label{sec:orgc4eb4d4} Mon ordinateur m'indique que \(\pi\) vaut \emph{approximativement} \begin{verbatim} pi \end{verbatim} \begin{verbatim} [1] 3.141593 \end{verbatim} \section{En utilisant la méthode des aiguilles de Buffon} \label{sec:org3a95611} Mais calculé avec la \textbf{méthode} des \href{https://fr.wikipedia.org/wiki/Aiguille\_de\_Buffon}{aiguilles de Buffon}, on obtiendrait comme \textbf{approximation} : \begin{verbatim} set.seed(42) N = 100000 x = runif(N) theta = pi/2*runif(N) 2/(mean(x+sin(theta)>1)) \end{verbatim} \begin{verbatim} [1] 3.14327 \end{verbatim} \begin{verbatim} [1] 3.14327 \end{verbatim} \section{Avec un argument "fréquentiel" de surface} \label{sec:org757811b} Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'appel à la fonction sinus se base sur le fait que si \(X \sim U(0,1)\) et \(Y \sim U(0,1)\) alors \(P[X^{2} + Y^{2} \le 1] = \pi/4\) (voir \href{https://fr.wikipedia.org/wiki/M\%C3\%A9thode\_de\_Monte-Carlo\#D\%C3\%A9termination\_de\_la\_valeur\_de\_\%CF\%80}{méthode de Monte Carlo sur Wikipédia}). Le code suivant illustre ce fait : \begin{verbatim} set.seed(42) N = 1000 df = data.frame(X = runif(N), Y = runif(N)) df$Accept = (df$X**2 + df$Y**2 <=1) library(ggplot2) ggplot(df, aes(x=X,y=Y,color=Accept)) + geom_point(alpha=.2) + coord_fixed() + theme_bw() \end{verbatim} \begin{center} \includegraphics[width=.9\linewidth]{/tmp/babel-A2ZKik/figureoqEQiY.png} \end{center} Il est alors aisé d'obtenir une approximation (pas terrible) de \(\pi\) en comptant combien de fois, en moyenne, \(X^{2} + Y^{2}\) est inférieur à 1 : \begin{verbatim} 4*mean(df$Accept) \end{verbatim} \begin{verbatim} [1] 3.156 \end{verbatim} Emacs 26.3 (Org mode 9.1.9) \end{document}