漫画:有趣的【海盗】问题

漫画:有趣的【海盗】问题

漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题

————— 次日 —————
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题程序员

海盗分金币问题:markdown

有5个海盗,得到了100枚金币,因而他们要商量一个方法来分配金币。商议方式以下:ide

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

  2. 若是超过半数海盗(包括提出者)赞成该方案,则按照该方案分配。3d

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

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

问:第一个海盗应该提出怎样的分配方案,才能保证本身既不被扔到海里,又能使本身利益最大化?
漫画:有趣的【海盗】问题递归

举一个栗子:it

此时第一个海盗来提议分配方案,他说:
我要100枚金币,大家其余人一个金币也没有!class

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

接下来轮到第二个海盗提出分配方案,他说:
我只要1个金币,剩下3个小伙伴每人33个金币!

第三个海盗反对,剩下两个小伙伴赞成,赞成者超过了半数(4 : 1),因而按照这个方法执行了分配。
漫画:有趣的【海盗】问题漫画:有趣的【海盗】问题

漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题

————————————
漫画:有趣的【海盗】问题

漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题

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

老一在提出分配方案的时候,不妨这样思考:
若是我被扔到海里了,剩下4个海盗,此时老二的最优分配方案是什么呢?
我只要在老二的分配方案上稍微增长一点,就能赢得更多的支持。

老二在提出分配方案的时候,也会这样思考:
若是我被扔到海里了,剩下3个海盗,此时老三的最优分配方案是什么呢?
我只要在老三的分配方案上稍微增长一点,就能赢得更多的支持。

老三在提出分配方案的时候,仍是会这样思考:
若是我被扔到海里了,剩下2个海盗,此时老四的最优分配方案是什么呢?
我只要在老四的分配方案上稍微增长一点,就能赢得更多的支持。

整个递归过程,就像下图同样:
漫画:有趣的【海盗】问题

这个递归过程到何时截止呢?剩下两我的为止。

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

此时老四没有任何选择!不管他如何分配,哪怕把100枚金币都给老五,老五仍然能够反对,致使老四被扔到海里,金币全归老五全部。
漫画:有趣的【海盗】问题

由此,老三心想:老四没有最优决策,因此不管我提出什么要求,老四都必定会赞成,而老五必定不一样意。

因为只要超过半数赞成就能够执行分配,因此老三的最优策略以下:
漫画:有趣的【海盗】问题

接下来,老二暗自寻思:若是没有我,老三能得到100枚金币,因此不管如何不会赞成我。但我能够设法“笼络”老四和老五,造成 3 : 1 的局面。

在老三的“淫威”下,他们本来一个金币都得不到。我给他们一人一枚金币,好过由老三来分配,因此他们确定会赞成。

所以,老二的最优策略以下:
漫画:有趣的【海盗】问题

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

要笼络谁呢?以老二的策略,老三得不到金币,因此老三最好“伺候”。我给老三1枚,老三必定赞成。

至于老四和老五,原本能够获得1枚,因此我必须比老二给的多,才能赢得支持。但我又不必同时笼络他俩,要么给老四两枚金币,放弃老五,要么给老五两枚金币,放弃老四。

所以,老一的最优策略以下:
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题
漫画:有趣的【海盗】问题

漫画:有趣的【海盗】问题

喜欢本文的朋友们,欢迎关注公众程序员小灰,收看更多精彩内容
漫画:有趣的【海盗】问题

渴望知识交流和学习的小伙伴们,也欢迎加入小灰的知识星球
漫画:有趣的【海盗】问题

相关文章
相关标签/搜索