---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* *
# I can make simulations. A modification of the **Pr** program seen here:
* *
**Pr** = function(n) {f = 0; for (i in 1:n) f = f + ifelse(Event(),1,0);
fr=f/n; S=sqrt(fr*(1-fr)/(n-1)); cat(fr, "+/-", 3*S,'\n'); fr0 <<-fr; n0 <<-n; A<<-fr-3*S; B<<-fr+3*S}
**Pr2** = function(n) {f=0; for (i in 1:n) f=f+ifelse(Event(),1,0); n=n+n0; f=f+fr0*n0
fr=f/n;S=sqrt(fr*(1-fr)/(n-1));cat(fr,"+/-",3*S,' n =',n,'\n'); fr0<<-fr; n0<<-n; A<<-fr-3*S; B<<-fr+3*S}

# These programs put the extremes of the indetermination
# interval in** A **and** B**. An example. A version of:
* *
# **Buffon's needle problem** (posed by Comte de Buffon in
# the 18th century):
# we have a floor made of parallel strips of wood and we drop
# a needle onto the floor; the strips are large 2 dm; the
# length of the needle is 1 dm; what is the probability that
# the needle will lie across a line between two strips?
# It was proved that the probability is 1/π. | |

# The results 1/F of some experiments in which the relative frequency F was calculated:
# Wolf, year 1850, tossing a needle 5000 times, 3.1596
# Smith, year 1855, tossing a needle 3204 times, 3.1553
# Fox, year 1894, tossing a needle 1120 times, 3.1419
# Lazzarini, year 1901, tossing a needle 3408 times, 3.1415929.
# All these are a string of lies. See here.
#
# I randomly generate (with uniform distribution) the D direction of the needle and
# the distance h of the needle center from the vertical lines (I generate the distance
# from the left line and choose the lower among it and the distance from the right line;
# the needle passes through the line when h < H).
Event = function() {D=runif(1,0,2*pi);h=runif(1,0,2);h=min(h,2-h);H=abs(cos(D)/2); ifelse(h<H,1,0)}
#
more(pi)
# 3.14159265358979
n=**5000**; Pr(n); 1/c(**B, fr0, A**)
0.3138 +/- 0.01968936
# **2.998596 3.186743 3.400081**
n=5000; Pr(n); 1/c(B,fr0,A)
0.3256 +/- 0.01988294
# **2.894499 3.071253 3.270998** Unlikely 3.1596 can be obtained
n=**3204**; Pr(n); 1/c(B,fr0,A)
0.3139825 +/- 0.02460159
# **2.953476 3.184891 3.455653**
n=3204; Pr(n); 1/c(B,fr0,A)
0.3205368 +/- 0.02473801
# **2.896243 3.119766 3.380676** Unlikely 3.1553 can be obtained
n=**1120**; Pr(n); 1/c(B,fr0,A)
0.2973214 +/- 0.04099186
# **2.955840 3.363363 3.901228**
n=1120; Pr(n); 1/c(B,fr0,A)
0.3223214 +/- 0.04191434
# **2.745474 3.102493 3.566244** Unlikely 3.1419 can be obtained
n=**3408**; Pr(n); 1/c(B,fr0,A)
0.3157277 +/- 0.02388944
# **2.944492 3.167286 3.426556**
n=3408; Pr(n); 1/c(B,fr0,A)
0.3075117 +/- 0.02371768
# **3.019056 3.251908 3.523682** Unlikely 3.1415929 can be obtained!!!
**Back**