博弈推理村庄里德大屠杀
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
博弈推理村庄里德大屠杀
在一个偏僻的山里,有一个村庄。
这里是女人掌权,女人对一切事务说了算。
村里有100对夫妇。
在这个村里已经形成了约定俗成的规定。
如果女人发现自己的丈夫对自己不忠的话,就会毫不犹豫地将他杀死,而且就在当天执行。
当然,她必须有确切的证据来证明她丈夫不忠。
由于这个因素,某个女人发现某个男人不忠,她不会将之告诉那个不忠男人的妻子。
但是,她会告诉其他人的妻子,并且女人们会相互传递这一信息,因此最后,一个男人不忠,除了其妻子不知道外,其他女人都知道。
而事实上是,村子里的这100对夫妇的男人都不忠,但由于女人不会将她知道的事实告诉不忠男人的妻子,每个女人都不知道自己的男人不忠。
因此,该村子一直很稳定,而没有发生妻子杀死丈夫的行为。
村子里有一个辈份很高的老太太,她德高望重,诚实可敬。
每个人都向她汇报村里的情况,因此她对村里的情况了如指掌,她知道每个男人都不忠,当然,其他女人不知道她所知道的。
一天,这位老人对这100个女人说了一句很平常的话:"你们的男人当中至少有一个是不忠的。
"于是,村里发生了这样一个事情:前99天,村里风平浪静,但到了第100天,村里发生了一场大屠杀,所有的女人都杀死了她们的丈夫。
故事就是这样的。
为什么会这样?
公共知识与行动均衡的打破这是一个推理和行动的过程。
如果她的丈夫不忠的话,她就杀死他;如果没有证据证明她的丈夫不忠的话,她便相信他,不杀死他。
这是女人的策略。
在老太太作了宣布之后的第一天,如果村里只有一个男人是不忠的话,这个男人的妻子在老太太宣布之后就能知道。
因为,她会作这样一个推理:如果其他男人不忠的话,她应当事先知道,既然不知道并且至少有一个男人不忠,那么这个不忠的男人肯定就是她的丈夫。
因此,村里如果只有一个男人不忠的话,老太太宣布之后,当天这个男人就会被杀死。
如果村里有两个男人不忠,那么,这两个男人的妻子第一天都不会怀疑到自己的丈夫,因为她知道另外一个女人的丈夫不忠。
但是当第一天过后她没有发现那个不忠诚的男人被杀死,那么她会想,肯定有两个男人是不忠的,否则她知道的那个不忠的男人会被他的妻子当天杀死的。
既然有两个男人不忠,但这两个不忠的男人的妻子想,她只知道一个,那么另一个不忠的男人肯定是她的丈夫!…
事实上这个村子里的100个男人不忠,那么,这样推理会继续到99天,就是说,前99天每个女人都没怀疑到自己的丈夫,而当第100天的时候,每个女人都确定地推理出她的丈夫不忠,于是村子里便发生了一场大屠杀,所有的男人都被他们的妻子杀死。
这里,在老太太宣布"至少一个男人是不忠的"这样一个事实时,每个女人其实都知道这个事实(村子里的规则她们也知道),老太太对这个事实的宣布似乎并没有增加这些女人的知识--关于村里男人不忠行为的知识。
但为什么老太太的宣布使得村里的女人产生了对她们丈夫的屠杀行为呢?这是因为,老太太的宣布使得这个群体里的女人的知识结构发生了变化,本来"至少一个男人是不忠的"对每个女人都是知识,但不是公共知识,而老太太的宣布使得这个事实成为公共知识。
所谓公共知识是指,一群体的每个人不仅知道这个事实,而且每个人知道该群体的其他人知道这个事实,并且其他人也知道其他的每个人都知道这个事实…这涉及一个无穷的知道过程。
在上述例子中,老太太未宣布之前,对村子里的女人来说,"至少一个男人是不忠的"不是一个公共知识。
设想一下,假定共有3个女人A、B、C,那么在未宣布之前,A想:由于自己不知道自己的丈夫不忠,其他两个女人B、C也同样不知道,那么A想B不知道C是否知道"至少有一个男人是不忠的"。
而当老
太太宣布了"至少一个男人是不忠的"之后,"至少一个男人是不忠的"便成了A、B、C之间的公共知识。
在这个100人组成的小村里,老太太的宣布使得"至少一个男人是不忠的"
成了公共知识。
于是,推理与行动便开始了。
这是大屠杀的原因!
--
其实对于这个推理过程,我是这样解释的:
1、仅有一对夫妇A时,老太太宣布"至少一个男人是不忠的"后,女人A肯定知道她男人不忠,第一天就会杀掉男人。
2、有两对夫妇A和B时,我们可以模拟女人A的推理,对她来说一共有两种可能,一是她男人忠诚,二是她男人不忠,因为她不知道自己男人的情况,
所以她只能假设自己男人忠诚。
那么在她男人忠诚的前提下,女人B知道女人
A男人忠诚,而她又知道"至少一个男人是不忠的",所以她肯定明白自己男人
不忠,并在第一天杀掉自己的男人。
这样对于女人A来说,如果女人B不在第
一天杀死自己的男人,那只能说明她自己的假设不成立,即她的男人不忠,所
以她会在第二天杀死自己的男人。
同样女人B也会有同样的推理,并在第二天
杀死自己的男人。
3、当有三对夫妇A、B、C时,模拟女人A的推理,同样的对她来说一共有两种可能,一是她男人忠诚,二是她男人不忠,因为她不知道自己男人的情况,所以她只能假设自己男人忠诚,这样她就会思考两外几个女人的推理。
那么在
女人A男人忠诚的前提下,女人B也会假设自己男人忠诚,所以女人C在第一
天不杀死自己的丈夫只能说明女人B男人不忠,那么女人B肯定会在第二天杀
死自己的男人。
如果女人B在第二天不杀死自己的男人,只能说明女人A自己
的假设不成立,这样女人A就会在第三天杀死自己的男人。
同样的女人B和C
也会做同样的推理,并在第三天杀死自己的男人。
4、从前面几步可以看出来,如果有N对夫妇,每个女人都只能假设自己的男人忠诚,这样她就会以这个前提去模拟剩余N-1女人的推理。
如果在N-1天
没有女人杀死自己的男人,只能说明她自己的假设不成立,这样她就会在第N
天杀死自己的男人。
所有的女人一个推理方式,第N天就会发生大屠杀~~。
当然,整个推理的前提是所有女人都知道其他所有男人不忠,不知道自己男人不忠,这在故事当中是成立的。
整个推理过程就像一个编程当中常用的递归算法,函数F就是在故事中的前提下,N对夫妇情况下第N天发生屠杀。
要想判断自己男人忠诚与否,女人会调用函数F来判断,判断的依据就是在剩余夫妇数的那一天其他女人会杀死自己的男人,如果这个事没有发生,那自然那个女人的丈夫不忠诚了。