今天分享一个由逻辑学家雷蒙德·斯穆里安提出的由他的同事乔治·布罗斯推广的一到逻辑题,它号称史上最难逻辑谜题。
你和你的小伙伴迫降到了一个古老的星球上,唯一的出路是安抚下三位外星领主:TEE、EFF、ARR,给他们上贡正确的古器物才能离开,问题是你并不知道他们分别是谁。从碑文上得知你能向三位外星领主任意发问三道是非题,TEE只能说真话,EFF只能说假话,ARR的回答随机决定真假。困难在于,你已经掌握当地语言虽然能够熟练提问,却不知道“ozo”和“ulu”这两个词那个表示是哪个表示否,那么你要如何得知他们的身份呢?
这个谜题看起来不只是难,而且是无解的。能做的只能是提出问题,如果你可以理解答案的意思或者知道回答是否是真的,但是做不到的。所以真正严谨的是如何规划设计我们提出的问题,这样才能使每个回答都得到有用的信息。
首先我们可以不管“ozo”和“ulu”的意义,将这两个词放入问题中,然后给每个问题一个假定的条件。无论外星人是否说谎都没有影响,让我们看看如何操作。简单点就是“如果我问你2+2=4,你会回答ozo么?如果ozo表示“是”那么回答的领主就是只说真话的TEE,如果是说假话的EFF,那么它就会回答ulu但是这样他就得撒谎并回答ozo。那么如果ozo表示的是“否”,那么我们的问题答案只能是ulu。这样不论怎么样,TEE和EFF都会回答ozo。这里的逻辑结构是这样的,双重肯定和双重否定都会得到肯定的结果。这样我们可以得到,如果是真命题答案则会是ozo,如果是一个假命题答案则会是ulu。
不过这个问题对ARR并不怎么管用,所以我们可以用第二个问题去分辨出TEE或EFF。第二个问题是,问中间的领主“如果我问你我左边的领主是不是ARR,你会不会回答ozo么?”一种是你问的可能就是ARR,那这样的答案就毫无意义了。但另一种是你问的是TEE或者EFF,从任何一位那里得到ozo的回答意味着你假设的问题是正确的。你左边的的确是ARR,右边的肯定不是ARR,同样如果答案是ulu你就可以知道左边的不可能是ARR。
那么你就可以去问那个已经确定不是ARR的领主,如果我问你你是不是EFF,你会不会回答ozo?现在已经不用担心答案会是随机的了,不论什么回答都能证明它的身份。你知道这个答案只可能为真或假,问同一位首领中间的人是否是ARR,排除之后可以确认剩下以为的身份。