蓝眼睛“悖论”:史上最吊诡的逻辑游戏

这是著名的数学家陶哲轩(Terence Tao)在自己的博客上最先贴出来的[1]。这个问题有很多版本[2],我选择了一个最适合我们讨论的版本。

某个岛上住着100个岛民,有40人是蓝眼睛,60人是红眼睛。他们全都虔诚地信奉一种神秘的宗教。这种宗教规定:不管谁以任何方式知道了自己眼睛的颜色,他就必须在第二天正午,当着所有岛民的面,在岛的广场中心自杀。

另外,还有下面几点事实:
(1)岛民能看到别人眼睛的颜色,但是禁止以任何方式谈论别人或自己眼睛的颜色;岛上也没有任何东西(比如镜子或者水面)能让他们看到自己眼睛的颜色。
(2)每个岛民都拥有完美的数学和逻辑能力(也就是说,他们数数不需要时间,用逻辑推出任何可能的结论也不需要时间)。
(3)所有人都虔诚地信奉这个宗教,而且所有人都知道所有人都虔诚地信奉。
(4)所有岛民都知道世界上只有两种颜色的眼睛,蓝和红;并且大家都知道岛上既有蓝眼睛,也有红眼睛。
(5)岛民并不知道一共有40个蓝眼睛和60个红眼睛,因为他不知道自己眼睛的颜色。但是他们知道其他所有人的眼睛的颜色。

  • 问题来了:
    突然有一天,一个外来人来到岛上,朝着所有人说了一句话:“这个岛上有蓝眼睛的人”,然后就离开了。
    问岛上接下来会发生什么?会有人自杀吗?如果有,什么时候?

答案 & 论证

这个问题之所以像“悖论”,是因为从两个不同的方面看,会得出不同的答案[1,3,4]

答案1:这个外来人说话之后,什么也不会发生。因为他说的那句话是所有岛民都已经知道的事实(题设4)。所以他说或者不说这句话,都不会改变岛上的任何情况。

答案2:40天之后的正午,所有的蓝眼睛岛民一起自杀,第41天正午,所有的红眼睛岛民一起自杀。

论证 答案2

  • 由题设可知,岛上不可能只有1个岛民是蓝眼睛。因为如果那样的话,这个人看到其他人都是红眼睛,就马上能猜出自己是蓝眼睛(因为所有人都知道岛上既有蓝眼睛也有红眼睛),就会自杀。
  • 如果岛上有2个蓝眼睛98个红眼睛呢?蓝眼睛A会想:“如果我是红眼睛,那么蓝眼睛B一定会在第一天正午自杀。”但是等到第一天正午,B并没有自杀,A就会马上意识到自己的假设错了,那么自己一定是蓝眼睛,那么A就会在第二天正午自杀。B跟A的想法是一样的,所以B也会在第二天正午自杀。
  • 如果岛上有3个蓝眼睛97个红眼睛呢?类似上面的推理,蓝眼睛C会想,如果自己是红眼睛,那么蓝眼睛A和B一定会在第二天正午自杀。但是等到第二天正午,A和B并没有自杀,那么C就会马上意识到自己是蓝眼睛。A、B跟C有着同样的想法,所以也同样会意识到自己是蓝眼睛。所以ABC三个人会在第三天正午自杀。
  • 这个逻辑推理可以一直进行下去。所以,如果岛上有k个蓝眼睛,那么他们会在第k天的正午一起自杀。剩下的红眼睛会在下一个正午自杀。



“悖论”

这两个不同的答案看起来都是合理的,所以像一个悖论。但我们一定是错过了什么东西,正确的逻辑推理不可能同时给出两个不同的答案?

事实上,只有答案2是正确的。为什么呢?

这牵涉到一个概念叫“公共知识”(common knowledge)。在一群人之中,如果每个人都知道某个事实P,那么可以称P为知识;如果每个人都知道每个人都知道这个事实P,才可以将P称为公共知识。

很多人都说[5,6,7],包括陶哲轩教授[1],这个问题之所以不是悖论,是因为答案1的论证是错误的。这个外来者的宣布使得“岛上有蓝眼睛”这件事从知识(大家都知道的事)变成了公共知识,即大家都知道大家知道。而从“知识”变到“公共知识”,这正是这个外来者的宣布所带来的改变。所以答案1的论证是错误的。

但是,我想说明的是:

公共知识并不是这个悖论的解释

如果我们在题设(4)中加上:大家都知道大家都知道岛上既有蓝眼睛,也有红眼睛。那么外来者的宣布确实并没有带来新信息,而且答案2的论证也同样正确。“悖论”还是产生了。


同步 & 离散

真正的解释应该是:

外来者的宣布触发了一个“同步钟”,使得所有岛民的逻辑推理同时重新开始了。

如果岛民从不同的时间点开始逻辑推理,答案2的论证是无法成立的。

设想这种情况,岛上有A、B两个蓝眼睛,C、D、E三个红眼睛,当外来者宣布有蓝眼睛之后,A马上就开始推理,但是B从第二天正午开始推理,并且A和B并不交流他们各自从什么时候开始推理。这种情况下,答案2的论证就不能成立,也就没有人会自杀。值得一提的是,如果A和B知道他们各自从什么时候开始推理,那么仍然可以采用类似答案2的论证。但是这种情况就相当于用已知的事实设置了一个“同步钟”。

(一个题外话。从“同步钟”可以推出题设所隐含的一个事实:至少有1个岛民开始信奉这个宗教的时间是与其它人不一样的。不然的话,在以往的时间里,岛民就都已经自杀了,这个逻辑游戏也就不存在了。)

使答案2的论证成立的另外一个必要条件是“推理的离散性”,这个条件由题设里面的“正午”所保证。因为岛民自杀的时间是在每天正午,所以推理是离散的。

试想,如果不是每天正午自杀,而是宣布之后,每隔12小时有一个可能自杀的窗口时间,那么对于这个问题,40个蓝眼睛会在12 * 40个小时之后全部自杀;
如果每隔1小时有一个窗口时间,那么40个蓝眼睛会在40个小时之后全部自杀;
如果每隔1秒钟有一个窗口时间,那么40个蓝眼睛会在40秒之后全部自杀;
以此类推。
所以,每隔时间t有一个窗口时间自杀的话,那么40个蓝眼睛会在40 * t之后全部自杀。

但是,t虽然可以很小很小,但是不能等于0。如果t = 0的话,是无法完成推理的。

试想上面ABCDE(AB是蓝眼睛,CDE是红眼睛)的情况。按照原来的逻辑,外来人宣布0秒钟后,如果A设想自己是红眼睛,那么他会觉得B会在0秒之后(即,立刻)自杀,但是显然B不会,所以A立刻会意识到自己的猜想不对,会觉得自己一定是蓝眼睛,所以立刻自杀。B看见A自杀了之后会觉得A是因为觉得自己是红眼睛而自杀的,所以B就不会自杀了。

因为这些事都是“立刻”发生的,所以我们可以把A、B的行为顺序倒过来,B会立刻自杀,而A不自杀。这样就得出了两个相反的结论,所以这个推理不可能是正确的。

综上,“同步钟”和“离散推理”是答案2的论证能成立的必要条件。


“离散”在推理中的重要性?

一想到逻辑操作,我会理所当然地觉得它是一步一步的,离散的。从来没有想过它如果是连续的会怎样,也没有很好的思想实验。但是这个“悖论”倒是提供了一个很好的思想实验,让我们意识到“离散性”在逻辑操作中的重要性。

如果一个函数在某点的值和它的极限值是相同的,我们说它是“可微的”,否则是“不可微的”。那么,正如这里t趋近于无穷小和t = 0会导致两个完全不同的结论,我们是不是可以说:逻辑操作是不可微的?

“逻辑”跟“离散”会不会还有更深层次的连接?


参考文献

[1] 陶哲轩教授的博客
https://terrytao.wordpress.com/2008/02/05/the-blue-eyed-islanders-puzzle/
[2] xkcd的版本
https://xkcd.com/blue_eyes.html
[3] xkcd的总结
https://www.explainxkcd.com/wiki/index.php/Blue_Eyes
[4] 知乎上关于该“悖论”的讨论
https://www.zhihu.com/question/21262930
[5] 关于“公共知识”的维基百科
https://en.wikipedia.org/wiki/Common_knowledge_(logic)
[6] 李永乐老师的关于该“悖论”的视频
https://www.youtube.com/watch?v=b7NZfkqFc6k
[7] 另外一个关于该“悖论”的讨论
https://liam.page/2019/07/27/the-paradox-of-red-eyes/


附:

还有一个看似悖论的地方[2,3],这是xkcd提出的问题:在第一天、第二天、第三天等等的正午,每天都没有人自杀,所以好像并没有新的信息出现,那么到底岛民们每天在等待的是什么呢?为什么40个蓝眼睛要等到第40天正午才自杀?

这个问题跟“同步”和“离散”无关,也不是一个悖论。我们通过下面的论证来让这个问题更清楚地呈现出来(其实仔细思考上文的论证,也能发现每天确实是有新信息的,只是不太容易看清楚而已)。

我们现在考虑一个简单的例子,有ABC三个蓝眼睛(用0表示蓝)和DEF三个红眼睛(用1表示红)。从外来者宣布的那一刻,A就会先想像出2个世界,一个世界中A自己是0,另一个世界中A自己是1;在A是0的世界中,B会想像出2个世界,其中一个B自己是0,另一个是1;在A=0,B=0的世界里C会想像他自己是0或者1;以此类推。所以,最终在A的脑子里实际上出现了2^6 = 64个假想的世界,全部列出来就是(第一个数字表示A的眼睛颜色,第二个数字表示B,以此类推),
000000,000001,000010,000011,000100,000101,000110,000111,
001000,001001,001010,001011,001100,001101,001110,001111,
010000,010001,010010,010011,010100,010101,010110,010111,
011000,011001,011010,011011,011100,011101,011110,011111,
100000,100001,100010,100011,100100,100101,100110,100111,
101000,101001,101010,101011,101100,101101,101110,101111,
110000,110001,110010,110011,110100,110101,110110,110111,
111000,111001,111010,111011,111100,111101,111110,111111
(实际上就是二进制数字从0到63。000000和111111不符合题设,所以划去了。)

推理开始之后,第一天正午没人自杀,A会意识到只有1个0或者1个1的世界是不合理的,将之划去,剩下:
000000000001000010,000011,000100,000101,000110,000111,
001000,001001,001010,001011,001100,001101,001110,001111,
010000,010001,010010,010011,010100,010101,010110,010111,
011000,011001,011010,011011,011100,011101,011110,011111
100000,100001,100010,100011,100100,100101,100110,100111,
101000,101001,101010,101011,101100,101101,101110,101111
110000,110001,110010,110011,110100,110101,110110,110111
111000,111001,111010,111011,111100,111101111110111111

第二天正午也没人自杀,A会意识到只有2个0或者2个1的世界是不合理的,将之划去,剩下:
000000000001000010000011000100000101000110,000111,
001000001001001010,001011,001100,001101,001110,001111
010000010001010010,010011,010100,010101,010110,010111
011000,011001,011010,011011,011100,011101011110011111
100000100001100010,100011,100100,100101,100110,100111
101000,101001,101010,101011,101100,101101101110101111
110000,110001,110010,110011,110100,110101110110110111
111000,111001111010111011111100111101111110111111

然后,将剩下的世界跟自己观察到的世界比较。自己观察到的世界是?00111,那么就只能发现000111是合理的了。所以就能判断自己一定是蓝眼睛0.

所以,每过一天没有人自杀,确实会得到新信息,这个新信息用来判断有些假想的世界是不合理的。


www.wuyichen.org/popular-science

推荐阅读更多精彩内容