Prison synchronization

Cosmin Negruseri
14 iulie 2012

I'm trying out an experiment. I'll write a few blog posts in English and I ask you to use English in the comments. Hope it goes well.

Here's a synchronization puzzle that's somewhat classic but very neat:

You are one of P recently arrested prisoners. The warden, a deranged computer scientist, makes the following announcement:
You may meet together today and plan a strategy, but after today you will be in isolated cells and have no communication with one another.
I have set up a “switch room” which contains a light switch, which is either on or off. The switch is not connected to anything.
Every now and then, I will select one prisoner at random to enter the “switch room.” This prisoner may throw the switch (from on to off, or vice-versa), or may leave the switch unchanged. Nobody else will ever enter this room.
Each prisoner will visit the switch room arbitrarily often. More precisely, for any N, eventually each of you will visit the switch room at least N times.
At any time, any of you may declare: “we have all visited the switch room at least once.” If the claim is correct, I will set you free. If the claim is incorrect, I will feed all of you to the crocodiles. Choose wisely!
* Devise a winning strategy when you know that the initial state of the switch is off.
* Devise a winning strategy when you do not know whether the initial state of the switch is on or off.

As always, if you've seen the puzzle before please don't spoil it.

remote content