The Buffon Needle Problem and a Computer Simulation
One can calculate the value of PI by dropping a needle of length k
onto a grid of parallel lines whose length is greater than k.
The value is determined as the probability of hits (the needle crosses
a grid line) to the total number of tosses. This value is
PI = ( 2 * k * total-tosses) / number-of-hits
This calculation was simulated with a computer program.
The program was run on several platforms and processors.
I ran the simulation for 10 million tosses and a needle length of .8.
I assumed the grid lines to be one unit apart.
The results are given below.
Results of Buffon Needle Simulation
Pentium 133mhz
486DX 120mhz
Sparc Ultra I
486DX 66mhz
DOS
Linux
Solaris 2.5
DOS
Solaris 2.5.1
Linux
Time (seconds)
57
32
123
110
47
145
Value of PI
3.163097
3.141706
3.161965
3.163097
3.161965
3.141706
Note the relatively poor values of PI for the DOS and Solaris OSes. Since
the simulation relies on a random number generator - the results reflect
a possible shortcoming (bug ?) in the generators. Hmmmm. Well boys and girls
we'll have to investigate further.
Any Comments?
And for you linux supporters - it appears that linux on 133 pentium
beat out a Sun Sparc Ultra I (at least for this simulation which gets
the cosine of an angle for each toss of the needle).
For your amusement I have a new simulator - java applet to calculate PI
(I lost the original executable file)
Value of PI (to 20k places) is HERE
- Next week there will be a test - to see if you have memorized the value.