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




没有了解过“海盗分金”的可能不是很明白,不过具有“算法逻辑”天赋的人或许分分钟就明白了。我是属于了解过一点“海盗分金”的前者。

一、问题描述

五个海盗抢到了100个金币,每一颗都一样的大小和价值连城。
他们决定这么分:
1.抽签决定自己的号码:[1、2、3、4、5]
2.首先,由1号提出分配方案,然后大家5人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
3.如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
4.以次类推
条件:每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。
问题:第一个海盗提出怎样的分配方案才能够使自己免于下海以及自己获得最多的金币呢?

二、问题分析

(1). 如果剩下4号和5号,那么4号必定分不到硬币,因为此时5号有一票否决权。即使4号给出“4号分0枚硬币,5号分100枚硬币”的方案,4号都得看5号的心情,要不要处死4号,所以无论怎样分,只剩下4号和5号的情况下,4号是永远的劣势。那么此时4号就得“挽留”住3号来使得自己的利益最大化;
(2). 如果剩下3号、4号和5号,那么3号给出“3号99枚,4号1枚,5号0枚”的分配方式,是肯定可通过的。因为由(1)的分析可知,如果3号死了,4号一枚都分不到,而且还得看5号的心情,所以4号一定会极力保全3号,即3号和4号同意3号的分配方式,3号的分配方案通过。剩下的同理推。
===》3号的分配方案可以是(既然轮到3号分配了,说明1号和2号都已经喂鲨鱼了):(99,1,0);
(3). 如果剩下2号、3号、4号和5号,那么2号给出“”的分配方式肯定可以通过的。因为由(2)可知,如果2号死了,那么5号一个也得不到,此时2号只要去拉拢一下5号,同时2号给4号的不比3号给4号的少即可(因为给的少了,4号会觉得跟2号和3号都一样,2号就得看4号的心情了)。
===》2号的分配方案可以是(既然轮到2号分配了,说明1号已经喂鲨鱼了):(97,0,2,1);
(4). 如果1号开始分配,那么1号由(3)可知,如果1号死了,3号就一个也得不到,那么1号就要拉拢一下3号,同时再给点好处4号或者5号,那么就可以保证同意的人数超过一半了。给5号的成本是最低的,分给5号一枚金币,就可以让5号有心情同意了,如果分给5号2枚,那么5号会感激涕零的。当然,1号为了追求自己利益的最大化,可以给3号1枚的,给5号一枚(当然此时可能受到5号“心情”的影响)。
===》1号的分配方案可以是:(98,0,1,0,1).

为什么说分配方案看“心情”呢?原因是“人的选择”,比如说2号也是可以分(98,0,1,1)的,只要4号和5号心情好,觉得跟2号和3号都一样,但是多个人存在,多份欢乐,2号的利益最大化就可以达到。
这是个博弈的问题,在权利的世界里“心情”可能就好比“站队”。此处略去n多字。。。
这也是一个算法题,可以用代码实现上述的分析的。

三、杂谈

1 . 动漫中的”三姬分金”即为3号、4号、5号海盗存在的情形,这个动漫情节设计的作者应该是一个学识渊博,懂博弈论,具有算法天赋(我瞎说的,哈哈哈)的人;
2. 推荐良心国产动漫:《秦时明月》3-5部,《秦时明月——天行九歌》(很多博弈问题)
3. 这篇虽是闲谈,但也是我准备没事时来写写我对常见趣味算法的理解的引子。

由“三姬分金”到“海盗分金”相关推荐

  1. 三姬分金/四姬分金/五姬分金(海盗分金币)等经典博弈论问题

    题目: A.B.C三人分100枚金币,按顺序提议. 规则:提议未获得半数以上(不包括半数)通过,则提议人被处死. 假如你是A,你会怎么提? 从后往前推 如果只剩下B.C 无论B怎么提议,C都不会同意, ...

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

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

  3. 【博弈论】关于三姬分金(五海盗分赃)的博弈论问题分析

    在看<天行九歌>的时候,看到了这个问题,之前在刷OI竞赛题的时候也刷到过一个,今天打算理一下关于这个问题的思路. 首先三姬分金和五海盗分赃其实都是一类问题"纳什均衡", ...

  4. 博弈论 —— 海盗分金

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

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

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

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

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

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

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

  8. 【逻辑推理系列】海盗分金模型分析

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

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

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

最新文章

  1. linux shell 判断一个命令是否存在
  2. stm32中用到的实时系统_适合STM32的三大嵌入式操作系统。
  3. CentOS 6.5源码包安装MySQL
  4. QT中利用Qlabel显示当前的时间:年-月-日-时-分-秒-星期
  5. ftp之高级配置——虚拟用户
  6. java集合类分析-hashset
  7. 用自己的ID在appstore中更新app-黑苹果之路
  8. 【Vue.js源码解析 二】-- 虚拟 DOM
  9. clip许可证设备id与绑定设备不匹配_LINUX SPI通用字符设备模型介绍(SPI模块分析结束篇)...
  10. 【java】java中文件监控WatchService使用
  11. python中遇到的问题及解决方法_自己编程中遇到的Python错误和解决方法汇总整理...
  12. 5个值得收藏的视频下载网站
  13. 给年轻工程师的10大忠告
  14. 好消息!!!XMind出视频教程了
  15. 用程序实现:给一个不多于4位的正整数,求出它是几位数,逆序输出各位数字?
  16. 学编程和学机器人有什么区别
  17. HaploMerger2: 从高杂合二倍体基因组组装中重建单倍型
  18. cocos2dx入门1:关于Cocos Creator
  19. API 获取推荐商品列表返回值说明
  20. 埋点 神策小程序_神策埋点思路

热门文章

  1. 人工智能时代:软件中的人工智能将如何改变程序员的角色
  2. java实现验证邮箱有效性
  3. GVM 内存结构 垃圾回收
  4. java 不同包 调用_java中不同包之间的调用
  5. 基于LSTM实现股票预测
  6. java 强制走catch_关于java:IDE强制使用try / catch包围并且不引发异常
  7. windows下hadoop安装时出现error Couldn‘t find a package.json file in “D:\\hadoop\hadoop-2.7.7\\sbin“问题
  8. Cheat sheet -----几乎所有编程语言的速查表
  9. 数据在计算机中存储形式
  10. 【渝粤教育】电大中专跨境电子商务理论与实务 (22)作业 题库