海盜博弈論

2021-06-18 05:11:49 字數 3304 閱讀 4016

charlesgao

2011-06-09 17:39

海盜分金是乙個非常古老的問題,在2023年《科學美國人》正式把它發表之前,已經至少流行10年了,相信很多人都有所耳聞,也知道解法。此前死理性派也對這個問題也有所 涉及 。今天我們就來回顧一下這個有意思的問題,並且在把問題推廣到大規模海盜團夥後,會得出一些非常有意思的結論。

有五個非常聰明的海盜,他們都是死理性派,編號分別是p1、p2、p3、p4、p5。他們一同搶奪了100個金幣,現在需要想辦法分配這些金幣。

海盜們有嚴格的等級制度:p1

海盜們的分配原則是:等級最高的海盜提出一種分配方案。然後所有的海盜投票決定是否接受分配,包括提議人。並且在票數相同的情況下,提議人有決定權。如果提議通過,那麼海盜們按照提議分配金幣。如果沒有通過,那麼提議人將被扔出船外,由下乙個最高等級的海盜再提出新的分配方案。

海盜們基於三個因素來做決定。首先,要能留在船上存活下來。其次,要使自己的利益最大化(即得到最多的金幣)。最後,在所有其他條件相同的情況下,優先選擇把別人扔出船外(這是因為每個海盜都想奪占這條船的控制權)。

現在,假如你是等級最高的p5,你會做何選擇?直覺上,為了保住自己的生命,你可能會選擇留給自己很少的金幣,以便讓大家同意自己的決策。然而,結果和此大相徑庭。

解決這個問題的關鍵在於換個思維方向。與其苦思冥想你要做什麼決策,不如先想想最後剩下的人會做什麼決策。假設現在只剩下p1和p2了,p2會做什麼決策?很明顯,他將把100金幣留給自己,然後投自己一票。由於在票數相同的情況下提議人有決定權,無論p1同不同意,p2都能毫無危險地將所有金幣收入囊中。

現在再把p3考慮進來。p1知道,如果p3被扔下海,那麼遊戲就會出現上述的情況,自己終將一無所獲。由於他們都很聰明,p3同樣能看到這一點,所以他知道,只要給p1一點點利益,p1就會投票支援他的決策。所以p3最終的決策應該是:( p3,p2,p1 ) → ( 99,0,1 )

p4的策略也類似:由於他需要50%的支援率,所以他只需賄賂1個金幣給p2就可以了。p2一定會支援他(否則輪到p3做決策,他就一無所獲啦)。所以p4最終的決策是:( p4,p3,p2,p1 ) → ( 99,0,1,0 )

p5的情況稍有不同:由於這次一共有5個人,他至少需要賄賂兩個海盜才能使自己的決議通過。所以決策就是:( p5,p4,p3,p2,p1 ) → ( 98,0,1,0,1 )

這個結果是不是很出乎意料?你不但可以保全自己,還能得到絕大部分的利益!其實這裡面蘊含著遞迴的思想,它是解決許多問題(如漢諾塔問題,全排列問題,整數劃分問題等)的有利手段。好了,看到這裡,想必你一定在感慨:哎,還是做上司(等級高)好啊!且慢!問題還沒有結束。

真實情況下海盜的數目肯定不止5個。繼續按照這個邏輯推理,p6的決策將是:( p6,p5,p4,p3,p2,p1 ) → ( 98,0,1,0,1,0 )

一直到p200,它會給自己留1個金幣,同時給剩下所有偶數編號的海盜1個金幣。

如果海盜數是202個,p202也只能把這100個金幣全部賄賂給其他100個海盜,而這100個海盜必須是在p201做決策時什麼也得不到的海盜。由於符合這樣條件的海盜有101個(所有偶數編號的海盜+p201),p202的決策不再是唯一的!有101種方案供他選擇。

可憐的是p203,由於人數眾多,他實在沒有足夠的錢去賄賂其他海盜以獲得足夠的支援(他至少還需要獲得101個人的支援,但只有100個金幣)。所以,不論p203做什麼決策,他都難逃被扔出船外的厄運了。不過p203並沒有我們想象中的那麼悲劇,除非船上正好有且只有203個海盜。不妨再來看增加乙個海盜p204的情況。p204明白,p203現在的唯一願望就是活下來…不論他做什麼決策,p203都會舉雙手支援他(當然舉多少手都只能算一票)。所以p204可以靠他自己的一票,p203的一票和賄賂另外100個海盜獲得正好50%的支援。

p204可能的決策也只有101種,如下表:(可能獲得1金幣的海盜用'y'標示)pp1

p2p3p4…

p199

p200

p201

p202

p203

p204

p204yn

ynyn

nynn

p205就沒有那麼幸運了。他不能無償的得到p203和p204的支援。所以如果輪到p205做決策,他也必定被扔到船外。p206也一樣,儘管他能得到p205的免費支援,但是這還不夠。p207需要得到至少104個海盜的支援,所以有了p205,p206的無償支援還是不夠。

p208就比較幸運了,他需要得到104個海盜的支援, p205,p206,p207為了保命會無償支援他,加上他自己,再賄賂100個海盜,正好104票。

p208可能的決策:pp1

p2p3p4…

p200

p201

p202

p203

p204

p205

p206

p207

p208ny

nyyy

yyyn

nn到這裡我們又看出了新的規律:

從p201之後,在每兩個能夠作出決策保住自己生命的海盜之間,存在著一些無論如何決策都會被扔到船外的海盜。而這些海盜會支援在這之後的那個能夠做出決策的海盜以保命。用數學來表達,設在p201之後,能在輪到自己作決策時,保住性命的海盜編號所組成的序列為a(n)。我們有

a(0)=202                                    (1)

a(n)-a(n-1)+100= [a(n)/2] (2)

對於(2),

若a(n)是偶數,則a(n)=2a(n-1)-200

若a(n)是奇數,則a(n)=2a(n-1)-199

給定乙個固定的初值,數列的下一項有兩個可能解:乙個奇數解、乙個偶數解,且偶數解比奇數解小1。再考慮我們原問題的意義,當達到偶數解時,偶數編號的海盜已經能夠做出決策保全自己。這說明我們應該捨棄所有奇數解(因為相同情況下,海盜會選擇把決策人扔出船外)。

由a(n)=2a(n-1)-200以及a(0)=202,得到通解:a(n)=200+ 2 n+1 。考慮到p201也能保全自己,所以我們把所有能夠保全自己但卻得不到金幣的海盜的編號寫成統一表示式:

n=200+ 2 n ( n=0,1,2,… )

不難推出這些海盜可能的決策數是在m中任選100的組合數 ,其中

好了,我們的海盜分金問題就討論到這裡。如果我們把這個模型推廣到真實社會裡,看看會產生什麼結論吧:

你看,其實做上司的風險還是蠻大的。當下屬多起來時,自己不但得不到什麼好處,甚至連位置都可能保不住。這個簡單的模型中也反映出這樣乙個事實:在乙個階級社會中,人口越少越可能出現**。當人口增多而資源緊缺時,如果領導者不能滿足大多數人的利益需求,那他的地位也就不穩了。從另外乙個角度看,做乙個平民還是不錯的,不但有機會拿到那乙個小小的金幣,還不用擔心自己被扔出船外,從而可以安心得坐在電腦前,逛逛果殼網,研究研究數學問題。

博弈論 海盜分金問題

hdu 1538 a puzzle for pirates 這是乙個經典問題,有n個海盜,分m塊金子,其中他們會按一定的順序提出自己的分配方案,如果50 或以上的人贊成,則方案通過,開始分金子,如果不通過,則把提出方案的扔到海浬,下乙個人繼續。現在給出n,問第k個海盜 第n個海盜先提方案,第1個最後...

博弈論 Nim博弈

1.nim博弈的起源很早,至於歷史我們就不再說了,直接說它的使用場景。1 依舊是兩個人博弈,但是物品時n堆,每一堆有ai個。2 每個人可以挑選一堆取走若干個,但是不能不取。3 最先取完所有物品的人獲勝。4 結論 所以堆的物品的數量異或起來是0,先手必敗。2.乙個nim博弈的例項 nim博弈。乍一看這...

博弈論 博弈混合

給你乙個n m的棋盤,然後給你4種棋子,分別是 1.王 能橫著走,或者豎著走,或者斜著走,每次可以走1格 2.車 可以橫著走或者豎著走,每次可以走無數格 3.馬 走日字形,例如 如果現在在 1,1 可以走到 2,3 即先走一格直線,然後斜著走一格 4.王后 可以橫著走,或者豎著走,或者斜著走,每次可...