眼睛的颜色 博弈
其實(shí)也不能算是OI知識(shí)了,就當(dāng)是體會(huì)了一下數(shù)學(xué)歸納法吧。。
此問(wèn)題最早據(jù)說(shuō)是澳大利亞的華裔數(shù)學(xué)神童陶哲軒在網(wǎng)上貼出來(lái)讓大家思考,逗大家玩兒的。 題目是這樣的。說(shuō)一個(gè)島上有100個(gè)人,其中有5個(gè)紅眼睛,95個(gè)藍(lán)眼睛。這個(gè)島有三個(gè)奇怪的宗教規(guī)則。 1. 他們不能照鏡子,不能看自己眼睛的顏色。 2. 他們不能告訴別人對(duì)方的眼睛是什么顏色。 3. 一旦有人知道了自己的眼睛顏色,他就必須在當(dāng)天夜里自殺。(尊重博客原題,把原來(lái)的“知道自己是紅眼睛”改成現(xiàn)在的“知道自己的眼睛顏色”) 注:雖然題設(shè)了有5個(gè)紅眼睛,但島民是不知道具體數(shù)字的。某天,有個(gè)旅行者到了這個(gè)島上。由于不知道這里的規(guī)矩,所以他在和全島人一起狂歡的時(shí)候,不留神就說(shuō)了一句話:【你們這里有紅眼睛的人。】最后的問(wèn)題是:假設(shè)這個(gè)島上的人足夠聰明,每個(gè)人都可以做出縝密的邏輯推理。請(qǐng)問(wèn)這個(gè)島上將會(huì)發(fā)生什么?回答:
此問(wèn)題的第一個(gè)答案是用數(shù)學(xué)歸納法得出的:如果這個(gè)島上有N個(gè)紅眼睛,那么在旅行者說(shuō)這句話的第N天,他們?nèi)慷紩?huì)自殺。具體到本題則是,在第5天,這個(gè)島上的5個(gè)紅眼睛會(huì)全部自殺。(尊重原題,補(bǔ):其他藍(lán)眼睛在紅眼睛集體自殺后,知道自己的眼睛顏色,也跟著自殺)。
證明過(guò)程如下:
如果這個(gè)島上只有1個(gè)紅眼睛,其他人都是藍(lán)眼睛。那么,當(dāng)旅行者說(shuō)了這句話之后,此人立刻就會(huì)知道自己是紅眼睛,他就會(huì)在當(dāng)天自殺。即,當(dāng)n取第一個(gè)值n0=1時(shí),命題成立。
假設(shè)當(dāng)這個(gè)島上有N個(gè)紅眼睛的時(shí)候,在旅行者說(shuō)了這句話之后的第N天,這些紅眼睛會(huì)全部自殺。
那么,當(dāng)這個(gè)島上有N+1個(gè)紅眼睛的時(shí)候,在每個(gè)紅眼睛看來(lái),島上都確定有N個(gè)紅眼睛,并等待著他們?cè)诘贜天自殺。而在第N天,大家都沒(méi)有自殺。所以一到第N+1天,每個(gè)紅眼睛都明白了這個(gè)島上還有第N+1個(gè)紅眼睛——他自己。于是大家都在第N+1天自殺了。
所以命題得證:如果這個(gè)島上有N個(gè)紅眼睛,那么在旅行者說(shuō)這句話的第N天,他們?nèi)慷紩?huì)自殺。
如果上述證明還讓人有疑惑的話,也可以改用窮舉法來(lái)證明。
當(dāng)島上只有一個(gè)紅眼睛的時(shí)候,在旅行者說(shuō)完這句話的當(dāng)天,他就會(huì)自殺。這個(gè)無(wú)疑。
當(dāng)島上有兩個(gè)紅眼睛的時(shí)候。在旅行者說(shuō)完這句話的當(dāng)天,這兩個(gè)紅眼睛都在等著對(duì)方自殺,但對(duì)方卻沒(méi)有自殺。于是在第二天他們立刻明白了自己也是紅眼睛,于是在第二天一起自殺了。
以此往下推理,當(dāng)島上有三個(gè)紅眼睛的時(shí)候。旅行者說(shuō)完這句話,每個(gè)紅眼睛都在等著第二天另外兩個(gè)紅眼睛集體自殺,但他們沒(méi)有自殺。所以到了第三天,大家都明白了自己也是紅眼睛,就一起自殺了。
如此類推下去。就得出了命題:如果島上有N個(gè)紅眼睛,那么在旅行者說(shuō)完這句話后的第N天,這個(gè)N個(gè)紅眼睛會(huì)一起自殺。具體到本題就是,到了第五天,這五個(gè)紅眼睛一起自殺。
看到有4個(gè)紅眼睛而已。旅行者說(shuō)的那句【島上有紅眼睛的人】,沒(méi)有輸入任何新的信息,他說(shuō)的就是島上的人每天都看到的景象。所以哪怕島上的人思維再縝密嚴(yán)謹(jǐn),也不會(huì)有任何自殺的情況發(fā)生。
推理見以下文段:
作者:張石敧?鏈接:https://www.zhihu.com/question/21262930/answer/17690897?來(lái)源:知乎?著作權(quán)歸作者所有
「游客沒(méi)有輸入任何新的信息」這個(gè)斷言是錯(cuò)的。N=1的情形不必說(shuō)了,顯然輸入了新信息。
對(duì)于N>1的情形,要注意,游客必須是當(dāng)著所有人的面公開做出宣告,如果他是私下分別對(duì)每個(gè)人說(shuō)的,就不會(huì)起任何作用。「公開宣告」這一舉動(dòng)的意義不是讓每個(gè)人都知道「島上有紅眼睛」,而是讓每個(gè)人都知道「每個(gè)人都知道每個(gè)人都知道……每個(gè)人都知道島上有紅眼睛」。在游客公開宣告之前,島上的人是不可能具有這個(gè)多階知識(shí)的,這就是游客輸入的新信息。
以N=2為例,公開宣告之后,紅1立刻獲得了一個(gè)新的2階知識(shí):「紅2知道島上有紅眼睛」,在公開宣告之前,他沒(méi)有能力判斷這個(gè)2階命題的真假,因?yàn)樵谶@之前命題的真假依賴于紅1自己的眼睛顏色。同樣,紅2也獲得了新知識(shí)「紅1知道島上有紅眼睛」。
N=3時(shí),公開宣告使得紅1立刻獲得了一個(gè)新的3階知識(shí):「紅2知道紅3知道島上有紅眼睛」,在此之前,這個(gè)3階命題的真假也是依賴于紅1自己的眼睛顏色(紅則為真,藍(lán)則為假)。同樣,紅2和紅3也獲得了類似的知識(shí)。
N=4,5,6,...依此類推。
簡(jiǎn)單說(shuō),「島上有紅眼睛」這件事本來(lái)只是一項(xiàng)「共有知識(shí)」(Mutual knowledge),公開宣告使它變成了一項(xiàng)「公共知識(shí)」(Common knowledge)。這兩種知識(shí)的區(qū)分在認(rèn)知邏輯里面非常重要,在博弈論中有廣泛的應(yīng)用。
用不嚴(yán)謹(jǐn)?shù)脑挻致越榻B一下這兩個(gè)概念:對(duì)于一個(gè)給定的命題P和一群給定的人,共有知識(shí)只需要滿足一個(gè)條件:這群人中所有人都知道P,那么P就是這群人的共有知識(shí)。
公共知識(shí)則需要滿足以下所有條件:
這群人中
1、所有人都知道P;
2、所有人都知道所有人都知道P;
3、所有人都知道所有人都知道所有人都知道P;
4、所有人都知道所有人都知道所有人都知道所有人都知道P;
5、……
一直下去,直到無(wú)窮。要同時(shí)滿足這無(wú)窮多個(gè)條件,才能說(shuō)P是這群人的公共知識(shí)。
========
看到有些人還是不明白為什么公開宣告之前沒(méi)有人自殺,為什么宣告之后就會(huì)自殺了,以及為什么要等到第N天才自殺。以下就用N=4為例來(lái)分析一下,希望能有助于理解(但也有可能讓人繞得更暈)。
設(shè)4個(gè)紅眼島民分別為A, B, C, D,以下是A心中做出的推理:
我看到3個(gè)紅眼,這可以劃分成一共5種情況:
1、我是紅的;
2、我是藍(lán)的,且B自認(rèn)為是紅的;
3、我是藍(lán)的,且B自認(rèn)為是藍(lán)的,且B認(rèn)為C自認(rèn)為是紅的;
4、我是藍(lán)的,且B自認(rèn)為是藍(lán)的,且B認(rèn)為C自認(rèn)為是藍(lán)的,且B認(rèn)為C認(rèn)為D自認(rèn)為是紅的;
5、我是藍(lán)的,且B自認(rèn)為是藍(lán)的,且B認(rèn)為C自認(rèn)為是藍(lán)的,且B認(rèn)為C認(rèn)為D自認(rèn)為是藍(lán)的。 假如沒(méi)有游客來(lái)公開宣告「島上有紅眼」,那么A永遠(yuǎn)無(wú)法判斷上述哪一種是真的。由于島上所有人都做出同樣的推理(藍(lán)眼島民推出的情形多一種),所以每個(gè)人都無(wú)法判斷自己眼睛的顏色,大家都不用去死。
而一旦公開宣告「島上有紅眼」,A立刻知道「B知道C知道D知道島上有紅眼」,因此可以立刻排除5;當(dāng)晚沒(méi)人死,因此第二天可排除4;第三天排除3;第四天排除2只剩下1,因此A在第四天晚上自殺。B, C, D也都做出完全一樣的推理,所以也都在第四天晚上自殺。
====補(bǔ)充====
有人提到,這道題的一個(gè)必要前提是島上的人要完全信任這個(gè)游客。這很對(duì),但還不夠。不僅每個(gè)人都要相信該游客,而且還必須每個(gè)人都知道每個(gè)人都知道……每個(gè)人都知道每個(gè)人都相信該游客。即「游客完全可信」這件事本身也必須是一個(gè)公共知識(shí)。只有這樣,游客的宣告才會(huì)具備使共有知識(shí)轉(zhuǎn)變?yōu)楣仓R(shí)的力量。====補(bǔ)充2====
從小到大,我們一次又一次地被旁人這樣教訓(xùn):「噓,別說(shuō)了,小心點(diǎn)。況且這種事誰(shuí)不知道啊,還要你說(shuō)?說(shuō)出來(lái)又有什么用呢?你有力量改變它嗎?」久而久之,我們?cè)絹?lái)越習(xí)慣于把「你懂的……」掛在嘴邊,習(xí)慣于對(duì)房間里的大象視而不見,選擇性遺忘了一個(gè)我們其實(shí)早就知道的重要事實(shí):「大聲說(shuō)出來(lái)」跟「彼此心照不宣」有著決定性的區(qū)別。我們不是沒(méi)有力量。一條恰當(dāng)?shù)男?#xff0c;哪怕它的內(nèi)容只不過(guò)是「我知道」這么簡(jiǎn)簡(jiǎn)單單的一句話,也有可能引起整個(gè)社會(huì)的信念結(jié)構(gòu)的根本改變,讓許許多多人斷然行動(dòng)起來(lái)。這就是我們每一個(gè)人的力量。拓展:
關(guān)于紅眼睛藍(lán)眼睛自殺問(wèn)題,陶哲軒教授又問(wèn):旅者如何挽回自己說(shuō)的話? 關(guān)于紅眼睛自殺問(wèn)題的引申,如果在自殺日到來(lái)之前有紅眼睛自然死亡,會(huì)怎樣?思考:
這個(gè)問(wèn)題在現(xiàn)實(shí)中有哪些應(yīng)用場(chǎng)景?
轉(zhuǎn)載于:https://www.cnblogs.com/CtsNevermore/p/5998983.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 作业1--求100内的奇数。
- 下一篇: 关于变量作用域的一点整理