榕城老应
一桌人在吃烧烤,其中有三个人不小心将酱汁沾到脸上,大家都能看到别人的脸但不知道自己的。出于礼貌各人都默不吱声,也不敢露怯去擦自个儿的脸。这时候女招待进来说:“这里有人脸脏了,请他自己擦了!”连说两次都没人反应,到了第三次,刚好是这三个人明白过来,把自个儿的脏脸擦了。问他们是怎么知道的?
这个问题是 1953 年 Littlewood 书中一个例子的变种,中文称为“脏脸博弈”。其他诸如帽子颜色,眼睛颜色,一个村庄的惨案等等都是这个问题的变种,具有相同的逻辑结构。这类问题逻辑上比较绕,需要有很清晰的头脑才能想通。我看过的解法都没把道理说透。直到学了“公共知识”的理论才想通了。在这里将体会给大家介绍一下。
首先,女招待的话包含两个内容。一是:至少有一个人脸脏了。二是:要求知道了的人自己出来承认。这一桌人都不傻,都会根据女招待的话和大家的反应去猜测自己的状态。
女招待说后,“至少有一个脸脏了”这个判断就成为大家的公共知识,谁都可以用它来进行推断。这时候大家想:如果只有一个人脸脏了,那么这个脏脸的人会看到别人全是干净的脸,他就该明白这个脏脸人是他自己了。女招待说了一次后,他就会马上把自己脸给擦了。女招待说了一次后没人行动,这说明原来的假设不对了,这脏脸的人至少得有两个。
大家都是聪明人,我知道这推断,你也知道这推断,我知道谁都知道这推断,谁都知道我知道这推断,。。。,一句话,这“脏脸的人至少有两个”也成了公共知识,大家都可以用来推测别人的推断。好了,如果只有两个脏脸,那其中一人只能看到一个脏脸,他就该明白自己也是脏脸。女招待催促第二次后,他俩会乖乖地把脸擦了。还没人出来认账,说明这脏脸的人至少有三个。
当这三位脏脸的老兄,在现实中只看到桌上两个脏脸时,就会在女招待第三次催促时把脸给擦了。至于桌上的其他人,知道至少有三个脏脸时,他们看到的是三张脏脸,正在忐忑不安地看别人的反应,还无法判断自己是否脏脸。到了这三位脏脸的老兄擦了脸,其他人就明白了原来自己的脸不脏,不然这脏脸的老兄看到的也是三张脏脸,就不会推断出自己的脸脏。
依照这个逻辑,我们可以很容易地推广到 N 个脏脸人的情况,他们都会在女招待第 N 次催促后明白过来。请注意,这桌中还可以有任何数量脸没脏的人。
在这个问题解法中,女招待的“至少有一个脸脏了”这句话是个关键,它提供了整个推理的支撑。但是桌中的所有人在女招待来到之前都看到了这个事实。从信息的角度,这女招待没有提供任何新鲜的东西,为什么会造成不同呢?这“桌中至少有一个脸脏了”的事实,女招待不说也是:我知道,你知道,大家都知道,你能推测出我知道,我也能推测出你知道。这众所周知的事实能不能代替女招待的话,用它来做上述解法的起点呢?