在一个房间里有100个学生。每个人头上都戴了一顶帽子,帽子的颜色是白色或者黑色。每个学生都只能看见别人的帽子的颜色,而不能看到自己帽子的颜色。
老师对所有人说:“你们每个人要么戴白帽子,要么戴黑帽子,并且有人戴白帽子,请戴白帽子的同学举手。” 如果没人举手,老师一分钟后再问:“请戴白帽子的同学举手。” 然后老师每个一分钟后重复同样的问题,直到所有戴白帽子的学生都举手为止。
假设每个学生都极其聪明,100个学生中只有5个人戴了白帽子。请问,什么时候戴白帽子的学生会全部举手?
为了解答的时候说的更清楚明白,先来认识一个概念叫做共同知识。其实共同知识就是某一件事情,所有人都知道,所有人都知道所有人都知道,所有人都知道所有人都知道所有人都知道……
第1轮 — 第一次让白帽子举手
分析:如果只有一个人(叫他A)戴白帽子,那么从 A 的视角来看,其他人都戴黑帽子。结合第0轮共同知识,那么戴白帽子的只能是 A 自己,于是他将会举手。但是事实是,由于有 5 顶白帽子,所以上述情况不可能发生。所以第1轮没有人举手。
结果:没有人举手
共同知识:在分析过程中,我们排除了一种可能,就是只有一个人戴白帽子。因为第1轮没有人举手,所以大家现在都知道,不只一个人戴了白帽子,并且所有人都知道其他人知道。所以现在的共同知识是:有大于等于 2 个人戴白帽子。
第2轮 — 第二次让白帽子举手
分析:假设只有两个人(假设其中一个人为 A)戴白帽子,那么从 A 的视角来看,其他人总共戴了一顶白帽子。基于第1轮的公共知识,他能够判断自己必定戴了白帽子,否则将只有一顶白帽子,与之前的公共知识矛盾。但是事实是,由于有 5 顶白帽子,所以上述情况不可能发生。所以第2轮没有人举手。
结果:没有人举手
共同知识:在分析过程中,我们排除了一种可能,就是只有两个人戴白帽子。因为第2轮没有人举手,所以大家现在都知道,不只两个人戴了白帽子,并且所有人都知道其他人知道。所以现在的共同知识是:有大于等于 3 个人戴白帽子。
第3轮 — 第三次让白帽子举手
分析:同理可得,如果只有三个人戴白帽子,那么他们才都会举手。
结果:没有人举手
共同知识:有大于等于 4 个人戴白帽子。
第4轮 — 第四次让白帽子举手
分析:同理可得,如果只有四个人戴白帽子,那么他们才都会举手。
结果:没有人举手
共同知识:有大于等于 5 个人戴白帽子。
第5轮 — 第五次让白帽子举手
分析:每一个戴白帽子的人都只能看到其他四顶白帽子,而基于上一轮共同知识,每个戴白帽子的人都能判断出自己戴了白帽子这个事实。
结果:每个戴白帽子的人都同时举手。
公式:
一共有 N 个人戴白帽子,那么第 N 次提问让白帽子举手的时候,所有白帽子同时举手。