故事
假如你是最近被捕的P个囚犯之一。监狱长是个疯狂的计算机科学家,他给出如下告示:
1、你们今天可以在一起商定一个策略,但是从今天之后,你们将会被隔开,关在不同的房间,互相间无法再进行交流。
2、我们已经建造了一种“开关房间”,里面有一个灯开关,这个开关只能为开或关,且没有和任何东西相连(仅仅是个开关)。
3、我将不时地从你们中间随机选择一个到“开关房间”里来。这名囚犯可以拨动开关(从开到关,或者相反),也可以保持开关的状态不变。其他人这时都不能进入房间。
4、每一名囚犯都能任意多次进入开关房间。
5、任何时刻,任意一名囚犯都可以宣布:“我们所有的人都已经至少到过开关房间一次了”。如果该断言是对的,我将释放你们。如果错了,我就把你们全部送去喂鳄鱼。谨慎选择吧!
问题
1、在开关的初始状态为关的情况下,设计一个可以成功取胜的策略。
2、在不知道开关初始状态的情况下,设计一个可以成功取胜的策略。
答案
1、P个囚犯做如下商定:选取一个人A(记忆力好的);除A外的其他P-1个囚犯,第一次看到开关为“关”时将其打开,以后不再操作开关;囚犯A看到开关是“开”时将其关闭,并计数一次,当计数达到P-1时,可以断言“所有囚犯都至少一次到过开关房间”。
2、和上一题类似,当计数达到P时,断言。