趣题「红眼睛与蓝眼睛」

一道有趣的题目。

Description

一个岛上有 $n$ 个人,其中有 $m$ 个红眼睛,$n - m$ 个蓝眼睛。这个岛有三个规则

  1. 他们不能照镜子,不能看自己眼睛的颜色。
  2. 他们不能告诉别人对方的眼睛是什么颜色。
  3. 一旦有人知道了自己是红眼睛,他就会在当天夜里自杀。

如果有一天,一个外来人来到这里对他们所有人说「你们这里有红眼睛的人」

假设每一个人都有着极强的逻辑推理能力。

求证:在这句话公布后地第 $m$ 天晚上这 $m$ 个红眼睛会一起自杀。

注:每一个人是不知道岛上有多少个红眼睛的人的

Solution

乍一看,这题毫无头绪。告诉了一句「你们这里有红眼睛的人」又能怎么样呢?

先来看一个数学归纳法的证明:

  1. 如果这个岛上只有一个红眼睛,听到这句话后看到其他人都不是红眼睛,便意识到自己是红眼睛,当天自杀。

  2. 假设当这个岛上有 $m$ 个红眼睛,他们会在第 $m$ 天自杀成立

    当有 $m + 1$ 个红眼睛的时候,在每个红眼睛看来,都有 $m$ 个红眼睛,这个红眼睛能够推理出如果他不是红眼睛,那么他看到的 $m$ 个红眼睛都会在第 $m$ 天自杀 。而在第 $m$ 天,没有人自杀。一到第 $m + 1$ 天,每个红眼睛都意识到他是红眼睛。于是都在第 $m + 1$ 天自杀了

命题得证。看似没有问题,实际上,除了 $m = 1$ 的情况,这句话就相当于废话。因为没有任何用

要么在这之前红眼睛早就死光了,要么根本就不会死人。

但这并不是一个错误的事情。一个大神的回答说出来了 戳这里

这句话的作用就在于,让 每个人都知道每个人都知道这里有红眼睛的人

进一步地,这句话让 每个人都每个人都知道每个人都知道这里有红眼睛的人 等等

引用这位大神的话,就是:

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

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

共有知识 转化成 公共知识 的影响是很大的,就像这个例子一样

共有知识 转化成 公共知识 也是很难的,所以累次这个例子不太可能实现


同时这句话也统一了所有人的时间起点,时间在推理中扮演者重要的角色。这句话也让每一个人知道别人也知道这个时间起点 ,这样才有 “第 $m$ 天” 这种说法能够统一(就像人的出生时间不同,自然不能做出有效的推理