讀者 Charles Mak 問我能否解答以下的邏輯謎題:
「一間房間內有三個人,他們三個人的臉都是污的。有一個人跟他們三人說他們之中至少有一人的臉是污的,在沒有任何言語交流下,他們三人用了邏輯推論的方式推論。最後,他們都知道他們自己是污的。為何?」(這是 Charles Mak 原來的問題,一字沒改。)
我想了一陣,認為這是不可能的。後來讀者 Matt 嘗試解答,雖然我不明白他的推論,但他的解答方式卻給了我點線索,幫助我想到一個破解之法。
讓我們稱呼那三人為「阿一」、「阿二」、和「阿三」,稱呼那跟他們說話的另一人為「教授」。我的解答需要四個假定:
(1) 教授問阿一、阿二、和阿三:「你們能不能推論出自己的臉是否污的?」
(2) 阿一、阿二、和阿三的推理能力都很強,如果有足夠資料,這樣的問題他們都可以在一分鐘內推出正確的結論。
(3) 如果他們推論到自己的臉是否污的,他們會立刻出聲回答。
(4) 阿一、阿二、和阿三都知道 (2) 和 (3) 為真。
教授問完那問題後,阿一、阿二、和阿三互相觀望,沒有人能夠回答那問題;三人沉默了一分鐘,然後都說:「我的臉是污的。」
他們的推論是一樣的,以下用阿一為例說明。阿一這樣推論:
雖然阿二看不到自己的臉,但他可以推論出我和他至少有一個的臉是污的,因為假如我和阿二的臉都是乾淨的,阿三便早已推論出自己的臉是污的。假如我的臉是乾淨的,而阿二知道我和他至少有一個的臉是污的,他便早已推論出自己的臉是污的。因此,我的臉一定是污的。(在這個推論裏,「阿二」和「阿三」的位置可以掉換。)
阿二望著阿一和阿三時也是這樣推論,阿三望著阿一和阿二時亦如是,因此,一分鐘後,他們都推論出自己的臉是污的。