You are the ruler of a medieval empire and you are about to have a celebration tomorrow. The celebration is the most important party you have ever hosted. You've got 1000 bottles of wine you were planning to open for the celebration, but you find out that one of them is poisoned.
The poison exhibits no symptoms until death. Death occurs within ten to twenty hours after consuming even the minutest amount of poison.
You have thousands of prisoners at your disposal and just under 24 hours to determine which single bottle is poisoned.
What is the smallest number of prisoners you must have to drink from the bottles to be absolutely sure to find the poisoned bottle within 24 hours?
.....
The answer is 10.
Even if time is a constraint, the solution is 10. The explanation is given below. The trick is 10 bits are enough to represent 1024 numbers. so label the wine bottles as 1...1000. and number the prisoners also as 1...10 so that
bit 0 ---corresponds to prisoner 1
bit 1 --- corresponds to prisoner 2.
;
;
bit 9 --- corresponds to prisoner 10
Number the people 1 through 10. The first bottle of wine is assigned to no one. The first bottle will be drunk by the first person. The second person will drink the second bottle. The third bottle will be drunk by both the first and the second person. The fourth bottle will be drunk by the third person. The fifth bottle will be drunk by the third person and the first person. The sixth bottle will be drunk by the third person and the second person. The seventh bottle will be drunk by all three people, etc... That way if only the first and third people die, then you know it was the fifth bottle. With ten people there are 1024 unique combinations so you could test up to 1024 bottles of wine.
Each of the ten prisoners will taste from about 500 bottles and will have at least a fifty percent chance of living.
No, they wont die of alcohol poisoning. As long as each prisoner is administered about a millilitre from each bottle, they will only consume the equivalent of about one bottle of wine each.
It helps to understand binary numbers. Google it. Another way to picture this is to use a tree diagram, where each level of branching represents another person drinking a unique set of half of the bottles.
No comments:
Post a Comment