邏輯推理的妙用
2024-10-11 04:59:50
作者: 徐文
豪斯和漢納都是李老師的學生。一天,李老師跟他們倆做了一個「老師的生日為哪天」的趣味推理遊戲。遊戲的具體情況如下:
李老師的生日是X月Y日,並且為下列十天中的某一天,這十天分別為:
3月4日,3月5日,3月8日;
6月4日,6月7日;
9月1日,9月5日;
12月1日,12月2日,12月8日。
李老師把X值,即生日的月份告訴了豪斯;把Y值,即生日的日期告訴了漢納。然後李老師就問他們是否知道自己的生日是哪一天。漢納搖搖頭,說:「不知道。」漢納話音剛落,豪斯就說:「本來我不知道的,現在我知道了。」漢納眼珠一轉,說:「噢,現在我也知道了。」
答案是6月4日。
你知道是怎麼回事嗎?讓我們來具體分析一下吧。
根據漢納的回答「不知道」,我們可以確定李老師的生日絕不是6月7日,也不是12月2日。推理過程如下:
從上面給定的十個日期中我們可以得知,李老師生日的日期為1日、2日、4日、5日、7日、8日中的某一天。其中,1日、4日、5日、8日在這十天中各出現了兩次:即9月1日和12月1日,3月4日和6月4日,3月5日和9月5日,3月8日和12月8日。而2日和7日只出現了一次:即12月2日、6月7日。
李老師把生日的日期告訴了漢納。如果日期為2日或7日,那麼漢納就可以馬上確定出李老師的生日為12月2日或者是6月7日。因為2日或7日在給定的十天當中只出現了一次。如果李老師告訴漢納的日期為1日、4日、5日或8日,漢納就無法根據自己現有的信息推知李老師的生日具體為哪一天。因為這四個日期在給定的十天當中均出現兩次。所以說,如果漢納的回答是「知道」,就表明李老師的生日是12月2日或者是6月7日,而他的回答是「不知道」,我們就可排除這兩個日期。
豪斯根據漢納的回答「不知道」,說「本來我不知道的,現在我知道了」,我們可以得到,李老師的生日只能是6月4日。具體推理如下:
李老師把生日的月份告訴了豪斯,就是說,豪斯知道了李老師的生日在3月、6月、9月或12月中的某一個月。但是,3月、6月、9月、12月這四個月中每個月都有兩個或三個可能的日期:
3月有3月4日、3月5日和3月8日三個可能的日期;
6月有6月4日、6月7日兩個可能的日期;
9月有9月1日、9月5日兩個可能的日期;
12月有12月1日、12月2日、12月8日三個可能的日期。
因此,雖然李老師告訴了豪斯他生日的月份,但是因為在給定的十天中,每個月份中都有兩個或兩個以上的日子,比如李老師告訴豪斯他的生日在3月,3月中有三個可能的日期:3月4日、3月5日和3月8日,致使豪斯無法根據已知的生日月份來推斷出李老師的生日具體為哪一天。這也是豪斯回答的「本來我不知道」的原因所在。
但是漢納的回答「不知道」,使得豪斯排除了李老師的生日為6月7日和12月2日的可能性。此時,李老師生日的可能日期就由原來的十個減少為了八個,這八個日子分別為:
3月4日,3月5日,3月8日;
6月4日;
9月1日,9月5日;
12月1日,12月8日。
豪斯在聽到漢納說「不知道」後,說「現在我知道了」即表明:他能夠確定出李老師生日的具體日期,即Y值了。而在上面四個月份中,唯有6月份有一個可能的日期——6月4日,其餘的月份都有兩個或三個可能的日期。
假如李老師的生日不在6月份,而在3月、9月或12月這三個月份當中的任何一個月,那麼豪斯是不能確定地說他知道了李老師的生日是哪一天的。只有李老師的生日在6月份,豪斯才能回答說「現在我知道了」。根據豪斯的回答「現在我知道了」表明:李老師的生日只能在6月,也就是6月4日。
漢納在聽到豪斯說「現在我知道了」後也說「現在我也知道了」,表明漢納也根據上述推理過程推算出了李老師的生日為哪一天。
「李老師的生日為下列十天中的某一天」,這個給定的條件是雙方的公共知識。X值,也就是生日所在的月份為豪斯的知識;Y值,即生日的日期為漢納的知識,X值和Y值不是他們倆的公共知識。當漢納回答說「不知道」之後,「李老師的生日不是6月7日和12月2日」便成為了他們之間的公共知識。而當豪斯說「本來我不知道的,現在我知道了」之後,「6月4日是李老師的生日」便成了他們之間的公共知識。
理智的聰明人懂得運用邏輯推理得到某件看似複雜的事情的真相,邏輯推理正是人們在博弈過程中經常會運用到的一種重要的思維方式。