×

Loading...

Topic

This topic has been archived. It cannot be replied.
  • 枫下沙龙 / 谈天说地 / 来来来,大家活动活动脑子 -- 据说是微软面食题:强盗分金
    有5个强盗A,B,C,D,E,得到100个金币,决定瓜分掉,分法怪异:
    首先A提出分法,B,C,D,E表决,如果不过半数同意,就砍掉A的头(2:2也砍掉)
    然后由B来分,C,D,E表决,如果不过半数同意,就砍掉B的头
    依次类推,如果假设强盗都足够聪明,在不被砍掉头的同时获得最多的金币。
    问:最后结果如何(精确结果!)
    • 每人20个。
      • 补充一下,可能还有种分法就是,A25,B25,C25,D25,E0。
        • 同意。因为只有此分法,B、C、D才没有被砍头的危险,又能拿得比平均分配的多。E没有风险,也就委屈一下,没有收益了。
      • 正确答案是A:0 B:100 C:0 D:0 E:0 前提是每个强盗都很自私,并且生命比金子重要。
        • 为什么呀?能说说你的推理过程么??
          • 推理过程:
            E 总是不同意, 他才可能拿到100
            C,D, 如果E不同意, 他们必须同意才能保命
            B, 如果A不给他分100,他就不同意,自己分自己100
            A, 少分给B一个子,都可能丧命
    • A 提出分法: A:0,B:1,C:33,D:33,E:33
      • 能确保C,D,E三人就满足了吗?
        • 这是第一轮他们能拿到的最多的了。有更好的方法吗?
      • 如果按照这样分我是E我就反对,这样让B再分,B会这样分:B0,C0,D50,E50,但我还不满意,让C再分,哈哈,依此类推。谁又想死呢?
        • 有道理。不过如果不知道他们次序,比如说是抽签看谁出注意的话,只能这样了。如果事先知道次序,就没有意义了。
          • 但实际上现在就因为有次序所以会麻烦,哈哈,我估计我的补充可能比较准确一点,因为没人想死,而E是最后那个选择,所以只好委屈他老人家了,哈哈。
            • 先问问蚂蚁MM她的问题中到底有没有定好次序。
              • A最强,E最弱,A - E按强弱顺序排列
        • E==0. 因为他无论如何都会反对!!!
    • 等我拿笔算算!
      • 根据题目,再假定:1 生命比金币重要. 2 强盗有良心,在得到同等数量金币时,不希望同伴被砍头. 则答案是 A=0,B=98,C=1,D=1,E=0. 大家有没有意见! 解答过程明天给!!!
        • A=0,B=99,C=0,D=1,E=0
    • 最后一个强盗拿到了全部的金子,剩下的一个自动放弃了。
      • 不见得呀。
      • 我是说,最后只剩下两个人,死了三个。两个人中的一个放弃,跑了。
        • 那还是别分了,大打一同,谁赢了就拿走全部 :-):-)
          • 要文斗不要武斗。:)
    • A25,B0,C25,D25,E25
    • 题目出错了,应该是反对者“超过”赞成者才砍头,否则是无解的。
      A拿98个,B和D各1个,C和E没有
    • My answer is: (97, 0, 1, 0, 2). Please take a look at my deduction
      题设不严密,我要补充以下前提。
      1。首先,我认为2:2是可以通过的,否则无解。
      2。其次,要假设大家是理性的。如果报着“我得不到,你也别想要”的思想,也无解。
      3。第三,强盗们按照力气大小排序,力气小的先提出方案。

      我的推理如下:
      当只有一个人时,他得到100个金币;

      当有两个人时,只有 (0,100)这一个方案会得到通过;

      当有三个人时,如果一个人否决就可以杀掉提方案的人,那么永远导致提案无法通过,因为最后一个人希望只有两个人的情况出现。所以,我认为要补充前提1。在有前提1的情况下,分配方案如下(99, 1,0)。因为,第四个人得到的金币比否决这个提案后多一个,所以他同意。

      当有4个人时,要有两个人同意提案。只要第四和第五个人得到的金币比三个人的时候多,久可以。所以,方案如下(97,0,2,1)。

      当有五人的时候,只要两个人同意就可以通过提案。这样,只要将4个人的提案中所得最少的两个人分别加一,就可以了。
      所以,最后的分配方案如下(97,0,1,0,2)。

      诸位以为然否?
      • 如果这是微软的面世题
        我想他们要的不是答案,因为这本来就无解(条件不足).他们要的是Daniel的这种解题思路,所以如果Daniel面世的话,应该通过了.而一个劲想答案(不能看出条件不足的)和不想了的人(我)就只好等下次机会了:(
        • thanks. But i don't wanna work for M$. ^-^
        • 说说无解,有解,并且是精确的数学公式解。
    • 强盗分金算法及分析(注意:题目有点不一样哦) -- 根据这个算法,我和一同事的讨论结果是:97,0,1,1,1,结果和我们的一样的举手~
      本文发表在 rolia.net 枫下论坛强盗分金算法及分析


      数学的逻辑有时会导致看来十分怪异的结论。一般的规则是,如果逻辑推理没有漏洞,那么结论就必定站得住脚,即使它与你的直觉矛盾。1998年9月,加利福尼亚州帕洛阿尔托的Stephen M. Omohundro寄给我一道难题,它恰好就属于这一类。这难题已经流传了至少十年,但是Omohundro对它作了改动,使它的逻辑问题变得分外复杂了。
      先来看看此难题原先的形状。10名海盗抢得了窖藏的100块金子,并打算瓜分这些战利品。这是一些讲民主的海盗(当然是他们自己特有的民主),他们的习惯是按下面的方式进行分配:最厉害的一名海盗提出分配方案,然后所有的海盗(包括提出方案者本人)就此方案进行表决。如果50%或更多的海盗赞同此方案,此方案就获得通过并据此分配战利品。否则提出方案的海盗将被扔到海里,然后下提名最厉害的海盗又重复上述过程。

      所有的海盗都乐于看到他们的一位同伙被扔进海里,不过,如果让他们选择的话,他们还是宁可得一笔现金。他们当然也不愿意自己被扔到海里。所有的海盗都是有理性的,而且知道其他的海盗也是有理性的。此外,没有两名海盗是同等厉害的——这些海盗按照完全由上到下的等级排好了座次,并且每个人都清楚自己和其他所有人的等级。这些金块不能再分,也不允许几名海盗共有金块,因为任何海盗都不相信他的同伙会遵守关于共享金块的安排。这是一伙每人都只为自己打算的海盗。

      最凶的一名海盗应当提出什么样的分配方案才能使他获得最多的金子呢?

      为方便起见,我们按照这些海盗的怯懦程度来给他们编号。最怯懦的海盗为1号海盗,次怯懦的海盗为2号海盗,如此类推。这样最厉害的海盗就应当得到最大的编号,而方案的提出就将倒过来从上至下地进行。

      分析所有这类策略游戏的奥妙就在于应当从结尾出发倒推回去。游戏结束时,你容易知道何种决策有利而何种决策不利。确定了这一点后,你就可以把它用到倒数第2次决策上,如此类推。如果从游戏的开头出发进行分析,那是走不了多远的。其原因在于,所有的战略决策都是要确定:“如果我这样做,那么下一个人会怎样做?”因此在你以下海盗所做的决定对你来说是重要的,而在你之前的海盗所做的决定并不重要,因为你反正对这些决定也无能为力了。

      记住了这一点,就可以知道我们的出发点应当是游戏进行到只剩两名海盗——即1号和2号——的时候。这时最厉害的海盗是2号,而他的最佳分配方案是一目了然的:100块金子全归他一人所有,1号海盗什么也得不到。由于他自己肯定为这个方案投赞成票,这样就占了总数的50%,因此方案获得通过。

      现在加上3号海盗。1号海盗知道,如果3号的方案被否决,那么最后将只剩2个海盗,而1号将肯定一无所获——此外,3号也明白1号了解这一形势。因此,只要3号的分配方案给1号一点甜头使他不至于空手而归,那么不论3号提出什么样的分配方案,1号都将投赞成票。因此3号需要分出尽可能少的一点金子来贿赂1号海盗,这样就有了下面的分配方案:3号海盗分得99块金子,2号海盗一无所获,1号海盗得1块金子。

      4号海盗的策略也差不多。他需要有50%的支持票,因此同3号一样也需再找一人做同党。他可以给同党的最低贿赂是1块金子,而他可以用这块金子来收买2号海盗。因为如果4号被否决而3号得以通过,则2号将一文不名。因此,4号的分配方案应是:99块金子归自己,3号一块也得不到,2号得1块金子,1号也是一块也得不到。

      5号海盗的策略稍有不同。他需要收买另两名海盗,因此至少得用2块金子来贿赂,才能使自己的方案得到采纳。他的分配方案应该是:98块金子归自己,1块金子给3号,1块金子给1号。

      这一分析过程可以照着上述思路继续进行下去。每个分配方案都是唯一确定的,它可以使提出该方案的海盗获得尽可能多的金子,同时又保证该方案肯定能通过。照这一模式进行下去,10号海盗提出的方案将是96块金子归他所有,其他编号为偶数的海盗各得1块金子,而编号为奇数的海盗则什么也得不到。这就解决了10名海盗的分配难题。

      Omohundro的贡献是他把这一问题扩大到有500名海盗的情形,即500名海盗瓜分100块金子。显然,类似的规律依然成立——至少是在一定范围内成立。事实上,前面所述的规律直到第200号海盗都成立。 200号海盗的方案将是:从1到199号的所有奇数号的海盗都将一无所获,而从2到198号的所有偶数号海盗将各得1块金子,剩下的1块金子归200号海盗自己所有。

      乍看起来,这一论证方法到200号之后将不再适用了,因为201号拿不出更多的金子来收买其他海盗。但是即使分不到金子,201号至少还希望自己不会被扔进海里,因此他可以这样分配:给1到199号的所有奇数号海盗每人1块金子,自己一块也不要。

      202号海盗同样别无选择,只能一块金子都不要了——他必须把这100块金子全部用来收买100名海盗,而且这100名海盗还必须是那些按照201号方案将一无所获的人。由于这样的海盗有101名,因此202号的方案将不再是唯一的——贿赂方案有101种。

      203号海盗必须获得102张赞成票,但他显然没有足够的金子去收买101名同伙。因此,无论提出什么样的分配方案,他都注定会被扔到海里去喂鱼。不过,尽管203号命中注定死路一条,但并不是说他在游戏进程中不起任何作用。相反,204号现在知道,203号为了能保住性命,就必须避免由他自己来提出分配方案这么一种局面,所以无论204号海盗提出什么样的方案,203号都一定会投赞成票。这样204号海盗总算侥幸拣到一条命:他可以得到他自己的1票、203号的1票、以及另外100名收买的海盗的赞成票,刚好达到保命所需的50%。获得金子的海盗,必属于根据202号方案肯定将一无所获的那101名海盗之列。

      205号海盗的命运又如何呢?他可没有这样走运了。他不能指望203号和204号支持他的方案,因为如果他们投票反对205号方案,就可以幸灾乐祸地看到205号被扔到海里去喂鱼,而他们自己的性命却仍然能够保全。这样,无论205号海盗提出什么方案都必死无疑。206号海盗也是如此——他肯定可以得到205号的支持,但这不足以救他一命。类似地,207号海盗需要104张赞成票——除了他收买的100张赞成票以及他自己的1张赞成票之外,他还需3张赞成票才能免于一死。他可以获得205号和206号的支持,但还差一张票却是无论如何也弄不到了,因此207号海盗的命运也是下海喂鱼。

      208号又时来运转了。他需要104张赞成票,而205、206、207号都会支持他,加上他自己一票及收买的100票,他得以过关保命。获得他贿赂的必属于那些根据204号方案肯定将一无所获的人(候选人包括2到200号中所有偶数号的海盗、以及201、203、204号)。

      现在可以看出一条新的、此后将一直有效的规律:那些方案能过关的海盗(他们的分配方案全都是把金子用来收买100名同伙而自己一点都得不到)相隔的距离越来越远,而在他们之间的海盗则无论提什么样的方案都会被扔进海里——因此为了保命,他们必会投票支持比他们厉害的海盗提出的任何分配方案。得以避免葬身鱼腹的海盗包括201、202、204、208、216、232、264、328、456号,即其号码等于200加2的某一方幂的海盗。

      现在我们来看看哪些海盗是获得贿赂的幸运儿。分配贿赂的方法是不唯一的,其中一种方法是让201号海盗把贿赂分给1到199号的所有奇数编号的海盗,让202号分给2到200号的所有偶数编号的海盗,然后是让204号贿赂奇数编号的海盗,208号贿赂偶数编号的海盗,如此类推,也就是轮流贿赂奇数编号和偶数编号的海盗。

      结论是:当500名海盗运用最优策略来瓜分金子时,头44名海盗必死无疑,而456号海盗则给从1到199号中所有奇数编号的海盗每人分1块金子,问题就解决了。由于这些海盗所实行的那种民主制度,他们的事情就搞成了最厉害的一批海盗多半都是下海喂鱼,不过有时他们也会觉得自己很幸运——虽然分不到抢来的金子,但总可以免于一死。只有最怯懦的200名海盗有可能分得一份脏物,而他们之中又只有一半的人能真正得到一块金子,的确是怯懦者继承财富。更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • 哈哈,蚂蚁MM,你这里的题和开始那个可有本质的区别呀。如果回答前面那个,我想是否结果是这样:A0,B0,C50,D50,E0。这恐怕是最合理的结果了,对于现在这个题目我得重新想想呀。:(
        • 重新想过后,此题最合理的结果应为:A97,B0,C1,D2,E0。
          • 同意,但好像 A97,B0,C1,D0,E2 也行。 想不出为什么你的比我更合理。
            • 同意同意,哈哈,同样合理。
          • 那你这样的结果是2:2呀???因为E要至少一个金币,否则第二轮他就一无所获了呀???
            • 噢,原来A不能投票, 再想想
            • 想好了,A不能投票, 你的答案正确。
      • 厉害是指什么?如果是指综合能力,那么剩两个人时,2号就可以宰了1号,自己不死,还独吞金子.所以提方案的顺序应该反一下.
    • 我见
      如果 按A,B,C,D,E 次序表决:
      当人数少于3时, E 都可得到$100,(任何分法均不同意,最后独得).
      所以要在至少有四人时解决, B 的分法是: 98,1,1,0 .
      注: C,D 必须同意 (1 better than nothing, if they are smart enough), 不 care E.
      对于A, 需3人同意, 给 E 1 既可 (1 better than nothing, if he is smart enough),
      C,D 给出2 (2 better than 1 ), 不 care B.
      所以答案是: 95,0,2,2,1


      综述:
      1 人时: E $100.
      2 人时: 任何方案 E 反对, 1:0 砍D.
      3 人时: 任何方案 E 反对, 1:1 砍C.
      4 人时: 98,1,1,0 C,D 对 E, PASS.
      5 人时: 95,0,2,2,1 C,D,E 对 B PASS.
      • 有个小问题
        本文发表在 rolia.net 枫下论坛加个条件:在这里对强盗的良心有个疑问,在自己得到一样多的金子且性命无忧的前提下,强盗是否希望杀掉其他强盗?
        一.假设不希望(有良心的强盗)
        综述:
        1 人时: E $100.
        没意见
        2 人时: 任何方案 E 反对, 1:0 砍D.
        没意见(但要除去0,100方案)
        3 人时: 任何方案 E 反对, 1:1 砍C.
        没意见(但要除去0,0,100方案)
        4 人时: 98,1,1,0 C,D 对 E, PASS.
        为什么是98,1,1,0?
        如果100,0,0,0怎么样?
        因为强盗B要得到最多的金子,而B,C如果反对,他们的结果是被砍,BC要一块金子还是一条命?
        5 人时: 95,0,2,2,1 C,D,E 对 B PASS.
        参照4人的情况,B显然会反对A的任何分法(除非给他100)所以给B 0或100.
        如果给B 100,通过(BCDE都同意)
        如果给B 0,那么A就需要3个人的支持,大家是有良心的强盗,A就靠这点良心,不用给别人钱了,所以 100,0,0,0,0
        结果是100,0,0,0,0通过


        二.假设不希望(没良心的强盗)
        综述:
        1 人时: E $100.
        没意见
        2 人时: 任何方案 E 反对, 1:0 砍D.
        没意见
        3 人时: 任何方案 E 反对, 1:1 砍C.
        没意见
        4 人时: 98,1,1,0 C,D 对 E, PASS.
        为什么是98,1,1,0?
        如果100,0,0,0怎么样?
        因为强盗B要得到最多的金子,而B,C如果反对,他们的结果是被砍,BC要一块金子还是一条命?

        5 人时: 95,0,2,2,1 C,D,E 对 B PASS.
        参照4人的情况,B显然会反对A的任何分法(除非给他100)所以给B 0或100.
        如果给B 100,通过(BCDE都同意)
        如果给B 0,那么A就需要3个人的支持,大家是没良心的强盗,A就得出点血,一人一块,所以 97,0,1,1,1

        以上与原题比较,一是需要有顺序,二是要知道强盗的良心好不好.如果强盗良心好坏不一样,那就......更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • 正确答案:97,0,1,1,1详细推理见内
      1.E在任何时候都想杀了所有的人得到全部金币,所以若只剩D时,D死定了,所以他一定要保护C不让C死,但只剩CDE时,D无法保护C,E还会反对,杀了C,所以,CD为了活命不得不尽量保护B,无论B提出什么条件,CD都会无条件答应,E一人反对也无用。
      2。因为五盗都足够聪明,所以所有的强盗都看到这一点,B自己更是心知肚明,若A被杀,就只剩一种结果:B独吞100枚金币
      3。A在觉察这一点后终于有了最佳决定:97,0,1,1,1 。B 当然激烈反对,但CDE都知道若不同意,杀了A,则B独吞全部,自己一个都得不到,有总比没有好。当然也只得同意

      想起老直销员的话,一声长叹!太聪明的办法是没人相信的!哎,奈何奈何奈何!
      • 同意!反推思路清晰,论据确凿。高!
      • 错!如果只剩D,E 则D拿走所有的,E一个子也拿不到。
        • 请注意原题,1:1也要砍头。
          • 1:1 也砍头的话,此题无解!
            • 请指教,闲逛的推理哪一步错了?
              • 按原题的意思,提方案人自己不能投票(A提案,2:2杀头)。
                • D 无论同意与否,自己最终都得不到一个子,既然这次不同意A,那么为什么在B提出100,0,0,0 的时候会同意呢?对他来说一样时0,为什么会出现2种选择呢?题目没有说强盗在自己活命的情况下,尽量砍别人的头啊。
                  • D为什麽不会这麽对A说:你有机会给我一块钱让我支持你,不给?对不起,我要你的脑袋!
                    • 题目没有说强盗在自己活命的情况下,尽量砍别人的头或者一次来要挟其他强盗,否则A为什么不拿把枪把其他强盗都干掉?
                      • 每个强盗都有权要求自己的利益受到尊重,并通过规则来保障这一点。投反对票是保障自己利益的行为,在规则之内。乱杀人不是游戏规则。这其实是一道精确的数学题,不是一般的智力游戏。
                        • refer to #167658
                          • 对不起,昨晚太晚了,没有领会你的思路。我想,任一个强盗看到没有他的份的方案,都会反对,除非这个反对会把自己的命也搭上。如果你觉得这个想法合理,就会同意D会接受B,而不接受A。他若不接受B,则C和自己定被E整死。
                    • 其实,没必要为此争论,这是本题的一个漏洞,我在半年前就和朋友们讨论过了。最终转化为风险讨论,A为了获得最大的利益,只好冒风险,为了安全,就给D一个金币,我是偏向于冒风险的。
    • 0,100,0,0,0
      • 50% correct
        • 100% correct !!!!
    • 98,0,1,0,1
      • 正确,本来97,0,1,1,1似乎正确,但A仔细一想,可以不给D,因为:D面临(反对,杀了A,然后0,100,0,0,0 )或是(98,0,1,0,1),D反正得不到不如保全A的性命。
        • 只要C、E同意,就通过了。
        • "D反正得不到不如保全A的性命",这句话的根据是什末?D为什麽不会这麽对A说:你有机会给我一块钱让我支持你,不给?对不起,我要你的脑袋!
    • Additional info...
      Suppose, A is your first high school girlfriend, with whom you lost your virginity.
      B is your second girl friend in college, with whose help you passed all your exams
      and got your Bachelor's degree. C is your third girl friend at your first job, who
      was also your HR manager and made your promotion to sales manager a reality. D is
      your first but not last Canadian girl friend, who is pretty, young, white and blond.
      Of course, E is yourself...
      • 强盗变情人,玩笑开大了吧?为情人可以舍命相救,强盗间可以为一分钱杀人。
    • 来看我的答案,100,0,0,0,0。解释在内。
      我起初同意97,0,1,1,1

      后来有人提出98,0,1,0,1 ,此时D应该同意,A得活命。
      其理由如下,因为前提是各位强盗都足够聪明并且有理智,D反正是竹蓝打水,杀了A,结果一样,不如留着A从长计议,我称此为alpha逻辑。

      依此逻辑,如果A满足前提(足够聪明),A会提出100,0,0,0,0。
      此时只有B反对,聪明的C,D,E同样遵循alpha逻辑(即杀了A结果一样),C,D,E只有同意。因为大家都知道A死,B必然通吃,多一事不如少一事,留着A未必是坏事。其实如果B也一样聪明(他了解CDE会同意),他为什么要反对呢。

      结论,如果alpha逻辑成立,100,0,0,0,0
      反之97,0,1,1,1,看大家对强盗如何理解了。

      欢迎批评指正。
    • 我的答案:0,0,0,100,0 或 0,0,0,0,100,推导见内
      1)E一定反对
      2)对D来说,最差结果是0,因为当D来分时,他可以把钱全部给E以保命
      3)D可以争取一个更好的结果,就是对A(或B,C)进行讹诈
      结论:
      A面临这种情况,必须将100给D或者E,以换取他们中一人的同意,得以保全性命。
    • 96:0:1:2:1。请大家评分!!!!!!!!!!!!!!
      倒推:若只剩
      D:E -- 0:100,
      E反对任何其他分法。

      C:D:E -- 0:0:100,
      因为平手也算输,所以在DE投票的时候E会反对其他任何分法。
      D的票只决定C的死活,和分配方案没关系。

      B:C:D:E -- 99:0:1:0,
      C为了保证自己的小命不被下轮投票时D的心情所决定,一定会同意B的任何分配方案以确保D在下一轮无法投票决定自己的生死。
      D也知道,如果B的方案不通过,他只能拿0,所以只要B给他1,他就会同意。
      E总是反对的,不过这也由不得他了。

      A:B:C:D:E -- 96:0:1:2:1,
      B总是反对的除非A给他100。
      A需要搞定CDE不然他就会被宰,而CDE也都知道,只要A能给他们比B的方案要多一点点,他们就会同意。所以A的最终方案是96:0:1:2:1。
      • 问题就在这,B完全可分为100,0,0,0,CD也会同意,同理适用于A。
        • 如果100,0,0,0,D可以同意也可以不同意,但B为了活命一定要让D同意,这就是B一定要给D“1”的原因,并且D一定会同意,否则他就亏了1块金子。
      • 更正!!!!答案不变,更正推理过程!!!!!
        倒推:若只剩
        D:E -- 0:100,
        E反对任何其他分法。

        C:D:E -- C死定了,所以结果和DE的时候一样 -- X:0:100
        因为平手也算输,所以在DE投票的时候E会反对任何分法。
        D的票没用。

        B:C:D:E -- 99:0:1:0,
        C为了自己的小命,一定会同意B的任何分配方案。
        如果B的方案不通过,D只能拿0,所以D会同意任何能让他拿到大于0的方案。B也知道,他一定要争取到D的选票,不然他死定了,所以B一定要给D至少1块金子,以保证D的一票。
        E总是反对的,不过这也由不得他了。

        A:B:C:D:E -- 96:0:1:2:1,
        B总是反对的除非A给他的比他自己分的多1,即,99+1=100。
        A需要搞定CDE不然他就会被宰,所以他的方案一定要比B的方案给CDE任何一个人的金子要多,才能确保自己的小命不会被CDE中任何一个人因为没能多拿而产生的心情波动而决定。
        CDE也都知道知道这点,所以只要A能给他们比B的方案要多,他们就会同意。
        从上所知,A的最终方案是96:0:1:2:1。
    • 我的答案: 95,0,2,2,1
      前提:
      1.只要比下一次分得多,我就同意
      2.如果下次我要死,我一定同意
      3.如果下次分得一样多,我不同意
      • can you write in detail? why a should give c 2 instead of 1? what will happen if a only give c 1?