也谈“脏脸博弈”问题(2)
上次谈到一桌人吃烧烤,有三人脸脏了,别人看到,自己不知。在女招待三次提醒有人脸脏了后,终于三人都明白过来了。最后有个问题,既然至少有一个人脸脏了,这是桌上人人都看到的事实,为什么大家不用来作为推理的依据,还要女招待说了才见效呢?
这就涉及到“公共知识(Common Knowledge)”这个概念了。“知识”是指包含事实,拥有的人理解它,并相信它的事件。但是“我知道,你知道,大家都知道的知识”并不就是公共知识。举一个例子来说明。
餐馆跑堂端菜时,不小心将汤汁滴到女客人的裙子上,那女人瞪他一眼,跑堂的忙不迭道歉说:“这是我的错!”
这事“跑堂错”的知识,跑堂自己知道,那女人知道。瞪一眼跑堂,让跑堂也知道了她有这知识。这大家都有的知识,为什么跑堂道歉还要对她说一遍?多余吗?不!
因为那女人不明白跑堂是否知道这是他的错,尽管两人各自都知道,按常理跑堂也该知道是他的错,但跑堂的不说,别人无从知道他认识到自己的错。这以后的沟通就有问题了。
所以“我知道,你知道,大家都知道的知识”只是“彼此的知识(Mutual Knowledge)”,彼此的知识不能用来推理,因为即使你事实上已经知道了,我还不了解你是否知道。用想当然来猜测别人知道些什么,依此来决定自己的行动和推断是不可靠的,这也是世界上许多错误的根源。
要借用对方的看法来推理,我必须知道“你知道了什么”,记为“我知道(你知道的知识)”。别人想知道我的逻辑推理,根据的是“你知道(我知道的知识)”,如果是多人相互利用对方的推理结论就必须根据“每个人知道(其他人知道的知识)”。这样的知识就叫做“二阶彼此的知识”,可以用来作为从对方的角度来推理的依据。比如说上面“菜汁滴裙”事件的店里有个大家都知道的规矩:跑堂犯了错,店里要送碗甜汤来赔罪。那女人瞪跑堂一眼,让跑堂知道了她有“他犯了错”这个知识”,跑堂的就会想从她的角度猜出她会根据这个知识来要求按规矩给碗甜汤。这是跑堂可以从知道对方所知道的知识中得出来的结论。跑堂没道歉,女人没有跑堂自己知道犯错的知识,也就推测不出会不会送甜汤来。跑堂道歉了,这女人就可以据此推出有甜汤了。这事就不用吵了。
如果大家都知道了这个二阶彼此的知识,其中包括诸如“我知道(你知道(我知道的知识))”和“张三知道(李四知道(王五知道的知识))”,这叫三阶彼此的知识,就可以用来进行两层从对方的角度来推理。这阶数一直加到无穷的知识就叫做“公共知识”。
晕,是吗?回头看一下“脏脸博弈”的例子,这怎么应用。
前面帖子里解答推理中“如果只有一个脏脸”,“如果只有两个脏脸”里面的假设推理都是虚拟的,就是说是在推测别人会怎么想的假设推理,这个虚拟的假设推理的结果是上面一层推理所需要的,这个关系就像计算机程序中一个程序叫另一个程序一样。所以虚拟假设推理处在第几层中就需要用多少阶彼此的知识作为推理的依据。显然,公共知识可以用在无论有层中。
到了这里,你能猜出“如果只有一个脏脸”的虚拟假设推理在这个故事中需要多少阶这个“至少有一个脏脸”的彼此知识吗?