Him: "I have picked - in my head - a number, lower than 50. Try to guess..."
Her: "No way, too difficult..."
Him: "You can try five different numbers..."
Her: ".,. um ... No, no way..."
Me: "Wait... each time we suggest a number, you tell us if yours is either above, or below ?"
You can see me coming clearly, can't you ? Using a simple subdivision rule, we have a fast algorithm (and indeed, if I have to choose between washing the dishes and playing with the kids...)
Him: "um.... ok"
Her: "Daddy, are you sure we will win ?"
Me: "Well... I cannot promise that we will win... but I am rather sure [sic] that we will win quite frequently: more gains than losses..." (I guess).
Her: "Great ! I am playing with daddy..."
Her: "Sure..."
Me: "What ? no one wants to see if I was right ? that we have indeed more than 50% chances to win..."
Him and her: "No !"
The point of that story ? If we listen to kids, science will not go forward, trust me. But I am curious... I want to see if my intuition was correct. Actually, the intuition was based on the fact that
> 2^5 [1] 32 > 2^6 [1] 64
so in 5 or 6 steps the algorithm of subdivision should converge. I guess... I mean, I do not know for sure, since 50 is not a power of 2, so it might be difficult, each time, to split in two: we have to deal only with integers here...To be sure, let us substitute my laptop to my son... to pick up numbers, randomly (yes, sometimes I feel like I am Doctor Tenma, 天馬博士). The algorithm is simple: there are bounds, and at each stop I should suggest the middle of the interval. If the middle is not an integer, I suggest either the integer below or the integer above (with equal probabilities).
cutinhalf=function(a,b){ m=(a+b)/2 if(m %% 1 == 0){m=m} if(m %% 1 != 0){m=sample(c(m-.5,m+.5),size=1)} return(round(m))}The following functions runs 10,000 simulations, and tells us how many times, out of 5 numbers suggested, we got the good one.
winning=function(lower=1,upper=50,tries=5,NS=100000){ SIM=rep(NA,NS) for(simul in 1:NS){ interval=c(lower,upper) (unknownnumber=sample(lower:upper,size=1)) success=FALSE for(i in 1:tries){ picknumber=cutinhalf(interval[1],interval[2]) if(picknumber==unknownnumber){success=TRUE} if(picknumber>unknownnumber){interval[2]=picknumber} if(picknumber<unknownnumber){interval[1]=picknumber} #print(c(unknownnumber,picknumber,success,interval)) };SIM[simul]=success};return(mean(SIM))}It looks like the probability that we got the good number is higher than 60%,
> winning() [1] 0.61801Which is not bad. And if the upper limit was not 50, but something else, the probability of winning would have been the following.
VWN=function(n){winning(upper=n)} V=Vectorize(VWN)(seq(25,100,by=5)) plot(seq(25,100,by=5),V,type="b",col="red",ylim=c(0,1))

Actually, after losing a couple of times, I am rather sure that my son would have to us that we can suggest only four numbers. In that case, the probability would have been close to 30%, as shown on the blue curve below (where four numbers only can be suggested)

Petit paradoxe du jour (emprunté à
. Alors que si je gagne, je gagne une cravate qui vaut plus cher que la mienne, disons
, avec
. Aussi, mon espérance de gain est







Un professeur rédigeant son plan de cours veut mentionner un examen
surprise, qui compterait pour 10% de la note finale. Il annonce donc à
ses étudiants, au premier cours, qu'un examen surprise (et un seul) se
tiendrait à une date (surprise) parmi les 12 séances de cours. Mais
comme le fait noter un élève, l'examen ne pourrait avoir lieu lors de
la dernière séance (la 12ème), car cela signifierait qu'il n'y a pas eu
d'examen les 11 premières séances, et donc l'examen surprise devrait
forcément se tenir au 12ème cours (mais alors il ne serait plus surprise
du tout). Bref, impossible d'avoir un examen surprise ce jour là. Mais
dans ce cas, surenchérit une étudiante, il ne peut non plus avoir lieu à
l'avant dernière séance (la 11ème), car là encore cela signifierait
qu'il n'y a pas eu d'examen les 10 premières
séances, et donc l'examen surprise devrait forcément au 11ème cours
(car il ne peut pas avoir lieu au 12ème comme on vient de le voir, et
là encore, il ne serait plus surprise
du tout). Bref, de manière récurrente, on peut montrer que l'examen
surprise a alors lieu forcément le premier jour. Mais là encore, il n'y
a pas de surprise. Et donc impossible qu'il y ait un examen surprise si
ce dernier a été annoncé. Moralité, pour faire un examen surprise, il
ne faut surtout pas évoquer qu'il y en aura un. Mais comme on ne peut
pas faire un examen non annoncé dans les modalités de contrôle des
connaissances, il est impossible de faire des surprises aux étudiants à
l'université... C'est triste, non ?






