觀李永樂《皇帝的新衣》後感以及紅藍眼悖論解題思路

觀李永樂《皇帝的新衣》後感以及紅藍眼悖論解題思路

前言

寫這篇博客不是主要的目的:

  • 不是爲了提供這題目的答案。
  • 不是爲了講“共有知識”和“公共知識”的概念區別。
  • 不是爲了研究這道題目的悖論。
  • 不是爲了講解這個題目怎麼採用數學歸納法進行驗證和解答。

以上不作爲本文講解內容的部分均可在互聯網上找到詳細的相關文檔。

在看本文前需要了解,最好對上面的知識有個簡單的瞭解或者印象,查閱一下相關資料。

本文將要講解的內容:

作爲一個村民的思維邏輯是怎樣從接收到“旅行者”的信息(村裏有紅眼人)後,推理自己眼睛的顏色的整個完整心理過程。然後用文字的形式描繪出來。

引用

  • 這道數學題悖論的原題目爲《The blue-eyed islanders puzzle》,出自澳大利亞華裔數學天才–陶哲軒。
    鏈接地址:https://terrytao.wordpress.com/2008/02/05/the-blue-eyed-islanders-puzzle/

  • 李永樂老師《皇帝的新衣》視頻鏈接:https://www.bilibili.com/video/av27732823/

  • 原題目及其網上解答:

題目是這樣的。說一個島上有100個人,其中有5個紅眼睛,95個藍眼睛。這個島有三個奇怪的宗教規則。

  1. 他們不能照鏡子,不能看自己眼睛的顏色。
  2. 他們不能告訴別人對方的眼睛是什麼顏色。
  3. 一旦有人知道了自己的眼睛顏色,他就必須在當天夜裏自殺。(尊重博客原題,把原來的“知道自己是紅眼睛”改成現在的“知道自己的眼睛顏色”)
    注:雖然題設了有5個紅眼睛,但島民是不知道具體數字的。

某天,有個旅行者到了這個島上。由於不知道這裏的規矩,所以他在和全島人一起狂歡的時候,不留神就說了一句話:【你們這裏有紅眼睛的人。】

最後的問題是:假設這個島上的人足夠聰明,每個人都可以做出縝密的邏輯推理。請問這個島上將會發生什麼?
——————
主要的思路

此問題的第一個答案是用數學歸納法得出的:如果這個島上有N個紅眼睛,那麼在旅行者說這句話的第N天,他們全部都會自殺。具體到本題則是,在第5天,這個島上的5個紅眼睛會全部自殺。(尊重原題,補:其他藍眼睛在紅眼睛集體自殺後,知道自己的眼睛顏色,也跟着自殺)

村民的內心世界:

從原題目中,我們瞭解到一個假設性前提,就是村裏每個村民都邏輯縝密,思維靈活,而且村裏每個人的智慧都一樣高強。同時記得虔誠,不會說謊。

基於這個前提下,村民的邏輯思維過程是怎樣的呢?

首先假設我們是村裏的其中一個紅眼的村民A,A一開始心理是這麼想的:

  • 我從出生不久就知道村裏有紅眼人
  • 我見過紅眼人,而且所有紅眼人我都見過,我非常確定村裏有4個紅眼人。
  • 但是我不知道村裏實際有多少個紅眼人,因爲我不知道我的眼睛顏色,
    • 假如我的眼睛是紅色的,那麼我就能非常確定村裏有5個紅眼人。
    • 假如我的眼睛是藍色的,那麼我就能非常確定村裏有4個紅眼人。
  • 大家都生活在同一個村莊,時間長了,我相信大部分都知道村裏有紅眼人。
  • 但是我百分百確定,其它村民是否和我一樣知道村裏有紅眼人。尤其是那4個紅眼人。
  • 日子就這樣過着挺好的,大家不去提眼睛顏色的事情,畢竟知道關於眼睛顏色的信息越少,也就越是不可能有人能推理出眼睛的顏色了。條件越不夠充分,關於眼睛顏色的問題也就越難解開了。
  • 該死的是某一天大家被叫去廣場送別一個多嘴的旅客時,旅客說了一句“村裏竟然有和我一樣是紅眼睛的人”,之後所有村民都知道村裏有紅眼睛的人,同時全村人還緊張得四目相對,一下子大家都知道了一個事實——“村裏有紅眼睛的人,而且還知道了除了自己以外的紅眼人的個數。”
  • 那問題來了,這個信息是否會導致紅眼的村民獲得“充分的條件”,從而推理出自己的眼睛顏色?

兩種可能的情況

  • 我需要理一下,我需要知道這個信息是否會對村民造成影響?

第一種情況:

因爲村民不能討論關於眼睛的事情,如果這個信息對村民造成的影響只是思想上的影響,比如只是字面上的讓村民得知有紅眼人這一信息,那麼我是無法感知的,也就等價於這一信息不會影響到任何一位村民。

第二種情況:

如果這一信息會導致村民得知自己眼睛顏色而導致死亡,那麼這個信息我是可以感知的(我會看到村民死亡的時間、地點以及得知眼色的這一死因)。

  • 第一種情況我不需要考慮,因爲我無法感知的信息,不會影響我(不會影響,從而導致我得知眼睛的顏色)。我需要考慮的是第二次情況。
  • 第二種情況,得知村裏有紅眼人,會導致有人死亡,這個假設如果成立。

第二種情況下的進一步推理:

推理出我的眼睛顏色會影響其它村民的死亡時間:

  • 我怎麼從中推理出我的眼睛顏色,換言之,假如我的眼睛是紅色的話會怎樣,不是紅色的又會怎樣。假如我的眼睛是紅色的,會影響到其它人的死亡地點?不會!村裏規定死亡地點在廣場。會影響到他們的死因麼?不會!死因永遠只有一個,就是得知自己眼睛顏色。會影響死亡的時間麼?會!村裏規定在得知眼色後第二天中午自殺,具體哪一天的第二天自殺是無法得知的。而我的眼睛眼色很有可能會影響他們的死亡時間。

  • 假如我的眼睛眼色不會對他們造成影響,那麼就等價於,我無法從他們的死亡得知任何與我有關的消息了,那麼我就沒法進一步得知我的眼色,那麼我就不可能會死了。同理,在其它村裏也能成立,那麼其它村民也就不會死了。如果沒有村民死亡,這個結論顯然和我們的假設矛盾,所以不成立。也就說我的眼睛眼色會對他們造成影響,而且影響到他們的死亡時間。

基於假設找到了研究方向,並建立簡單的模型:

  • 那麼會對他們的死亡時間造成什麼影響呢?關於這個問題,顯然很複雜。我們能確定的是,假設“得知村裏有紅眼人”會造成死亡,那麼肯定會有人死亡,而我的眼睛會造成他們的死亡時間,要麼提早死亡,要麼遲死亡。至於具體怎麼影響我們一下子無法找出規律。因爲一下子無法找出規律呢?規律過於複雜的原因是什麼造成的?顯然是人數,人數太多,我們需要推理出每一個人內心想法是一件困難的事情,但是我假設成立的情況下,所有村民的內心邏輯一定是有律可尋的。
第一模型, “村裏有9個藍眼人,1個紅眼人”。

假設

就像黑夜中的指路人。

基於這個假設我們從簡單的模型中找到了一個可能存在的、片面的、簡單的規律,從簡單的規律中,我們通過歸納找出普遍的歸律。

有了基於假設成立得出普遍的規律,所以與假設對立的觀點將會與普遍規律矛盾而被否定。

  • 因爲我們基於“得知村裏有紅眼人會造成村民死亡”的假設,將村民在人數少做減法,建一個最簡單的模型“村裏有9個藍眼人,1個紅眼人”。

  • “村裏有9個藍眼人,1個紅眼人”就是基於假設而建立的一個片面的簡單的規律模型。假如村裏只有一個紅眼人,紅眼人得知“村裏有紅眼人”的信息以及“自己看到所有其它村民都是藍眼”兩條信息後就會推理出,自己的眼睛眼色是紅色的。而村裏的藍眼人則會基於“紅眼知道村裏有紅眼人”以及“紅眼人能推理出自己眼睛是紅色的並於第二天中午自殺”兩點信息,推理出自己的眼睛不是紅色。(如果藍眼人在進一步藉助“村裏只有紅藍眼色”則也會得出自己是藍眼人,並於第三天中午自殺),但是對藍眼人來說,他是無法在第一天得出自己的眼色,而紅眼人在第一天就能得出,因爲“紅眼人能推理出自己眼睛是紅色的並於第二天中午自殺”必須要等待第二天才能知道。如果藍眼人能確定“村裏唯一的紅眼人一定會在第二天自殺”,那麼理論上藍眼人也是可以當即在第一天便推理出自己的眼睛顏色,並在第二天一起自殺的,但問題在於如果萬一【藍眼人(以爲自己是藍色,其實不是的人)的眼睛不是藍色的】,那麼“紅眼人”推理出自己眼睛眼色的第2個條件(“自己看到所有其它村民都是藍眼“)將無法成立,從而導致紅眼人不會在第二天自殺,所以藍眼人僅能在第二天才能根據”紅眼人是否自殺”來得知自己的眼睛顏色。

總結:“村裏有9個藍眼人,1個紅眼人”,紅眼人會在第2天中午自殺。

第二個模型,“村裏有8個藍眼人,2個紅眼人”。
  • 假如“村裏有8個藍眼人,2個紅眼人”呢?顯然紅眼人不會在第二天中午自殺,因爲紅眼人的第二個條件“自己看到所有其它村民都是藍眼“無法成立,無法成立即意味着,“村內第二天沒有紅眼人自殺”,且“村裏不止1位紅眼人”,又基於“紅眼人自己只能看到1位紅眼人”,所以綜上3個條件,紅眼人會在第二天知道自己的眼睛是紅色的,並於“第三天中午兩名紅眼人一起自殺”。而藍眼人看來,“村內第二天沒有紅眼人自殺”,且“村裏不止1位紅眼人”,這2個信息在第2天便可以得知,但是第3個條件“紅眼人自己只能看到1位紅眼人”卻未必成立。如果【藍眼人(以爲自己是藍色,其實不是的人)的眼睛不是藍色的】,那麼紅眼人將看到村裏除了自己以外仍有2個紅眼的,而放棄第三天的中午的自殺行爲。所以藍眼人不確定自己是不是真的藍眼人,所以得等待第三天中午,根據紅眼人的自殺行爲,來確定自己是藍眼人。當然我們假設村裏只有2個紅眼人,所以第三天中午2個紅眼人一定會自殺。

總結:“村裏有8個藍眼人,2個紅眼人”,紅眼人會在第3天自殺。

第三個模型,“村裏有k個藍眼人,3個紅眼人”
  • 從上面兩個例子我們得出規律,村裏有n個紅眼人,紅眼人會在第n+1天自殺。

  • 我們得出的規律未必是正確的,我們試試“假設村裏有3個紅眼人”的例子是否成立:

    假如“村裏有k個藍眼人,3個紅眼人”呢?顯然紅眼人不會在第3天中午自殺,因爲紅眼人的第3個條件“紅眼人自己只能看到1位紅眼人“無法成立,無法成立即意味着,“村內第三天沒有紅眼人自殺”,且“村裏不止2位紅眼人”,又基於“紅眼人自己只能看到2位紅眼人”,所以綜上3個條件,紅眼人會在第3天知道自己的眼睛是紅色的,並於“第4天中午3名紅眼人一起自殺”。而藍眼人看來,“村內第3天沒有紅眼人自殺”,且“村裏不止2位紅眼人”在第3天便可以得知,但是第3個條件“紅眼人自己只能看到2位紅眼人”卻未必成立。如果【藍眼人(以爲自己是藍色,其實不是的人)的眼睛不是藍色的】,那麼紅眼人將看到村裏除了自己以外仍有3個紅眼的,而放棄第4天的中午的自殺行爲。所以藍眼人不確定自己是不是真的藍眼人,所以得等待第4天中午,根據紅眼人的自殺行爲,來確定自己是藍眼人。當然我們假設村裏只有3個紅眼人,所以第三天中午3個紅眼人一定會自殺。

總結:“村裏有k個藍眼人,3個紅眼人”,紅眼人會在第4天自殺。

歸納出普遍規律:“村裏有n個紅眼人,紅眼人會在第n+1天自殺”
  • 從上面的第2個例子和第3個例子,我們可以歸納出一個結論,“村裏有n個紅眼人,紅眼人會在第n+1天自殺”,我們知道第一個例子一定會成立,而我們的假說是一個籠統的假說,即“得知村裏有紅眼人,會導致有人死亡”,他的對立面是“得知村裏有紅眼人,不會導致有人死亡”。顯然第一個例子和假說的對立面矛盾,並且我們從第1個例子、第2個例子和第3個例子歸納得出的一般規律也是和對立面矛盾。

  • 所以假說的對立面是不成立,反過來證明假說是成立的,即“得知村裏有紅眼人,會導致有人死亡,且會在第n+1天中午n個紅眼人會自殺“。

  • 回到最初的觀點,所有村民都知道其它村民都很聰明,邏輯敏捷,內心虔誠,所有村民都知道其它村民能得出一個結論 ——— “得知村裏有紅眼人,會導致有人死亡,且會在第n+1天中午n個紅眼人會自殺”。

  • 所以,所有村民都按照如下結論進行選擇是否自殺:

如果自己能看到k個紅眼人,那麼第k+1天中午沒人自殺,就證明自己是第k + 1紅眼人,並於k + 2參與自殺。

如果k+1天中午所有能看到的紅眼人都自殺了,那麼就證明自己是藍眼人,並於k+2天中午所有藍眼人一起自殺。

村民們的最終下場:
  • 村裏有n個紅眼人,當旅人再次與第n+1天回到村裏,將看到:
    所有村民都自殺身亡

我們能從村民身上學到什麼?

  • 首先我們要肯定,不能學習村民那種愚蠢的虔誠。(我覺得是吧,但這一點不重要,我們不做討論)

  • 村民遇到複雜的問題的解決思路(“得知村裏有紅眼人,會不會導致有人死亡“?),然後村民作出了一個籠統的假設( 得知村裏有紅眼人,會導致有人死亡 ),基於假設建立一個簡單模型和一個一定能成立的結論,從結論推理出普遍規律(如果找不出普遍規律,那麼證明假設不成立)。用普遍規律否定了假設對立面(命題”得知村裏有紅眼人,不會導致有人死亡“不成立),從而使得原來的假設成立(命題”得知村裏有紅眼人,會導致有人死亡“成立),以及普遍的規律(村裏有n個紅眼人,紅眼人會在第n+1天自殺)。

  • 簡單來說,我們可以學習村民的解題思路:

    確定複雜問題 --> 提出籠統假說 -->

    建立簡單模型 --> 歸納一般規律–> 證明假說成立

    –> 解決複雜問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章