海盗分金问题 经典智力题

oldj
  • 点击:3858
  • 回复:4
  • 关注:3
  • 推荐:5
(本帖改编自《科学美国人》杂志中IanStewart的《凶猛海盗的逻辑》)
  海盗,大家听说过吧。这是一帮亡命之徒,在海上抢人钱财,夺人性命,干的是刀头上舔血的营生。在我们的印象中,他们一般都瞎一只眼,用条黑布或者讲究点的用个黑皮眼罩把坏眼遮上。他们还有在地下埋宝的好习惯,而且总要画上一张藏宝图,以方便后人掘取。不过大家是否知道,他们是世界上最民主的团体。参加海盗的都是桀骜不驯的汉子,是不愿听人命令的,船上平时一切事都由投票解决。船长的唯一特权,是有自己的一套餐具--可是在他不用时,其他海盗是可以借来用的。船上的唯一惩罚,就是被丢到海里去喂鱼。
  现在船上有若干个海盗,要分抢来的若干枚金币。自然,这样的问题他们是由投票来解决的。投票的规则如下:先由最凶猛的海盗来提出分配方案,然后大家一人一票表决,如果有50%或以上的海盗同意这个方案,那么就以此方案分配,如果少于50%的海盗同意,那么这个提出方案的海盗就将被丢到海里去喂鱼,然后由剩下的海盗中最凶猛的那个海盗提出方案,依此类推。

  我们先要对海盗们作一些假设。
  1)每个海盗的凶猛性都不同,而且所有海盗都知道别人的凶猛性,也就是说,每个海盗都知道自己和别人在这个提出方案的序列中的位置。另外,每个海盗的数学和逻辑都很好,而且很理智。最后,海盗间私底下的交易是不存在的,因为海盗除了自己谁都不相信。
  2)一枚金币是不能被分割的,不可以你半枚我半枚。
  3)每个海盗当然不愿意自己被丢到海里去喂鱼,这是最重要的。
  4)每个海盗当然希望自己能得到尽可能多的金币。
  5)每个海盗都是现实主义者,如果在一个方案中他得到了1枚金币,而下一个方案中,他有两种可能,一种得到许多金币,一种得不到金币,他会同意目前这个方案,而不会有侥幸心理。总而言之,他们相信二鸟在林,不如一鸟在手。
  6)最后,每个海盗都很喜欢其他海盗被丢到海里去喂鱼。在不损害自己利益的前提下,他会尽可能投票让自己的同伴喂鱼。

  现在,如果有10个海盗要分100枚金币,将会怎样?

回复列表

mayahu
1
要解决这类问题,我们总是从最后的情形向后推,这样我们就知道在最后这一步中什么是好的和坏的决定。然后运用这个知识,我们就可以得到最后第二步应该作怎样的决定,等等等等。要是直接就从开始入手解决问题,我们就很容易被这样的问题挡住去路:“要是我作这样的决定,下面一个海盗会怎么做?” 

以这个思路,先考虑只有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
allentro
2
1、按照提方案的顺序,分别设5个人为a、b、c、d、e。
2、假设a和b都死了,只剩c、d、e;这种情况下,无论如何c和d一块也拿不到,甚至自 己的生命都被操纵在e手里。
3、所以,b肯定没有死。
4、再来讨论a死了,只剩b、c、d、e的情况:因为b如果死了,c、d的生命就被e操纵,所以即使b一块也不给c、d,他们也非同意不可。所以如果a死了,结果就是100,0,0,0。
5、所以,a只要知道自己死后的情况,就可以提出97,0,1,1,1的方案。
trvoldemort
3
博弈论理论往往要从结局(最简单的情形)开始分析,首先,为了方便讨论,我们不妨把五个海盗按凶猛性从大到小排列,分别称作老大、老二、老三、老四、老五。

1.
当然了,当只剩下一个海盗时,问题已经结束了,老五独得100金币,这毫无异议。我们从剩下两个海盗开始讨论。
2.
当只剩下老四和老五时,由老四提出分配方案,这时,无论老四怎么分配,老五都会否决,因为只有老五一人投票,老四必死,这样就变成了局面1,老五独得100金。即使老四将100金币全额分给老五,根据题目中的假设6:“在不损害自己利益的前提下,海盗们会尽可能投票让自己的同伴喂鱼。”老四也免不了一死。因此说,老四绝不会把游戏引向这个局面。在这种局面下,每个人的最大利益:
老五 老四 老三 老二 老大
局势2 100 -1 --- --- ---
3.
当只剩下老三、老四和老五时,由老三提出分配方案,老三一开始就有了老四这一张铁票(老四现在支持老三还可以免一死,否则进入局势2他就死定了),支持率已经达到50%,因此老三不用讨好任何人,直接分给自己100金。也就是:
老五 老四 老三 老二 老大
局势2 100 -1 --- --- ---
局势3 0 0 100 --- ---
4.
当只剩下老二、老三、老四和老五时,由老二提出分配方案,老二必须在老三、老四或老五中获得至少2张票,从上表我们可以看到,讨好老三是不可能的,老三不会满足于少于100金的任何分配,因为只要进入局势3,他就铁定有100金,更何况他喜欢看到老二跳海呢。于是他就需要得到老四和老五的支持,而每个人只要1金就可以了,因为给了1金后,如果他俩不支持,进入局势3,等到老三掌管天下时,他们连1金都没有。(但不给也不行,因为,在同等条件下,他们希望看到老二跳海)用表格表示:
老五 老四 老三 老二 老大
局势2 100 -1 --- --- ---
局势3 0 0 100 --- ---
局势4 1 1 0 98 ---
5.
最后是问题刚开始了,老大、老二、老三、老四和老五全在场时,由老大提出分配方案,他需要至少两张票。一张最容易求得的票是老三的,只需要给他1金就可以了,如果老三不支持他,那么同样道理进入局势4老二连1金都不会给他。另外一张票可以是老四或老五,随便谁都行,无论谁只要给2金就可以了,道理你应该明白吧。所以呢,最后的结果(那个2金在老五那也可以):
老五 老四 老三 老二 老大
局势2 100 -1 --- --- ---
局势3 0 0 100 --- ---
局势4 1 1 0 98 ---
局势5 0 2 1 0 97

于是我们得到了最终的分配方案:凶猛性从小到大分别得到0、2、1、0、97或2、0、1、0、97。
andy
4
下面的内容是抄来的,呵呵:
来自:http://forum.jobbole.com/showthread.php/1679

--------------------

数学的逻辑有时会导致看来十分怪异的结论。一般的规则是,如果逻辑推理没有漏洞,那么结论就必定站得住脚,即使它与你的直觉矛盾。 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号)。


现在可以看出一条新的、此后将一直有效的规律:那些方案能过关的海盗(他们的分配方案全都是把金子用来收买100名同伙而自己一点都得不到)相隔的距离越来越远,而在他们之间的海盗则无论提什么样的方案都会被扔进海里 ——因此为了保命,他们必会投票支持比他们厉害的海盗提出的任何分配方案。得以避免葬身鱼腹的海盗包括201、202、204、208、216、232、 264、328、456号,即其号码等于200加2的某一方幂的海盗。


现在我们来看看哪些海盗是获得贿赂的幸运儿。分配贿赂的方法是不唯一的,其中一种方法是让201号海盗把贿赂分给1到199号的所有奇数编号的海盗,让 202号分给2到200号的所有偶数编号的海盗,然后是让204号贿赂奇数编号的海盗,208号贿赂偶数编号的海盗,如此类推,也就是轮流贿赂奇数编号和偶数编号的海盗。


结论是:当 500名海盗运用最优策略来瓜分金子时,头44名海盗必死无疑,而456号海盗则给从1到199号中所有奇数编号的海盗每人分1块金子,问题就解决了。由于这些海盗所实行的那种民/主制度,他们的事情就搞成了最厉害的一批海盗多半都是下海喂鱼,不过有时他们也会觉得自己很幸运——虽然分不到抢来的金子,但总可以免于一死。只有最怯懦的200名海盗有可能分得一份脏物,而他们之中又只有一半的人能真正得到一块金子,的确是怯懦者继承财富。

回复

只有登录用户可以添加回复,请先 登录注册