Answer to Riddle #74: 100 Prisoners. 1 Lightbulb

74. There are 100 prisoners in solitary cells. There's a central living room with one light bulb; this bulb is initially off. No prisoner can see the light bulb from his or her own cell. Everyday, the warden picks a prisoner equally at random, and that prisoner visits the living room. While there, the prisoner can toggle the bulb if he or she wishes. Also, the prisoner has the option of asserting that all 100 prisoners have been to the living room by now. If this assertion is false, all 100 prisoners are shot. However, if it is indeed true, all prisoners are set free and inducted into MENSA, since the world could always use more smart people. Thus, the assertion should only be made if the prisoner is 100% certain of its validity. The prisoners are allowed to get together one night in the courtyard, to discuss a plan. What plan should they agree on, so that eventually, someone will make a correct assertion?

This puzzle is hard, and what's worse it's difficult to give clues to. I'm afraid I'm just going to have to tell you the answer:

prisoner behind a door with a lightBefore reading the answer can I interest you in a clue?

As usual there's no 'cheating' no passing notes. No writing on the wall. No shouting. The puzzle is pure logic. Let's hope they aren't the same 100 prisoners from the earlier puzzle with the hats.

So when the prisoners meet they agree the following.
  • One prisoner will be selected as the Captain, in charge of counting.
  • When a prisoner (other than the Captain,) enters the room he will turn the light on if and only if the light is off and he has never done so before.
  • When the Captain enters the room if the light is off he will leave it untouched. If the light is on he will turn it off and add one to his count.
  • When the Captain's count gets to 99 he will assert that all 100 prisoners have entered the room and they will all be released.
If you follow this procedure carefully it will work. But how long will it take?

Efficiency

The duration of the problem based on one prisoner a day being taken in to the room grows exponentially with the number of prisoners. (An actual correct use of the phrase 'grows exponentially') It's perfectly legitimate to ask if the solution is practical. You know like would they all be dead by the time it completed? Genuinely before I wrote the simulator I estimated around 30 years (swear to god.) I estimated 100x100 days, as in 100 days between people and 100 days to find them. The other number of interest is how many days it actually takes for all the prisoners to have entered the room if the counting method were perfect. Have a play, (in Firefox if you have the choice,) see what you think:

 Prisoners
 Time to Run milliseconds
 Continuous Output
  

A conclusion one might draw is that whilst the proposed solution does guarantee complete success it takes on average 10,400 days. Where as if you were just to wait to for what maybe 2000 days and go then.





© Nigel Coldwell 2004 -  – The questions on this site may be reproduced without further permission, I do not claim copyright over them. The answers are mine and may not be reproduced without my expressed prior consent. Please enquire using the link at the top of the page.
 


PayPal
I always think it's arrogant to add a donate button, but it has been requested. If I help you get a job though, you could buy me a pint! - nigel



This Website Uses Cookies

Mostly, but not entirely to remember if you have dismissed this very box. Also to increase the functionality of the site. The cookies I apply do not uniquely identify you, by continuing to use this site you agree to let me place a cookie. I also have advert and analytics providers, for more information click here here.x