欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个关于数学归纳法的悖论问题-续

程序员文章站 2022-07-14 19:13:29
...

上篇文章讲到一个悖论,这里解开悖论的什么面纱

上篇文章地址http://zhou-yuefei.iteye.com/blog/2220357

 

「游客没有输入任何新的信息」这个断言是错的。
N=1的情形不必说了,显然输入了新信息。

对于N>1的情形,要注意,游客必须是当着所有人的面公开做出宣告,如果他是私下分别对每个人说的,就不会起任何作用。「公开宣告」这一举动的意义不是让每个人都知道「岛上有红眼睛」,而是让每个人都知道「每个人都知道每个人都知道……每个人都知道岛上有红眼睛」。在游客公开宣告之前,岛上的人是不可能具有这个多阶知识的,这就是游客输入的新信息。

以N=2为例,公开宣告之后,红1立刻获得了一个新的2阶知识:「红2知道岛上有红眼睛」,在公开宣告之前,他没有能力判断这个2阶命题的真假,因为在这之前命题的真假依赖于红1自己的眼睛颜色。同样,红2也获得了新知识「红1知道岛上有红眼睛」。

N=3时,公开宣告使得红1立刻获得了一个新的3阶知识:「红2知道红3知道岛上有红眼睛」,在此之前,这个3阶命题的真假也是依赖于红1自己的眼睛颜色(红则为真,蓝则为假)。同样,红2和红3也获得了类似的知识。

N=4,5,6,...依此类推。

简单说,「岛上有红眼睛」这件事本来只是一项「共有知识」(Mutual knowledge),公开宣告使它变成了一项「公共知识」(Common knowledge)。这两种知识的区分在认知逻辑里面非常重要,在博弈论中有广泛的应用。

用不严谨的话粗略介绍一下这两个概念:对于一个给定的命题P和一群给定的人,共有知识只需要满足一个条件:这群人中所有人都知道P,那么P就是这群人的共有知识。
公共知识则需要满足以下所有条件:
这群人中
1、所有人都知道P;
2、所有人都知道所有人都知道P;
3、所有人都知道所有人都知道所有人都知道P;
4、所有人都知道所有人都知道所有人都知道所有人都知道P;
5、……
一直下去,直到无穷。要同时满足这无穷多个条件,才能说P是这群人的公共知识。

========
看到有些人还是不明白为什么公开宣告之前没有人自杀,为什么宣告之后就会自杀了,以及为什么要等到第N天才自杀。以下就用N=4为例来分析一下,希望能有助于理解(但也有可能让人绕得更晕)。
设4个红眼岛民分别为A, B, C, D,以下是A心中做出的推理:

我看到3个红眼,这可以划分成一共5种情况:
1、我是红的;
2、我是蓝的,且B自认为是红的;
3、我是蓝的,且B自认为是蓝的,且B认为C自认为是红的;
4、我是蓝的,且B自认为是蓝的,且B认为C自认为是蓝的,且B认为C认为D自认为是红的;
5、我是蓝的,且B自认为是蓝的,且B认为C自认为是蓝的,且B认为C认为D自认为是蓝的。

假如没有游客来公开宣告「岛上有红眼」,那么A永远无法判断上述哪一种是真的。由于岛上所有人都做出同样的推理(蓝眼岛民推出的情形多一种),所以每个人都无法判断自己眼睛的颜色,大家都不用去死。
而一旦公开宣告「岛上有红眼」,A立刻知道「B知道C知道D知道岛上有红眼」,因此可以立刻排除5;当晚没人死,因此第二天可排除4;第三天排除3;第四天排除2只剩下1,因此A在第四天晚上自杀。B, C, D也都做出完全一样的推理,所以也都在第四天晚上自杀。

====补充====
有人提到,这道题的一个必要前提是岛上的人要完全信任这个游客。这很对,但还不够。不仅每个人都要相信该游客,而且还必须每个人都知道每个人都知道……每个人都知道每个人都相信该游客。即「游客完全可信」这件事本身也必须是一个公共知识。只有这样,游客的宣告才会具备使共有知识转变为公共知识的力量。

====补充2====
从小到大,我们一次又一次地被旁人这样教训:「嘘,别说了,小心点。况且这种事谁不知道啊,还要你说?说出来又有什么用呢?你有力量改变它吗?」久而久之,我们越来越习惯于把「你懂的……」挂在嘴边,习惯于对房间里的大象视而不见,选择性遗忘了一个我们其实早就知道的重要事实:「大声说出来」跟「彼此心照不宣」有着决定性的区别。我们不是没有力量。一条恰当的宣言,哪怕它的内容只不过是「我知道」这么简简单单的一句话,也有可能引起整个社会的信念结构的根本改变,让许许多多人断然行动起来。这就是我们每一个人的力量。