謎題解答(11)


(a) 由於你不知道哪個人講真話、哪個講假話,所以你不能直接問他們哪一條是「生命之路」,但你卻可以通過一條「間接」問題獲得你想要的答案。假設那兩個人是A和B,那麼這條「間接」問題就是,對著其中一個人(設為A)問:「如果有人問B,哪一條路通向生命之國,他的答案是甚麼?」

讀者只要細心分析,就會發現無論A是專講真話還是專講假話的那個人,他所回答的都必然是通向「死亡之路」。因為如果A專講真話,則B專講假話。那麼當有人問B哪一條路是「生命之路」時,B的答案必然是「生命之路」的相反,即「死亡之路」。而由於A專講真話,他會如實反映B的答案,所以A給你的答案也是「死亡之路」。相反,如果A專講假話,則B專講真話。那麼當有人問B哪一條路通向生命之國時,B的答案必然是「生命之路」。但由於A專講假話,他會把B的這個答案說成它的相反,即「死亡之路」。因此,不論A是誰,你只要走他的答案以外的那條路,便能通向「生命之國」。

接著讓我們分析一下上述的「間接」問題,看看它所根據的是甚麼原理。其實這裡有一種類似正負數乘法中「正負得負」的原理。細心看這條「間接」問題,我們便會發現這條問題其實涉及兩個人的答案。它並非直接問B,而是透過A的口得知B的答案。假如我們把說真話看成正,說假話看成負,那麼由於A和B是一正一負,透過A口得到的B的答案必然是一個「負」的問案,即假答案(註1)。

照此類推,我們還可以得到另一條「間接」問題。事實上,我們可以把「生命之路」和「死亡之路」分別看成正和負,因此如果我們對A問:「如果有人問B,哪一條路通向死亡之國,他的答案是甚麼?」,那麼根據正負數乘法「正x負x負=正」的原理,A的答案必定是「生命之路」。

(b) 這部分也可按照上述原理得到答案,但這部分多了兩個難題。首先,我們不知道"da"和"ga"的意思;其次,現在多了一個有時說真話,有時說假話的人(即R),令情況複雜了許多。假如我們倣照(a)部分構造一條「間接」問題(即透過其中一人之口講出另一人的答案),那麼由於R的存在,我們不只有「正負得負」的情況,而且也會有「正正得正」和「負負得正」的情況(註2)。為了排除R的干擾,我們須先確定誰是R。如何確定呢?由於除了R本人以外,無人能知他接下來會說真話還是假話,我們可以利用這三個人在被問到不懂答的問題便不答這一點來確定R。

現在先假設那三個人是A、B和C。那麼我們首先對其中一個人(設為A)問:「接下來B會說真話還是假話?」(註3)。根據A是否有答案(不論是"da"還是"ga"),我們可分兩個情況來討論。

情況1

如果A不回答上述第一條問題,那麼我們便知道B是R,也即是說,A和C是T或F。接下來我們便可以確定"da"和"ga"的意思了。我們只需對A問第二條問題:「你說真話嗎?」。這時無論A是T還是F,他的答案都必然是「是」(即如果A答"da",那麼"da"就是「是」的意思,餘類推)。這是因為如果A是T,他當然說真話,所以他答「是」。如果A是F,他當然說假話,所以他的真實答案是「否」,但由於他專說假話,所以他說出來的答案卻是「是」,請注意這裡其實含有類似正負數乘法中「負負得正」的原理。既然確定了"da"和"ga"的意思,接下來只要對A問一條我們必然知道答案的問題,那便能確定A和B的身份。比方說,我們若問:「你是人嗎?」,那麼根據A的答案是「是」還是「否」,我們便知道A是T還是F,從而也知道C的身份了。

情況2

如果A對上述第一條問題答"da"或"ga",情況就不同了。這時我們只知道B不是R(即B是T或F)。接著我們便要對B問第二條問題:「接下來C會說真話還是假話?」。根據B是否有答案,我們可將情況2再細分為兩個情況來討論。

情況2(i)

假如B答"da"或"ga",那麼我們便知道C不是R。既然B和C都不是R,我們可以斷定A必是R。確定了誰是R,事情便好辦了。不要忘記剛才我們問了B一條「間接」問題:「接下來C會說真話還是假話?」。讀者只要細心分析,便會發現由於B和C是一真一假,根據「正負得負」的原理,不論B是T還是F,他的答案都必定是「否」,這樣我們便確定了"da"和"ga"的意思。接下來我們只要再問B:「你是人嗎?」,便可確定B和C的身份了。

情況2(ii)

假如B不回答上述第二條問題,那麼我們便知道C是R。接下來該怎麼辦呢?不要忘記較早前我們問了A一條「間接」問題:「接下來B會說真話還是假話?」(即第一條問題)。由於A和B是一真一假,因此根據「正負得負」的原理,我們可以肯定較早前A的答案必然是「否」,這樣我們便確定了"da"和"ga"的意思。接下來我們只要再問A:「你是人嗎?」,便可確定A和B的身份了。

註1:正如正負數(不論是整數、有理數、實數還是複數)的乘法滿足交換律(Commutativity,即兩數相乘的次序對調不影響結果)一樣,這條「間接」問題不論是問A還是B,也不論A、B是兩人中的哪一個,其結果都一樣。

註2:當R以真話轉述T的答案時,就是「正正得正」的情況。當R以假話轉述F的答案時,就是「負負得正」的情況。

註3:請注意問題的問法是十分重要的。假如我們的問題是:「你知不知道接下來B會說真話還是假話?」,那情況就完全不同。這時A便只會答"da"或"ga",而不會沒有答案,因為他要麼知道,要麼不知道,不會再有第三個可能。

返回猜謎題,學推理