Archive for chord

Bertand’s paradox [R details]

Posted in Books, R, Statistics with tags , , , , , , , on March 20, 2011 by xi'an

Some may have had reservations about the “randomness” of the straws I plotted to illustrate Bertrand’s paradox. As they were all going North-West/South-East. I had actually made an inversion between cbind and rbind in the R code, which explained for this non-random orientation. Above is the corrected version, which sounds “more random” indeed. (And using wheat as the proper, if weak, colour!) The outcome of a probability of 1/2 has not changed, of course. Here is the R code as well:


lacorde=rep(0,10^3)
plot(0,0,type="n",xlim=c(-2,2),ylim=c(-2,2))

for (t in 1:10^3){

 #distance from O to chord
 dchord=10

 while (dchord>1){
 #Generate "random" straw in large box till it crosses unit circle

 a=runif(2,-10,10)
 b=runif(2,-10,10)

 #endpoints outside the circle
 if ((sum(a^2)>1)&&(sum(b^2)>1)){

 theta=abs(acos(t(b-a)%*%a/sqrt(sum((b-a)^2)*sum(a^2))))
 theta=theta%%pi
 thetb=abs(acos(t(a-b)%*%b/sqrt(sum((b-a)^2)*sum(b^2))))
 thetb=thetb%%pi

 #chord inside
 if (max(abs(theta),abs(thetb))<pi/2)
 dchord=abs(sin(theta))*sqrt(sum(a^2))
 }
 }

 lacorde[t]=2*sqrt(1-dchord)
 if (runif(1)<.1) lines(rbind(a,b),col="wheat")
 }

lecercle=cbind(sin(seq(0,2*pi,le=100)),cos(seq(0,2*pi,le=100)))
lines(lecercle,col="sienna")

As a more relevant final remark, I came to the conclusion (this morning while running) that the probability of this event can be anything between 0 and 1, rather than the three traditional 1/4, 1/3 and 1/2. Indeed, for any distribution of the “random” straws, hence for any distribution on the chord length L, a random draw can be expressed as L=F⁻¹(U), where U is uniform. Therefore, this draw is also an acceptable transform of a uniform draw, just like Bertrand’s three solutions.