夜谈: 一些有趣的数学问题 [持续更新]

First Post:

Last Update:

从共识谈起#

有一个经典的问题:

在大海上, 有 个海盗抢得 枚金币, 他们决定每一个人按顺序依次提出自己的分配方案. 如果提出的方案没有获得半数或半数以上的人的同意, 则这个提出方案的人就被扔到海里喂鲨鱼. 那么第一个提出方案的人要怎么做, 才能使自己的利益最大化?

这类问题有一个经典的前提: 每个海盗都足够聪明.

可是, 这个前提真的充分吗?

我们不妨先考虑一个看似风马牛不相及的问题:

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

他们不能照镜子, 不能看自己眼睛的颜色.
他们不能告诉别人对方的眼睛是什么颜色.
一旦有人知道了自己的眼睛颜色是红色, 他就必须在下一个中午自杀.
注: 虽然题设了有 个红眼睛, 但岛民是不知道具体数字的. (因为互相能看见,所有岛上的蓝眼睛的人知道岛上有红眼睛)

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

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

结果, 岛上在第 天后, 有 个人自杀, 且都是红眼睛的人. 请问为什么?

这个问题有一个数学归纳法的解答. 我们对 施归纳法: 的情况下, 旅行者说出那个断言后, 那个红色眼睛的岛民看到岛上没有其他红色眼睛的人, 于是在第一天中午自杀了.

假设命题对 均成立, 接下来说明命题对 成立.

我们考虑任一个红色眼睛岛民 , 由于这个岛民足够聪明, 所以我们可以假设他知道命题对 成立. 由此, 在恰第 天结束时, 由于岛上没有人自杀, 该岛民可以确认, 岛上的红色眼睛的岛民数不为 . 同时由于信息量不够所以若 则下一天也不会有岛民自杀.(这里其实要严谨的论证也要用到数学归纳法, 但是我们省略了) 又因为该岛民看到了恰 个红色眼睛的岛民, 且岛上的红色眼睛的岛民数量不为 中的任何数字. 所以该岛民可以推理出自己是红色眼睛的岛民, 所以在第 天自杀了.

—— 这是你经常看到的视频/博客里的证明略微严谨一点的表述, 但是如果现在我要告诉你这个证明有一个至关重要的缺漏呢?

在有些地方, 你会看到这样的言论:

每个人都能看到岛上有红色眼睛的人, 所以旅行者说的话是废话. 由于这句话是废话, 所以肯定所有人都还活的好好的, 不会有人自杀.

这将牵扯出我们今天论述的主题: 共识.

我们不妨先看我们的归纳法对 给出的证明:

在第一天结束时, 任一个红色眼睛的岛民会考察到, 如果岛上只有(自己看到的)一个红色眼睛的岛民, 那么那个岛民就会自杀. 而现在没有岛民自杀, 所以除了自己看到的一个红眼睛的岛民外, 肯定还有红眼睛的岛民. 这个人只能是自己. 所以该岛民就知道了自己是红色眼睛的.

我们思考这个证明在没有旅行者给出的消息时候的漏洞:

如果岛上只有(自己看到的)一个红色眼睛的岛民, 那么那个岛民就会自杀.

我们要问: 凭什么你能猜测那个红色眼睛的岛民会想到自杀? 你凭什么确认他知道岛上有红色眼睛的岛民, 因为他所能看到的红色眼睛的岛民就是你自己, 而你是不知道自己眼睛颜色的? —— 凭旅行者的那句话!

于是我们发现了一个那个证明的漏洞: 所有岛民都知道岛上有红色眼睛的岛民不假, 但是如何确认所有岛民都知道「所有岛民都知道岛上有红色眼睛的岛民」这件事呢? 更大的情况呢?

我们就此可以发现旅行者那句话的用处. 整理一下语言:

: 所有岛民都知道岛上有红色眼睛的岛民; 所有岛民都知道 . 一开始 个人的岛上, 岛民只能知道 成立. 但是在旅行者来之后就不一样了: 旅行者让 成为了公共知识, 随之而来的, 所有岛民都知道了 , 并且这也是公共的: 也即所有岛民都知道了「所有岛民都知道了 」, 以此类推, 都成立了!

我们来严谨的证明旅行者来之后 都成立(我们在接下来的段落里称这个命题为 是共识, 在 中的哪些人知道 可以由上下文推知.). 记 : 旅行者说过一句话. 那么本题中旅行者公开说过一句话这件事, 其实就应该解释成 是共识. 那么把旅行者说的这句话代入 中, 可以得知原命题成立.

于是我们重写命题及数学归纳法的步骤:

命题: 若 成立, 且条件如题所设, 则 天后岛上有 个红眼睛岛民自杀.

证明:

的情况显然成立.

假设命题对 成立, 接下来证明命题对 成立. 由 时的前提 成立可以知道所有岛民都知道 成立, 因此对所有岛民应用命题在 时候的情况是合法的. 所以在 天后无人自杀的情况下, 任一红眼睛岛民可以推理: 岛上的红眼睛居民数量不为 , 那么自己必然是红眼睛岛民. 所以该岛民会在 天自杀.

但是我们又必须思考到这样一个问题:「假设这个岛上的人足够聪明」这个条件是否足以支撑我们的论证? 答案显然是不行的. 因此我们应该修改这个条件为「这个岛上的人足够聪明」是共识.

回到引子: 这类问题的一个经典的前提, 也应该修改为: 「每个人都足够聪明」是共识.