當前位置: 華文問答 > 數位

五個囚犯先後從100顆綠豆中抓綠豆。抓得最多和最少的人將被處死,不能交流,可以摸出剩下綠豆的數量,誰的存活機率最大?

2016-05-06數位

看Matrix67大牛的部落格,讓我學到了一個思維方式,那就是從最簡單的情況開始考慮。

在大家開始看答案之前,我必須指出:因為題目中沒有「每個人都知道其他人也很聰明」這個條件,所以, 不會出現A選96顆豆子這種情形

下面是分析:

假設有3個人ABC,10個豆子,其他條件不變。

一開始B是非常緊張的,他開始了思考。

對他來講,有上中下三種策略

  1. 上策:自己活著
  2. 中策:全部死光光
  3. 下策:自己死了,但有其他人活著。

然後他就開始預測A的行為:

  1. A如果拿8顆豆子,B拿1顆豆子,C拿1顆豆子。全死。
  2. A如果拿7顆豆子,現在輪到B做選擇了
    1. B如果拿1顆豆子,C不敢拿1顆,必然拿2顆。C獨活。
    2. B如果拿2顆豆子,C只能拿1顆,B獨活。
    3. 因為B是個理性人, B這個小婊砸一定會拿2顆 。AC死了。
  3. A如果拿6顆,B就拿3顆;A如果拿5顆,B就拿4顆。都是B獨活,AC死。(我真的不是在黑A站)
  4. B已經找到了規律,那就是,讓自己拿的數量在AC之間,就可以保證活。想到此處,他不由得笑出聲來。A冷冷的看了他一眼。
  5. A如果拿4顆,現在輪到B做選擇了。
    1. 如果B拿5顆,C只能拿1顆,A獨活,BC死。
    2. 如果B拿4顆,C不論拿幾顆,都是三人同死。
    3. 如果B拿3顆,C在得知前兩人共拿7顆的情況下,選擇拿3顆,三人同歸於盡。
    4. 如果B拿2顆或1顆,C會選擇拿3顆,C獨活。AB死。
    5. B驚奇的發現,不管怎麽選,自己都會死 。他是不會選擇讓C這個小婊砸活著的。
    6. 於是B選擇了拿3顆。
  6. A如果拿3顆,B略微思索了一下,也會選擇三個人同歸於盡。
  7. A如果拿2顆,B會拿3顆,但是C哈哈一笑(C已經習慣了在B的腦洞中死亡),他不拿5顆,也不拿4顆,也不會拿1顆,他拿了3顆。三人同歸於盡。
  8. A如果拿一顆,那麽(感謝 @胡昌俊 指正)
    1. B選1顆,3人同死
    2. B選2顆,CC會選擇三人同歸於盡。
    3. B選3顆或以上,C選AB的平均數。AC活,但B死,所以B不會做這個選擇。

但是A也思考了上述的全部過程,A悲催的發現。如果B很聰明,不管自己怎麽選,都是個死(對,你去上面仔細看看,我們已經列舉了所有的情況)。既然這樣,A把希望寄托在B不是很聰明上面,他微微一笑,選了4顆豆子。

ABC卒。

我們歸納出一個定理: 如果3個人有n個豆子,n\gg 3 ,且A不知道B和C是不是理性的,他可以選擇[n/3] ,如果ABC三人都是理性的,他們會同歸於盡。

時光荏苒,有個變態又抓到了4個人,ABCD,然後給了他們20顆豆子。

我們繼續從如果A拿20顆豆子開始分析。啊,不,還是直接寫結論吧。

  1. 當A選擇17個時,同歸於盡。
  2. 當A選擇16到6個時,B活著。A死。
  3. 當A選擇5時,B選4,C選4,D選擇4和大家同歸於盡。
  4. 當A選擇4時,B選5,C選4,D選擇4和大家同歸於盡。
  5. 。。。
  6. A發現自己必死。於是他拿了5顆豆子,他寄希望於其他人高尚一些。
  7. ABCD卒。

轉眼到了2015年,題主抓住了5個人,給了他們100顆豆子。第一個人深吸一口煙,吐出個煙圈, 他拿了20個

====程式設計師的分割線===

後來我又寫了個程式,模擬了如下狀況:

假設所有人都假設其他人的選擇是隨機的(可能是因為每個人都假設其他人可能是聰明人,笨的人,高尚的人,自私的人,抑郁癥患者等),那麽在所有的樣本空間裏(75287520種可能性),做出最有利於自己的選擇:

100 left for A

A will chose 10

90 left for B

B will chose 11

79 left for C

C will chose 11

68 left for D

D will chose 10

58 left for E

E will chose 10

源碼在此

math/a.c at master · picasso250/math · GitHub