對(duì)于類似騎士與流氓的這種邏輯思維題,除了極個(gè)別的天才能夠大腦隨便一想就知道答案,絕大多數(shù)人都要好好的推斷一會(huì)。
而
離散數(shù)學(xué)就教給了我們一種用數(shù)學(xué)方法來(lái)推導(dǎo)這種邏輯題,使得這些問(wèn)題的難度降低不少。下面就來(lái)看下《離散數(shù)學(xué)及其應(yīng)用》第六版,1.1章練習(xí)題第55題我的推導(dǎo)分析吧。
一個(gè)小島上住著兩類人,一類是騎士,一類是流氓,騎士只說(shuō)真話,流氓只說(shuō)假話,有AB兩個(gè)人,根據(jù)他們所說(shuō)的話,判斷AB各自是流氓還是騎士。
a)A說(shuō):我們之間至少有一個(gè)是流氓。B什么都沒(méi)有說(shuō)
b)A說(shuō):我們兩個(gè)都是騎士。B說(shuō):A是流氓。
c)A說(shuō):我是流氓或者B是騎士。B什么都沒(méi)說(shuō)
d)兩個(gè)人都說(shuō):我是騎士
e)A說(shuō):我們都是流氓。B什么都沒(méi)說(shuō)。
個(gè)人分析:
首先,定義命題p為A是騎士,!p代表A是流氓,q為B是騎士,!q為B是流氓a)A說(shuō)的內(nèi)容可以用如下數(shù)學(xué)符號(hào)表達(dá):(!p ∨ !q)。
假設(shè)A是騎士,即p=1,說(shuō)明A說(shuō)的內(nèi)容為真,即(!p ∨ !q)=1,因?yàn)閜=1推出!p=0,所以!q=1,所有q=0,即B為流氓。過(guò)程沒(méi)有矛盾。
保險(xiǎn)起見(jiàn),再假設(shè)A是流氓,即!p=1,說(shuō)明A說(shuō)的內(nèi)容為假,即(!p ∨ !q)=0,但是!p=1,所以(!p ∨ !q)不可能為0,所以有矛盾。
結(jié)果就是A是騎士,B為流氓
b)A說(shuō)的內(nèi)容:(p ∧ q),B說(shuō)的內(nèi)容:!p
假設(shè)A是騎士,即p=1,說(shuō)明A說(shuō)的內(nèi)容為真,即(p ∧ q)=1,推出q=1,說(shuō)明B也為騎士,那B說(shuō)的話為真,就是說(shuō)!p=1,即A為流氓,結(jié)論與條件矛盾,假設(shè)不對(duì)
假設(shè)A是流氓,即!p=1,說(shuō)明A說(shuō)的內(nèi)容為假,即(p ∧ q)=0,此時(shí)q是0還是1,都符合。再?gòu)腂說(shuō)的話著手,因?yàn)?p=1,所以B說(shuō)的話是正確的,所以q=1,B是騎士,沒(méi)有矛盾。
結(jié)果就是A是流氓,B是騎士
c)A說(shuō)的內(nèi)容:(!p ∨ q)
假設(shè)A是騎士,即p=1,說(shuō)明A說(shuō)的內(nèi)容為真,即(!p ∨ q)=1,推出q=1,即說(shuō)明B也為騎士,沒(méi)有矛盾。
假設(shè)A不是騎士,即!p=1,說(shuō)明A說(shuō)的內(nèi)容為假,即(!p ∨ q)=0,但是!p=1,所以無(wú)論(!p ∨ q)是不可能為0的,所以矛盾
結(jié)果倆人都是騎士
d)A說(shuō)的內(nèi)容:p。B說(shuō)的內(nèi)容:q
假設(shè)A是騎士,即p=1,說(shuō)明A說(shuō)的內(nèi)容為真,即p=1,與條件相符。
假設(shè)A是流氓,即!p=1,說(shuō)明A說(shuō)的內(nèi)容為假,即p=0,此時(shí)也與條件相符。
B的判斷也一樣,所以結(jié)果是無(wú)法判斷出誰(shuí)是騎士誰(shuí)是流氓
e)A說(shuō)的內(nèi)容:(!p ∧ !q)
假設(shè)A是騎士,即p=1,說(shuō)明A說(shuō)的內(nèi)容為真,即(!p ∧ !q)=1,因?yàn)?p=0,所以無(wú)論如何(!p ∧ !q)是不可能為0的,矛盾
假設(shè)A是流氓,即!p=1,說(shuō)明A說(shuō)都內(nèi)容為假,即(!p ∧ !q)=0,說(shuō)明!q=0,即B是騎士,沒(méi)有矛盾
結(jié)果是A是流氓,B是騎士