海盗分金
海盜,大家聽說過吧。這是一幫亡命之徒,在海上搶人錢財,奪人性
命,干的是刀頭上舔血的營生。在我們的印象中,他們一般都瞎一只
眼,用條黑布或者講究點的用個黑皮眼罩把壞眼遮上。他們還有在地
下埋寶的好習慣,而且總要畫上一張藏寶圖,以方便后人掘取。不過
大家是否知道,他們是世界上最民主的團體。參加海盜的都是桀驁不
馴的漢子,是不愿聽人命令的,船上平時一切事都由投票解決。船長
的唯一特權,是有自己的一套餐具--可是在他不用時,其他海盜是
可以借來用的。船上的唯一懲罰,就是被丟到海里去喂魚。 現在船上有若干個海盜,要分搶來的若干枚金幣。自然,這樣的問題
他們是由投票來解決的。投票的規則如下:先由最兇猛的海盜來提出
分配方案,然后大家一人一票表決,如果有50%或以上的海盜同意這個
方案,那么就以此方案分配,如果少于50%的海盜同意,那么這個提出
方案的海盜就將被丟到海里去喂魚,然后由剩下的海盜中最兇猛的那
個海盜提出方案,依此類推。 我們先要對海盜們作一些假設。
1)每個海盜的兇猛性都不同,而且所有海盜都知道別人的兇猛性,也
就是說,每個海盜都知道自己和別人在這個提出方案的序列中的位置。
另外,每個海盜的數學和邏輯都很好,而且很理智。最后,海盜間私
底下的交易是不存在的,因為海盜除了自己誰都不相信。
2)一枚金幣是不能被分割的,不可以你半枚我半枚。
3)每個海盜當然不愿意自己被丟到海里去喂魚,這是最重要的。
4)每個海盜當然希望自己能得到盡可能多的金幣。
5)每個海盜都是現實主義者,如果在一個方案中他得到了1枚金幣,而
下一個方案中,他有兩種可能,一種得到許多金幣,一種得不到金幣,
他會同意目前這個方案,而不會有僥幸心理??偠灾?#xff0c;他們相信二
鳥在林,不如一鳥在手。
6)最后,每個海盜都很喜歡其他海盜被丟到海里去喂魚。在不損害自
己利益的前提下,他會盡可能投票讓自己的同伴喂魚。 現在,如果有10個海盜要分100枚金幣,將會怎樣? 要解決這類問題,我們總是從最后的情形向后推,這樣我們就知道在
最后這一步中什么是好的和壞的決定。然后運用這個知識,我們就可
以得到最后第二步應該作怎樣的決定,等等等等。要是直接就從開始
入手解決問題,我們就很容易被這樣的問題擋住去路:'要是我作這
樣的決定,下面一個海盜會怎么做?' 以這個思路,先考慮只有2個海盜的情況(所有其他的海盜都已經被丟
到海里去喂魚了)。記他們為P1和P2,其中P2比較兇猛。P2的最佳方
案當然是:他自己得100枚金幣,P1得0枚。投票時他自己的一票就足
夠50%了。 往前推一步?,F在加一個更兇猛的海盜P3。P1知道--P3知道他知道
--如果P3的方案被否決了,游戲就會只由P1和P2來繼續,而P1就一
枚金幣也得不到。所以P3知道,只要給P1一點點甜頭,P1就會同意他
的方案(當然,如果不給P1一點甜頭,反正什么也得不到,P1寧可投
票讓P3去喂魚)。所以P3的最佳方案是:P1得1枚,P2什么也得不到,
P3得99枚。 P4的情況差不多。他只要得兩票就可以了,給P2一枚金幣就可以讓他
投票贊同這個方案,因為在接下來P3的方案中P2什么也得不到。P5也
是相同的推理方法只不過他要說服他的兩個同伴,于是他給每一個在
P4方案中什么也得不到的P1和P3一枚金幣,自己留下98枚。 依此類推,P10的最佳方案是:他自己得96枚,給每一個在P9方案中什
么也得不到的P2,P4,P6和P8一枚金幣。 下面是以上推理的一個表(Y表示同意,N表示反對): P1 P2
0 100
N Y P1 P2 P3
1 0 99
Y N Y P1 P2 P3 P4
0 1 0 99
N Y N Y P1 P2 P3 P4 P5
1 0 1 0 98
Y N Y N Y …… P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
0 1 0 1 0 1 0 1 0 96
N Y N Y N Y N Y N Y ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 現在我們將海盜分金問題推廣:
1)改變一下規則,投票中方案必須得到超過50%的票數(只得到50%票
數的方案的提出者也會被丟到海里去喂魚),那么如何解決10個海盜
分100枚金幣的問題?
2)不改變規則,如果讓500個海盜分100枚金幣,會發生什么?
3)如果每個海盜都有1枚金幣的儲蓄,他可以把這枚金幣用在分配方案
中,如果他被丟到海里去喂魚,那么他的儲蓄將被并在要分配的金幣
堆中,這時候又怎樣? 通過對規則的細小改變,海盜分金問題可以有許多變化,但是最有趣
的大概是1)和2)(規則仍為50%票數即可)的情況,本帖只對這兩種情
況進行討論。 首先考慮1)。現在只有P1和P2的情形變得對P2其糟無比:1票是不夠的,
可是就算他把100枚金幣都給P1,P1也照樣會把他丟到海里去??墒荘2
很關鍵,因為如果P3進行分配方案的話,即使他一枚金幣也不給P2,
P2也會同意,這樣一來P3就有P2這張鐵票!P3的最佳方案就是:獨吞
100枚金幣。 P4要3張票,而P3是一定反對他的,而如果不給P2一點甜頭,P2也會反
對,因為P2可以在P3的方案中得救,目前為什么不把P4丟到海里呢?
所以要分別給P1和P2一枚金幣,這樣P4就有包括他自己1票的3票。P4
的方案為:P1,P2每人1枚金幣,他自己98枚。 P5的情況要復雜點,他也要3票。P4是會反對他的,所以不用給,給
P3一枚金幣就能使他支持自己的方案,因為在接下來的P4方案中他什
么也得不到。問題是P1和P2:只要其中有一個支持就可以了。可是只
給1枚金幣是不行的,P4方案中他們一定有1枚金幣可得,所以只要在
他們中隨便選一個,給2枚金幣,另一個就對不起了,不給。這樣P5
的方案是:自己97枚,P3得1枚,P1或P2得2枚。 P6的方案建立在P5的上面,只要給每個P5方案中不得益的海盜1枚金幣。
要注意的是,P1和P2都應該看作在P5方案中不得益的:他們可能得2枚,
可是也可能1枚不得,所以只要P6給他們1枚金幣,根據'二鳥在林,
不如一鳥在手'的原則,就可以讓他們支持P6的方案。所以P6的方案
是唯一的:P1,P2,P4每人1枚金幣,P6自己拿97枚。 這樣繼續下去,P9的方案是:P3,P5,P7每人1枚金幣,然后在P1,
P2,P4,P6中任選一人給2枚金幣,P9自己得95枚。最后,P10的方案
是唯一的:P1,P2,P4,P6,P8每人1枚金幣,P10自己得95枚。 2)是最有趣的(提醒:我們回到50%票即可的規則)。原題解中的推理
過程直到200個海盜都是成立的:P200給每個偶數號的海盜1枚金幣,
包括他自己,其他海盜什么也得不到。從P201開始,繼續推理就變得
有點困難了:P201為了不被丟到海里去,必須什么也不留給自己,而
給從P1到P199中所有奇數號海盜每人1枚金幣,從而爭取到100票,加
上他自己1票,逃過一劫。P202也什么都得不到,他必須用這100枚金
幣買通100個從P201的方案中什么也得不到的海盜,要注意到現在這個
方案不是唯一的:P201的方案中得不到金幣的海盜是所有奇數號的海
盜,有101個(包括P201),所以有101種方案。 P203必須得到102票,除了自己的1票外,他只有100枚金幣,所以只能
買到100票,所以可憐的家伙就被丟到海里喂魚了。但是,P203是個很
重要的角色,因為P204知道如果自己的方案不被通過,P203也一樣會
完蛋,所以他有P203的一張鐵票。所以P204可以大出一口氣:他自己
一票,加上P203一票,然后加上用100枚金幣買的確100票,他就得救
了!100個有幸得到1枚金幣的海盜,可以是P1到P202中任何100個:因
為其中的偶數號的從P202的方案中什么也得不到,如果P204給他們中
某個海盜1枚金幣,這個海盜一定會贊同這個方案;而編號為奇數的海
盜呢,只是有可能從P202的方案中得益罷了(可能性為100/101),所
以根據'二鳥在林,不如一鳥在手'的原則,如果能得到1枚金幣,他
也會贊同這個方案。 接下去P205是不能把希望放在P203和P204這兩張票上的,因為就算他
被丟到海里去,P203和P204還可以通過P204的方案機會活下來。P206
雖然可以靠P205的鐵票,加上自己1票和100枚金幣搞到的100票,只有
102票,所以他也被丟到海里喂魚。P207好不了多少,他需要104票,
而他自己以及P205和P206的鐵票加上100枚金幣搞到的100票只有103票
--只好下海。 P208運氣比較好,他同樣也要104票,可是P205,P206,P207都會投票
贊成他的方案!加上他自己的1票和買來的100票,他終于逃脫了做魚
食的命運。 這樣我們就有了一種可以一直推下去的新邏輯。海盜可以什么也不留
給自己,買上100票,然后依靠一部分一定會被丟下海的海盜的鐵票,
從而讓自己的方案通過。有這樣運氣的海盜分別是P201,P202,P204,
P208,P216,P232,P264,P328和P456……我們看到這樣的號碼是200
加上一個2的次冪。 哪些海盜是受益者呢,顯然鐵票是不用(不能)給金幣的。所以只有
上一個幸運號碼及他以前的那些海盜才有可能得到1枚金幣。于是我們
得到500海盜分100枚金幣的結論是:前44個最兇猛的海盜被丟進海里,
然后P456給P1到P328中的100個海盜每人1枚金幣。 就這樣,最兇猛的海盜被丟進海里,而比較兇猛的什么也得不到,而
只有最溫柔的那些海盜,才有可能得到1枚金幣。正如《馬太福音》所
說:'溫柔的人有福了,因為他們必承受地土!'
上面的500海盜分100金幣的過程推導有些問題:
1. 當n<=200,n為偶數,給所有偶數編號的海盜一個金幣;n為奇數,給所有奇數編號的一個金幣。
2. n = 201,給1-199所有奇數一個金幣,自己什么沒有
202,從2-200所有偶數以及201,從這101個海盜中選取100個海盜給金幣,自己也什么沒有
203,投海
204, 203必支持,這100個金幣給1-202中的任意100即可,因為,2-200的奇數在202方案中得不到金幣,而偶數的海盜只是有可能獲得金幣,所以金幣不管給誰一定會支持;
205,206,207,投海
208, 其中205,206,207必然支持,
現在可以看出一條新的、此后將一直有效的規律:那些方案能過關的海盜(他們的分配方案全都是把金子用來收買100名同伙而自己一點都得不到)相隔的距離越來越遠,而在他們之間的海盜則無論提什么樣的方案都會被扔進海里——因此為了保命,他們必會投票支持比他們厲害的海盜提出的任何分配方案。得以避免葬身魚腹的海盜包括201、202、204、208、216、232、2****、328、456號,即其號碼等于200加2的某一方冪的海盜。
現在我們來看看哪些海盜是獲得賄賂的幸運兒。分配賄賂的方法是不唯一的,其中一種方法是讓201號海盜把賄賂分給1到199號的所有奇數編號的海盜,讓202號分給2到200號的所有偶數編號的海盜,然后是讓204號賄賂奇數編號的海盜,208號賄賂偶數編號的海盜,如此類推,也就是輪流賄賂奇數編號和偶數編號的海盜(這個不一定)。
結論是:當500名海盜運用最優策略來瓜分金子時,頭44名海盜必死無疑,而456號海盜則給從1到199號中所有奇數編號的海盜每人分1塊金子,問題就解決了。由于這些海盜所實行的那種民主制度,他們的事情就搞成了最厲害的一批海盜多半都是下海喂魚,不過有時他們也會覺得自己很幸運——雖然分不到搶來的金子,但總可以免于一死。只有最怯懦的200名海盜有可能分得一份臟物,而他們之中又只有一半的人能真正得到一塊金子,的確是怯懦者繼承財富。
總結