老文章---"海盜分金"

關鍵字: 邏輯, 海盜, 金子

(本帖改編自《科學美國人》雜誌中IanStewart的《兇猛海盜的邏輯》)

  海盜,大家聽說過吧。這是一幫亡命之徒,在海上搶人錢財,奪人性命,乾的是刀頭上舔血的營生。在我們的印象中,他們一般都瞎一隻眼,用條黑布或者講究點的用個黑皮眼罩把壞眼遮上。他們還有在地下埋寶的好習慣,而且總要畫上一張藏寶圖,以方便後人掘取。不過大家是否知道,他們是世界上最民主的團體。參加海盜的都是桀驁不馴的漢子,是不願聽人命令的,船上平時一切事都由投票解決。船長的唯一特權,是有自己的一套餐具——可是在他不用時,其他海盜是可以借來用的。船上的唯一懲罰,就是被丟到海里去餵魚。

  現在船上有若干個海盜,要分搶來的若干枚金幣。自然,這樣的問題他們是由投票來解決的。投票的規則如下:先由最兇猛的海盜來提出分配方案,然後大家一人一票表決,如果有50%或以上的海盜同意這個方案,那麼就以此方案分配,如果少於50%的海盜同意,那麼這個提出方案的海盜就將被丟到海里去餵魚,然後由剩下的海盜中最兇猛的那個海盜提出方案,依此類推。

  我們先要對海盜們作一些假設。

  1) 每個海盜的兇猛性都不同,而且所有海盜都知道別人的兇猛性,也就是說,每個海盜都知道自己和別人在這個提出方案的序列中的位置。另外,每個海盜的數學和邏輯都很好,而且很理智。最後,海盜間私底下的交易是不存在的,因爲海盜除了自己誰都不相信。
  2) 一枚金幣是不能被分割的,不可以你半枚我半枚。
 

<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
 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枚金幣。正如《馬太福音》所說:“溫柔的人有福了,因爲他們必承受地土!”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章