有趣问题——海盗分金

点击上方“罗晓胜”,马上关注,您的支持对我帮助很大

 

上期文章

 

 

 

/   智力题   /

 

 

5个海盗抢得100枚金币,然后他们按顺序依次提出分配方案:

首先由1号提出分配方案,然后所有5人表决(包括自己),
超过半数同意方案才被通过,否则他将被扔入大海喂鲨鱼,依此类推。
问:在这种条件下如果你是第一个海盗应该怎么提出方案才能让自己的收获最多的金币呢
 
补充说明:采取最优解,尽量不然自己喂鲨鱼,然后获取更多的金币
 
/   智力题   /

 

 

 

  

 

 

/   答案   /

 

 

这题目一看,分配不好可是要喂鲨鱼的,

 

老规矩,我们先来假设法找找规律,然后倒推回去。

五个海盗要假设的情况太多了,我们先来假设只有两个海盗的时候会怎么样。

 

两个海盗

很显然,当只有两个海盗的时候,一号一定会死,因为首先只要第一个海盗死了,剩下的一个便能获得全部的金币,根据海盗的原则,二号也不会投同意票,所以此时无论如何也不会有半数以上的同意票,即使一号选择让二号获得全部金币,此时的一号表示:为什么我这么惨啊!

 

结果 (0, 100)

 

 

 

 

三个海盗

当存在三个海盗的时候,原来的两个海盗时的一号变成了二号,此时二号知道了,如果一号被投死,那么毫无悬念的,他没有任何活路,他会无论如何保全自己,换句话说,他无论如何都会同意此时一号的题意,那么此时聪明的一号知道他们的想法之后就开心的不行了,因为无论自己提什么条件自己都会得到半数以上的投票.那根据==贪得无厌==的原则,结果显而易见.

 

结果 (100, 0, 0)

 

 

 

四个海盗

四个海盗时,此时的一号明白了此时的二号是讨好不了的.因为自己死了二号就一定能得到全部100枚金币,所以干脆不讨好,给他0枚金币吧.而此时除了自己的票还差两票,那么只要讨好三号和四号获得这两票就好,三号和四号相当容易讨好的,因为一号死了,他们就只能得到空气(三个海盗的结果为(100, 0, 0)),那么给他一块金币就好啦.当然一号不能不给三号四号金币,因为海盗都是==心狠手辣==的,==[如果不管你死不死我都是0块金币,那我干脆要你死算了]==.

 

结果 (98, 0, 1, 1)

 

 

 

五个海盗

相同的原理,现在的一号需要2票就能保证存活,首先二号是不考虑了给金币了,不管给多少都反对的,三号给一个金币就行,然后还差一票,只要给==四号或五号==其中一个两枚金币,另一个不给,就可以.但这里要注意一下,此时的分歧已经产生,后面的推广推理中会用到.

 

结果: (97, 0, 1, 2, 0)或(97, 0, 1, 0, 2)

 

 

 

 

 

到这里我们关于五个海盗分金币的问题就得到了完美的解决,看似最惨的一号海盗得到了最多的获利,令人侧目,可惜人不都是完全理性的,有时甚至愚蠢之极,但这或许就是社会令人难以着迷也最令人害怕的地方.

 

更多的推广和规律

五个海盗的故事结束了,现在来了六个海盗,

 

我们继续可以按照之前的思路分析现在的情况,一号需要3票,二号不能讨好,三号给一枚,四号五号六号呢,这就出现的不是很好理解的情况,我先说明最后的结果是:

 

(97, 0, 1, 0, 1, 1)

 

为什么呢,我们可以从上面的推理发现我们其实一直没用到5.==疑心多虑==的原则,而现在就用到了,因为在五个海盗的时候有两种分法,四号和五号都可能分到2枚金币,也都可能分到0枚,他们不敢保证自己在这个人死后下一个人提方案时会给自己2枚还是0枚,那现在只要一号给他们一枚金币,他们就一定会投同意票

==(不信任彼此,尽量确保自身利益不寄希望与别人给自己更大利益)==.

 

所以这种分法是对一号收益最多的,否则他还要要花两枚金币去收买四号,一枚金币收买五六号中的一个 ==((96, 0, 1, 2, 0, 1)或(96, 0, 1, 2, 1, 0))==,这样不是最优的.

 

 

/   总结   /

 

 

 

同样的思路推广下去我们会发现这样的规律:

 

当 n为偶数时只要给二号到n号0,1,0,1...0,1,0,1,1

当 n 为奇数时给1,x,1,x....x,x.(任意一个x是二其余都是0)

 

上述情况的答案都是m-n/2

 

这就是海盗分金币的一般解了.

 

 

 

 

 

所以,上面杀狗问题的答案是  (97, 0, 1, 2, 0)或(97, 0, 1, 0, 2)  ,你猜对了吗

 

 

 

 

 

往期推荐:

如何入门做软件开发

为什么我不推荐入行程序员

做全栈开发很难吗

关注我的公众号,学习技术或投稿

长按上图,识别图中二维码即可关注

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值