謎題解答(12)


這道謎題的解答涉及一系列「當且僅當命題」(if and only if Statement)(註1),因此首先須解釋甚麼是「當且僅當命題」。在數學和邏輯學上,「當且僅當命題」是一種複合的條件命題(Conditional Statement),這種條件由一個「充分條件」(Sufficient Condition)和一個「必要條件」(Necessary Condition)組成,因此「當且僅當命題」又稱為「充分必要條件」(Sufficient and Necessary Condition),簡稱「充必條件」。在日常生活中,我們碰到的絕大多數條件要麼是「充分條件」,要麼是「必要條件」,既充分又必要的條件並不很常見。以下先解釋甚麼是「充分條件」和「必要條件」。

「充分條件」就是通常由「如果」引導的條件。這類條件句的特點是若前件真,則後件必真;但若前件假,後件不一定假(註2)。例如在命題「如果你吃了這毒藥而沒人救你,你就會死」中,前件「如果你吃了這毒藥而沒人救你」就是後件「你就會死」的充分條件。因為若某人吃了毒藥而又沒人救他,他是必死無疑的。但是若某人不吃毒藥,卻並不代表他就必定不死,因為尚有其他很多方法令一個人死。「必要條件」就是通常由「只有當」引導的條件(註3)。這類條件句的特點是若前件假,則後件必假;但若前件真,後件不一定真。例如在命題「只有當你滿18歲時,你才有資格投票」中,前件「只有當你滿18歲時」就是後件「你才有資格投票」的必要條件。若前件假,即你未滿18歲,則後件必假,即你必然沒有資格投票。但若你已滿18歲,你卻未必有資格投票,因為你可能未滿足選民所需的其他條件,例如你不是這地區的公民。

「充分必要條件」就是既充分又必要的條件。這類條件句的特點是若前件真,則後件必真;而且若前件假,則後件必假,即前、後件同真同假。「充分必要條件」一般只出現於數學、邏輯學或邏輯性強的其他學科中,在日常生活中較少出現這樣的例子。例如在數學命題「當且僅當n是偶數,n能被2整除」中,前件「當且僅當n是偶數」就是後件「n能被2整除」的「充分必要條件」,即若n是偶數,n能被2整除;而且若n不是偶數,則n不能被2整除。因此要證明某命題是「當且僅當命題」,我們須證明該命題的前件是後件的「充分條件」和「必要條件」(註4)。

具備了以上的預備知識,現在我們可以分析這道謎題了。這道謎題最令人費解的地方應是為何那些三眼人全都在第九天早上消失了(即在命令下達後第八天晚上死去),不早也不遲。面對這樣撲朔迷離的情況,我們可以採取這樣的對策,即先從最簡單的情況開始,假設這個國家只有一名三眼人,情況將有何不同,然後嘗試從中找出破解這題的奧秘。

好了,就讓我們開始推理吧。首先假設只有一名三眼人,那麼我們可以斷定這個三眼人在第二天早上便會消失(即在命令下達當晚就會死去),為甚麼?由於這個國家只有他一個三眼人,他每天在市集見到的其他人盡是兩眼人,而他又知道這個國家存在著兩類人,那麼他便可據此推斷自己必是唯一的一個三眼人,所以在國王命令下達的當晚便會自殺,即這名三眼人在命令下達後第二天早上不會在市集上出現。我們把這結論記為以下的「充分條件命題」:

充分條件命題1:如果只有一名三眼人,這名三眼人會在命令下達當天晚上自殺。

接著考慮共有兩名三眼人的情況,讓我們把他們稱為A和B。那麼我們可以斷定A和B在命令下達後第三天早上都不會在市集上出現。為甚麼?因為在A眼中,他每天在市集所見只有B這一個三眼人,其他人全都是兩眼人,可是他卻不知自己是哪一種人,有兩種可能性,即:

判斷1:要麼只有一個三眼人(即自己不是三眼人),要麼共有兩個三眼人(即自己也是三眼人)。

請注意B的判斷跟A相同。這時A(和B)為了判斷是否只有一名三眼人,根據充分條件命題1,他們都會在第二天早上看看平時所見的三眼人是否消失了,因此都不會在命令下達當晚死去。結果他們在第二天早上都會在市集中出現,並且互相看見。這時A根據上面判斷1、充分條件命題1以及他在第二天早上發現B仍在市集上出現這一事實,便能推斷這個國家並非只有一名三眼人,亦即自己也是三眼人。B的判斷也是這樣,因此A和B都會在第二天晚上自殺,即在第三天早上消失。由此我們得出以下的「充分條件命題」:

充分條件命題2:如果有兩名三眼人,這些三眼人會在命令下達後第二天晚上自殺。

接著我們再考慮三名三眼人的情況,讓我們把他們稱為A、B和C。現在在A眼中,他每天在市集所見只有B和C這兩個三眼人,其他人全都是兩眼人,可是他卻不知自己是哪一種人,有兩種可能性,即:

判斷2:要麼只有兩個三眼人(即自己不是三眼人),要麼共有三個三眼人(即自己也是三眼人)。

請注意B、C的判斷跟A相同。這時A(以及B和C)為了判斷是否只有兩名三眼人,根據充分條件命題2,他們都會在第三天早上看看平時所見的三眼人是否消失了,因此都不會在命令下達當晚和第二天晚上死去。結果他們在第二天和第三天早上都會在市集中出現,並且互相看見。這時A根據上面判斷2、充分條件命題2以及他在第三天早上發現B和C仍在市集上出現這一事實,便能推斷這個國家並非只有兩名三眼人,亦即自己也是三眼人。B和C的判斷也是這樣,因此A、B和C都會在第三天晚上自殺,即在第四天早上消失。由此我們得出以下的「充分條件命題」:

充分條件命題3:如果有三名三眼人,這些三眼人會在命令下達後第三天晚上自殺。

倣照上述的推理模式,我們可以把上述充分條件命題1、2、3推廣到任意正整數n的情況,從而得出以下的「一般」命題:

充分條件命題n:如果有n名三眼人,這些三眼人會在命令下達後第n天晚上自殺。

以上我們證明了一系列「充分條件命題」,事實上這些命題也是「必要條件命題」,以下讓我們證明這一點。首先,假設三眼人的數目是m,並且m小於n,則根據上述的「一般」命題,這些三眼人會在命令下達後第m天晚上自殺,不會待到第n天晚上才自殺。其次,假設三眼人的數目是m,並且m大於n,那麼根據前面各段的分析,這些三眼人在第n天時還未能斷定自己是否三眼人,必須待到第m天才能斷定並且自殺。總結以上兩種情況,如果並非有n名三眼人,這些三眼人都不會在命令下達後第n天晚上自殺,至此我們可以把上述充分條件命題改寫成「當且僅當命題」:

當且僅當命題n:當且僅當有n名三眼人,這些三眼人會在命令下達後第n天晚上自殺。

至此,我們可以得到謎題的解答了。由於所有三眼人在第九天早上都不在市集上出現,即在第八天晚上自殺,根據上述當且僅當命題n,這個國家共有八名三眼人。

有些人可能會疑惑,既然所有兩眼人跟三眼人一樣不知道自己有多少隻眼,為何他們不會錯誤地判斷自己是三眼人而自殺呢?答案在於每名兩眼人所見三眼人的數目跟每名三眼人所見三眼人的數目不同,前者較後者多一。為方便跟前面的推理比較,我們考慮共有三名三眼人的情況。在此情況下,在每名兩眼人眼中,他每天在市集都見到三名三眼人,其他人全都是兩眼人,可是他卻不知自己是哪一種人,有兩種可能性,即:

判斷2a:要麼只有三個三眼人(即自己不是三眼人),要麼共有四個三眼人(即自己也是三眼人)。

這些兩眼人如何判斷自己是甚麼人?關鍵在於上面的命題3。如果在第四天早上他們發現所有三眼人都消失了,他們就知道自己不是三眼人了。可是根據前面的討論,這三個三眼人必定會在第四天早上消失,因此兩眼人是不會作出錯誤判斷的。由此我們亦可作出一個推斷,倘若那些三眼人的推理能力不夠高,全部都沒有在「該死」的那一晚自殺,他們就會「累死」所有兩眼人(如果所有兩眼人的推理能力夠高的話)。

註1:在日常語言中,if一般譯作「如果」或「若」,only if一般譯作「只有當」或「只有...才」,但中文數學或邏輯學著作為了節省字數,通常把if and only if譯成「當且僅當」。

註2:「前件」和「後件」是邏輯學上有關條件句的術語,前者指由「如果」、「只有當」、「當且僅當」等邏輯聯結詞(Logical Connective)引導的子命題,而後者則指另一子命題(條件命題由兩個子命題組成)。在語言學上,「聯結詞」相當於「連詞」(Conjunction),「前件」相當於「條件分句」(Conditional Clause),「後件」則相當於「主要分句」(Main Clause)。

註3:請注意在日常語言中有一個連詞「只要」(英語為provided that、as long as),雖然「只要」也包含「只」字,但其意義跟「只有當」很不同。在邏輯學上,「只有當」是用來引導「必要條件」的,而「只要」卻跟「如果」一樣,是用來引導「充分條件」的。事實上,在邏輯學上「只要」的意義跟「如果」沒有分別。某些語言學著作也指出,「只要」是「如果」的一種強調形式。

註4:有多種方法證明「當且僅當p,q」(這裡p、q代表命題),其中一種方法是先證明若p真,則q也真;然後再證明若p假,則q也假。另外一種方法是先證明若p真,則q也真;然後再證明若q真,則p也真。本文主要是用第一種方法。

返回猜謎題,學推理