红蓝眼睛岛民问题思考
Halberd Cease

Question

一个岛上有 位红眼睛的岛民和 位蓝眼睛的岛民(这里的 ),他们信仰一种奇怪的宗教,教义如下:

  1. 不得和岛上其他人交谈眼睛的颜色。
  2. 如果可以通过推理等方式确定自己眼睛的颜色,就一定会在当天夜里自杀。

所有居民都绝对信仰其宗教,同时绝对聪明,岛上没有任何可以获取自己眼睛颜色的途径。

一个外地人来到岛上,在获取了所有人的信任过后,对所有人说了一句话:

你们岛上有红眼睛的人。

请问接下来会发生什么?

Answer

假设外地人说话的时间是第 天白天,那么在第 天晚上,所有的红眼睛的人都会自杀,第 天晚上,所有蓝眼睛的人都会自杀。

Analysis

这道题的答案有几种证明方法,这里笔者选择两种做简要说明。

数学归纳法

不懂什么是数学归纳法的,可以按照下面的说法简要理解:

数学归纳法要证明的是一个命题。

证明方法如下所述:

假设这个命题如果在 时成立,证明其在 时一定成立。

证明命题在 时成立,可以推导出在 为任意自然数时成立。

形象解释为:你知道一张骨牌倒下,会使另一张在其后面的骨牌倒下,这时第一张骨牌倒下,那么所有的骨牌都会倒下。

摘自:数学归纳法 - 维基百科,自由的百科全书 (wikipedia.org),有修改。

对于这道题,我们要证明的命题是:

如果岛上有 个红眼睛的岛民,那他们会在第 天晚上集体自杀。

我们假设有 个红眼睛岛民,我们分析一个红眼睛岛民 A 的视角,当前时间是第 天。

A 可以看见 个红眼睛岛民,如果只有 个红眼睛岛民,那么他们会在今天晚上自杀。

因为实际上有 个红眼睛岛民,所以当天晚上不会有人自杀。

天,A 发现没有人自杀,那么红眼睛岛民人数一定不是 ,所以自己一定是红眼睛的,于是在当天(第 天)晚上自杀。

对于其他的红眼睛岛民,推理过程一样,都会在 天自杀。

当前证明了:如果在 时命题成立,那么在 时命题一样成立。

然后考虑 的情况,如果只有一个红眼睛的人,那这个人一定看不到任何红眼睛的人,但是外地人说了有红眼睛的人,那么红眼睛的人一定是自己,于是在第一天晚上自杀。

然后整个命题得证,答案的后半部分也好证,在第 天,蓝眼睛的人看见所有红眼睛的自杀了,就知道仅有 个红眼睛的人,而其能看到 个红眼睛的人,所以自己一定是蓝眼睛的人,在当天(第 天晚上自杀)。

干推法

这种方法比较奇怪,而且比较绕,我们画图来解释一下:

还是假设有 个红眼岛民,以红眼岛民 A 的视角进行叙述,同时记红眼岛民的名字为 ,其中 A 为

首先 A 不知道自己眼睛的颜色,于是在其视角中就有 种情况,分别为:

  • 自己如果是蓝眼睛;
  • 自己如果是红眼睛。

知道自己的眼睛颜色,如当是将其中一种假设产生的推论否决掉。

然后我们现在来推推论。

注意:推论全部建立在岛民 A 的视角中,在深入的过程中,可以建立在“岛民 A 视角中岛民 的视角中”这种奇怪的嵌套关系,这也是这一种证法比较恼的一点之一。

我们考虑构建推理树,这棵推理树每一个节点有两个分支(即自己的眼睛颜色是红色或者蓝色),如果一个分支成立,那么另一个必然不成立(一个人不可能同时拥有两种眼睛颜色),或者实际上根本不会有这个节点(其两支都不成立,那么一定是其父节点无法成立,导致这个推理分支本身错误)。

参考上面的例子,如果 A 假设自己是蓝眼睛,那么 就会看到 个红眼睛(实际上 可以看见 个红眼睛,但是这是 A 的视角,且现在是 A 假设自己是蓝眼睛的情况,所以,在推理树中,情况会和现实中有不同)。

在 A 的视角中, 也会进行推理,也会假设自己是蓝眼睛和红眼睛,我们继续往下推:

(这里的 不能视作真正的 ,也不能视作 A 眼中的 ,而应该视作“认为自己是蓝眼睛的 A”眼中“认为自己是蓝眼睛的 ”眼中的 ,这一切都建立在每一个人不知道自己眼睛是什么颜色上。)

这样每次都说这么长很麻烦,我们记 表示:在“认为自己是蓝眼睛的 A”眼中“认为自己是蓝眼睛的 ”眼中认为自己……眼中的

如果在每一层的推理中,如果前 个红眼睛岛民都假设自己是蓝眼睛,那么 将看不见红眼睛。

这时,外地人过来说了这句话。

根据推论 会在第一天晚上自杀(因为看不见红眼睛,但是确实有,所以一定是自己),但显然,真正的 不会自杀,所以到第二天, 会发现,其没有自杀,参考下面的图,在一条分支不成立之后,就只可能第二条分支成立。

所以在 眼中, 知道自己是红眼睛,但是第二天晚上,他没有自杀,因此,我们可以确定,第三天时 知道了, 不知道自己眼睛的颜色(推不出来),但是如果自己的眼睛是蓝色的,那么他一定可以推出来(参考上面的图),那么仅剩下一种可能,就是自己()的眼睛颜色不是蓝色而是红色。

像这样一直推下去(或者说推上去),当 A 知道 依然不知道自己眼睛颜色后,那么整个自己是蓝色眼睛这种可能就被否定完全了,只剩下自己是红色眼睛这种可能,于是,A 就会在当晚自杀。

要注意的是,这个 A 并不是个例,每一个红眼睛的人都可以看作 A,其推理过程都是一样的,所以所有红眼睛的人都会在同一天晚上自杀。

再来回应一下刚刚证明过程中不清晰的地方:

  • Q:为什么我们能确定第一天 不会自杀,或者第二天 不会?
  • A:要区分“想象中”和“实际上”两个概念, 是想象中的,而实际上的 像 A 一样,也在脑子里面进行这种推理,其的推理树并没有完全解决,像我们在推理 A 的时候,其推理树实在第 天,才把自己是蓝眼睛这种可能完全否定掉的, 也一样,所以 不会自杀,在一群人脑子里面想出来的 也不会自杀。

然后蓝眼睛的人自杀的推理就和数学归纳法中的推理差不多了,你也可以理解为蓝眼睛的人同样有推理树,但是由于其能看到的红眼睛人数比红眼睛的人可以看到的多一个,所以在红眼睛人集体自杀的第二天早上,蓝眼睛的人所发现的,可以理解为上面推理树中 确实死了,所以自己肯定就是蓝眼睛。

Another question

  1. 时,岛上所有人都知道岛上的人有红眼睛的岛民,那么外地人来说,不就相当于说了一句 P 话?如果确实不是 P 话,那这句话到底带来了什么信息?

Analysis

我们先从 的情况来看,对于唯一一个红眼睛的人来说,这简直就是天大的消息,我看不到红眼睛,但是岛上确实有,那我就一定是了。于是当天晚上自杀。

接下来,考虑 的情况,在其构建的推理树中,一定会有一个 是唯一的红眼睛的存在,外地人说的话,就是为了给他们一个机会,验证 的眼睛颜色,从而一步一步去推理,推翻推理树的一支,从而确定自己的眼睛颜色。

所以外地人的话到底带来了什么信息?

如果你从现实角度来看,确实没有带来什么信息,但是从上文所说的 A 的角度去分析,其想象中的 的存在性,以及眼睛颜色就像 的情况一样,可以验证了。

为什么 的存在会被推翻?

在想象中的推理树中, 应该是看不到任何一个红眼睛的,但是外地人说的话,和其看到的相冲突,或者说,能使 的情况确定下来(一定是红眼睛)。

对于“岛上有红眼睛的岛民”这个信息,事实上每一个人都知道,但是每个人可能不知道别人知不知道(这是 的情况),或者不知道别人眼中的别人是否知道(这是 的情况),以此类推,而外地人所说的,让所有人都知道,每个人都一定知道这个信息

Additional knowledge

共有知识

Definition:所有人都知道的知识。

举例:在 时,岛上有红眼岛民是一个共有知识。

显然,每个人都能看见至少一个红眼睛的岛民,所以这是一个共有知识。

公共知识

Definition:所有人都知道的知识,并且所有人都知道其他人都知道,所有人都知道“所有人知道其他人知道”……(这是一个无穷递归的过程)。

举例:在外地人说了岛上有红眼岛民的时候,岛上有红眼岛民就成为了一个公共知识。

外地人是当着所有人的面说的,所以所有人都知道,其他人一定知道这条消息。

另一个例子是:每天晚上有或没有人会自杀,第二天所有人就会知道,并且知道其他人也知道,这也是一个共有知识。

Difference

两个知识种类的区别是,公共知识比共有知识多一条信息:每个人都知道别人也知道这条信息,以及其无限递归的过程。

在外地人没有来岛上之前,岛上有红眼睛的人是是一个共有知识,而不是公共知识,所以推理树中 “ 看不见红眼睛”的存在,是有可能,并且不能通过推理否定的(参考 时,那个唯一的红眼睛看不见其他人有红眼睛,但其无法确定自己的眼睛颜色),在推理树下放的过程中, 能看见的红眼睛数量是不断减少的,到了 ,他就看不见红眼睛的人了,因此其并没有获得知识:岛上有红眼睛的人。

而外地人来了,他的话的实质,就是将那个共有信息,变成了公共信息。

这时,无论是推理树中的谁, 还是 ,A 都知道了他们都知道岛上有红眼睛的存在。

更加准确的说法是:

  1. 知道 知道了岛上有红眼睛岛民的存在;
  2. 知道了事件 1;
  3. 知道了事件 2;

以此类推。

这样子说, 看不见红眼睛的岛民,但是他知道岛上有红眼睛的人存在。

所以,外地人给出公共信息的实质,就是给每一个人推理树底部 一个信息:岛上有红眼岛民。

在 A 的推理中, 获取信息的途径,只有可能是公共信息(感性理解,只有公共信息,我才可以肯定,别人已经知道了这个信息),换句话说,公共信息可以对推理树上每一个点都造成影响(推理树的实质,就是不同的假设下,想象中的人的可能性,而像 ,当所有人都知道了 一定知道这个信息(并且所有人都知道“所有人都知道 知道这个信息”……)的时候这个信息就可以下放到 上了,而这正好是公共信息的定义)。

Answer

我们的问题就可以解决了:外地人带来了新的信息,他把共有信息转变成了公共信息。