# 100 prisoners problem

The 100 prisoners problem is a mathematical problem in probability theory and combinatorics. In this problem, 100 numbered prisoners must find their own numbers in one of 100 drawers in order to survive. The rules state that each prisoner may open only 50 drawers and cannot communicate with other prisoners after the first prisoner enters to look in the drawers. At first glance, the situation appears hopeless, but a clever strategy offers the prisoners a realistic chance of survival.
Anna Gál and Peter Bro Miltersen first proposed the problem in 2003.

## Problem

The 100 prisoners problem has different renditions in the literature. The following version is by Philippe Flajolet and Robert Sedgewick:
    The director of a prison offers 100 death row prisoners, who are numbered from 1 to 100, a last chance. A room contains a cupboard with 100 drawers. The director randomly puts one prisoner's number in each closed drawer. The prisoners enter the room, one after another. Each prisoner may open and look into 50 drawers in any order. The drawers are closed again afterwards. If, during this search, every prisoner finds their number in one of the drawers, all prisoners are pardoned. If even one prisoner does not find their number, all prisoners die. Before the first prisoner enters the room, the prisoners may discuss strategy — but may not communicate once the first prisoner enters to look in the drawers. What is the prisoners' best strategy?
If every prisoner selects 50 drawers independently and randomly, the probability that a single prisoner finds their number is 50%. The probability that all prisoners find their numbers is the product of the single probabilities, which is (⁠1/2⁠)$^{100}$ ≈ 0.0000000000000000000000000000008, a vanishingly small number. The situation appears hopeless.

## Solution
### Strategy

Surprisingly, there is a strategy that provides a survival probability of more than 30%. The key to success is that the prisoners do not have to decide beforehand which drawers to open. Each prisoner can use the information gained from the contents of every drawer they already opened to decide which one to open next. Another important observation is that this way the success of one prisoner is not independent of the success of the other prisoners, because they all depend on the way the numbers are distributed.
To describe the strategy, not only the prisoners, but also the drawers, are numbered from 1 to 100; for example, row by row starting with the top left drawer. The strategy is now as follows:
* Each prisoner first opens the drawer labeled with their own number.
* If this drawer contains their number, they are done and were successful.
* Otherwise, the drawer contains the number of another prisoner, and they next open the drawer labeled with this number.
* The prisoner repeats steps 2 and 3 until they find their own number, or fail because the number is not found in the first fifty opened drawers.
If the prisoner could continue indefinitely this way, they would inevitably loop back to the drawer they started with, forming a permutation cycle (see below). By starting with their own number, the prisoner guarantees they are on the specific cycle of drawers containing their number. The only question is whether any cycle is longer than fifty drawers - and only one cycle can possibly be too long, since at most one can comprise more than half of the total drawers.

### Examples

The reason this is a promising strategy is illustrated with the following example using 8 prisoners and drawers, whereby each prisoner may open 4 drawers. The prison director has distributed the prisoners' numbers into the drawers in the following fashion:
    number of drawer  1 2 3 4 5 6 7 8  number of prisoner 74681352
The prisoners now act as follows:
* Prisoner 1 first opens drawer 1 and finds number 7. Then they open drawer 7 and find number 5. Then they open drawer 5, where they find their own number and are successful.
* Prisoner 2 opens drawers 2, 4, and 8 in this order. In the last drawer they find their own number, 2.
* Prisoner 3 opens drawers 3 and 6, where they find their own number.
* Prisoner 4 opens drawers 4, 8, and 2, where they find their own number. This is the same cycle that was encountered by prisoner 2 and will be encountered by prisoner 8. Each of these prisoners will find their own number in the third opened drawer.
* Prisoners 5 to 7 will also each find their numbers in a similar fashion.
In this case, all prisoners find their numbers. This is, however, not always the case. For example, the small change to the numbers of swapping drawers 5 and 8 would cause prisoner 1 to fail after opening 1, 7, 5, and 2 (and not finding their own number):
    number of drawer  1 2 3 4 5 6 7 8  number of prisoner 74682351
And in the following arrangement, prisoner 1 opens drawers 1, 3, 7, and 4, at which point they have to stop unsuccessfully:
    number of drawer  1 2 3 4 5 6 7 8  number of prisoner 31758642
Indeed, all prisoners except 6 (who succeeds directly) fail.

### Permutation representation

The prison director's assignment of prisoner numbers to drawers can mathematically be described as a permutation of the numbers 1 to 100. Such a permutation is a one-to-one mapping of the set of natural numbers from 1 to 100 to itself. A sequence of numbers which after repeated application of the permutation returns to the first number is called a cycle of the permutation. Every permutation can be decomposed into disjoint cycles, that is, cycles which have no common elements. The permutation of the first example above can be written in cycle notation as
    $(1~7~5)(2~4~8)(3~6)$
and thus consists of two cycles of length 3 and one cycle of length 2. The permutation of the third example is accordingly
    $(1~3~7~4~5~8~2)(6)$
and consists of a cycle of length 7 and a cycle of length 1. The cycle notation is not unique since a cycle of length $l$ can be written in $l$ different ways depending on the starting number of the cycle. During the opening of the drawers using the above strategy, each prisoner follows a single cycle which always ends with their own number. In the case of eight prisoners, this cycle-following strategy is successful if and only if the length of the longest cycle of the permutation is at most 4. If a permutation contains a cycle of length 5 or more, all prisoners whose numbers lie in such a cycle do not reach their own number after four steps.

### Probability of success

In the initial problem, the 100 prisoners are successful if the longest cycle of the permutation has a length of at most 50. Their survival probability is therefore equal to the probability that a random permutation of the numbers 1 to 100 contains no cycle of length greater than 50. This probability is determined in the following.
A permutation of the numbers 1 to 100 can contain at most one cycle of length $l>50$. There are exactly ${\tbinom {100}{l}}$ ways to select the numbers of such a cycle (see combination). Within this cycle, these numbers can be arranged in $(l-1)!$ ways since there are $l$ permutations to represent distinct cycles of length $l$ because of cyclic symmetry. The remaining numbers can be arranged in $(100-l)!$ ways. Therefore, the number of permutations of the numbers 1 to 100 with a cycle of length $l>50$ is equal to
    ${\binom {100}{l}}\cdot (l-1)!\cdot (100-l)!={\frac {100!}{l}}.$
The probability, that a (uniformly distributed) random permutation contains no cycle of length greater than 50 is calculated with the formula for single events and the formula for complementary events thus given by
    $1-{\frac {1}{100!}}\left({\frac {100!}{51}}+\ldots +{\frac {100!}{100}}\right)=1-\left({\frac {1}{51}}+\ldots +{\frac {1}{100}}\right)=1-(H_{100}-H_{50})\approx 0.31183,$
where $H_{n}$ is the $n$-th harmonic number. Therefore, using the cycle-following strategy the prisoners survive in a surprising 31% of cases.

### Asymptotics

If $2n$ instead of 100 prisoners are considered, where $n$ is an arbitrary natural number, the prisoners' survival probability with the cycle-following strategy is given by
    $1-(H_{2n}-H_{n})=1-(H_{2n}-\ln 2n)+(H_{n}-\ln n)-\ln 2.$
With the Euler–Mascheroni constant $\gamma$, for $n\to \infty$
    $\lim _{n\to \infty }(H_{n}-\ln n)=\gamma$
holds, which results in an asymptotic survival probability of
    $\lim _{n\to \infty }(1-H_{2n}+H_{n})=1-\gamma +\gamma -\ln 2=1-\ln 2\approx 0.30685.$
Since the sequence of probabilities is monotonically decreasing, the prisoners survive with the cycle-following strategy in more than 30% of cases independent of the number of prisoners.

### Optimality

In 2006, Eugene Curtin and Max Warshauer gave a proof for the optimality of the cycle-following strategy. The proof is based on an equivalence to a related problem in which all prisoners are allowed to be present in the room and observe the opening of the drawers. Mathematically, this equivalence is based on Foata's transition lemma, a one-to-one correspondence of the (canonical) cycle notation and the one-line notation of permutations. In the second problem, the survival probability is independent of the chosen strategy and equal to the survival probability in the original problem with the cycle-following strategy. Since an arbitrary strategy for the original problem can also be applied to the second problem, but cannot attain a higher survival probability there, the cycle-following strategy has to be optimal.

## History

The 100 prisoners problem was first considered in 2003 by Anna Gál and Peter Bro Miltersen in the proceedings of the 30. International Colloquium on Automata, Languages and Programming (ICALP). In their version, player A (the prison director) randomly colors strips of paper with the names of the players of team B (the prisoners) in red or blue and puts each strip into a different box. Some of the boxes may be empty (see below). Every player of team B must guess their color correctly after opening half of the boxes for their team to win. Initially, Gál and Miltersen assumed that the winning probability quickly tends to zero with increasing number of players. However, Sven Skyum, a colleague at Aarhus University, brought his attention to the cycle-following strategy for the case of this problem where there are no empty boxes. To find this strategy was left open as an exercise in the publication. The paper was honored with the best paper award.
In spring 2004, the problem appeared in Joe Buhler and Elwyn Berlekamp's puzzle column of the quarterly The Emissary of the Mathematical Sciences Research Institute. Thereby, the authors replaced boxes by ROMs and colored strips of paper by signed numbers. The authors noted that the winning probability can be increased also in the case where the team members don't find their own numbers. If the given answer is the product of all the signs found and if the length of the longest cycle is half the (even) number of players plus one, then the team members in this cycle either all guess wrong or all guess right. Even if this extension of the strategy offers a visible improvement for a small number of players, it becomes negligible when the number of players becomes large.
In the following years, the problem entered the mathematical literature, where it was shaped in further different ways, for example with cards on a table or wallets in lockers (locker puzzle). In the form of a prisoner problem it was posed in 2006 by Christoph Pöppe in the journal Spektrum der Wissenschaft and by Peter Winkler in the College Mathematics Journal. With slight alterations this form was adopted by Philippe Flajolet, Robert Sedgewick and Richard P. Stanley in their textbooks on combinatorics. The problem, or riddle, along with a detailed explanation of the solution, was featured by the channel Veritasium in a 2023 video on YouTube.

## Variants
### Empty boxes

At first, Gál and Miltersen considered in their paper the case that the number of boxes is twice the number of team members while half of the boxes are empty. This is a more difficult problem since empty boxes lead nowhere and thus the cycle-following strategy cannot be applied. It is an open problem whether in this case the winning probability tends to zero with growing number of team members.
In 2005, Navin Goyal and Michael Saks developed a strategy for team B based on the cycle-following strategy for a more general problem in which the fraction of empty boxes as well as the fraction of boxes each team member is allowed to open are variable. The winning probability still tends to zero in this case, but slower than suggested by Gál and Miltersen. If the number of team members and the fraction of boxes which are opened is fixed, the winning probability stays strictly larger than zero when more empty boxes are added.
David Avis and Anne Broadbent considered in 2009 a quantum theoretical variant in which team B wins with certainty.

### The malicious director

In case the prison director does not have to distribute the numbers into the drawers randomly, and realizes that the prisoners may apply the above-mentioned strategy and guesses the box numbering the prisoners will apply (such as numbers indicated on the boxes), they can foil the strategy. To this end, they just have to ensure that their assignment of prisoners' numbers to drawers constitutes a permutation with a cycle of length larger than 50. The prisoners in turn can counter this by agreeing among themselves on a specific random numbering of the drawers, provided that the director does not overhear this and does not bother to respond by replacing numbers in the boxes before the prisoners are let in.

### One prisoner may make one change

In the case that one prisoner may enter the room first, inspect all boxes, and then switch the contents of two boxes, all prisoners will survive. This is so since any cycle of length larger than 50 can be broken, so that it can be guaranteed that all cycles are of length at most 50.
For a sufficiently large number of prisoners $N$, they can ensure their escape by opening significantly fewer than half of the drawers. Specifically, each prisoner needs to open only $O\left(N{\frac {\log \log N}{\log N}}\right)$ drawers to secure the escape of all prisoners.

### Any prisoner who finds their number is free

In the variant where any prisoner who finds their number is free, the expected probability of an individual's survival given a random permutation is as follows:
Without strategy: ${\frac {1}{2}}$
With the strategy for the original problem: $(1-\ln(2))\cdot 1+\sum _{k=\lfloor n/2\rfloor +1}^{N}{\frac {1}{k}}\left(1-{\frac {k}{n}}\right)=1-\ln(2)+\sum _{\lfloor n/2\rfloor +1}^{N}{\frac {1}{k}}-\sum _{k=\lfloor n/2\rfloor +1}^{N}{\frac {1}{n}}=1-\ln(2)+\ln(2)-{\frac {1}{2}}={\frac {1}{2}}$
It is noteworthy that although we receive the same expected values, they are from very different distributions. With the second strategy, some prisoners are simply destined to die or live given a particular permutation, and with the first strategy (i.e., no strategy), there is "truly" a 1/2 chance for every permutation.

### Monty Hall problem

In 2009, Adam S. Landsberg proposed the following simpler variant of the 100 prisoners problem which is based on the well-known Monty Hall problem:
    Behind three closed doors a car, the car keys and a goat are randomly distributed. There are two players: the first player has to find the car, the second player the keys to the car. Only if both players are successful they may drive the car home. The first player enters the room and may consecutively open two of the three doors. If they are successful, the doors are closed again and the second player enters the room. The second player may also open two of the three doors, but they cannot communicate with the first player in any form. What is the winning probability if both players act optimally?
If the players select their doors randomly, the winning probability is only ⁠4/9⁠ (about 44%). The optimal strategy associates the first player and the car with the number 1, the second player and the keys with the number 2, and the goat with the number 3. The basic algorithm is thus:
* Player 1 first opens door 1. If the car is behind the door, the player is successful. If the keys were behind the door, the player next opens door 2; if instead the goat was behind the door, the player next opens door 3.
* Player 2 first opens door 2. If the keys are behind the door, the player is successful. If the goat was behind the door, the player next opens door 3; whereas if the car was behind the door, the player next opens door 1.
In the six possible distributions of car, keys and goat behind the three doors, the players open the following doors (in the green cases, the player was successful):
    Car − Keys − GoatCar − Goat − KeysKeys − Car − GoatKeys − Goat − CarGoat − Car − KeysGoat − Keys − Car Player 1 Door 1: Car Door 1: Car Door 1: Keys Door 2: Car Door 1: Keys Door 2: Goat Door 1: Goat Door 3: Keys Door 1: Goat Door 3: Car Player 2 Door 2: Keys Door 2: Goat Door 3: Keys Door 2: Car Door 1: Keys (Door 2: Goat) (Door 3: Car) (Door 2: Car) (Door 1: Goat) Door 2: Keys
The success of the strategy is based on building a correlation between the successes and failures of the two players. Here, the winning probability is ⁠2/3⁠, which is optimal since the first player cannot have a higher winning probability than that. In a further variant, three prizes are hidden behind the three doors and three players have to independently find their assigned prizes with two tries. In this case the winning probability is also ⁠2/3⁠ when the optimal strategy is employed.

### Odd number of tries

Instead of having to find their number within the first 50 tries, the test could be finding the number within the 50 odd-numbered tries, 1, 3, ..., 97, 99. Any individual prisoner has a 50% chance of finding their own number on an odd-numbered try. The main strategy will work for all the prisoners if the permutation of the prisoners contains only cycles of odd length. For 100 prisoners the probability that all will succeed using the main strategy is approximately 7.9589%, which is substantially better than the probability (1/2)$^{100}$ that would be obtained if each prisoner opened drawers independently at random.