看板KS87-308
標 題海盜分金的一篇文章
發信站松濤情懷與斑城故事 (Wed May 22 04:58:06 2002)
轉信站Ptt!松濤情懷與斑城故事!khhsbbs
(本帖改編自《科學美國人》雜志中IanStewart的《凶猛海盜的邏輯》)
海盜,大家听說過吧。這是一幫亡命之徒,在海上搶人錢財,奪人性命,干的是刀頭
上舔血的營生。在我們的印象中,他們一般都瞎一只眼,用條黑布或者講究點的用個黑皮
眼罩把壞眼遮上。他們還有在地下埋寶的好習慣,而且總要畫上一張藏寶圖,以方便後人
掘取。不過大家是否知道,他們是世界上最民主的團體。參加海盜的都是桀驁不馴的漢子
,是不願听人命令的,船上平時一切事都由投票解決。船長的唯一特權,是有自己的一套
餐具可是在他不用時,其他海盜是可以借來用的。船上的唯一懲罰,就是被丟到海里去喂
魚。
現在船上有若干個海盜,要分搶來的若干枚金幣。自然,這樣的問題他們是由投票來
解決的。投票的規則如下︰先由最凶猛的海盜來提出分配方案,然後大家一人一票表決,
如果有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枚金幣。
媽咧個逼!長的要命!...
--
※ Origin: 松濤情懷與斑城故事 <khhs.twbbs.org>
◆ From: u122-206.u61-70.giga.net.tw