Buffon ’ s Needle Algorithm to Estimate π

Buffon’s needle experiment was originally devised to get the value of π . With the advent of computers, Buffon’s needle algorithm has been used pedagogically as an example of Monte Carlo methods in introduction classes, and there are many Buffon’s needle algorithm implementations available on the internet. However, for the calculation of π , the exact value of π is used in the programs for Buffon’s needle angle sampling, and hence the example is not demonstrated correctly. This brief note presents a random angle sampling algorithm for the Buffon’s needle. We then compare the Buffon’s needle and Hit-and-Miss integration algorithms using Monte Carlo laboriousness comparison, and find that the Hit-and-Miss algorithm is superior.


Introduction
Buffon's needle experiment [1] was originally used to provide π .Throwing a needle (see Figure 1) onto a flat plane with equally-spaced parallel lines, the probability that the needle touches the parallel line provides an estimate for π is 0 sin 2 2 and so 2 = l Pa π (2) where P is the probability, l the length of the needle and a the spacing with < l a .
Here, we should note that the Buffon's needle problem becomes an integration problem (see Figure 2) so the probability is just the ratio of areas.
With the advent of computers, Buffon's needle has been pedagogically used as an example in Monte Carlo method introductory classes and many websites provide Buffon's needle algorithm implementations.However, in these programs, the value of π is used for the random sampling of the needle angular direction.Thus π is used to obtain the value of π itself.This note presents a sampling algorithm for the random direction of the needle that avoids using π within the algorithm.We then compare the Buf- fon's needle and the Hit-and-Miss integration algorithms using the common Monte Carlo algorithm comparison method, the time consumption (laboriousness) [8].

Buffon's Needle Algorithm
For random direction sampling of the needle, we use a square enclosing a tightly fitted circle (see Figure 3).
Since the directions of the random points inside the circle are uniform, we obtain uniform needle random directions.

Comparison with the Hit-and-Miss Algorithm
The Hit-and-Miss integration algorithm can also provide the value of π .Using one quadrant of the circle circumscribed by a square (see Figure 4), we can ob- , where, h is the probability of hitting the shaded area, when we generate a pair of random numbers to sample a random point inside of the square.
We use the common Monte Carlo algorithm comparison, time consumption (laboriousness): [8] t Dξ where t is the CPU time expended in calculating a single estimate and Dξ estimate variance.Figure 5 shows the log-log plot of the number of Monte Carlo steps v.s. the errors of the two algorithms, and Table 1 compare the two algorithms.The Hit-and-Miss algorithm is superior to the Buffon's needle algorithm for calculation of π , which seems reasonable given the Buffon's needle algorithm requires more numerical operations for a Monte Carlo step.Of course, we can improve Buffon's algorithm performance using a tighter non-constant proposed probability distribution for the acceptance-rejection sampling method.Using quasi-Monte Carlo random numbers [9] for the angle sampling will also improve the convergence.

Conclusion
Buffon's needle algorithm has been pedagogically used as an introduction to   Table 1.Time consumption of Buffon's needle and Hit-and-Miss algorithm.Variances were obtained from 100 independent runs and the number of random walks per run was Monte Carlo methods.However, π is used for needle angle sampling inside the original algorithm.This note presents a method for the needle angle sampling without using π and make the Buffon's needle algorithm a Monte Carlo method to estimate π .We compared the Buffon's needle and Hit-and-Miss in- tegration algorithms and found that the Buffon's needle algorithm is not superior to the Hit-and-Miss integration algorithm.

Figure 1 .
Figure 1.Buffon's needle algorithm with spacing a and needle length l .

Figure 2 .
Figure 2. Buffon's needle problem can be converted to an integration problem.

Figure 3 .
Figure 3. Needle random direction sampling.After generating a random point inside the circle, we obtain the random direction vector for the needle.

Figure 4 .
Figure 4. Hit-and-Miss diagram.Using a pair of random numbers, we obtain the probability of hitting inside of the marked quadrant.

Figure 5 .
Figure 5. Monte Carlo steps and estimation errors.The linear regression slopes for Buffon's needle and Hit-and-Miss algorithms (solid and dotted lines respectively) are 0.502 − and 0.505 − with correlation coefficients 0.9994 − and 0.9999 − respectively.