|||
我的朋友拿一道智力题考大家,
国王让三智者站成一个纵队,闭上眼睛,给他们每人戴一顶帽子。然后睁眼,中间可以看到前面的帽子,最后面的可以看到前两个。他们都知道共有2顶白帽子和3顶红帽子。国王问这三人:“谁知道自己戴的帽子颜色?” 问了两遍无人回答。第三遍时是否有人能回答?如果有,他是哪一位?戴什么颜色帽?
类似的问题网上很多,有些公司用来作面试题目。先不看下面,自己想想,有人能解答这个问题吗?我可以保证,这解答和你想的以及网上看的都不一样。
【不合格的推理】
这问题,一般人会这样推理:
纵队中最后一个能看到前两个,如果他们都是白帽,因为只有两顶白帽,那这个人第一次问时就能说出自己是红帽。他没吱声,说明不是这种情况,那么这前两人中至多有一白帽。如果这白帽是第一人,那第二次问时,中间的那个,一定会说自己是红帽。他也没说,到第三遍,第一人就明白自己是红帽。
这推理其实并不合格。举个例子,他们虽然都知道共有2顶白帽子和3顶红帽子,如果这只是各自都知道的事实,比如说国王是分别告诉每个人的,能有这答案吗?为什么?请把你的见解写在评论里。
对于各类帽子颜色的问题,网上的答案几乎都是应用上面类似的逻辑,绝大多数都忽略了一个关键的问题。有疵瑕不严格的推理可能得出完全错误的答案。
正确的答案三天内贴在这帖子后。
【解答】贴于评论15时
上面的推理是用“上帝的视角”来看的。“上帝的视角”原来是文学理论中怎么叙述故事的一种手法。故事多用第三人称的视角来叙述。在叙述时,如果是无所不知地介绍情景,那就是“上帝的视角”了。
上帝懂得所有人的思考,可以越过个人知识的局限,直接了解每个人是怎么想到。这样的叙述写小说可以,作为推理却不行。因为我们是代故事里的人来推理,他们并不是上帝,他们引用别人的推理时必须知道别人的根据。
在上面推理中,中间那个人认为至多有一顶帽子是白色,他怎么知道的?
他是想:“假如后面那个人看到两顶白帽,这家伙就会在第一次问话的时候,说出自己是红帽。”
为什么?
“因为后面这个人根据‘有2顶白帽和3顶红帽’这知识推出的。”
后面这人有这知识吗?
“题目说每个人都知道呀!”
我的问题是:中间那个人知道后面这人有这知识吗?
这是个关键!如果不知道,想象中后面这人怎么能根据它来推理呀!后面这人事实上知道这知识也不行,因为进行推理的是推理人想象中后面的那个人。不是事实的那个人。他必须确信,想象中这个人有这个知识作为推理的根据。
第一人说自己戴红帽,他必须明白中间那人知道些什么,中间那人的推理是基于最后那人的推理,第一个人必须明白中间那人知道最后那个人知道些什么。这个过程就像程序中三层的调用子程序,每一层子程序里的参数变量必须是上一层输入或是常量。
更具体一点,“共有2顶白帽子和3顶红帽子。”这三个人知道的这个事实,有不同的途径,一是国王在三人面前展示了这2顶白帽子3顶红帽子,另一种是国王在各人面前分别单独地展示了这些帽子。这两种情况的共同点是三人都知道了这个事实。但是对其他人是否了解这事实的认知不同。前者这“2顶白帽子3顶红帽子”是公共知识,后者只是各自拥有的知识。
在前一种情况,每个人不仅自己知道了这个事实,而且也知道,其他人也知道了这个事实,还知道了其他人也知道别人知道了这个事实,……,一句话,这成为了公共知识。这样想象中的推理才有根据。就能够用上面的推理。但是在后一种情况,谁都不能猜出什么结论。真正想明白了其中的道理,才算是逻辑上解了这道题。
在有了公共知识的情况,站在第一个的智者可以用前面的推理在第三次问时,说出自己戴的是红帽子。进一步的问题是:其他两位能够在这以后说出自己头上帽子的颜色吗?为什么?
这个严格推理和知识的基础叫“公共知识”理论,我写过这方面科普文章,有几篇文章和三篇“脏脸博弈”的帖子解释了其中的逻辑。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 04:37
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社