數字狼人殺:一道結合「實話謊話判斷」與「和與積問題」的精彩自編邏輯題
甲:乙不知道這兩個數是什麼
丙:我知道這兩個數是什麼了
數字狼人殺
我在升高三暑假某次靈機一動,覺得可以把誰說謊誰誠實,跟我知道你不知道兩種邏輯題結合起來。於是我在數學培訓就開始想,回家後打開Excel去湊數字,搞了好幾天終於設計出了這個魔王題!但好像大家都懶得挑戰w
題目敘述
小明選取了兩個正整數,滿足,他將告訴甲、告訴乙、告訴丙。已知甲、乙、丙皆有可能說實話或謊話,但說實話者永遠說實話,說謊話者永遠說謊話,且在開始對話前,甲、乙、丙三人互相對彼此說實話或謊話的情形一無所知。假設甲、乙、丙都是絕頂聰明的,能運用所有現有知識做出盡可能多的推論,現在,他們開始以下對話:
甲:我不知道這兩個數是什麼,但我知道這兩個數中一定有奇數
乙:我不知道這兩個數是什麼
丙:我不知道這個數是什麼,不過甲在說謊
甲:乙不知道這兩個數是什麼
乙:的確,我不知道
丙:甲不知道這兩個數是多少,而且乙在說謊
甲:我不完全知道乙和丙是否說謊的全部實情
乙:我手上的數字()是偶數
丙:我現在知道這兩個數是什麼
(註:三人都是在確認自己說的話一定是實話或謊話才會講,以避免說出不小心說出不符合自己人設的話;另外,要整句話皆為真才是實話)
請問:
(以下2~5題皆承接1.,即假設真正的即是使達最小的那組)
-
的所有可能為何?使得最小的那組為何?
-
丙說完他的第二句話後,據甲所知所有他認為有可能的所組成的最小集合為何?
-
甲、乙、丙三人知道確切值的順序為何?分別在何時就知道了?
-
原對話刪除其中句,且確保三人的邏輯嚴謹與合理,若欲使丙仍能判斷出的確切數值,試求出的最大值,以及具體刪除哪幾句?
為了以下論述方便,我們使用
說話人-全部句數中第幾句對句子進行編號,譬如乙-5為「的確,我不知道」;另外,以T代表說實話者,F代表說謊者;再者,若論述提及「某人不知道」,未註明時均指他「不知道兩數的確切數值」。
簡答
點我展開
-
所有可能為,其中可使最小
-
-
如下表
角色 何時知道 乙 對話開始之前 丙 甲-4後甲 乙-8後 -
的最大值為 ,只需保留
甲-4即可
詳解
第1題
點我展開
先將所有可能情形列出| (x,y) | 甲 (x+y) | 乙 (xy) | 丙 (x-y) | xy唯一? | x+y唯一? | x-y唯一? |
|---|---|---|---|---|---|---|
| (2,3) | 5 | 6 | -1 | 是 | 是 | 否 |
| (2,4) | 6 | 8 | -2 | 是 | 是 | 否 |
| (2,5) | 7 | 10 | -3 | 是 | 否 | 否 |
| (2,6) | 8 | 12 | -4 | 否 | 否 | 否 |
| (2,7) | 9 | 14 | -5 | 是 | 否 | 否 |
| (2,8) | 10 | 16 | -6 | 是 | 否 | 否 |
| (2,9) | 11 | 18 | -7 | 否 | 否 | 是 |
| (3,4) | 7 | 12 | -1 | 否 | 否 | 否 |
| (3,5) | 8 | 15 | -2 | 是 | 否 | 否 |
| (3,6) | 9 | 18 | -3 | 否 | 否 | 否 |
| (3,7) | 10 | 21 | -4 | 是 | 否 | 否 |
| (3,8) | 11 | 24 | -5 | 否 | 否 | 否 |
| (3,9) | 12 | 27 | -6 | 是 | 否 | 否 |
| (4,5) | 9 | 20 | -1 | 是 | 否 | 否 |
| (4,6) | 10 | 24 | -2 | 否 | 否 | 否 |
| (4,7) | 11 | 28 | -3 | 是 | 否 | 否 |
| (4,8) | 12 | 32 | -4 | 是 | 否 | 否 |
| (4,9) | 13 | 36 | -5 | 是 | 否 | 否 |
| (5,6) | 11 | 30 | -1 | 是 | 否 | 否 |
| (5,7) | 12 | 35 | -2 | 是 | 否 | 否 |
| (5,8) | 13 | 40 | -3 | 是 | 否 | 否 |
| (5,9) | 14 | 45 | -4 | 是 | 否 | 否 |
| (6,7) | 13 | 42 | -1 | 是 | 否 | 否 |
| (6,8) | 14 | 48 | -2 | 是 | 否 | 否 |
| (6,9) | 15 | 54 | -3 | 是 | 否 | 否 |
| (7,8) | 15 | 56 | -2 | 是 | 否 | 否 |
| (7,9) | 16 | 63 | -1 | 是 | 是 | 否 |
| (8,9) | 17 | 72 | -1 | 是 | 是 | 否 |
為了以下論述方便,我們使用說話人-全部句數中第幾句對句子進行編號,譬如乙-5為「的確,我不知道」;另外,以T代表說實話者,F代表說謊者;再者,若以下論述提及「某人不知道」,未註明時均指他「不知道兩數的確切數值」。以下開始進行推論:
-
甲知道中必有奇數,若且惟若為奇數,因為此時必為一奇一偶,且若為偶數,甲將不能確定是兩奇或兩偶
-
和的奇偶性相同
-
丙-3:「我不知道這個數是什麼,不過甲在說謊」
-
若丙為T 丙不知道( )且甲為F,而且丙知道甲為F。根據上表,我們知道丙除非是拿到,否則不可能在一開始就能推論出甲知道與否,因此丙僅能對「必有奇數」做出否定 和均為偶數
-
若丙為F 丙知道( )或甲為T,不過若丙知道,則查表知甲確實不知道,且丙知道代表,進而為奇數,從而甲亦說實話。因此,無論如何甲為T。 為奇數,且
-
由以上兩點,我們得知:甲為T 丙為F 一奇一偶,且由於這些推理甲、丙都會做出,又他們知道自己是否說謊,因此他們互相知道對方是否說謊(在ROUND 1結束後)
-
-
丙-6:「甲不知道這兩個數是多少,而且乙在說謊」
-
若丙為T,則有
-
甲為F,且丙知道這件事
-
甲知道丙為T
-
為偶數
-
丙知道「甲不知道這兩個數是多少」
-
丙知道「乙在說謊( 乙知道 )」
-
由1,甲-4為假,因而「乙知道這兩個數是多少」,從而乙亦為F,且甲知道這件事,因而甲由手上的可知。我們將所有可能根據3進行篩選,滿足的組合只剩,由於要能由排除這種情形的可能性,從而。查表可知
-
由4知 (否則丙將無法確定甲是否不知道這兩數是多少),因此先排的所有情形,得到
-
此時有(甲,乙,丙)=(F,F,T)
-
-
若丙為F,則由甲-4為真,乙-5亦為真,從而(甲,乙,丙)=(T,T,F)。且由於甲、乙、丙都能做出相應推理(他們擁有的資訊甚至還比我們多,我們在資訊受限時能做出的推理他們自然能做出),因此他們三人也都知道彼此的說謊或說實話情形。從而甲-7:「我不完全知道乙和丙是否說謊的全部實情」為謊話,但這與甲說實話矛盾,從而此情形不可能發生
-
綜合以上分析,我們得出
(甲,乙,丙)=(F,F,T),且,且可驗證此人設組合與甲-7並不矛盾
-
-
乙-8
- 由於乙為F,因而為奇數,從而,此即所有的可能,而使達最小的解為
我們可以經由輕易推論出「甲、乙、丙三人在ROUND 1結束後就都知道彼此的誠實與說謊情形了」。
第2題
點我展開
接著我們來解第2題,因為,甲拿到、乙拿到、丙拿到。我們站在甲的角度進行推理:
-
由,甲在一開始可知
-
查表可知乙-2、丙-3、乙-5所述都是甲已知的資訊,且他也知道丙在聽完他說的話之後便知道他在說謊,因此無從排除任何組合。
-
至於丙-6,由於甲可以做出我們在求解第1題時做出的推理,進而得出,與上一題的答案取交集,甲據他所知所有他認為有可能的所組成的最小集合為
第3題
點我展開
接著是第3題,首先,乙在遊戲一開始便知道的確切數值。接著考慮甲,由第2題知至丙-6,他已將的可能性縮減到剩下兩種,而他在聽到乙-8時便知道為奇數,從而。至於丙,由於他拿到的數為,在遊戲一開始他便認知,而丙對甲-4做出與我們在解第1題時相同的推理便能排除這組可能。
| 角色 | 何時知道 | 關鍵 |
|---|---|---|
| 乙 | 對話開始之前 | 可唯一分解 |
| 丙 | 甲-4後 | 甲知道乙知道,因而排除了的可能 |
| 甲 | 乙-8後 | 乙-8的謊話使甲知道皆為奇數 |
第4題
點我展開
在來是第4題,由上我們可知只保留甲-1~甲-4,丙便能判斷出是什麼。我們來看各句話分別有什麼功能
甲:我不知道這兩個數是什麼,但我知道這兩個數中一定有奇數
乙:我不知道這兩個數是什麼
丙:我不知道這個數是什麼,不過甲在說謊
甲:乙不知道這兩個數是什麼
遊戲開始前:
甲知道
乙知道
丙知道
| 甲-1 | 乙-2 | 丙-3 | 甲-4 |
|---|---|---|---|
| 讓丙知道甲為F | 未給甲、丙新資訊 | 未給甲新資訊 | 使丙排除 |
我們因而知道乙-2、丙-3也都可刪去。進一步我們還可以發現丙在一開始就知道乙知道了,因此憑甲-4就能知道甲為F,因此甲-1亦可刪去,因此的最大值為8,刪去後只保留甲-4。
我們示範一下丙如何藉此進行推理:
丙:「根據我手上的,我知道,經由查表我發現對這兩種情形,乙都在一開始就能知道是什麼了,但甲卻說『乙不知道』,因而甲一定在說謊。而既然甲會這麼說,代表他也知道『乙知道』,才能保證他說的是謊話,若,那麼甲拿到的,但就是一組使但乙不知道的組合,也就是甲如果拿到,他將無法確定乙一定知道,從而必有」
WTF
解完這題後,來看一題較簡單的題目(閹割自第四小題)
小明選取了兩個正整數,滿足,他將告訴甲、告訴乙、告訴丙。已知丙說實話,且在任一人開始說話前他不知道甲是否說實話。假設甲、乙、丙都是絕頂聰明的,能運用所有現有知識做出盡可能多的推論,現在,他們開始以下對話:
甲:乙不知道這兩個數是什麼
丙:我知道這兩個數是什麼了
請問,這兩數可能是什麼?
答案留作讀者練習~







