经典红蓝眼睛问题的思考
前两天偶然间想起一个经典的红蓝眼睛问题,这个问题最早是由Terence Tao提出的,其表述大概如下:
一个岛屿上住着一群土著,这些土著的眼睛均为红色或蓝色,其中有 $m$ 个红眼睛、 $n$ 个蓝眼睛。由于某种宗教的存在,这些土著之间遵循着一些约定俗成的规则:
- 土著们都不知道自己眼睛的颜色。
- 土著们不会通过任何方式告知其他人任何人眼睛的颜色。
- 如果有人知道了自己眼睛的颜色,他一定会在当天晚上自杀。
一天,有一位探险家经岛屿所属政府的批准登上了岛屿,在登岛前,为保护岛上的土著,探险家被告知「不可以给这个岛屿上的土著们带去他们以前所不知道的信息」。
登岛后,探险家发现岛上红眼睛的土著有不止一个($m\ge2$),因此,探险家心想:“每个人都知道岛上有红眼睛的人”,于是探险家对着人群大喊:“你们当中有红眼睛的人!”
“这样应该没有给土著们带去额外的信息吧”,探险家心想。
然而真的是这样吗?假设岛上的土著都十分擅长逻辑推理,考虑探险家这句话带来的后果。
相信很多朋友都听过这个问题,也很清楚答案:
第 $m$ 天晚上,$m$ 个红眼睛土著自杀,第 $m+1$ 天晚上, $n$ 个蓝眼睛土著自杀。
我在一开始把问题想的简单了,我的思考如下:
考虑 $m=2$ 的情形,此时共有两个红眼睛土著,记为 $R_1,R_2$,从他们各自的视角来看,外面均还有一个红眼睛,此时,以 $R_1$ 的视角来看这个场景,由于 $R_1$ 并不知道自己是红还是蓝,因此,在 $R_1$ 看来,外面的 $R_2$:可能并不知道「有红眼睛的人」这件事(如果我 $R_1$ 是蓝的, $R_2$ 可不就是不知道嘛),所以,当探险家喊出那句知识的时候,其实还带给了 $R_1$ 一个额外的信息,即:“现在 $R_2$ 已经知道「有红眼睛的人」这件事了”,那么 $R_1$ 心想:“如果我是蓝眼睛,在 $R_2$ 视角下场上将没有红眼睛,此时 $R_2$ 足够聪明,他会立刻意识到自己是场上唯一一个红眼睛的人,也即 $R_2$ 会在第一天晚上自杀”。
对 $R_2$ 而言,同样如此,因此两人等了一天,发现第一天晚上无事发生。此时足够聪明的二位在第二天同时意识到了自己是红眼睛,因此,他们会在第二天晚上自杀。
接下来,通过数学归纳法,“容易”推导出对一切 $m=k$,有结论: $k$ 个红眼睛会在第 $k$ 天晚上自杀,而剩下的蓝眼睛则会在下一天意识到自己是蓝眼睛,因此会在 $k+1$ 天晚上自杀。
归纳如下,假设结论已经对 $m=k$ 成立,我们来思考 $m=k+1$。
下面是错误证明
对每一个红眼睛土著而言, 外面都能看到 $k$ 个红眼睛土著,那么在他们视角看来,外面的环境满足 $m=k$ 情形 (满足吗???),因此他们只需等待 $k$ 天,若外面的 $k$ 人没有在第 $k$ 天晚上自杀,这每个红眼睛土著都会意识到自己是红眼睛,因此会在第 $k+1$ 天晚上自杀。
这个证明显然是错的,因为在这个证明中,除了 $k=2$ 时用到的那个额外信息(每个人都知道有红眼睛的人)之外,没有用到任何其他信息。如果这个证明成立,那么当岛上的红眼睛数量大于2时,即使没有探险家的那句话,这些人也必然会在一定天数后自杀,因为他们不需要探险家的喊话就能意识到“每个人都知道有红眼睛的人”,从而导致连锁反应。
显然探险家的喊话带给人群的信息不止是前面所述内容。
那么 $m=3$ 和 $m=2$ 的区别在哪呢?多了这一个红眼睛的人后,$R_1$ 先天就知道 “$R_2$ 知道「有红眼睛的人」这件事”,因为在 $R_1$ 看来, $R_2$ 的视角下,至少有 $R_3$ 的存在。
此时 $R_1$ 想要站在上帝视角来旁观 $R_2$ 和 $R_3$ 的行为,从而能够根据他俩的行为来推断自己的眼睛颜色,需要满足什么条件呢?
回想之前的 $m=2$ 情形,我们清楚一个结论:如果 $R_1$ 是蓝眼睛,那么当 $R_2$ 知道 “$R_3$ 知道「有红眼睛的人」这件事”时,这个 $m=2$ 状态将会发生坍塌。
那么只要把 $R_1$ 放到我们的位置, $R_1$ 就相当于站在了上帝视角。此时 $R_1$ 相比于之前人群中的 $R_1$ 而言,多获取到了一个知识:$R_2$ 知道 “$R_3$ 知道「有红眼睛的人」这件事”。在这个知识的加持下, $R_1$ 能够确定只要外面的两人在第二天晚上没有自杀,自己必然是红眼睛。同理,这个结论对 $R_2,R_3$ 也成立。
而上面所说的知识显然也可以从探险家的那句喊话中得到。所以,我们就从 $m=2$ 的情形推出了 $m=3$ 的情形。
从前面的思考中,我发现了这个有点像多层嵌套的知识的结构,不如将它称为“多阶知识”。
这个场景下,一阶知识就是探险家喊出的那句话:“你们当中有红眼睛的人!” 提供的直接知识:“有红眼睛的人”,这个一阶知识 (在$m\ge2$时) 显然每个人都知道,探险家正是因为这个原因,以为自己的喊话没有提供额外的信息。但他忽略了喊话行为带来的高阶知识。
这个知识对应的二阶知识是“每个人都知道有红眼睛的人”,三阶知识是“每个人都知道每个人都知道有红眼睛的人”,以此类推。
重新考虑前面的数学归纳过程,同样的,假设结论已经对 $m=k$ 成立,我们重新来思考 $m=k+1$。
对每一个红眼睛土著而言, 外面都能看到 $k$ 个红眼睛土著,那么在他们视角看来,外面的环境差不多可以满足 $m=k$ 情形,只需要一个额外的条件。
显然,$m=k$ 时结论成立,需要这 $k$ 个人同时知道原知识的 $k$ 阶知识:“每个人都知道每个人都知道…每个人都知道有红眼睛的人” (共 $k-1$ 个“每个人都知道”)。
现在我们继续站在 $R_1$ 的视角考虑,外面的 $k$ 个红眼睛如果知道上面的 $k$ 阶知识,就可以从这 $k$ 个人的行为推出自己眼睛的颜色。因此这里 $R_1$ 只要获取一个下面这样的知识,就可以站在上帝视角去观察外界的行为。这个知识即:
外面的 $k$ 人知道 $k$ 阶知识。
而原知识的 $k+1$ 阶知识相当于每个人都知道 $k$ 阶知识,它自然包含了前面 $R_1$ 需要获取的知识。而这个 $k+1$ 阶知识显然也可以从探险家的喊话中推导出。
接下来就和之前一模一样了。
这个问题其实抽象出来了两个概念:共有知识与公共知识,一个群体中,大家都知道的结论被称为共有知识,但如果有一个足够权威的人将这个共有知识公之于众,则它会变成一个公共知识。从这个问题中可以看出,一个公共知识相当于一个无穷高阶的知识,而一个共有知识,仅仅相当于一个一阶知识。
当然,如果群众里面有一个傻子,结论就失效了😊。