Loading web-font TeX/Math/Italic

Sunday, 5 May 2013

Using Monte Carlo Simulation for the Estimation of Pi

A while ago on G+, +Sara Del Valle posted a link to this article The 12 Most Controversial Facts In Mathematics. Whether or not the title of that article is precise is a whole other question but one of the problems in there discusses the use of probability to estimate \pi.

At the time I wrote a small python script to randomly generate points (this approach of continuous random sampling is called Monte Carlo simulation) that lie in a square of length 2r. If we let S be the total number of points and C to be the points that lie in an inscribed circle of radius r then:

P(\text{point in circle})=\frac{\pi r^2}{4r^2}




Using this if we generate a high enough number of points we can estimate P(point in circle). We generate a point (x,y) and check if that point is in the circle by checking if x^2+y^2\leq r^2. Using all this we get:

\pi\approx \frac{4C}{S}

This morning I've modified the script slightly so that it generates a few more plots:
  • If the relevant option is set it will generate a new plot for every single plot;
  • A plot of the estimate of \pi as a function of the number of points.
Here's a plot of the estimate of \pi:



The main point of me changing this was to put together this screencast that describes the process:



If it's of interest the github repo with the code is available here.

On a related note, here's another video I put together a while back showing the basic process that can be used to simulate a queueing process:


No comments:

Post a Comment