Ok. Here are my thoughts:
It can be observed that after the first prisoner enters and finds his name, the second prisoner finds his name if, starting from his box, he arrives at his name or at the first prisoner's name (that cycle is verified by the first prisoner, so it's sure it's safe).
The third prisoner has at each choice as valid boxes (that guarantee him succes) the boxes with the name of the first, the second and his own box (so 3 boxes take him for sure to his name)
×
The probability that a valid box is found in a set of
n boxes, where there are
i valid choices (as stated i is 1 for the first prisoner, 2 for the second and so on) and
k extractions is (in our case n=100, k=50):
P = ( i! * (n-i)! * (n-k)! * k )/( (n-i-k+1)! * n! )
(please believe me
)
we assume n = 2 * k (true in our case)
ok, for i = 1(first prisoner), P(1) = 0.5
for i = 2, P(2) = k / (n-1) = 50/99 ~ 1/2
for i = 3, P(3) = 3*k / (2*n - 1) = 150/198 ~ 3/4
for i = 4, P(4) >
1, which means that it's for sure that starting from the 4th prisoner, everyone finds their names, if only the first 3 have found it
so, the combined success probability is P(1) * P(2) * P(3) = 19,13 %
should have been over 30%..... well...
anyway, here's a plot for the values of k from 2 to 50 (which means 4 to 100 prisoners) according to the above calculated formula
... and for the value not being over thirty.. please visit this site that I found searching for an explanation
. It makes a lot of sense
http://www.math.princeton.edu/~wwong/blog/blog200608191813.shtml
...on where I did wrong... I'm guessing that each prisoner
i has more than
i valid boxes at each try (I calculated only with
i) , corresponding to the persons in the cycle that take him in less than the remaining tries to his name...