智慧的博弈强盗分金币

来源:互联网 发布:tenga air tech知乎 编辑:程序博客网 时间:2024/04/28 07:11

转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/46878355

http://www.llwjy.com/blogdetail/49eec9599e710ca3dd0600a354c60df6.html

个人博客站已经上线了,网址 www.llwjy.com ~欢迎各位吐槽~
-------------------------------------------------------------------------------------------------

      应一位基友的建议,在更新《基于Lucene的案例开发》这个系列的博客过程中,更新一点考验智力的面试题目,也让大家有时间放松下,提升一下装B等级。


问题描述

      5个强盗抢得100枚金币后,讨论如何进行公正分配。他们商定的分配原则是:(1)抽签确定各人的分配顺序号码(1,2,3,4,5);(2)由抽到1号签的强盗提出分配方案,然后其他4人进行表决,如果方案得到超过半数的人同意(包括半数),就按照他的方案进行分配,否则就将1号扔进大海喂鲨鱼;(3)如果1号被扔进大海,则由2号提出分配方案,然后由剩余的3人进行表决,当且仅当超过半数的人同意时,才会按照他的提案进行分配,否则也将被扔入大海;(4)依此类推。这里假设每一个强盗都是绝顶聪明而理性,他们都能够进行严密的逻辑推理,并能很理智的判断自身的得失,即能够在保住性命的前提下得到最多的金币。同时还假设每一轮表决后的结果都能顺利得到执行,那么抽到1号的强盗应该提出怎样的分配方案才能使自己既不被扔进海里,又可以得到更多的金币呢?


最终答案

      1号提出的分配方案是:97-0-1-2-0 或者 97-0-1-0-2


问题分析

      这是一个博弈的问题,在对这个问题做分析的时候,我们不防从后往前推导:

1)假如前3个人都被扔入大海,这个时候只剩下4号和5号,这个时候无论4号提出什么方案,5号都会反对,这样5号就会得到全部的金币,因此4号为了活命,无论3号提出什么方案都会支持3号,不会让3号死亡;

2)这时候假设1号、2号被扔入大海,只剩下3号、4号和5号,因为3号知道无论他做出何种分配方案,4号都会同意,因此他的分配方案就是 100-0-0 ;

3)这时候假设1号被扔入大海,剩下2号、3号、4号和5号,这个时候3号会极力反对2号的决定,因为只要将2号扔入大海,他就可以得到全部金币,因此2号为了不被扔入大海,就需要得到4号和5号的认同,因此他的分配方案是 98-0-1-1 ;

4)这时候假设所有的人都没有被扔入大海,由1号提出分配方案,2号为了自己的利益最大化,会反对1号的决定,除非提出的分配方案2号获得的金币大于98枚,显然1号不会提出这样的分配方案,因此1号需要获得3号、4号和5号中的两个人的同意即可,①3号和4号同意时的分配方案是 : 97-0-1-2-0 ,②4号和5号同意的分配方案是: 96-0-0-2-2 ,③3号和5号同意的分配方案是: 97-0-1-0-2,这里1号显然会选择①和③这两种分配方案中的一个,因此1号提出的分配方案是:97-0-1-2-0 或者 97-0-1-0-2。


启示

      ①面对实力平均的竞争对手要分配某一利益时,当规则处于强势时(即无人有捍动此规则的实力,只能遵守此规则),首先提出分配方案的一方将是占优的。

      ②当你身处险境的时候,其实你却可能是整件事情的主导和最终受益者,因为其他的人都不得不根据你的决策而作出决策,你的决策影响着每个参与其中的人的收益。比如1号强盗看似好像是最容易被杀掉的一个,但实际上由于每个强盗的利益实际上是相互关联的,1号的生死和决策实际上已经深深影响了其他人的利益,每个人都不得不投鼠忌器,为了自己的收益而不得不保住1号的性命。


-------------------------------------------------------------------------------------------------
小福利
-------------------------------------------------------------------------------------------------
      个人在极客学院上《Lucene案例开发》课程已经上线了(目前上线到第二课),欢迎大家吐槽~
第一课:Lucene概述
第二课:Lucene 常用功能介绍

2 0