夜谈: 一些有趣的数学问题 [持续更新]
Last Update:
从共识谈起#
有一个经典的问题:
在大海上, 有
个海盗抢得 枚金币, 他们决定每一个人按顺序依次提出自己的分配方案. 如果提出的方案没有获得半数或半数以上的人的同意, 则这个提出方案的人就被扔到海里喂鲨鱼. 那么第一个提出方案的人要怎么做, 才能使自己的利益最大化?
这类问题有一个经典的前提: 每个海盗都足够聪明.
可是, 这个前提真的充分吗?
我们不妨先考虑一个看似风马牛不相及的问题:
一个岛上有
个人, 其中有 个红眼睛, 个蓝眼睛. 这个岛有三个奇怪的宗教规则. 他们不能照镜子, 不能看自己眼睛的颜色.
他们不能告诉别人对方的眼睛是什么颜色.
一旦有人知道了自己的眼睛颜色是红色, 他就必须在下一个中午自杀.
注: 虽然题设了有个红眼睛, 但岛民是不知道具体数字的. (因为互相能看见,所有岛上的蓝眼睛的人知道岛上有红眼睛) 某天, 有个旅行者到了这个岛上. 由于不知道这里的规矩, 所以他在某天早晨和全岛人一起狂欢的时候, 不留神就说了一句话:"你们这里有红眼睛的人."
最后的问题是: 假设这个岛上的人足够聪明, 每个人都可以做出缜密的逻辑推理. 请问这个岛上将会发生什么?
结果, 岛上在第
天后, 有 个人自杀, 且都是红眼睛的人. 请问为什么?
这个问题有一个数学归纳法的解答. 我们对
假设命题对
我们考虑任一个红色眼睛岛民
—— 这是你经常看到的视频/博客里的证明略微严谨一点的表述, 但是如果现在我要告诉你这个证明有一个至关重要的缺漏呢?
在有些地方, 你会看到这样的言论:
每个人都能看到岛上有红色眼睛的人, 所以旅行者说的话是废话. 由于这句话是废话, 所以肯定所有人都还活的好好的, 不会有人自杀.
这将牵扯出我们今天论述的主题: 共识.
我们不妨先看我们的归纳法对
在第一天结束时, 任一个红色眼睛的岛民会考察到, 如果岛上只有(自己看到的)一个红色眼睛的岛民, 那么那个岛民就会自杀. 而现在没有岛民自杀, 所以除了自己看到的一个红眼睛的岛民外, 肯定还有红眼睛的岛民. 这个人只能是自己. 所以该岛民就知道了自己是红色眼睛的.
我们思考这个证明在没有旅行者给出的消息时候的漏洞:
如果岛上只有(自己看到的)一个红色眼睛的岛民, 那么那个岛民就会自杀.
我们要问: 凭什么你能猜测那个红色眼睛的岛民会想到自杀? 你凭什么确认他知道岛上有红色眼睛的岛民, 因为他所能看到的红色眼睛的岛民就是你自己, 而你是不知道自己眼睛颜色的? —— 凭旅行者的那句话!
于是我们发现了一个那个证明的漏洞: 所有岛民都知道岛上有红色眼睛的岛民不假, 但是如何确认所有岛民都知道「所有岛民都知道岛上有红色眼睛的岛民」这件事呢? 更大的情况呢?
我们就此可以发现旅行者那句话的用处. 整理一下语言:
记
我们来严谨的证明旅行者来之后
于是我们重写命题及数学归纳法的步骤:
命题: 若
证明:
假设命题对
但是我们又必须思考到这样一个问题:「假设这个岛上的人足够聪明」这个条件是否足以支撑我们的论证? 答案显然是不行的. 因此我们应该修改这个条件为「这个岛上的人足够聪明」是共识.
回到引子: 这类问题的一个经典的前提, 也应该修改为: 「每个人都足够聪明」是共识.