
Monte Carlo estimation of PiFor ISO Modula2By Frank Schoonjans (frank.schoonjans@medcalc.net)
Monte Carlo methods are methods that use random numbers and probability statistics to solve problems. A common illustration is the estimation (rather than calculation) of Pi. Let's look at the following figure. It shows a square with one quadrant of a circle. As we all know, the area of the square is given by r^{2}. The area of a circle is given by r^{2}Pi, so the quadrant's area is r^{2}Pi/4. The ratio of the area of the square and the quadrant therefore is Pi/4. Now suppose we pick at random a large number of points inside the square, then the ratio of total points (inside the square) divided by the number of points inside the quadrant, will give us an estimate of Pi/4. Modula2 programAs a random number generator, we use a module from the Numerical Analysis library of Peter Moylan. For convenience, we choose r = 1. We pick random coordinates x,y in the range [0..1]. If x^{2} + y^{2} is less than or equal to 1, then the point given by x,y is inside the quadrant. Our estimate of Pi is then 4 times the number of points in the quadrant divided by the total number of random points.
ResultsThe code as shown yields the following output: DownloadThe download EstimatePi.zip contains the program's source files, and Peter Moylan's slightly modified Rand module, taken from his freeware Numerical Analysis library (ISO version). We have tested these files with ADW Modula2, Stony Brook Modula2 and XDS modula2. ADW Modula2 and Stony Brook Modula2
LinksThis article is largely based on The Basics of Monte Carlo Simulations.
