邏輯筋斗:通往首都的路

modified from: `James Wheeler via Compfight cc
由於某些原因,你身處一個奇怪的島。這島上的居民都要麼是只說真話的,要麼是只說假話的。現在你正走到一條分岔路,你想去這個島的首都,然而分岔路只有一邊能通往首都。恰好有一位島上的居民路過,你可以向他問路。但他只能回答你一條「是非題」 (yes/no question) 。請問你要問甚麼問題,才能知道岔路的哪一邊是通往首都的路?
這是 Herbert Enderton 在 A Mathematical Introduction to Logic (2001, 2nd ed., p. 28) 出的習題,我以前想到答案後曾貼過一次,後來有網友提供了一個更好的答案。

A.

我想到的答案是利用日常比甚少使用的連詞「若且唯若」,製造一個問題,使得居民無論說真話還是假話,問者都能知道哪條路通往首都。我的答案是,隨便指其中一條岔路,問:「『這條路通往首都,若且唯若,你是講真話的居民』是真的嗎?」所指的路是否通往首都,以及居民是否講真假,組合起來總共有四個可能性。

「這條路通往首都,若且唯若,你是講真話的居民」是真的嗎?
這條路通往首都你是講真話的居民「若且唯若」句真假居民回答
TTTYES
TFFYES
FTFNO
FFTNO

第三欄是「若且唯若」句子在四個可能底下的真假值,最後一欄是居民的回答。紅字的格子要特別留意:當「若且唯若」句為假,而居民講假話,他會答「YES」;當「若且唯若」句為真,而居民講假話,他會答「NO」。最後只要注意,無論他說真話還是假話,他的回答與那條路是否通往首都會互相吻合:答「YES」代表路通往路都,答「NO」代表沒有通往首都。

B.

當年有網友留言,指點了另一個更貼近日常生活的答案。網友說:
隨便指一條路, 問他說: "你會回答這條路是通往首都的路嗎?" 回答"是"就走這條路. 問句的重點在於"你會回答"四字
我的理解是,網友的答案是要問居民「如果有人問『這條路通往首都嗎』,你會答『是』?」先由較短的問題「這條路通往首都嗎」開始:

這條路通往首都嗎?
這條路通往首都居民講真話回答
TTYES
TFNO
FTNO
FFYES

同樣地,紅字由於居民講假話,所以會在路通往首都的情況說「NO」,沒有通往首都的情況說「YES」。網友所建議的是基於這個問題的另一條問題:

如果有人問「這條路通往首都嗎」,你會答「是」?
這條路通往首都居民講真話答「這條路通往首都嗎」回答
TTYESYES
TFNOYES
FTNONO
FFYESNO

巧妙的地方在於,講假話的居民答「這條路通往首都嗎」與答這條較長的問題的答案會相反,所以第二格由「NO」變成「YES」,第四格由「YES」變成「NO」。最後居民的答案,同樣會與那條路是否通往首都相吻合。

沒有留言:

技術提供:Blogger.