云漫圈 | 有趣的海盗问题 (完整版)

戳蓝字“CSDN云计算”关注我们哦!


者:小灰

来源:程序员小灰


小灰发布的关于海盗问题的漫画,得到了大家的热烈讨论,很感谢大家的支持。这一次,小灰做了如下更新:


1.修正了小灰面试阶段的一个数字错误

2.补充了6个海盗和7个海盗局面下,最优的分配方式


640?wx_fmt=jpeg

640?wx_fmt=jpeg



—————  第二天  —————



640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


640?wx_fmt=jpeg


海盗分金币问题:


5个海盗,获得了100枚金币,于是他们要商量一个方法来分配金币。商议方式如下:


1. 由5个海盗轮流提出分配方案。


2. 如果超过半数海盗(包括提出者)同意该方案,则按照该方案分配。


3. 如果同意该方案的人数(包括提出者)小于等于半数,则提出者要被扔到海里喂鱼,剩下的海盗继续商议分配。


4. 海盗们都是绝对理性的,以自己尽可能多获得金币为目的。但是在收益相等的情况下,会倾向把提出者扔到海里。


问:第一个海盗应该提出怎样的分配方案,才能保证自己既不被扔到海里,又能使自己利益最大化?


640?wx_fmt=png



举一个栗子:


此时第一个海盗来提议分配方案,他说:

我要100枚金币,你们其他人一个金币也没有!


显然,其他小伙伴一致反对,结果第一个提出者被扔到了海里。


640?wx_fmt=png


接下来轮到第二个海盗提出分配方案,他说:

我只要1个金币,剩下3个小伙伴每人33个金币!


第三个海盗反对,剩下两个小伙伴同意,同意者超过了半数(4 : 1),于是按照这个方法执行了分配。


640?wx_fmt=png

640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=png


640?wx_fmt=jpeg

640?wx_fmt=jpeg



————————————



640?wx_fmt=jpeg

640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg



640?wx_fmt=png



640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg



如何利用递归思想来简化问题呢?让我们来详细分析一下,后文把五个海盗简称为老一、老二、老三、老四、老五。


老一在提出分配方案的时候,不妨这样思考:

如果我被扔到海里了,剩下4个海盗,此时老二的最优分配方案是什么呢?

我只要在老二的分配方案上稍微增加一点,就能赢得更多的支持。


老二在提出分配方案的时候,也会这样思考:

如果我被扔到海里了,剩下3个海盗,此时老三的最优分配方案是什么呢?

我只要在老三的分配方案上稍微增加一点,就能赢得更多的支持。


老三在提出分配方案的时候,还是会这样思考:

如果我被扔到海里了,剩下2个海盗,此时老四的最优分配方案是什么呢?

我只要在老四的分配方案上稍微增加一点,就能赢得更多的支持。


整个递归过程,就像下图一样:


640?wx_fmt=png


这个递归过程到什么时候截止呢?剩下两个人为止。


想想看,当剩下两个人的时候,是什么情形?


此时老四没有任何选择!无论他如何分配,哪怕把100枚金币都给老五,老五仍然可以反对,导致老四被扔到海里,金币全归老五所有。


640?wx_fmt=png



由此,老三心想:老四没有最优决策,所以无论我提出什么要求,老四都一定会同意,而老五一定不同意。


由于只要超过半数同意就可以执行分配,所以老三的最优策略如下:



640?wx_fmt=png



接下来,老二暗自寻思:如果没有我,老三能获得100枚金币,所以无论如何不会同意我。但我可以设法“笼络”老四和老五,形成 3 : 1 的局面。


在老三的“淫威”下,他们原本一个金币都得不到。我给他们一人一枚金币,好过由老三来分配,所以他们肯定会同意。


因此,老二的最优策略如下:


640?wx_fmt=png



终于轮到老一了,老一心里琢磨:如果没有我,老二能获得98枚金币,我总不能分给他多于98枚,索性放弃他,只要剩下三人中笼络到两人,形成 3 : 2 的局面即可。


要笼络谁呢?以老二的策略,老三得不到金币,所以老三最好“伺候”。我给老三1枚,老三一定同意。


至于老四和老五,本来可以得到1枚,所以我必须比老二给的多,才能赢得支持。但我又没必要同时笼络他俩,要么给老四两枚金币,放弃老五,要么给老五两枚金币,放弃老四。


因此,老一的最优策略如下:


640?wx_fmt=png


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=png



由于海盗数目增加到7人,原本的老大顺延成为老三,原本的老二顺延成为老四......大家注意这里不要混淆。


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg


如何把两种分配结果进行聚合呢?


640?wx_fmt=png


在剩余5个海盗的情况下,要么老六得到两枚金币,老七没有金币;要么老六没有金币,老七得到两枚金币。从概率学的角度来分析,这两种情况发生的几率各占50%,所以老六和老七的平均收益都是1枚金币


640?wx_fmt=png


这样一来,老二就变得容易分析了。老二想要形成 4:2 的局面,他该怎么分配呢?


如果没有自己,老三可以得到97枚,所以老三直接放弃掉。

剩余5个海盗时,老四得不到金币,所以给老四一枚就可以拉拢,很好伺候。

剩余5个海盗时,老五、老六、老七的平均收益都是1枚,但我们只要拉拢其中两人就行。所以其中一人没有金币,另外两人各自给两枚。这样就形成了一个排列组合:

2, 2, 0

2, 0, 2

0, 2, 2


因此,老二自己保留的金币数量是 100 - 2 - 2 - 1 = 95完整的分配方案有3种,如下图所示:


640?wx_fmt=png



接下来,为了分析老大的策略,我们仍然需要把上面三种情况聚合一下。


对于老五、老六、老七,他们各自有三分之二的几率得到两枚金币,有三分之一的几率得不到金币。所以他们的收益平均值是 2 * 2/3 = 1.33 枚金币。


640?wx_fmt=png


这样一来,老大也变得容易分析了。老大想要形成 4:3 的局面,他该怎么分配呢?


如果没有自己,老二可以得到95枚,所以老二直接放弃掉。

剩余6个海盗时,老三得不到金币,所以给老三一枚就可以拉拢,很好伺候。

剩余6个海盗时,老四的收益是1枚,老五、老六、老七的平均收益是1.33枚,但无论1枚还是1.33枚,给他们两枚金币都是可以拉拢的。我们只要拉拢其中两人就行,所以其中两人没有金币,另外两人各自给两枚。这样又形成了一个排列组合:


2, 2, 0, 0

2, 0, 2, 0

2, 0, 0, 2

0, 2, 2, 0

0, 2, 0, 2

0, 0, 2, 2


因此,老一自己保留的金币数量是 100 - 2 - 2 - 1 = 95。完整的分配方案有6种,比较复杂,这里就不用图片表示了,直接列出表格:


640?wx_fmt=png


640?wx_fmt=jpeg


640?wx_fmt=jpeg

—————END—————

1.微信群:

添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


2.征稿:

投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。


推荐阅读

  • Gartner的预言:通向混合IT之旅

  • 崩溃!新浪程序员加班错失 77 万年会大奖

  • 刚刚!华为又被美国盯上了!

  • 阿里“菜鸟”AI?

  • 以太坊升级的拖油瓶,竟只是这几行代码

  • 程序员有话说 | 程序猿在乘地铁的时候都在想什么?

  • 清华北大“世界排名断崖式下跌”?


640?wx_fmt=gif点击“阅读原文”,打开 CSDN App 阅读更贴心!

640?wx_fmt=png喜欢就点击“好看”吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请重视!服务器这几个“异常”可能性预警

戳蓝字“CSDN云计算”关注我们哦!原文:https://mp.weixin.qq.com/s/qAkoG-Hut9Tfd9tOFRwafg提到服务器宕机检测,大家会想到,宕机能够很快知道,这个有什么可做的?实际上,很多时候服务器宕机,并不…

趣挨踢 | 那些出现在电影或电视剧中的精彩代码,你认出来几个?

戳蓝字“CSDN云计算”关注我们哦!程序员最幽默(ID:humor1024)编译链接:https://moviecode.tumblr.com/一些比较良心的电视和电影中会把代码这些细节做到机制,就算是屏幕上一闪而过,也都有理有据…

Hadoop精华问答 | 非大数据的项目能否用Hadoop?

戳蓝字“CSDN云计算”关注我们哦!技术的日新月异,让我们见证了Hadoop十年从无到有,再到称王。2006年项目成立的一开始,“Hadoop”这个单词只代表了两个组件——HDFS和MapReduce。到现在的10个年头,这个单词代表的是“核心”以及与…

要闻君说:很惊喜!原来坐火车也可以刷支付宝啦!加速5G,IBM要和沃达丰宣布成立合资公司!特斯拉要裁员7% 以削减成本...

关注并标星星CSDN云计算每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨,大家好!偶是要闻君。新年将至,年会未满,先听一首有关“假日”的歌曲吧,别忘记看要闻鸭!文/要闻君春节即将…

K8S的SDN容器网络解决方案【机制篇】

戳蓝字“CSDN云计算”关注我们哦!编者按:关于容器网络的解决方案业界已经有较多的讨论,笔者无意继续赘述。本文从K8S的网络实现入手,重点阐述SDN在容器网络中的应用价值。K8S及其网络模型体现了鲜明的解耦设计思想,采用…

总编下午茶专题汇总

《总编下午茶》是CSDN一档关注技术应用和IT前沿的访谈类栏目,由CSDN各主编担任该节目主持人,并邀请众多技术大咖分享技术热点与前沿知识,同时也是技术小伙伴们分享交流的最佳平台。 NLP可行性研究方向和应用热点 “现在NLP技术处于什么发展…

云重磅 |央视专访任正非;拼多多被薅上亿羊毛;甲骨文对云未来的10项技术预测...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周二第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

关于云原生,这是最详细的技术知识

戳蓝字“CSDN云计算”关注我们哦!本文旨在揭示现代软件行业的关键主题——云原生应用程序。这篇文章涉及微服务、容器和无服务器应用程序。在这里,我们将讨论这些技术的实际优点和缺点。微服务是什么微服务架构作为构建现代软件应用程序的强大方法而享有…

html之引入独立js方便维护jq代码

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>jq之demo</title><!--线上jq库--><script src"https://code.jquery.com/jquery-3.4.1.min.js"></script><scrip…

容器精华问答 | Docker是否比虚拟技术要好?

戳蓝字“CSDN云计算”关注我们哦&#xff01;云计算的发展日新月异&#xff0c;新技术层出不穷&#xff0c;尤其容器技术自2013年Docker容器问世以来一路高歌猛进红遍大江南北&#xff0c;与虚拟机相比&#xff0c;容器更显优势&#xff0c;有着更轻量、更快捷、占用资源更少&a…

Kubernetes API 与 Operator:不为人知的开发者战争

戳蓝字“CSDN云计算”关注我们哦&#xff01;前情回顾&#xff1a;《Kubernetes API 与 Operator&#xff1a;不为人知的开发者战争&#xff08;上&#xff09;》2016 年秋天&#xff0c;原 CoreOS 公司的工程师邓洪超像往常一样&#xff0c;来到了同事位于福斯特城&#xff08…

要闻君说:国产5G 手机只比普通版手机贵500元?菜鸟物联网机器人分拨中心首落南京!亚马逊推出的AWS集中式备份服务来啦!...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨&#xff0c;大家好&#xff01;偶是要闻君。借着自家年会即将开幕的兴奋劲&#xff0c;继续给各位看官们带来最新、最扎眼的泛云圈大新闻&#xff0c;还是先听首歌曲&#xff0c…

Spring精华问答 | 什么是Spring Cloud?

戳蓝字“CSDN云计算”关注我们哦&#xff01;Spring是为解决企业应用程序开发复杂性而创建的一个Java开源框架&#xff0c;应用非常广泛。业内非常流行的SSH架构中的其中一个"S"指的就是Spring。今天我们就一起来看看关于Spring的精华问答&#xff01;1Q&#xff1a;…

要闻君说:必应(Bing)搜索引擎已在国内被屏蔽;Verizon媒体业务宣布裁员7%;小米率先发布折叠屏手机...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨&#xff0c;大家好&#xff01;偶是要闻君。年底新闻一箩筐果真眼见为实&#xff0c;绝对不假。无论是华为天罡出师再添5G风采&#xff0c;还是小米自研折叠手机惊艳于世&#x…

高晓松侃5G!2019开年大讲揭示运营商的秘密

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章来自&#xff1a;通信世界日前&#xff0c;著名音乐创作人、电影创作人、自带清华才子光环的高晓松回归母校&#xff0c;竟做了一场没有“诗和远方”全是5G的演讲&#xff01;他演讲的主题是——《5G与区块链&#xff1a;文创产…

容器精华问答 | Docker和虚拟机有什么差别?

戳蓝字“CSDN云计算”关注我们哦&#xff01;容器技术是这两年热门的话题&#xff0c;因为容器技术给我们带来了很多方便的地方&#xff0c;节约了不少成本&#xff0c;不管是在运维还是开发上。今天&#xff0c;就让我们来看看关于容器更加有深度的问题吧。1Q&#xff1a;宿主…

云漫圈 | finally到底是在return之前执行还是return之后执行?

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章来自&#xff1a;程序员乔戈里作者&#xff1a;乔戈里qgl——下课后——public class Main { public static void main(String[] args) { query(); } public static void query() { int i 0; try { …

5G大规模商用来临之前,你必须知道的几个知识点

戳蓝字“CSDN云计算”关注我们哦&#xff01;大数据文摘授权翻译自纽约时报编译&#xff1a;雪清、蒋宝尚当人们在谈论人工智能和自动驾驶的时候&#xff0c;总是离不开5G。要说4G的侧重点是人与人之间不同方式的通信&#xff0c;那么5G将要形成的端到端生态系统&#xff0c;能…

趣挨踢 | 阿里员工吐槽:我在阿里工作五年,面试一个小公司竟然挂了

戳蓝字“CSDN云计算”关注我们哦&#xff01;来自&#xff1a;互联网坊间八卦一名阿里员工在互联网社区吐槽&#xff0c;称自己工作经验丰富&#xff0c;在阿里工作了五年&#xff0c;去面试一个小互联网创业公司竟然挂了&#xff0c;真是无力吐槽&#xff1a;我就郁闷了&#…

要闻君说:亚马逊也进击开源了吗?微软收购开源软件公司Citus Data,剑指云服务!投资15亿的数据中心忠德粤桂云来了!...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨&#xff0c;大家好&#xff01;偶是要闻君。工作日的最后一周&#xff0c;有没有很兴奋&#xff1f;边学习边听歌吧&#xff01;文/要闻君近日&#xff0c;AWS宣布推出Neo-AI项目…