20110514

謎題試解

讀者 Charles Mak 問我能否解答以下的邏輯謎題:

「一間房間內有三個人,他們三個人的臉都是污的。有一個人跟他們三人說他們之中至少有一人的臉是污的,在沒有任何言語交流下,他們三人用了邏輯推論的方式推論。最後,他們都知道他們自己是污的。為何?」(這是 Charles Mak 原來的問題,一字沒改。)

我想了一陣,認為這是不可能的。後來讀者 Matt 嘗試解答,雖然我不明白他的推論,但他的解答方式卻給了我點線索,幫助我想到一個破解之法。

讓我們稱呼那三人為「阿一」、「阿二」、和「阿三」,稱呼那跟他們說話的另一人為「教授」。我的解答需要四個假定:

(1) 教授問阿一、阿二、和阿三:「你們能不能推論出自己的臉是否污的?」

(2) 阿一、阿二、和阿三的推理能力都很強,如果有足夠資料,這樣的問題他們都可以在一分鐘內推出正確的結論。

(3) 如果他們推論到自己的臉是否污的,他們會立刻出聲回答。

(4) 阿一、阿二、和阿三都知道 (2) 和 (3) 為真。

教授問完那問題後,阿一、阿二、和阿三互相觀望,沒有人能夠回答那問題;三人沉默了一分鐘,然後都說:「我的臉是污的。」

他們的推論是一樣的,以下用阿一為例說明。阿一這樣推論:

雖然阿二看不到自己的臉,但他可以推論出我和他至少有一個的臉是污的,因為假如我和阿二的臉都是乾淨的,阿三便早已推論出自己的臉是污的。假如我的臉是乾淨的,而阿二知道我和他至少有一個的臉是污的,他便早已推論出自己的臉是污的。因此,我的臉一定是污的。(在這個推論裏,「阿二」和「阿三」的位置可以掉換。)

阿二望著阿一和阿三時也是這樣推論,阿三望著阿一和阿二時亦如是,因此,一分鐘後,他們都推論出自己的臉是污的。

14 則留言:

  1. 我是在張系國的"五玉碟"裡看過類似的問題。他在設定裡加入了刑罰,所以有人可能故意保持沉默,設下陷阱去害人。

    回覆刪除
  2. Matt,

    如果假定他們會說謊或故意沉默,那便複雜得多了。

    回覆刪除
  3. Charles Mak,

    I guess that means you're satisfied with my solution.

    回覆刪除
  4. 有條據說是世上最難的邏輯學難題。估計王sir聽說過。但不妨也貼在這裡,

    有甲、乙、丙三個精靈,其中一個只說真話,另外一個只說假話。還有一個隨機地決定何時說真話,何時說假話。

    你可以向這三個精靈發問三條是非題,而你的任務是從他們的答案找出誰說真話,誰說假話,誰是隨機答話。

    這個難題困難的地方是這些精靈會以“Da”或“Ja”回答,但你並不知道它們的意思,只知道其中一個字代表“對”,另外一個字代表“錯”。

    回覆刪除
  5. //有條據說是世上最難的邏輯學難題。估計王sir聽說過。但不妨也貼在這裡,//

    - 聽過,當年亦想過,但想不到答案。有興趣的讀者可看http://en.wikipedia.org/wiki/The_Hardest_Logic_Puzzle_Ever

    回覆刪除
  6. 不看你的推理還真的想不到

    回覆刪除
  7. 紫健文,

    這個我也想了好一會。

    回覆刪除
  8. 其實是...因為他們手上有塊鏡(閃)

    回覆刪除
  9. 有缘到访,不知是否有缘给你看到,很佩服先生的学养,受过的正规教育不多,衷心希望能得到先生指正。

    回覆刪除
  10. 首先房间里的必须都要是逻辑学家。。。。
    1。甲乙丙应该同时想到:最多只有一张干净的脸,而那只可以是自己!(因为各人都看到两张污的脸。)
    2。只要其中一张是干净的,应该有两人可以同时推出自己是污的:-
    甲:假如我是干净的,其余两人将看到一张污和一张干净的,乙(丙)会想:假如我也是干净的,丙(乙)会看到两张干净脸的而推出自己是污的,但他不能马上答。因此乙(丙)应该知道自己是污的。但他也不能(在一分钟内)回答。因此甲(我)只可能是污的。。
    回覆

    回覆刪除
    回覆
    1. 你的解答也行,但可以比較精簡地表達。

      甲乙丙三人都這樣推出自己的臉是污的:我看到兩張污臉,假如我的臉是乾淨的,另外兩人便都看到一張污臉和一張乾淨的,而可以從沒有人出聲推論出自己的臉是污的;但他們都沒有出聲,因此,我的臉一定是污的。

      刪除