|


Probability and the Prisoner ProblemDate: 07/04/2001 at 22:39:45 From: Nick Martin Subject: Probability and the "Prisoner Problem" Hi. This is a problem that was posed a few months ago at a lecture attended by a friend of mine. The lecturer didn't give the answer; she couldn't work it out and after putting our heads together with several others', we're still coming up empty. Maybe you can help. Sixteen prisoners are assembled and told the following: Each will receive a hat that is either red or blue (the colour is selected randomly and each has a 1/2 probability.) Then, all the prisoners must simultaneously either: - Try to guess the colour of their hats, or - Pass. The prisoners will be set free if - at least one person guesses, AND - nobody guesses wrong. Otherwise, they will be executed. The prisoners may consult beforehand to decide on a strategy, but they will be unable to communicate in any way after the hats are put on; and all must answer simultaneously. Apparently, there exists some strategy that will give the prisoners a probability of survival greater than 90%. We eventually discovered a solution for only three people: each person follows the following strategy: - If both of the other people have the same colour hat, guess the opposite colour. - If the other two people have different-coloured hats, pass. The prisoners will be set free unless they all wear the same colour hat (75%). Attempts to extend this further to more people, however, only lowered the probability, and the best we can do with sixteen people is still 75% (by having thirteen people all pass, and the other three simply follow the above strategy). I've also been told that the situation is "best" when there are (2^n-1) prisoners, but work on a 7-person solution went nowhere either. Help!
Date: 07/10/2001 at 13:18:35
From: Doctor Rick
Subject: Re: Probability and the "Prisoner Problem"
Hi, Nick, thanks for writing to Ask Dr. Math with a great problem!
This is an interesting problem! It is contrary to my (trained)
intuition that one can do any better than a 50% probability of
surviving. Given that the assignment of hat colors is completely
independent, a prisoner's knowledge of other prisoners' hat colors
cannot skew the probability of his own hat color away from 1 in 2.
Part of the solution must be to explain where my intuition went wrong.
I have played with the problem quite a bit in the past 6 days. I
haven't reached the end yet, but I have learned a lot. I wrote down my
thoughts along the way, so you can see my problem-solving technique,
as far as it goes.
Considering the scheme you present for 3 prisoners, which gives a 75%
probability of survival, we can get a hint as to how the odds can be
beaten. Here are the 8 cases, with the guesses each prisoner makes
("-" means pass):
R R R B B B (all wrong)
R R B - - B (correct)
R B R - B - (correct)
R B B R - - (correct)
B R R B - - (correct)
B R B - R - (correct)
B B R - - R (correct)
B B B R R R (all wrong)
We see that a total of 12 guesses are made, and in fact half of them
are wrong! There is nothing counterintuitive about the individual
guesses. What skews the probability of survival is that all the wrong
guesses are concentrated in only 1/4 of the possible states, while the
correct guesses are distributed evenly among the remaining states.
Let's consider whether we have any hope for a strategy along these
lines. What happens when we go to N prisoners? There are 2^N possible
states. If we want the wrong guesses to occur in 2^N/10 or fewer
states, then there can be at most N*2^N/5 guesses. This is because
there are at most N*2^N/10 guesses in the 2^N/10 states, and the
number of right guesses will equal the number of wrong guesses.
On the other hand, death also follows in a state for which *no* guess
is made. Thus we want at least one guess in each state. Thus we have
a lower limit on the number of guesses, namely (N+9)*2^N/10: the
N*2^N/10 wrong guesses, and one each in the (9/10)*2^N other states.
If the total number of guesses is G, then
(N+9)*2^N/10 < G < N*2^N/5
There will be numbers in this range if
N+9 < 2N
Thus, I conclude that, if my scenario for "beating the odds" is the
way to go, we can only possibly exceed 90% success if N > 9. Your 75%
success is pretty good for only 3 prisoners. And this gives me a
little hope that we may actually have a *better* chance the higher the
number of prisoners ... if we can come up with a strategy.
Let the number of cases in which wrong guesses are made be M. Then
each prisoner will make a guess in 2M states. M of these guesses will
be correct, and the other M states will differ only by the color of
the prisoner's own hat. The M states in which a prisoner makes a
correct guess will be different for each prisoner, so that there are
NM such states. The total number of states is thus NM+M, or M(N+1). We
know there are 2^N states, so that
2^N = M(N+1)
We cannot achieve equality in general. We must choose the smallest M
greater than 2^N/(N+1) so that all states are covered.
N 2^N/(N+1) M
------------------------------
3 8/4 2 (exact)
4 16/5 = 3.2 4
5 32/6 = 5.3 6
6 64/7 = 9.1 10
7 128/8 = 16 16 (exact)
8 256/9 = 28.4 29
...
15 32768/16 = 2048 2048 (exact)
16 65536/17 = 3855.1 3856
I'm feeling good about this - the values of N that yield exact matches
(so that we might actually have exactly one prisoner guess in each of
the NM correct states) are just those that the hint said were best!
Now perhaps we can try a particular case - the next "exact" case,
N = 7. We want to pick 16 out of the 2^7 = 128 "sacrificial" states,
in which all will guess wrong. Each of the other 112 states should
differ from one of the 16 in just one hat color. The 16 states must
differ from each other in two or more hat colors.
I'll start by picking RRRRRRR and BBBBBBB to be two of the 16. No
state with exactly one R or one B can then be among the 16. Let's try
states that are nearly evenly divided, having 3 or 4 Red hats. How
many of these are there? There are 7!/(3! 4!) = 35 states of each
type. That's too many.
Let's try a set of states that is closed under rotation among the
prisoners. Here's what I mean: If the prisoners stand in a circle and
their hats are in the set of 16, then if each gave his hat to the
prisoner to his left, the set would again be in the set.
RRRRRRR and BBBBBBB have this property themselves: if you rotate the
state RRRRRRR, you get RRRRRRR again. Any other state is part of a
closed set of 7 states, generated by rotating the state successively
6 times. Thus the closed set of 16 states that we need can be formed
of RRRRRRR, BBBBBBB, and two 7-member closed sets, such as:
RRRRRRR RRBBBBB BBRRRRR BBBBBBB
BRRBBBB RBBRRRR
BBRRBBB RRBBRRR
BBBRRBB RRRBBRR
BBBBRRB RRRRBBR
BBBBBRR RRRRRBB
RBBBBBR BRRRRRB
Since none of these states differs from another by only one hat color,
this set should work. All we need now is a set of rules such that each
prisoner will guess incorrectly in these states. These rules do the
trick:
If you see all the same color hat, guess the opposite color.
If you see only one hat of one color, guess the other color.
If you see two hats of the same color together and the rest the
other color, guess the same color as the two hats.
Take any one prisoner. If the hats are in any of the 12 states listed
above, he will guess incorrectly. For each of these states, there is
another in which he will make the same guess, but it will be correct;
and he will be the only one who guesses, so all will be freed. In the
12 states listed, all 7 prisoners will simultaneously guess wrong, so
they will be executed. The deadly states are 16/128 = 1/8 of the
states, so with 7 prisoners we have a probability of 7/8 = 87.5% that
the prisoners will be freed if they use my strategy.
We don't yet have a general strategy that will work with any number of
prisoners. Before thinking about "inexact" numbers, let's consider the
next "exact" number, N = 15. In this case, M = 2^15/16 = 2^11 = 2048.
We need to choose a set of 2048 states that is closed under rotation,
so that all 15 prisoners, using the same rules, will guess wrong in
these states.
This is where I bogged down. I tried endless approaches to identifying
subsets of hat states that total 2048, without complete success yet.
Here is one approach that came closest so far.
What I did with N = 7 was to take the states with 0 red or 0 blue
hats, and a subset of the states with 2 red or 2 blue hats. Let's take
a look at the numbers of states with K red hats:
0 1
1 15
2 105
3 455
4 1365
5 3003
6 5005
7 6435
8 6435
9 5005
10 3003
11 1365
12 455
13 105
14 15
15 1
-----
32768
Perhaps we can find a subset of the 3003 states with 5 red hats that
will come close in size to the 2048 we need. One way to create subsets
while maintaining the closure under rotation is to restrict the
pattern of adjacent red hats around the circle. For instance, we could
require 2 red hats together, and another 3 red hats together but not
adjacent to the two.
Place the 10 blue hats in a row, creating 11 sites (between the blue
hats and at the ends) where we can put a cluster of red hats. We find
the following numbers of states with the possible clustering patterns:
5 R together: P(11,1) = 11
4 + 1: P(11,2) = 110
3 + 2: P(11,2) = 110
3 + 1 + 1: P(11,3)/2 = 495
2 + 2 + 1: P(11,3)/2 = 495
2 + 1 + 1 + 1: P(11,4)/6 = 1320
1 + 1 + 1 + 1 + 1: C(11,5) = 462
----
3003
The total is correct, but the subsets need some tweaking. Some of our
states have a cluster of red hats at both ends, which (when the
prisoners form a circle) will become a single cluster. Thus, some
states must be moved up to another subset. We need to move two of the
4+1 states (those with 4 R's at the left and 1 at the right, and vice
versa) and two of the 3+2 states up to the 5-R subset, making the 15
states that we knew there should have been. Likewise, we must move
- two 3+1+1 states (3-1, 1-3) and one 2+2+1 state (2-2) to the
4+1 subset,
- a 3+1+1 state (1-1) and two 2+2+1 states (1-2, 2-1) to the
3+2 subset,
- two 2+1+1+1 states (2-1 and 1-2) to the 3+1+1 subset,
- one 2+1+1+1 state (1-1) to the 2+2+1 subset,
- and one 1+1+1+1+1 state to the 2+1+1+1 subset.
Our counts become
5 R together: 11 + 2 + 2 = 15
4 + 1: 110 - 2 + 3 = 111
3 + 2: 110 - 2 + 3 = 111
3 + 1 + 1: 495 - 3 + 2 = 494
2 + 2 + 1: 495 - 3 + 1 = 493
2 + 1 + 1 + 1: 1320 - 3 + 1 = 1318
1 + 1 + 1 + 1 + 1: 462 - 1 = 461
----
3003
We can do the same analysis on the sets with other numbers of red hats
if necessary. Then we look for a small number of subsets whose counts
add to 2048. One solution is
4 red hats 1365
5 R, none together 461
5 R, in two clusters 222 (3+2 or 4+1)
----
2048
To generate this set of "sacrificial" states, we can write the first
rule for those who have a blue hat:
If you see 4 red hats, or 5 red hats with no two neighbors having
red hats, or 5 red hats in two clusters, then guess that you have a
red hat.
This guess will be wrong if it is one of the "sacrificial" states
listed above. A prisoner who is wearing a red hat must also make a
guess. What rule will achieve this?
If you see 3 red hats, or 4 red hats that (supposing that you also
have a red hat) are all separated by blue hats, or 4 red hats all in
a group (not including your neighbors), or 4 red hats in two groups
(one of which may include one or both neighbors), then guess that
you have a blue hat.
What a mess! There must be a better way - can you find one?
Before I end this report, let's think a bit about solutions when N is
not one less than a power of 2. You came up with a method for these
cases: the prisoners select 2^K-1 of their number to do the guessing,
based on the hats they see on the others of this same set, while the
other N-(2^K-1) prisoners sit it out. Using this method, 16 to 30
prisoners have the same probability of freedom as 15 prisoners, namely
1/16. Is this the best that can be done? Going back to my early
calculations, I found that for N = 16, the optimal number of
"sacrificial" states M is 3856. The optimal probability is thus
3856/65536 = 0.058838 = 1/16.996. We should be able to do a little
better than 1/16. Still, we've done significantly better than 90%
success, even with the less-than-optimal solution.
I'd like to close this out by finding a really good solution to the
puzzle. If you can come up with one, please write back and let us
know. Also, the contents of the lecture in which this puzzle was
presented might provide a clue to the solution, so perhaps you could
let me know more about it.
- Doctor Rick, The Math Forum
http://mathforum.org/dr.math/
Date: 07/12/2001 at 09:34:38 From: Doctor Rick Subject: Re: Probability and the "Prisoner Problem" Hi again, Nick. I have more to report on your "Prisoner Problem." Another Math Doctor, finding the problem intriguing, searched the Web to see if it was a hot topic in the math community. Indeed it is! It even made the New York Times science section on April 10, 2001. Here is an article by Todd Ebert of the University of California at Irvine, who says he invented the puzzle. The Colored Hats Puzzle http://www.ics.uci.edu/~ebert/teaching/spring2001/ics151/puzzles.html As it turns out, in order to come up with a truly satisfying and general solution to the problem on my own, I would have had to reinvent a mathematical concept called the Hamming code. This is a technique used to encode data (being transmitted from a space probe to earth, for example) in such a way that an error in a single bit out of N bits can be detected and corrected automatically. Here is an explanation of how a Hamming code works. Error Correction and the Hamming Code (University of New Brunswick) http://www.ee.unb.ca/tervo/ee4253/hamming.htm This page details the (7,4) Hamming code, which uses 7 bits to encode 4 data bits. The other 3 bits are used to determine whether the 7 bits were transmitted correctly, or if not, which of the 7 bits is in error. (If more than one bit is in error, the code will not be corrected correctly.) Out of the 128 possible 7-bit codewords, 16 are valid. Sound familiar? When there are 7 prisoners, the winning strategy is to guess one's hat color such that the hats on all the prisoners' hats (letting red be a 0 bit and blue be a 1 bit) represent a Hamming code with an error. Then if the hats represent a valid Hamming code, all will guess wrong; but if not, then the prisoner corresponding to the erroneous bit will guess correctly. The rule for 7 prisoners thus is (see the link for more details): Put the prisoners in a pre-determined order, 1 to 7. Assume that you have a red hat, and generate a 3-bit binary number as follows: The ones bit is 1 if among prisoners 1, 3, 5, and 7 there is an odd number of blue hats (1). The 2s bits is 1 if among prisoners 2, 3, 6, and 7 there is an odd number of blue hats. The 4s bit is 1 if among prisoners 4, 5, 6, and 7 there is an odd number of blue hats. Generate a second 3-bit number using the same rules but assuming that you have a blue hat. Then look at the two numbers. If neither is zero, PASS. IF one is zero, then that is the valid Hamming code. You want to guess that the code has an error, so guess the hat color that led to the non-zero number. This rule looks much more complicated than my rule for 7 prisoners! The great thing about it is that it is extensible to any number of prisoners of the form 2^k-1. The numbers you generate will have k bits in general. Here are the 16 valid (7,4) Hamming codes -- the hat patterns for which all prisoners guess incorrectly: 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 The bits are numbered 1-7 left to right. The valid codes have an even number of 1's (0 parity) in each of the three groups of bits listed in the rule. The incorrectly guessed codes in my solution, for comparison, look like this: 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 I believe this solution is equally valid; the problem with it is that it is not extensible. It gave me no clue as to how to deal with 15 prisoners. This certainly is a fascinating problem. It starts out looking paradoxical: how can the prisoners possibly do better than 50-50? It ends up teaching us something about a very practical application of mathematics in this information age: error-correcting codes. I hope you will explore this field further! For one thing, I have not touched the question of how to handle the 16 prisoners in your version of the problem. I have ideas, but I'll leave it to you. - Doctor Rick, The Math Forum http://mathforum.org/dr.math/ |
Search the Dr. Math Library: |
[Privacy Policy] [Terms of Use]


Ask Dr. MathTM
© 1994-2008 The Math Forum
http://mathforum.org/dr.math/