經典數學邏輯問題 海盜分金幣

2021-05-22 08:20:24 字數 3872 閱讀 2501

數學的邏輯有時會導致看來十分怪異的結論。一般的規則是,如果邏輯推理沒有漏洞,那麼結論就必定站得住腳,即使它與

你的直覺矛盾。 2023年9月,加利福尼亞州帕洛阿爾托的stephen m. omohundro寄給我一道難題,它恰好就屬於這一類。這

難題已經流傳了至少十年,但是omohundro對它作了改動,使它的邏輯問題變得分外複雜了。 

先來看看此難題原先的形狀。10名海盜搶得了窖藏的100塊金子,並打算瓜分這些戰利品。這是一些講民主的海盜(當然

是他們自己特有的民主),他們的習慣是按下面的方式進行分配:最厲害的一名海盜提出分配方案,然後所有的海盜(包括

提出方案者本人)就此方案進行表決。如果50%或更多的海盜贊同此方案,此方案就獲得通過並據此分配戰利品。否則提出方

案的海盜將被扔到海浬,然後下提名最厲害的海盜又重複上述過程。

所有的海盜都樂於看到他們的一位同夥被扔進海浬,不過,如果讓他們選擇的話,他們還是寧可得一筆現金。他們當然

也不願意自己被扔到海浬。所有的海盜都是有理性的,而且知道其他的海盜也是有理性的。此外,沒有兩名海盜是同等厲害

的——這些海盜按照完全由上到下的等級排好了座次,並且每個人都清楚自己和其他所有人的等級。這些金塊不能再分,也

不允許幾名海盜共有金塊,因為任何海盜都不相信他的同夥會遵守關於共享金塊的安排。這是一夥每人都只為自己打算的海

盜。最凶的一名海盜應當提出什麼樣的分配方案才能使他獲得最多的金子呢? 

為方便起見,我們按照這些海盜的怯懦程度來給他們編號。最怯懦的海盜為1號海盜,次怯懦的海盜為2號海盜,如此類

推。這樣最厲害的海盜就應當得到最大的編號,而方案的提出就將倒過來從上至下地進行。 

分析所有這類策略遊戲的奧妙就在於應當從結尾出發倒推回去。遊戲結束時,你容易知道何種決策有利而何種決策不利

。確定了這一點後,你就可以把它用到倒數第2次決策上,如此類推。如果從遊戲的開頭出發進行分析,那是走不了多遠的。

其原因在於,所有的戰略決策都是要確定:「如果我這樣做,那麼下乙個人會怎樣做?」

因此在你以下海盜所做的決定對你來說是重要的,而在你之前的海盜所做的決定並不重要,因為你反正對這些決定也無

能為力了。 

記住了這一點,就可以知道我們的出發點應當是遊戲進行到只剩兩名海盜——即1號和2號——的時候。這時最厲害的海

盜是2號,而他的最佳分配方案是一目了然的:100塊金子全歸他一人所有,1號海盜什麼也得不到。由於他自己肯定為這個方

案投贊成票,這樣就佔了總數的50%,因此方案獲得通過。 

現在加上3號海盜。1號海盜知道,如果3號的方案被否決,那麼最後將只剩2個海盜,而1號將肯定一無所獲——此外,3

號也明白1號了解這一形勢。因此,只要3號的分配方案給1號一點甜頭使他不至於空手而歸,那麼不論3號提出什麼樣的分配

方案,1號都將投贊成票。因此3號需要分出盡可能少的一點金子來賄賂1號海盜,這樣就有了下面的分配方案: 3號海盜分得

99塊金子,2號海盜一無所獲,1號海盜得1塊金子。 

4號海盜的策略也差不多。他需要有50%的支援票,因此同3號一樣也需再找一人做同黨。他可以給同黨的最低賄賂是1塊

金子,而他可以用這塊金子來收買2號海盜。因為如果4號被否決而3號得以通過,則2號將一文不名。因此,4號的分配方案應

是:99塊金子歸自己,3號一塊也得不到,2號得1塊金子,1號也是一塊也得不到。

5號海盜的策略稍有不同。他需要收買另兩名海盜,因此至少得用2塊金子來賄賂,才能使自己的方案得到採納。他的分

配方案應該是:98塊金子歸自己,1塊金子給3號,1塊金子給1號。 

這一分析過程可以照著上述思路繼續進行下去。每個分配方案都是唯一確定的,它可以使提出該方案的海盜獲得盡可能多的

金子,同時又保證該方案肯定能通過。照這一模式進行下去,10號海盜提出的方案將是96塊金子歸他所有,其他編號為偶數

的海盜各得1塊金子,而編號為奇數的海盜則什麼也得不到。這就解決了10名海盜的分配難題。

omohundro的貢獻是他把這一問題擴大到有500名海盜的情形,即500名海盜瓜分100塊金子。顯然,類似的規律依然成立

——至少是在一定範圍內成立。事實上,前面所述的規律直到第200號海盜都成立。 200號海盜的方案將是:從1到199號的所

有奇數號的海盜都將一無所獲,而從2到198號的所有偶數號海盜將各得1塊金子,剩下的1塊金子歸200號海盜自己所有。 

乍看起來,這一論證方法到200號之後將不再適用了,因為201號拿不出更多的金子來收買其他海盜。但是即使分不到金

子,201號至少還希望自己不會被扔進海浬,因此他可以這樣分配:給1到199號的所有奇數號海盜每人1塊金子,自己一塊也

不要。

202號海盜同樣別無選擇,只能一塊金子都不要了——他必須把這100塊金子全部用來收買100名海盜,而且這100名海盜

還必須是那些按照201號方案將一無所獲的人。由於這樣的海盜有101名,因此202號的方案將不再是唯一的——賄賂方案有

101種。

203號海盜必須獲得102張贊成票,但他顯然沒有足夠的金子去收買101名同夥。因此,無論提出什麼樣的分配方案,他都

注定會被扔到海浬去餵魚。不過,儘管203號命中註定死路一條,但並不是說他在遊戲程序中不起任何作用。相反,204號現

在知道,203號為了能保住性命,就必須避免由他自己來提出分配方案這麼一種局面,所以無論204號海盜提出什麼樣的方案

,203號都一定會投贊成票。這樣204號海盜總算僥倖揀到一條命:他可以得到他自己的1票、203號的1票、以及另外100名收

買的海盜的贊成票,剛好達到保命所需的50%。獲得金子的海盜,必屬於根據202號方案肯定將一無所獲的那101名海盜之列。

205號海盜的命運又如何呢?他可沒有這樣走運了。他不能指望203號和204號支援他的方案,因為如果他們投票反對205

號方案,就可以幸災樂禍地看到205號被扔到海浬去餵魚,而他們自己的性命卻仍然能夠保全。這樣,無論205號海盜提出什

麼方案都必死無疑。206號海盜也是如此——他肯定可以得到205號的支援,但這不足以救他一命。類似地,207號海盜需要

104張贊成票——除了他收買的100張贊成票以及他自己的1張贊成票之外,他還需3張贊成票才能免於一死。他可以獲得205號

和206號的支援,但還差一張票卻是無論如何也弄不到了,因此207號海盜的命運也是下海餵魚。

208號又時來運轉了。他需要104張贊成票,而205、206、207號都會支援他,加上他自己一票及收買的100票,他得以過

關保命。獲得他賄賂的必屬於那些根據204號方案肯定將一無所獲的人(候選人包括2到200號中所有偶數號的海盜、以及201

、203、204號)。 

現在可以看出一條新的、此後將一直有效的規律:那些方案能過關的海盜(他們的分配方案全都是把金子用來收買100名

同夥而自己一點都得不到)相隔的距離越來越遠,而在他們之間的海盜則無論提什麼樣的方案都會被扔進海浬——因此為了

保命,他們必會投票支援比他們厲害的海盜提出的任何分配方案。得以避免葬身魚腹的海盜包括201、202、204、208、216、

232、264、328、456號,即其號碼等於200加2的某一方冪的海盜。 

現在我們來看看哪些海盜是獲得賄賂的幸運兒。分配賄賂的方法是不唯一的,其中一種方法是讓201號海盜把賄賂分給1

到199號的所有奇數編號的海盜,讓202號分給2到200號的所有偶數編號的海盜,然後是讓204號賄賂奇數編號的海盜,208號

賄賂偶數編號的海盜,如此類推,也就是輪流賄賂奇數編號和偶數編號的海盜。 

結論是:當500名海盜運用最優策略來瓜分金子時,頭44名海盜必死無疑,而456號海盜則給從1到199號中所有奇數編號

的海盜每人分1塊金子,問題就解決了。由於這些海盜所實行的那種民主制度,他們的事情就搞成了最厲害的一批海盜多半都

是下海餵魚,不過有時他們也會覺得自己很幸運——雖然分不到搶來的金子,但總可以免於一死。只有最怯懦的200名海盜有

可能分得乙份髒物,而他們之中又只有一半的人能真正得到一塊金子,的確是怯懦者繼承財富

演算法邏輯題 海盜分金幣問題

有5個海盜,獲得了100枚金幣,他們約定乙個分配方案.商議方式 1.有5個海盜輪流提出分配方案 2.如果超出半數海盜 包括提出者 同意該方案,則按照該方案分配 3.如果同意該方案的人數 包括提出者 小於等於半數,則提出者要被扔到海浬餵魚,剩餘海盜繼續商議分配 4.海盜們是絕對理性的,以自己盡可能獲得...

邏輯推理題 海盜分金幣

今晚聽老路 用得上的商學課 第二季番外篇01了解到乙個面試題,很有意思,分享記錄一下。有5個海盜,100枚金幣。首先由1號海盜提出乙個金幣的分配方案,比如說,他說,5個人,每個人20枚金幣,好,這算一種分配方案。這個時候,5個海盜投票,包括1號自己,如果贊成的人數,大於等於一半,那麼這個方案就通過,...

海盜分金幣問題

另外乙個很有趣的問題 話說一天有5個海盜搶了一艘who的遊輪,搶到了100枚金幣,但這5個人沒有老大,不知道怎麼分這100枚金幣。不過5個人都絕頂聰明,他們決定 1,抽籤,決定12345五個號碼,2,由1號提分配方案,大家一起舉手表決,超過半數同意則通過 否則被扔進大海浬喂鯊魚 3,1號死了由2號提...