本文发表在CSDN博客 leoluopy@gmail.com
曾经有一个著名的智力题:有多个版本,如下:(不看答案你能找出结果吗?并找出统一的模型解决问题吗? 亲)
一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
思考后再往下读:
上面题目是初级版本的,因为它附加了两个人的归属条件。所以可以这样答:1.你的国度在哪里?。
那如果换一种题目呢?看看下面一道题目吧。
“你面前有两扇门,其中一扇门内藏着宝藏,但如果你不小心闯入另一扇门,只能痛苦地慢慢死掉……”在这两扇门前,有两个人,这两个人都知道哪扇门后有宝藏,哪扇门擅闯者死,而这两个人呢,一个人只说真话,一个人只说假话,你只能问这两个人每人一个问题,然后找出去宝藏的门。
呵呵,这次没有归属条件了,该怎么问呢?
来,我们来建立一个非常简单的数学模型:如下:
说真话的人可以抽象为函数 f(x)=x (x=0,1)
说假话的人可以抽象为函数 T(x)=!x (x=0,1)
现在我们是要找到去宝藏的路,或者是找到那条路去不得。摆在我们面前有两个函数输出也不一样。
直接问,哪里有宝藏可不行。所以我们需要一个统一的函数,这样不管问谁可以得到相同的答案,那就是复合函数。看下面。
G(x)=f(T(x))=!x (x=0,1)
G(x)=T(f(x))=!x (x=0,1)
G(x)具有两个的条件,输出方式是确定的。
所以最终我们只需要使用这个函数就可以解决问题。
把函数翻译成问题 就是,在问一个人的时候把另外一个人的判断条件也加上。
答案:随便问其中一个人:“如果我问另一个人,他会跟我说哪扇门后是宝藏?”
所以你只要随便问一个人上述问题,然后选择与他们说的相反的门就行了。
亲,以后遇到类似的问题,就哈哈大笑吧,用类似的模型吧。
去寻找宝藏吧,骚年!