前几天在网上看到一个趣题:

一个岛上有100个人,其中有5个红眼睛,95个蓝眼睛。这个岛有三个奇怪的宗教规则。

  1. 他们不能照镜子,不能看自己眼睛的颜色。

  2. 他们不能告诉别人对方的眼睛是什么颜色。

  3. 一旦有人知道了自己是红眼睛,他就必须在当天夜里自杀。

某天,有个旅行者到了这个岛上。由于不知道这里的规矩,所以他在和全岛人一起狂欢的时候,不留神就说了一句话:【你们这里有红眼睛的人。】

最后的问题是:假设这个岛上的人足够聪明,每个人都可以做出缜密的逻辑推理。请问这个岛上将会发生什么?

这题目网上有解答,理解起来也不难。答案是

如果有N个红眼睛,他们会在第N天集体自杀

下面我们来看一些有趣的推导过程和结论

定理1:当红眼睛人数为1的时候,红眼睛会在第1天自杀

解释1:红眼睛A从旅行者处了解到“这里有红眼睛”这个事实,并且观察到“其他人都是蓝眼睛”这个事实,据此可推断出自己是红眼睛。于是自杀。

定理2:当红眼睛人数为2的时候,红眼睛会在第2天自杀

解释2:红眼睛A和红眼睛B从旅行者处了解到“这里有红眼睛”这个事实;红眼睛B观察到“红眼睛A是红眼睛”和“其他人都是蓝眼睛”,并且了解定理1(足够聪明);红眼睛A观察到“红眼睛B是红眼睛”和“其他人都是蓝眼睛”,并且了解定理1。据此他们一旦过完第一夜就可推断出“不止1个红眼睛”,因此自己只能是红眼睛。于是自杀。

定理3:当红眼睛人数为3的时候,红眼睛会在第3天自杀

解释3:同理,红眼睛C知道“红眼睛A和B是红眼睛”,“其他人都是蓝眼睛”,以及定理2;红眼睛A知道“B和C是红眼睛”,“其他人都是蓝眼睛”;红眼睛B知道的信息类似。据此他们在第二夜过完之后可推断出“不止2个红眼睛”,因此自己只能是红眼睛。于是自杀。

定理4:当红眼睛人数为N的时候,红眼睛会在第N天自杀

解释4:利用数学归纳法,结论显然

但是网上有人提出质疑,旅行者带来的只是一个大家都知道的事实,为什么会对现状产生改变? 其实旅行者带来的并非只是一个大家都知道的事实。网上有很多很复杂的解释,我们从简单的方向去解决这个问题。

定理5:当红眼睛人数为1,如果没有旅行者,红眼睛不会自杀

不解释

定理6:当红眼睛人数为2,如果没有旅行者,红眼睛不会自杀

解释6:我们知道,只有确定自己是红眼睛,才会自杀。有旅行者的情况下,红眼睛B可以由红眼睛A没有自杀,推出自己是红眼睛,但是没有旅行者时则不行。每个人默认自己是蓝眼睛,此时对于红眼睛A没有自杀,红眼睛B能够找到一个合理的解释:“A没有看到红眼睛” 。只要有合理的解释,就不能够推出矛盾,就不会知道自己是红眼睛。

定理7:当红眼睛人数为3,如果没有旅行者,红眼睛不会自杀

解释7:我们可以发现,会自杀的关键在于能得出“不止N-1个红眼睛”这一结论。在此处N=3,即“不止2个红眼睛”。也就是说,如果红眼睛C能对于红眼睛AB不自杀有一个自圆其说的解释,他就不会自杀,否则就会。C假设只有AB是红眼睛,那么他可以把AB不自杀归结为A虽然看到了B是红眼睛,但是A假设B没有看到红眼睛(即定理6的解释部分)

定理8:当红眼睛人数为4,如果没有旅行者,红眼睛不会自杀

在证明这个定理之前,我们先来看看流传在acfun的一个解释,说是如果有4个红眼睛的人,即使没有旅行者,他们也会自杀。那个帖子的解释如下:

之所以这里会自杀,是因为前面的论断不成立了。我们来看看红眼睛D能不能对于红眼睛ABC不自杀有一个自圆其说的解释。D假设只有ABC是红眼睛,那么这三位没有自杀的原因必然如定理7的解释中所述,C以为只有AB是红眼睛,并且把AB不自杀归结为A虽然看到了B是红眼睛,但是A假设B没有看到红眼睛。突然,D发现,这个假设不成立,A不可能假设B没有看到红眼睛,因为从D的角度看来,A是知道“C是红眼睛”的,也就是说A知道“B知道C是红眼睛”。因为A不能假设B没有看到红眼睛,所以推出矛盾。D的假设“只有ABC是红眼睛”是不成立的。

这个解释虽然第一眼看上去好像是对的,但是让我们再来关注一下3个红眼睛的情形。此时如果有一个蓝眼睛E,那么按照以上的推理,他完全可以得出定理8的解释中的结论。于是他也会自杀。同理,所有蓝眼睛都会因为看到了3个红眼睛而自杀。。

所以,其实定理6,7,8的推理都是错的(并不是说他们的结论是错的)

结论其实很简单,没旅行者来说话则不会自杀,有旅行者则第N天N个红眼睛集体自杀。