设万维读者为首页 广告服务 联系我们 关于万维
简体 繁体 手机版
首页 新闻 视频 博客 论坛 分类广告 购物
版主:阿飞的剑
万维读者网 > 茗香茶语 > 帖子
定理:囚徒放风问题的正解
送交者: 定理 2009年12月10日22:11:32 于 [茗香茶语] 发送悄悄话


有100个无期徒刑囚徒,被关在100个独立的小房间,互相无法通信。每天会有一个囚徒被随机地抽出来放风,随机就是说可能被抽到多次。放风的地方有一盏灯,囚徒可以打开或者关上,除囚徒外,没有别人会去动这个灯。每个人除非出来防风,是看不到这个灯的。


一天,全体囚徒大会,国王大赦,给大家一个机会:如果某一天,某个囚徒能够明确表示,所有的囚徒都已经被放过风了,而且的确如此,那么所有囚徒释放;如果仍有囚徒未被放过风,那么所有的囚徒一起处死!


囚徒大会后给大家20分钟时间讨论, 如果你是其中的一员,应怎样利用这20分钟的时间来制定一个切实可行的办法呢?


如果说是某一个囚犯一直无法抽到出去放风,那他们就确实无法出去了。不需要考虑这样的可能哦。


这题确实比较难。补充一下:不要去考虑什么犯人突然死亡的意外因素。是纯粹的理论题。


---------


这问题有趣之处:一、它的灯只能提供或开或关两个可能的信号,二、任何解法都不能容许犯错的可能(出错则被杀,被杀的得益=负无穷)。只要抽掉其中一点,这问题就没劲了。


之所以有点难,是因为一般人不习惯从别人的所知或未知来作推理。


我的解法:


假定灯的初始态是关。

囚徒开会时约定:

1。每人 在第一次轮到自己放风时,改变灯的状态(进去时,灯若开则关,灯若关则开);

2。每人 在第2次第3次...第N次轮到自己放风时,都 不 改变灯的状态。


这就行了!


为甚么?


举个最简单的例子:总共只有三个囚犯。想像如下情形:已有两个不同的囚犯放过了风,第三个(原来没放过风的)囚犯也抽中去放风。他进去时,灯的状态必然是‘关’。因为他自知他不是第一个轮到放风的,所以他知道这灯状态已被动过,而它现在回到了初始态‘关’,证明先他而来的是两个不同的囚犯,于是他推知 连他在内,所有三人都放过风了。


每过3天(4天或一周皆可),以上情形出现的概率 大于零。于是以上情形出现的概率 随着日久天长和各囚徒的万寿无疆,无穷逼近百分之百。老帮菜们耳熟能详的‘英特纳雄耐耳,就一定要实现’,大概就是这个意思吧。


当囚犯总数大于3时,解法也一样,只是要等长点时间。宣告‘所有的囚徒都已经被放过风了’的重担,落在第三个放风者 和 任何后来的进去看见灯是关着的放风者 身上。每个这样的囚徒都记着自己 ‘不连续地 放风 并且 看见‘灯关’’ 的次数,只要这次数达到N-2,那么他就能宣告:已有至少N个不同的囚犯放过风了。

0%(0)
标 题 (必选项):
内 容 (选填项):
实用资讯
回国机票$360起 | 商务舱省$200 | 全球最佳航空公司出炉:海航获五星
海外华人福利!在线看陈建斌《三叉戟》热血归回 豪情筑梦 高清免费看 无地区限制