前言
昨日闲暇饭后之余和一众老友谈论到宇宙,外星人。又从外星人话题扯到了博弈论。于是老生常谈,我还是出了那道最经典的海盗分金问题供大家饭后消遣。
问题描述
假设在一艘船上有5名海盗,并偶然间得到了100枚金币,现在要按照顺序,每名海盗提出一种具体的分配金币的意见(具体到每一个人应分得多少枚金币),由在场所有海盗(包括自己)进行表决,若大于一半的人认可此方案,方案通过,否则,此海盗将被扔入大海。,但是这五名海盗有着自己的生存秩序,分别排列成了“老大”,“老二”,“老三”,“老四”,“老五”(相应的他们的地位也是这样排序,老大先提方案,然后老二,老三等等)。假设每名海盗都是经济学假定的“理性人”,即绝顶聪明,能充分考虑到每一种情况而进行每次的判断,在投票过程中海盗们不能交流,且它们都遵守此规则问第一名海盗应该怎样提出分配方案,才能使自己的方案通过且自身利益最大化?
推导
解决此类问题最好的办法就是用倒推法,其中我认为包含了一种递归的思想
- step 1
当只有最后两名海盗,绰号分别是老四老五的时候(其他三个估计已经死了)。此时,会出现一种情况,就是老四提任何方案,都已经可以无视老五的选择,因为始终他自己会有1票同意,达到50%
所以此时,老四的方案一定是自己100枚金币,老五0个,此时无论老五如何投反对票,都不会影响方案。
得出结论:(n=2)——>(100,0)
- step 2
如果此时老三在场的话,会如何决策呢?老四首先不论如何都不会同意老三的方案,并且希望老三赶紧死,然后自己就可以独吞这100个金币。所以老三如果想要票数超过50%,那在3个人中,除了自己一定要争取到1票,所以他只要给老五1个金币,老五就会无条件的支持他(因为老五也是聪明人,如果老五不同意,老三死了之后,又回到了老四的方案,在老四的方案中他一个金币都得不到)。
得出结论:(n=3)———>(99,0,1)
- step 3
同以上的推论,老二的方案中老三也是无论如何都要投反对票的,而且老二需要争取到另外1票就可以了。所以,此时老二给了上一轮在老三的方案中一无所有的老四一枚金币,这样老四就会支持他了。(老四的视角中,如果到了老三的方案他将一无所有,所以老二只需给他1个金币就可以成功收买)
得出结论:(n=4)——>(99,0,1,0)
- step 4
推理同上,老大需要3票支持,出去自己1票,还需要争取2票同意。所以容易得知,老二无论如何争取不到,只需要争取在老二的方案中一无所获的老三和老五就可以了,分别给1个金币就ok。
得出结论:(n=5)——>(98,0,1,0,1)
扩展
若此时有10名海盗参与投票分赃,推理过程略,思想都一样,如下图所示具体的方案
海盗数量 | 海盗1 | 海盗2 | 海盗3 | 海盗4 | 海盗5 | 海盗6 | 海盗7 | 海盗8 | 海盗9 | 海盗10 |
---|---|---|---|---|---|---|---|---|---|---|
n=1 | 100 | |||||||||
n=2 | 100 | 0 | ||||||||
n=3 | 99 | 0 | 1 | |||||||
n=4 | 99 | 0 | 1 | 0 | ||||||
n=5 | 98 | 0 | 1 | 0 | 1 | |||||
n=6 | 98 | 0 | 1 | 0 | 1 | 0 | ||||
n=7 | 97 | 0 | 1 | 0 | 1 | 0 | 1 | |||
n=8 | 97 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | ||
n=9 | 96 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | |
n=10 | 96 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
经过推理得出以上10名海盗的分金币情况,进一步抽象后,可以得出人数n和第一名海盗金币个数的表格
海盗数量 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
第一名金币数量 | 100 | 100 | 99 | 99 | 98 | 98 | 97 | 97 | 96 | 96 |
1 | 通项公式:X = 101 - [(n+1)/2] |
讨论
已知通项公式 X = 101 - [(n+1)/2]
当X=0时,n值为201,202,那么以上X,n所代表的意义是什么?
可以这么理解,当有201个海盗的时候,第一个海盗提的方案,就是自己拿的金币数为0(为了保命),剩下的100枚金币全部用于贿赂那些相隔一位的海盗。
得出如下总结:
- 当n=201及n=202时,201号/202号海盗的最大化收益为0,但可保命。
- 当n=203时,203号海盗必须获得102张赞成票,但他无法用100个宝石收买到101名同伙的支持。因此,无论203号提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
- 当n=204时,204号海盗必须获得102张赞成票,203号为了能保住性命,就必须让204号的方案通过,避免由203号自己来提出分配方案,所以无论204号海盗提出什么样的方案,都可以得到203号的坚定支持。这样204号海盗就可以保命:他可以得到他自己的1票、203号的1票、以及用100个宝石收买到的100名同伙的赞成票,刚好达到所需的半数支持。能从204号那里获得1个宝石的海盗,必属于按照202号海盗的方案将一无所获的那102名海盗之列。
- 当n=205时,205号海盗必须获得103张赞成票,但他无法用100个宝石收买到102名同伙的支持。因此,无论205提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
- 当n=206时,206号海盗必须获得103张赞成票,他可以得到205号的坚定支持,但他无法用100个宝石收买到101名同伙的支持。因此,无论206号提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
- 当n=207时,207号海盗必须获得104张赞成票,他可以得到205号和206号的坚定支持,但他无法用100个宝石收买到101名同伙的支持。因此,无论207号提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
- 当n=208时,208号海盗必须获得104张赞成票,他可以得到205号、206号、207号的坚定支持,加上他自己1票以及收买的100票,使他得以保命。从208号那里获得1个宝石的海盗,必属于那些按照204号方案将一无所获的那104名海盗之列。
1 | 眼下可以看出一条新的、此后将一直有效的规律: |
未完
目前只探讨了,对于海盗人数是发散的讨论,并没有对于金币数和海盗人数同时讨论的情况,当海盗人数和金币数都为变量时,则可以画出一个函数图像,有时间会继续思考,就到这里了。