From: AI on
You may already know about Buffon's Needle Problem
http://mathworld.wolfram.com/BuffonsNeedleProblem.html

I am thinking about the following variation

Find the probability that a needle of length "l" will land on a
circle, given a floor with equally spaced Concentric circles at a
distance "d" apart?

Here is the drawing which I have made for my simulation
http://i233.photobucket.com/albums/ee201/vcpandya/NeedleProblem.jpg
From: Dan Cass on
> You may already know about Buffon's Needle Problem
> http://mathworld.wolfram.com/BuffonsNeedleProblem.html
>
> I am thinking about the following variation
>
> Find the probability that a needle of length "l" will
> land on a
> circle, given a floor with equally spaced Concentric
> circles at a
> distance "d" apart?
>
> Here is the drawing which I have made for my
> simulation
> http://i233.photobucket.com/albums/ee201/vcpandya/Need
> leProblem.jpg

So are the radii as suggested in your picture to be d,2d,3d,etc?
Seems like an interesting variation to me, but one problem I see is that of finiteness of a region.

If one takes the region as a square of sidelength N centered at (0,0) and then lets N->infinity,
the answer might differ from another choice of squares which are say of sidelength N with lower left corner at (0,0).
From: Sjoerd Job on
On 2009-11-02, AI <vcpandya(a)gmail.com> wrote:
> You may already know about Buffon's Needle Problem
> http://mathworld.wolfram.com/BuffonsNeedleProblem.html
>
> I am thinking about the following variation
>
> Find the probability that a needle of length "l" will land on a
> circle, given a floor with equally spaced Concentric circles at a
> distance "d" apart?
>
> Here is the drawing which I have made for my simulation
> http://i233.photobucket.com/albums/ee201/vcpandya/NeedleProblem.jpg

This is quite an interesting problem.

When considering an infinite plane, my guess is that the probability
would be the same as for the normal problem. After all, when the needle
lands far enough from the origin, the situation is quite similar to the
original problem.

I have run trials with l = d = 1, with the tip landing in [-k,k]^2, for
various options of k. The # of trials per k was 100000.

When k gets larger, the result turns out closer to 2/pi.

Kind regards,
Sjoerd Job
From: AI on
On Nov 2, 9:23 pm, Dan Cass <dc...(a)sjfc.edu> wrote:

> So are the radii as suggested in your picture to be d,2d,3d,etc?
> Seems like an interesting variation to me, but one problem I see is that of finiteness of a region.

You can take it as d,2d,3d etc but that will be a special case,
however radii in my pictur goes as d, d+x,d+2x . . . etc (if you take
x = d then we can have d, 2d, 3d etc)


Sjoerd Job wrote:
>I have run trials with l = d = 1, with the tip landing in [-k,k]^2, for
>various options of k. The # of trials per k was 100000.

Really??? I am amazed! Have you designed that simulation in
Mathematica? If yes can you please share it?

Regards,
AI
From: Sjoerd Job on
On 2009-11-03, AI <vcpandya(a)gmail.com> wrote:
> Sjoerd Job wrote:
>>I have run trials with l = d = 1, with the tip landing in [-k,k]^2, for
>>various options of k. The # of trials per k was 100000.
>
> Really??? I am amazed! Have you designed that simulation in
> Mathematica? If yes can you please share it?
>
> Regards,
> AI

My simulation was quite simple, and did only count where there was
exactly one crossing. I have designed the simulation in Haskell, as that
is my language of choice.

------------ Buffon.hs -----------
module Buffon where

import Data.List
import System.Random

nl = 1 -- relative needle length

-- fall expects one argument
-- the width of the board.
-- As a result, it tells you if the needle crossed a circle exactly once
-- or not.
fall :: Double -> IO Bool
fall w = do
x <- randomRIO (-w,w)
y <- randomRIO (-w,w)
t <- randomRIO (0,2*pi)
let r1 = floor . norm $ (x,y) -- where is the tip?
let r2 = floor . norm $ (x+nl*cos t, y+nl*sin t) -- and the end?
return $ r1 /= r2

buffon :: Double -> Int -> IO Double
buffon w k = do
-- Do k drops on a board of width w
list <- sequence $ replicate k (fall w)
let (ts,fs) = partition id list
let tc = fromInteger . toInteger . length $ ts
let fc = fromInteger . toInteger . length $ fs
return $ tc/(tc+fc)
-------------------------------------

If requested, I could try and code an equivalent in Mathematica.

Here are some results from running "buffon w k" several times.

buffon 1 (10^5) : 0.58701, 0.58749, 0.58817
buffon 2 (10^5) : 0.61548, 0.61256, 0.61560
buffon 10 (10^5): 0.63256, 0.63167, 0.63637
buffon 50 (10^5): 0.63518, 0.63486, 0.63872

My trials with k=10^6 all failed, so I guess I will have to optimize my
code a bit more.

Kind regards,
Sjoerd Job

Kind regards,
Sjoerd Job