當前位置:簡歷模板館>面試>面試筆試>

海盜的難題

面試筆試 閱讀(1.14W)
海盜的難題
數學的邏輯有時會導致看來十分怪異的結論。一般的規則是,如果邏輯推理沒有漏洞,那麼結論就必定站得住腳,即使它與你的直覺矛盾。 1998年9月,加利福尼亞州帕洛阿爾託的Stephen M. Omohundro寄給我一道難題,它恰好就屬於這一類。這難題已經流傳了至少十年,但是Omohundro對它作了改動,使它的邏輯問題變得分外複雜了。


先來看看此難題原先的形狀。10名海盜搶得了窖藏的100塊金子,並打算瓜分這些戰利品。這是一些講民主的海盜(當然是他們自己特有的民主),他們的習慣是按下面的方式進行分配:最厲害的一名海盜提出分配方案,然後所有的海盜(包括提出方案者本人)就此方案進行表決。如果50%或更多的海盜贊同此方案,此方案就獲得通過並據此分配戰利品。否則提出方案的海盜將被扔到海里,然後下一名最厲害的海盜又重複上述過程。


所有的海盜都樂於看到他們的一位同夥被扔進海里,不過,如果讓他們選擇的話,他們還是寧可得一筆現金。他們當然也不願意自己被扔到海里。所有的海盜都是有理性的,而且知道其他的海盜也是有理性的。此外,沒有兩名海盜是同等厲害的??這些海盜按照完全由上到下的等級排好了座次,並且每個人都清楚自己和其他所有人的等級。這些金塊不能再分,也不允許幾名海盜共有金塊,因爲任何海盜都不相信他的同夥會遵守關於共享金塊的安排。這是一夥每人都只爲自己打算的海盜。




最兇的一名海盜應當提出什麼樣的分配方案才能使他獲得最多的金子呢?


爲方便起見,我們按照這些海盜的怯懦程度來給他們編號。最怯懦的海盜爲1號海盜,次怯懦的海盜爲2號海盜,如此類推。這樣最厲害的海盜就應當得到最大的編號,而方案的提出就將倒過來從上至下地進行。


分析所有這類策略遊戲的奧妙就在於應當從結尾出發倒推回去。遊戲結束時,你容易知道何種決策有利而何種決策不利。確定了這一點後,你就可以把它用到倒數第2次決策上,如此類推。如果從遊戲的開頭出發進行分析,那是走不了多遠的。其原因在於,所有的戰略決策都是要確定:“如果我這樣做,那麼下一個人會怎樣做?” 因此在你以下海盜所做的決定對你來說是重要的,而在你之前的海盜所做的決定並不重要,因爲你反正對這些決定也無能爲力了。


記住了這一點,就可以知道我們的出發點應當是遊戲進行到只剩兩名海盜??即1號和2號??的時候。這時最厲害的海盜是2號,而他的最佳分配方案是一目瞭然的:100塊金子全歸他一人所有,1號海盜什麼也得不到。由於他自己肯定爲這個方案投贊成票,這樣就佔了總數的50%,因此方案獲得通過。



現在加上3號海盜。1號海盜知道,如果3號的方案被否決,那麼最後將只剩2個海盜,而1號將肯定一無所獲??此外,3號也明白1號瞭解這一形勢。因此,只要3號的分配方案給1號一點甜頭使他不至於空手而歸,那麼不論3號提出什麼樣的分配方案,1號都將投贊成票。因此3號需要分出儘可能少的一點金子來賄賂1號海盜。這樣就有了下面的分配方案: 3號海盜分得99塊金子,2號海盜一無所獲,1號海盜得1塊金子。


4號海盜的策略也差不多。他需要有50%的支持票,因此同3號一樣也需再找一人做同黨。他可以給同黨的最低賄賂是1塊金子,而他可以用這塊金子來收買2號海盜。因爲如果4號被否決而3號得以通過,則2號將一文不名。因此,4號的分配方案應是:99塊金子歸自己,3號一塊也得不到,2號得1塊金子,1號也是一塊也得不到。


5號海盜的策略稍有不同。他需要收買另兩名海盜,因此至少得用2塊金子來賄賂,才能使自己的方案得到採納。他的分配方案應該是:98塊金子歸自己,1塊金子給3號,1塊金子給1號。


這一分析過程可以照着上述思路繼續進行下去。每個分配方案都是唯一確定的,它可以使提出該方案的海盜獲得儘可能多的金子,同時又保證該方案肯定能通過。照這一模式進行下去,10號海盜提出的方案將是96塊金子歸他所有,其他編號爲偶數的海盜各得1塊金子,而編號爲奇數的海盜則什麼也得不到。這就解決了10名海盜的分配難題。



Omohundro的貢獻是他把這一問題擴大到有500名海盜的情形,即500名海盜瓜分100塊金子。顯然,類似的規律依然成立??至少是在一定範圍內成立。事實上,前面所述的規律直到第200號海盜都成立。 200號海盜的方案將是:從1到199號的所有奇數號的海盜都將一無所獲,而從2到198號的所有偶數號海盜將各得1塊金子,剩下的1塊金子歸200號海盜自己所有。


乍看起來,這一論證方法到200號之後將不再適用了,因爲201號拿不出更多的金子來收買其他海盜。但是即使分不到金子,201號至少還希望自己不會被扔進海里,因此他可以這樣分配:給1到199號的所有奇數號海盜每人1塊金子,自己一塊也不要。


202號海盜同樣別無選擇,只能一塊金子都不要了??他必須把這100塊金子全部用來收買100名海盜,而且這100名海盜還必須是那些按照201號方案將一無所獲的人。由於這樣的海盜有101名,因此202號的方案將不再是唯一的??賄賂方案有101種。


203號海盜必須獲得102張贊成票,但他顯然沒有足夠的金子去收買101名同夥。因此,無論提出什麼樣的分配方案,他都註定會被扔到海里去餵魚。不過,儘管203號命中註定死路一條,但並不是說他在遊戲進程中不起任何作用。相反,204號現在知道,203號爲了能保住性命,就必須避免由他自己來提出分配方案這麼一種局面,所以無論204號海盜提出什麼樣的方案,203號都一定會投贊成票。這樣204號海盜總算僥倖揀到一條命:他可以得到他自己的1票、203號的1票、以及另外100名收買的海盜的贊成票,剛好達到保命所需的50%。獲得金子的海盜,必屬於根據202號方案肯定將一無所獲的那101名海盜之列。


205號海盜的命運又如何呢?他可沒有這樣走運了。他不能指望203號和204號支持他的方案,因爲如果他們投票反對205號方案,就可以幸災樂禍地看到205號被扔到海里去餵魚,而他們自己的性命卻仍然能夠保全。這樣,無論205號海盜提出什麼方案都必死無疑。206號海盜也是如此??他肯定可以得到205號的支持,但這不足以救他一命。類似地,207號海盜需要104張贊成票??除了他收買的100張贊成票以及他自己的1張贊成票之外,他還需3張贊成票才能免於一死。他可以獲得205號和206號的支持,但還差一張票卻是無論如何也弄不到了,因此207號海盜的命運也是下海餵魚。


208號又時來運轉了。他需要104張贊成票,而205、206、207號都會支持他,加上他自己一票及收買的100票,他得以過關保命。獲得他賄賂的必屬於那些根據204號方案肯定將一無所獲的人(候選人包括2到200號中所有偶數號的海盜、以及201、203、204號)。