• 海盗分宝石问题


    题目信息

    5个海盗抢到了100颗宝石, 每一颗都一样的大小并且价值连城,并且具有下面的规则

    • 抽签决定自己的号码(1, 2, 3, 4, 5)
    • 首先, 由1号提出分配方案, 然后大家5人进行表决, 当且仅当超过半数人同意时, 按照他的提案进行分配, 否则将被扔入大海喂鲨鱼
    • 如果1号死后, 再由2号提出分配方案, 然后大家4人进行表决, 当且仅当超过半数的人同意时, 按照他的提案进行分配, 否则将被扔入大海喂鲨鱼。
    • 以此类推

    条件 : 每个海盗都是很聪明的人, 都能很理智的判断得失, 从而做出选择。

    问题 : 第一个海盗提出怎样的分配方案才能使自己免于下海以及自己获得最多的金币呢?

    解法

    采用逆向归纳法, 从只剩下5号海盗开始分析。

    1. 如果只剩5号海盗,那么毫无疑问他将得到所有的金币而且不用牺牲,5号海盗没有任何风险。

    2. 接下来看4号,他的生存机会完全取决于前面还有人存活着,因为如果1号到3号的海盗全都喂了鲨鱼,那么在只剩4号与5号的情况下,不管4号提出怎样的分配方案,5号一定都会投反对票来让4号去喂鲨鱼,以独吞全部的金币。哪怕4号为了保命而讨好5号,提出(0,100)这样的方案让5号独占金币,但是5号还有可能觉得留着4号有危险,而投票反对以让其喂鲨鱼。因此理性的4号是不应该冒这样的风险,把存活的希望寄托在5号的随机选择上的,他惟有支持3号才能绝对保证自身的性命 。

    3. 再来看3号,他经过上述的逻辑推理之后,就会提出(100,0,0)这样的分配方案,因为他知道4号哪怕一无所获,也还是会无条件的支持他而投赞成票的,那么再加上自己的1票就可以使他稳获这100金币了。

    4. 但是,2号也经过推理得知了3号的分配方案,那么他就会提出(98,0,1,1)的方案。因为这个方案相对于3号的分配方案,4号和5号至少可以获得1枚金币,理性的4号和5号自然会觉得此方案对他们来说更有利而支持2号,不希望2号出局而由3号来进行分配。这样,2号就可以拿走98枚金币了。

    5. 这回轮到1号海盗,1号海盗经过一番推理之后也洞悉了2号的分配方案。他将采取的策略是放弃2号,而给3号1枚金币,同时给4号或5号2枚金币,即提出(97,0,1,2,0)或(97,0,1,0,2)的分配方案。由于1号的分配方案对于3号与4号或5号来说,相比2号的方案可以获得更多的利益,那么他们将会投票支持1号,再加上1号自身的1票,97枚金币就可轻松落入1号的腰包了。

  • 相关阅读:
    【原】基础篇:第九篇,Ext组件系列之field组件的基本用法
    为什么要返回byte[]
    Migrate Mysql to SQL Server 2005
    关于编码规范
    RPM删除包的时候报127错误
    邮政储蓄的线上故障
    string.replaceAll与StringUtils.replace
    EJB工作原理
    OJB Connection
    找工作
  • 原文地址:https://www.cnblogs.com/chunzhulovefeiyue/p/9110941.html
Copyright © 2020-2023  润新知