zoukankan      html  css  js  c++  java
  • 海盗分金问题

    经济学上有个“海盗分金”模型:是说5个海盗抢得100枚金币,他们按抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,超过半数同意方案才被通过,否则他将被扔入大海喂鲨鱼,依此类推。“海盗分金”其实是一个高度简化和抽象的模型,体现了博弈的思想。在“海盗分金”模型中,任何“分配者”想让自己的方案获得通过的关键是事先考虑清楚“挑战者”的分配方案是什么,并用最小的代价获取最大收益,拉拢“挑战者”分配方案中最不得意的人们。

    假设
    5个海盗抢到了100枚金币,每一颗都一样的大小和价值。
    他们决定这么分:
    抽签决定自己的号码(1,2,3,4,5)
    首先,由1号提出分配方案,然后大家5人进行表决,当半数以上的人同意时(包括半数),按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
    如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当半超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
    依次类推……
    条件
    每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。
    问题
    第一个海盗提出怎样的分配方案才能够使自己的收益最大化?
    (如果在规则中加上下面一条会更加完善:海盗在自己的收益最大化的前提下乐意看到其他海盗被扔入大海喂鲨鱼。不加也说的过去,因为其他海盗被扔入大海喂鲨鱼符合每个海盗的最大化利益。)

    推理过程
    推理①:
    假设①:1、2、3号已被扔入海中,由4号分宝石。
    由假设①推理出:
    结论① :4号的方案必为100、0,且必定通过。(故4号不可能被扔入海中,与假设①不矛盾)
    推理②:(要用到推理①的结论)
    假设②:1、2号已被扔入海中,由3号分宝石。
    由结论①、假设② 推理出:
    结论②: 3号进行“推理①”的推理,得到结论①后,知道了:自己只需给5号多于0个宝石,即方案为99、0、1,其方案就必定通过。(故3号不可能被扔入海中,与假设②不矛盾,只要与假设②不矛盾就行了,与假设①没有丝毫关系,因为它们是两个互相独立的推理。)
    余下的推理依次类推。

    本题推广
    X(1=<X=<202)个海盗,100颗宝石,其它规则同上。
    则1号海盗的最大化收益 Y =101-((X+1)/2所得数取整)。
    (当X=201及X=202时,1号海盗的最大化收益为0,但可保命。)
    Z(2=<Z=<X)号海盗的收益:Z为奇数时收益为 1, Z为偶数时收益为 0 。
    对于X>202时情况,可先在X=500个的情况下进行讨论,然后再作推广。
    依然是使用倒推法。
    203号海盗必须获得102张赞成票,但他无法用100个宝石收买到101名同伙的支持。因此,无论203号提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
    204号海盗必须获得102张赞成票,203号为了能保住性命,就必须让204号的方案通过,避免由203号自己来提出分配方案,所以无论204号海盗提出什么样的方案,都可以得到203号的坚定支持。这样204号海盗就可以保命:他可以得到他自己的1票、203号的1票、以及用100个宝石收买到的100名同伙的赞成票,刚好达到所需的半数支持。能从204号那里获得1个宝石的海盗,必属于按照202号海盗的方案将一无所获的那102名海盗之列。
    205号海盗必须获得103张赞成票,但他无法用100个宝石收买到102名同伙的支持。因此,无论205提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
    206号海盗必须获得103张赞成票,他可以得到205号的坚定支持,但他无法用100个宝石收买到101名同伙的支持。因此,无论206号提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
    207号海盗必须获得104张赞成票,他可以得到205号和206号的坚定支持,但他无法用100个宝石收买到101名同伙的支持。因此,无论207号提出什么样的分配方案,他都注定会被扔到海里去喂鱼。
    208号海盗必须获得104张赞成票,他可以得到205号、206号、207号的坚定支持,加上他自己1票以及收买的100票,使他得以保命。从208号那里获得1个宝石的海盗,必属于那些按照204号方案将一无所获的那104名海盗之列。
    眼下可以看出一条新的、此后将一直有效的规律:那些方案能通过的海盗(他们的分配方案全都是把宝石用来收买100名同伙,自己连1个宝石都得不到)相隔的距离越来越远,而在他们之间的海盗则无论提出什么样的方案都会被扔进海里。因此,为了保命,他们必会投票支持排在他们前面的海盗提出的任何分配方案。得以避免葬身鱼腹的海盗包括201、202、204、208、216、232、264、328、456号,
    即200+1、200+2、200+4、200+8、200+16、200+32、200+64、200+128、200+256。即
    200+2的0次幂,200+2的1次幂,200+2的2次幂,200+2的3次幂,200+2的4次幂,200+2的5次幂,200+2的6次幂,200+2的7次幂,200+2的8次幂,
    即其号码等于200加2的某次幂。
    对本题作更一般的推广
    有X个海盗,A 颗宝石,其它规则同上。
    当X=<2A+2时,
    则1号海盗的最大化收益 Y=A+1-((X+1)/2所得数取整)。
    (当X=2A+1及X=2A+2时,1号海盗的最大化收益为0,但可保命。)
    Z号(2=<Z=<X)海盗的收益:Z为奇数时收益为 1, Z为偶数时收益为 0 。
    当X>2A+2时,
    若X=2A+2的B次幂,则1号海盗可保命,但无收益。其他海盗的收益情况由前面讨论可知有规律,但海盗的编号不固定,对它们的表述省略。
    若X不等于2A+2的某次幂,设B=b是能使(X>2A+2的B次幂)成立的最大B,则(X+1-(2A+2的b次幂))号海盗可保命,但无收益。之前的海盗都会被扔到海里去喂鱼。之后的海盗的收益情况由前面讨论可知有规律,但海盗的编号不固定,对它们的表述省略。

  • 相关阅读:
    关于Update语句在不同数据库中的差别
    MSIL指令速查表
    一个对于博客园的建议
    代码风格关于if语句
    关于Page.cs文件中注释的一点补充
    在Java、C#和C++中遍历集合
    BPEL4WS的开源Java实现
    【Linux】linux固定ip
    【Linux】【MySQL】MySQL主从数据库
    wpf 写个简单的控件吧
  • 原文地址:https://www.cnblogs.com/lllini/p/11955318.html
Copyright © 2011-2022 走看看