海賊分金問題
海賊,大家聽說過吧。這是一幫亡命之徒,在海上搶人錢財,奪人性命,乾的是刀頭上舔血的營生。在我們的印象中,他們一般都瞎一隻眼,用條黑布或者講究點的用個黑皮眼罩把壞眼遮上。他們還有在地下埋寶的好習慣,而且總要畫上一張藏寶圖,以方便後人掘取。不過大家是否知道,他們是世界上最民主的團體。參加海賊的都是桀驁不馴的漢子,是不願聽人命令的,船上平時一切事都由投票解決。船長的唯一特權,是有自己的一套餐具——可是在他不用時,其他海賊是可以借來用的。船上的唯一懲罰,就是被丟到海里去餵魚。現在船上有若干個海賊,要分搶來的若干枚金幣。自然,這樣的問題他們是由投票來解決的。投票的規則如下:先由最兇猛的海賊來提出分配方案,然後大家一人一票表決,如果有50%或以上的海賊同意這個方案,那么就以此方案分配,如果少於50%的海賊同意,那么這個提出方案的海賊就將被丟到海里去餵魚,然後由剩下的海賊中最兇猛的那個海賊提出方案,依此類推。
假設
我們先要對海賊們作一些假設。
1) 每個海賊的兇猛性都不同,而且所有海賊都知道別人的兇猛性,也就是說,每個海賊都知道自己和別人在這個提出方案的序列中的位置。另外,每個海賊的數學和邏輯都很好,而且很理智。最後,海賊間私底下的交易是不存在的,因為海賊除了自己誰都不相信。
2) 一枚金幣是不能被分割的,不可以你半枚我半枚。
3) 每個海賊當然不願意自己被丟到海里去餵魚,這是最重要的。
4) 每個海賊當然希望自己能得到儘可能多的金幣。
5) 每個海賊都是現實主義者,如果在一個方案中他得到了1枚金幣,而下一個方案中,他有兩種可能,一種得到許多金幣,一種得不到金幣,他會同意目前這個方案,而不會有僥倖心理。總而言之,他們相信二鳥在林,不如一鳥在手。
6) 最後,每個海賊都很喜歡其他海賊被丟到海里去餵魚。在不損害自己利益的前提下,他會儘可能投票讓自己的同伴餵魚。
現在,如果有10個海賊要分100枚金幣,將會怎樣?
要解決這類問題,我們總是從最後的情形向後推,這樣我們就知道在最後這一步中什麼是好的和壞的決定。然後運用這個知識,我們就可以得到最後第二步應該作怎樣的決定,等等等等。要是直接就從開始入手解決問題,我們就很容易被這樣的問題擋住去路:“要是我作這樣的決定,下面一個海賊會怎么做?”
以這個思路,先考慮只有2個海賊的情況(所有其他的海賊都已經被丟到海里去餵魚了)。記他們為P1和P2,其中P2比較兇猛。P2的最佳方案當然是:他自己得100枚金幣,P1得0枚。投票時他自己的一票就足夠50%了。
往前推一步。現在加一個更兇猛的海賊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也照樣會把他丟到海里去。可是P2很關鍵,因為如果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枚金幣。正如《馬太福音》所說:“溫柔的人有福了,因為他們必承受地土!“