海盗分金模型逻辑分析


经济学上有个“海盗分金”模型:是说5个海盗抢得100枚金币,他们按抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,超过半数同意方案才被通过,否则他将被扔入大海喂鲨鱼,依此类推。

假定“每个海盗都是绝顶聪明且很理智”,那么“第一个海盗提出怎样的分配方案才能够使自己的收益最大化?”

在“海盗分金”模型中,任何“分配者”想让自己的方案获得通过的关键是事先考虑清楚“挑战者”的分配方案是什么,并用最小的代价获取最大收益,拉拢“挑战者”分配方案中最不得意的人们。


假设5个海盗代号依次为1,2,3,4,5。从后往前推


Pirate 4

首先从海盗4开始分析:如果1,2,3号均喂了鲨鱼,场上只剩下4号和5号的话,那么无论4号提出什么方案,5号肯定会投反对票,以自己独吞所有的100金币,因此海盗4只有支持3号才能保命。


Pirate 3

从海盗3来看,海盗3直到无论自己提出什么解决方案,海盗4为了保命,都得投支持票。这样一来场上就是2:1。这样的分配方案为:

0 0 100 0 0


Pirate 2

从海盗2来看,因为海盗4和5到目前为止都不能获得金币,因此只需要海盗2分别给海盗4和5一人一个金币(相比之前两人什么都没有好),那么场上的投票就是3:1,这样的分配方案为:

0 98 0 1 1


Pirate 1

从海盗1来看,当前场上有5个人,为了保命,他需要找到两个支持自己的人,从之前的分析结果来看,到目前为止,需要给海盗3一个金币(海盗三会尽量避免海盗1被喂鲨鱼,否则就到了Priate 2的情形),再给海盗4或5其中一个人两枚金币,那么海盗4或5就会获得比之前更好的收益,因此会支持海盗1的分配方案,这样的分配方案为:

97 0 1 2 0(97 0 1 0 2)

因此本来看来最不利的1号却在考虑了所有海盗的心理之后称为最后的赢家,解题关键是理解每个海盗最期望的结果,以及每个提案能够接受最差的结果,并且要逆推。

【逻辑推理系列】海盗分金模型分析相关推荐

  1. 海盗分金-动态规划实现

    经济学上有个"海盗分金"模型:是说5个海盗抢得100枚金币,他们按抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,投票要超过半数同意方案才被通过,否则他将被扔入大海喂鲨 ...

  2. 海盗分金c语言算法,[经典算法]海盗分金问题sql求解(贪心算法)

    问题: 经济学上有个"海盗分金"模型:是说5个海盗抢得100枚金币,他们按抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,超过半数同意方案才被通过,否则他将被扔入大海喂 ...

  3. 博弈论系列—海盗分金币

    在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,尤其以 FLAG(Facebook, LinkedIn, Amazon, Google)等公司为典型.而这类问题的背后,很 ...

  4. 大象起舞:用PostgreSQL解海盗分金问题

    作者简介 张泽鹏(redraiment):51信用卡信贷业务高级架构师. 资深挖坑不填党:在51先后挖过风控.信审.数据支持等多个互金信贷相关的坑 冷技术控:51内 PostgreSQL.FreeBS ...

  5. IBM面试题:海盗分金算法及其思想

    IBM面试题: 妈妈有2000元,要分给她的2个孩子.由哥哥先提出分钱的方式,如果弟弟同意,那么就这么分.但如果弟弟不同意,妈妈会没收1000元,由弟弟提出剩下 1000元的分钱方式,这时如果哥哥同意 ...

  6. 有趣的海盗分金问题(博弈论)

    海盗分金问题 关于海盗分金问题是经济学上的一个经典模型:是说5个海盗抢得100金币,他们按照抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,投票要超过半数同意方案才能被通过,否则他将被扔入 ...

  7. 博弈论之海盗分金(最严谨)

    为什么要强调严谨版呢?因为大多数地方都最终有两个结果,但其实,如果严格来说,只有一个答案. 博弈论又被称为对策论,是现代数学的一个重要分支,在经济学.金融学.计算机科学.政治学.军事战略学等方面有着重 ...

  8. 由“三姬分金”到“海盗分金”

    "秦时明月--天行九歌篇"中有这么一章:"三姬分金". http://www.tudou.com/albumplay/QxZOIU2BloQ/B4u0I7Vxm ...

  9. 博弈论 —— 海盗分金

    1. 博弈论基本概念 局中人同时做决策的博弈,叫"静态博弈". 如果决策有先后,后面的人,可以根据前面人的决策,决定和调整自己的决策,就叫"动态博弈". 先决策 ...

最新文章

  1. Oracle提议将G1作为Java 9的默认垃圾收集器
  2. Nginx Mac笔记
  3. Java实现插值查找算法 Insert search
  4. C/C++ 时间相关用法
  5. 牛客网_PAT乙级_1019. 数字黑洞 (20)
  6. leetcode--872. 叶子相似的树
  7. 机载计算机结构,机载计算机
  8. (转)C#中的Abstract和Virtual函数区分,因我老弄不明白这个问题,所以转到这儿
  9. 0基础学python要多久-零基础自学python要多久?
  10. Java疯狂讲义第五章笔记
  11. HTML5大数据可视化效果(二)可交互地铁线路图
  12. cad字体安装_CAD字体大全下载【软件下载】
  13. 英语 译林 2019 单词表
  14. 数据分析 --- 如何分析数据
  15. 使用python为Excel插入附件
  16. js eventbus
  17. 业务+IT一体化就是BPO?
  18. 64匹马,8个赛道,找出跑得最快的4匹马
  19. c++学习六(静态成员和友员函数)
  20. TA-Lib介绍安装及使用教程

热门文章

  1. STL源码剖析 RB-tree
  2. Crowd Counting领域论文阅读
  3. java 银行贷款工具类
  4. 2.6java基础 数组
  5. linux精确匹配文件名,Linux基础知识之文件名匹配
  6. JavaScript RegExp 身份证、账号密码、email正则
  7. 缓存穿透该怎么解决? 回懵面试官
  8. UE4-GamePlay-UPlayer
  9. 统计学的那些冷门思考(各种检验+中心极限)
  10. 观世音菩萨为什么不直接将整个地狱的众生都拯救出来?