×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

关于“海盗分金问题”最详尽的问题及解答 (ZT)

本文发表在 rolia.net 枫下论坛关于“海盗分金问题”最详尽的问题及解答


--------------------------------------------------------------------------------
[唯一不变的变化] 于 2002-4-7 21:18:15 加贴在 经济人俱乐部 ↑

海盗分金问题
——经典智力题推而广之一


异调



  (本帖改编自《科学美国人》杂志中IanStewart的《凶猛海盗的逻辑》)

  海盗,大家听说过吧。这是一帮亡命之徒,在海上抢人钱财,夺人性命,干的是刀头上舔血的营生。在我们的印象中,他们一般都瞎一只眼,用条黑布或者讲究点的用个黑皮眼罩把坏眼遮上。他们还有在地下埋宝的好习惯,而且总要画上一张藏宝图,以方便后人掘取。不过大家是否知道,他们是世界上最民主的团体。参加海盗的都是桀骜不驯的汉子,是不愿听人命令的,船上平时一切事都由投票解决。船长的唯一特权,是有自己的一套餐具——可是在他不用时,其他海盗是可以借来用的。船上的唯一惩罚,就是被丢到海里去喂鱼。

  现在船上有若干个海盗,要分抢来的若干枚金币。自然,这样的问题他们是由投票来解决的。投票的规则如下:先由最凶猛的海盗来提出分配方案,然后大家一人一票表决,如果有50%或以上的海盗同意这个方案,那么就以此方案分配,如果少于50%的海盗同意,那么这个提出方案的海盗就将被丢到海里去喂鱼,然后由剩下的海盗中最凶猛的那个海盗提出方案,依此类推。

  我们先要对海盗们作一些假设。

  1) 每个海盗的凶猛性都不同,而且所有海盗都知道别人的凶猛性,也就是说,每个海盗都知道自己和别人在这个提出方案的序列中的位置。另外,每个海盗的数学和逻辑都很好,而且很理智。最后,海盗间私底下的交易是不存在的,因为海盗除了自己谁都不相信。
  2) 一枚金币是不能被分割的,不可以你半枚我半枚。
  3) 每个海盗当然不愿意自己被丢到海里去喂鱼,这是最重要的。
  4) 每个海盗当然希望自己能得到尽可能多的金币。
  5) 每个海盗都是现实主义者,如果在一个方案中他得到了1枚金币,而下一个方案中,他有两种可能,一种得到许多金币,一种得不到金币,他会同意目前这个方案,而不会有侥幸心理。总而言之,他们相信二鸟在林,不如一鸟在手。
  6) 最后,每个海盗都很喜欢其他海盗被丢到海里去喂鱼。在不损害自己利益的前提下,他会尽可能投票让自己的同伴喂鱼。

  现在,如果有10个海盗要分100枚金币,将会怎样?

  要解决这类问题,我们总是从最后的情形向后推,这样我们就知道在最后这一步中什么是好的和坏的决定。然后运用这个知识,我们就可以得到最后第二步应该作怎样的决定,等等等等。要是直接就从开始入手解决问题,我们就很容易被这样的问题挡住去路:“要是我作这样的决定,下面一个海盗会怎么做?”

  以这个思路,先考虑只有2个海盗的情况(所有其他的海盗都已经被丢到海里去喂鱼了)。记他们为P1和P2,其中P2比较凶猛。P2的最佳方案当然是:他自己得100枚金币,P1得0枚。投票时他自己的一票就足够50%了。

  往前推一步。现在加一个更凶猛的海盗P3。P1知道——P3知道他知道——如果P3的方案被否决了,游戏就会只由P1和P2来继续,而P1就一枚金币也得不到。所以P3知道,只要给P1一点点甜头,P1就会同意他的方案(当然,如果不给P1一点甜头,反正什么也得不到,P1宁可投票让P3去喂鱼)。所以P3的最佳方案是:P1得1枚,P2什么也得不到,P3得99枚。

  P4的情况差不多。他只要得两票就可以了,给P2一枚金币就可以让他投票赞同这个方案,因为在接下来P3的方案中P2什么也得不到。P5也是相同的推理方法只不过他要说服他的两个同伴,于是他给每一个在P4方案中什么也得不到的P1和P3一枚金币,自己留下98枚。

  依此类推,P10的最佳方案是:他自己得96枚,给每一个在P9方案中什么也得不到的P2,P4,P6和P8一枚金币。

  下面是以上推理的一个表(Y表示同意,N表示反对):

   P1  P2
   0  100
   N  Y

   P1  P2 P3
   1  0  99
   Y  N  Y

   P1  P2  P3  P4
   0  1   0  99
   N  Y   N  Y

   P1 P2  P3  P4  P5
   1  0  1  0  98
   Y  N  Y  N  Y

   ……

   P1  P2  P3  P4  P5  P6  P7  P8  P9  P10
   0   1  0   1  0  1   0  1   0  96
   N   Y  N  Y  N  Y   N  Y  N   Y


  现在我们将海盗分金问题推广:

  1) 改变一下规则,投票中方案必须得到超过50%的票数(只得到50%票数的方案的提出者也会被丢到海里去喂鱼),那么如何解决10个海盗分100枚金币的问题?
  2) 不改变规则,如果让500个海盗分100枚金币,会发生什么?
  3) 如果每个海盗都有1枚金币的储蓄,他可以把这枚金币用在分配方案中,如果他被丢到海里去喂鱼,那么他的储蓄将被并在要分配的金币堆中,这时候又怎样?

  通过对规则的细小改变,海盗分金问题可以有许多变化,但是最有趣的大概是1)和2)(规则仍为50%票数即可)的情况,本帖只对这两种情况进行讨论。

  首先考虑1)。现在只有P1和P2的情形变得对P2其糟无比:1票是不够的,可是就算他把100枚金币都给P1,P1也照样会把他丢到海里去。可是P2很关键,因为如果P3进行分配方案的话,即使他一枚金币也不给P2,P2也会同意,这样一来P3就有P2这张铁票!P3的最佳方案就是:独吞100枚金币。

  P4要3张票,而P3是一定反对他的,而如果不给P2一点甜头,P2也会反对,因为P2可以在P3的方案中得救,目前为什么不把P4丢到海里呢?所以要分别给P1和P2一枚金币,这样P4就有包括他自己1票的3票。P4的方案为:P1,P2每人1枚金币,他自己98枚。

  P5的情况要复杂点,他也要3票。P4是会反对他的,所以不用给,给P3一枚金币就能使他支持自己的方案,因为在接下来的P4方案中他什么也得不到。问题是P1和P2:只要其中有一个支持就可以了。可是只给1枚金币是不行的,P4方案中他们一定有1枚金币可得,所以只要在他们中随便选一个,给2枚金币,另一个就对不起了,不给。这样P5的方案是:自己97枚,P3得1枚,P1或P2得2枚。

  P6的方案建立在P5的上面,只要给每个P5方案中不得益的海盗1枚金币。要注意的是,P1和P2都应该看作在P5方案中不得益的:他们可能得2枚,可是也可能1枚不得,所以只要P6给他们1枚金币,根据“二鸟在林,不如一鸟在手“的原则,就可以让他们支持P6的方案。所以P6的方案是唯一的:P1,P2,P4每人1枚金币,P6自己拿97枚。

  这样继续下去,P9的方案是:P3,P5,P7每人1枚金币,然后在P1,P2,P4,P6中任选一人给2枚金币,P9自己得95枚。最后,P10的方案是唯一的:P1,P2,P4,P6,P8每人1枚金币,P10自己得95枚。

  2)是最有趣的(提醒:我们回到50%票即可的规则)。原题解中的推理过程直到200个海盗都是成立的:P200给每个偶数号的海盗1枚金币,包括他自己,其他海盗什么也得不到。从P201开始,继续推理就变得有点困难了:P201为了不被丢到海里去,必须什么也不留给自己,而给从P1到P199中所有奇数号海盗每人1枚金币,从而争取到100票,加上他自己1票,逃过一劫。P202也什么都得不到,他必须用这100枚金币买通100个从P201的方案中什么也得不到的海盗,要注意到现在这个方案不是唯一的:P201的方案中得不到金币的海盗是所有奇数号的海盗,有101个(包括P201),所以有101种方案。

  P203必须得到102票,除了自己的1票外,他只有100枚金币,所以只能买到100票,所以可怜的家伙就被丢到海里喂鱼了。但是,P203是个很重要的角色,因为P204知道如果自己的方案不被通过,P203也一样会完蛋,所以他有P203的一张铁票。所以P204可以大出一口气:他自己一票,加上P203一票,然后加上用100枚金币买的确100票,他就得救了!100个有幸得到1枚金币的海盗,可以是P1到P202中任何100个:因为其中的偶数号的从P202的方案中什么也得不到,如果P204给他们中某个海盗1枚金币,这个海盗一定会赞同这个方案;而编号为奇数的海盗呢,只是有可能从P202的方案中得益罢了(可能性为100/101),所以根据“二鸟在林,不如一鸟在手“的原则,如果能得到1枚金币,他也会赞同这个方案。

  接下去P205是不能把希望放在P203和P204这两张票上的,因为就算他被丢到海里去,P203和P204还可以通过P204的方案机会活下来。P206虽然可以靠P205的铁票,加上自己1票和100枚金币搞到的100票,只有102票,所以他也被丢到海里喂鱼。P207好不了多少,他需要104票,而他自己以及P205和P206的铁票加上100枚金币搞到的100票只有103票——只好下海。

  P208运气比较好,他同样也要104票,可是P205,P206,P207都会投票赞成他的方案!加上他自己的1票和买来的100票,他终于逃脱了做鱼食的命运。

  这样我们就有了一种可以一直推下去的新逻辑。海盗可以什么也不留给自己,买上100票,然后依靠一部分一定会被丢下海的海盗的铁票,从而让自己的方案通过。有这样运气的海盗分别是P201,P202,P204,P208,P216,P232,P264,P328和P456……我们看到这样的号码是200加上一个2的次幂。

  哪些海盗是受益者呢,显然铁票是不用(不能)给金币的。所以只有上一个幸运号码及他以前的那些海盗才有可能得到1枚金币。于是我们得到500海盗分100枚金币的结论是:前44个最凶猛的海盗被丢进海里,然后P456给P1到P328中的100个海盗每人1枚金币。

  就这样,最凶猛的海盗被丢进海里,而比较凶猛的什么也得不到,而只有最温柔的那些海盗,才有可能得到1枚金币。正如《马太福音》所说:“温柔的人有福了,因为他们必承受地土!“(太5:5)更多精彩文章及讨论,请光临枫下论坛 rolia.net
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / 强盗分金
    • 强盗分金算法及分析 (ZT)
      本文发表在 rolia.net 枫下论坛强盗分金算法及分析


      --------------------------------------------------------------------------------
      [自由鸟] 于 2001-8-10 15:58:02 加贴在 经济人俱乐部 ↑

      数学的逻辑有时会导致看来十分怪异的结论。一般的规则是,如果逻辑推理没有漏洞,那么结论就必定站得住脚,即使它与你的直觉矛盾。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
    • 论海盗分金问题(1)--
      本文发表在 rolia.net 枫下论坛论海盗分金问题(1)--标准答案彻底错误,题目彻底不成立


      --------------------------------------------------------------------------------
      [不争论] 于 2002-4-9 13:28:43 加贴在 经济人俱乐部 ↑

      小论文:论海盗分金问题

      这篇东西其实不能算论文,因为很不严密,我也没有精力去严密化。只是业余娱乐,一笑。

      第一部分:海盗分金问题“标准答案”及其违背直觉的原因

      我在上一个帖子:“智力与智商”中,曾经指出,“小诗版”和“科美版”前提都是有漏洞的,会造成各种博弈的机会,和产生替代的效用(比如,海盗可能喜欢看同伴被扔下海,甚于喜好自己分金)。不过,我当时以为,只要前提足够严密,这个智力题就是成立的。

      这里“成立”的意思,就是适用很多网友已经指出的逆推法。根据这个方法,投票表决方式是达到半数即可时,标准答案是:98 0 1 0 1。 如果表决方式是必须过半数,标准答案就是:97 0 1 0 2 ----我在本文以后的讨论中,都采用后一形式(换前一种方式,结论是类似的)。

      我在这篇小文中要论证的就是:无论前提怎样严密,逆推法都是不成立的。

      我在上篇帖子中说过,最严密的前提是“加洲版”。这个版本可参阅ylgons转贴的文章http://www1.vankeweekly.com/asp/bbs2/showAnnounce.asp?id=234538。

      具体前提是:“所有的海盗都乐于看到他们的一位同伙被扔进海里,不过,如果让他们选择的话,他们还是宁可得一笔现金。他们当然也不愿意自己被扔到海里。所有的海盗都是有理性的,而且知道其他的海盗也是有理性的。...这些金块不能再分,也不允许几名海盗共有金块,因为任何海盗都不相信他的同伙会遵守关于共享金块的安排。这是一伙每人都只为自己打算的海盗。”

      在上述前提下,结盟是不可能的,效用替代也不存在。因此,似乎可以相信这个前提已经完全严密了--然而问题绝对不是这么简单。

      在给出我的论证之前,我先指出一点:这个题目的标准答案是十分违反直觉的。按道理,先提方案的1号海盗处于不利地位,结果他却分到了压倒多数的宝石,且丝毫不必担心别的海盗会生气把他抛下海。这种强烈违背常理之感,出题目的人看来也承认。在“加州版”原文中就说:“数学的逻辑有时会导致看来十分怪异的结论。一般的规则是,如果逻辑推理没有漏洞,那么结论就必定站得住脚,即使它与你的直觉矛盾。”也就是说,他承认答案怪异,但坚信其正确。

      我却不那么迷信“数学的逻辑”。实际上做过科研的人都知道,数学或逻辑本身,是不能告诉你任何新知识的,只能实现等价表达式之间的变换。对一个纯逻辑过程来说,结果是否正确,完全取决于你前提是否正确。因此,反过来说,一个合理的怀疑是:既然结论怪异,很可能是推理前提错了。

      一个理性的、追求自身利益最大化的海盗,处在题目所给条件下,他真会象“逆推法”那样思考吗?还是他会有不同的思考方案呢?他除了被动等待别人施舍自己1或2块宝石外,难道真地没有其他手段可以利用吗?

      我今天下班路上和晚上看完电视新闻后仔细考虑了这个问题,深信:一个理性的海盗,在这种情况下完全可以动用威胁的手段,来达到自己的目标。

      这里的关键是:他拥有威胁的资源--有可能操纵对方生杀的一票。

      题目排除了结盟,但并未排除威胁。所以,后面的海盗总是可以威胁提方案的海盗说:“听着,你必须分给我XX只宝石,否则我就投票反对你的方案!”(请注意,这个威胁符合理性、利益最大化和互不信任原则,也就是说符合题意。)

      即使不允许海盗互相说话的场合(避免复杂的谈判),后面的海盗作为一个足够聪明和理性的海盗,肯定会在心里动威胁的念头。那么,由于提方案的海盗也是一个足够聪明的海盗,他就会猜到对方有此念头--其效果和公开威胁是一样的。

      而题目的标准的解答,完全忽视了海盗可在理性范围内运用这一手段,所以,才会得出一个违背直觉的奇怪答案--因此,这个所谓“标准”答案是完全错误的。

      ==========================================
      第二部分:论考虑威胁因素下,不存在唯一解答

      但是,另一方面,威胁是不一定起作用的。于是我们要的第二个问题就是:何时海盗会实施威胁?

      为此,我必须先引入一个和原题稍有不同的假设:海盗不会滥杀(原题目说的是:海盗总是喜欢看到同伴被杀,只要不损害自己利益)。我改变的假设是,海盗只有在能够获得更大利益的前提下才喜好同伴被杀。

      我们举2个海盗说明区别:在原题目条件下,此时4号死定了,即使0 100分配方案5号仍要投反对票杀他。在我的条件下,5号在0 100时不杀4,因为不可能再多得宝石。但1 99时会杀4。所以,在我的假设下,若2个海盗,引入威胁后分配方案不变,仍是0 100,且4号性命保全(假定海盗会滥杀,可以用效用替代法得出其他结论。我后面若有精力会继续讨论)

      现在看3个海盗。按简单逆推,3号可实现99 1 0的分配方案。但是,4号会威胁说:“你得给我XX个,否则我投反对票杀你”(5号除非得到100个宝石,否则肯定投反对票)。那么,4号在何种情况下会动用威胁呢?

      由于题目说了,海盗是极其自私贪婪的,要最大化个人利益,所以,只有达到最大可能数量才满足。其计算方式是:总宝石量/(过半数必须票数--被威胁者本人1票)。计算可以看出,在3人时,此值为100,(4人时,此值为50)。注意,再贪婪的海盗也不可要求超过此量,否则方案将无足够支持率。因此,一个理性的、高贪婪的海盗将要求此值。

      但是,这是在贪婪本性出发的结论。在实际操作中,海盗还必须考虑到风险--即失去宝石的风险。在上例中,3号会看到,4号若反对则下一轮他只能得到0个宝石。3号可以利用这一点来反过来威胁4号。

      到这一步,题目的标准答案就变得不确定起来了--它将和海盗的冒险欲望有关了。对冒险欲望的不同模式假设将得出不同结论!

      例如,如果3号不怕死,他就可以反过来威胁4号,如果你不赞成我,我宁死不屈,让你得0个宝石!

      不过,冒险欲望是可以用一个合理假设,设定为一个刚性条件的:即,所有海盗都是怕死的。在财产生命之间一定选择生命。这个“刚性化”是很符合“自然”的,而且“加洲版”题目也的确说了,海盗是不想死的。

      如果这样规定了,是否就可以把题目变回有标准答案了呢?例如:是否3号已经别无出路,只好给4号100个宝石了呢?若如此,标准答案就是0 100 0。

      事实是,这种情况下,3号仍有反威胁的手段!3号可威胁4号:我可以做 0 0 100的方案,这样5号因为不愿滥杀,会赞成票。我可以保命,而你一无所获!

      4号对此又将如何反应呢?

      答案是:到这一步,4号的反应将取决于他贪婪欲望的函数形式!不同的函数假设,也将得出不同结论。

      由于贪婪欲望不可能象上面的冒险欲望那样,用一个刚性假设替代掉,换言之,题目不可能再有标准答案了!至此,海盗分金的题目,已经彻底瓦解!

      今晚太晚,先写到此。明天我将用最简单情况----海盗的贪婪欲望函数是简单线性的----来具体分析说明。

      (贪婪欲望函数线性假设:如果海盗可得到的最大数量和最小数量的差额为A,每当可多得1个宝石时,他投反对票的欲望下降1-1/A。当该欲望小于1/2时,他将投赞成票。)更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • 我靠...要是这样没法玩了....
    • 关于“海盗分金问题”最详尽的问题及解答 (ZT)
      本文发表在 rolia.net 枫下论坛关于“海盗分金问题”最详尽的问题及解答


      --------------------------------------------------------------------------------
      [唯一不变的变化] 于 2002-4-7 21:18:15 加贴在 经济人俱乐部 ↑

      海盗分金问题
      ——经典智力题推而广之一


      异调



        (本帖改编自《科学美国人》杂志中IanStewart的《凶猛海盗的逻辑》)

        海盗,大家听说过吧。这是一帮亡命之徒,在海上抢人钱财,夺人性命,干的是刀头上舔血的营生。在我们的印象中,他们一般都瞎一只眼,用条黑布或者讲究点的用个黑皮眼罩把坏眼遮上。他们还有在地下埋宝的好习惯,而且总要画上一张藏宝图,以方便后人掘取。不过大家是否知道,他们是世界上最民主的团体。参加海盗的都是桀骜不驯的汉子,是不愿听人命令的,船上平时一切事都由投票解决。船长的唯一特权,是有自己的一套餐具——可是在他不用时,其他海盗是可以借来用的。船上的唯一惩罚,就是被丢到海里去喂鱼。

        现在船上有若干个海盗,要分抢来的若干枚金币。自然,这样的问题他们是由投票来解决的。投票的规则如下:先由最凶猛的海盗来提出分配方案,然后大家一人一票表决,如果有50%或以上的海盗同意这个方案,那么就以此方案分配,如果少于50%的海盗同意,那么这个提出方案的海盗就将被丢到海里去喂鱼,然后由剩下的海盗中最凶猛的那个海盗提出方案,依此类推。

        我们先要对海盗们作一些假设。

        1) 每个海盗的凶猛性都不同,而且所有海盗都知道别人的凶猛性,也就是说,每个海盗都知道自己和别人在这个提出方案的序列中的位置。另外,每个海盗的数学和逻辑都很好,而且很理智。最后,海盗间私底下的交易是不存在的,因为海盗除了自己谁都不相信。
        2) 一枚金币是不能被分割的,不可以你半枚我半枚。
        3) 每个海盗当然不愿意自己被丢到海里去喂鱼,这是最重要的。
        4) 每个海盗当然希望自己能得到尽可能多的金币。
        5) 每个海盗都是现实主义者,如果在一个方案中他得到了1枚金币,而下一个方案中,他有两种可能,一种得到许多金币,一种得不到金币,他会同意目前这个方案,而不会有侥幸心理。总而言之,他们相信二鸟在林,不如一鸟在手。
        6) 最后,每个海盗都很喜欢其他海盗被丢到海里去喂鱼。在不损害自己利益的前提下,他会尽可能投票让自己的同伴喂鱼。

        现在,如果有10个海盗要分100枚金币,将会怎样?

        要解决这类问题,我们总是从最后的情形向后推,这样我们就知道在最后这一步中什么是好的和坏的决定。然后运用这个知识,我们就可以得到最后第二步应该作怎样的决定,等等等等。要是直接就从开始入手解决问题,我们就很容易被这样的问题挡住去路:“要是我作这样的决定,下面一个海盗会怎么做?”

        以这个思路,先考虑只有2个海盗的情况(所有其他的海盗都已经被丢到海里去喂鱼了)。记他们为P1和P2,其中P2比较凶猛。P2的最佳方案当然是:他自己得100枚金币,P1得0枚。投票时他自己的一票就足够50%了。

        往前推一步。现在加一个更凶猛的海盗P3。P1知道——P3知道他知道——如果P3的方案被否决了,游戏就会只由P1和P2来继续,而P1就一枚金币也得不到。所以P3知道,只要给P1一点点甜头,P1就会同意他的方案(当然,如果不给P1一点甜头,反正什么也得不到,P1宁可投票让P3去喂鱼)。所以P3的最佳方案是:P1得1枚,P2什么也得不到,P3得99枚。

        P4的情况差不多。他只要得两票就可以了,给P2一枚金币就可以让他投票赞同这个方案,因为在接下来P3的方案中P2什么也得不到。P5也是相同的推理方法只不过他要说服他的两个同伴,于是他给每一个在P4方案中什么也得不到的P1和P3一枚金币,自己留下98枚。

        依此类推,P10的最佳方案是:他自己得96枚,给每一个在P9方案中什么也得不到的P2,P4,P6和P8一枚金币。

        下面是以上推理的一个表(Y表示同意,N表示反对):

         P1  P2
         0  100
         N  Y

         P1  P2 P3
         1  0  99
         Y  N  Y

         P1  P2  P3  P4
         0  1   0  99
         N  Y   N  Y

         P1 P2  P3  P4  P5
         1  0  1  0  98
         Y  N  Y  N  Y

         ……

         P1  P2  P3  P4  P5  P6  P7  P8  P9  P10
         0   1  0   1  0  1   0  1   0  96
         N   Y  N  Y  N  Y   N  Y  N   Y


        现在我们将海盗分金问题推广:

        1) 改变一下规则,投票中方案必须得到超过50%的票数(只得到50%票数的方案的提出者也会被丢到海里去喂鱼),那么如何解决10个海盗分100枚金币的问题?
        2) 不改变规则,如果让500个海盗分100枚金币,会发生什么?
        3) 如果每个海盗都有1枚金币的储蓄,他可以把这枚金币用在分配方案中,如果他被丢到海里去喂鱼,那么他的储蓄将被并在要分配的金币堆中,这时候又怎样?

        通过对规则的细小改变,海盗分金问题可以有许多变化,但是最有趣的大概是1)和2)(规则仍为50%票数即可)的情况,本帖只对这两种情况进行讨论。

        首先考虑1)。现在只有P1和P2的情形变得对P2其糟无比:1票是不够的,可是就算他把100枚金币都给P1,P1也照样会把他丢到海里去。可是P2很关键,因为如果P3进行分配方案的话,即使他一枚金币也不给P2,P2也会同意,这样一来P3就有P2这张铁票!P3的最佳方案就是:独吞100枚金币。

        P4要3张票,而P3是一定反对他的,而如果不给P2一点甜头,P2也会反对,因为P2可以在P3的方案中得救,目前为什么不把P4丢到海里呢?所以要分别给P1和P2一枚金币,这样P4就有包括他自己1票的3票。P4的方案为:P1,P2每人1枚金币,他自己98枚。

        P5的情况要复杂点,他也要3票。P4是会反对他的,所以不用给,给P3一枚金币就能使他支持自己的方案,因为在接下来的P4方案中他什么也得不到。问题是P1和P2:只要其中有一个支持就可以了。可是只给1枚金币是不行的,P4方案中他们一定有1枚金币可得,所以只要在他们中随便选一个,给2枚金币,另一个就对不起了,不给。这样P5的方案是:自己97枚,P3得1枚,P1或P2得2枚。

        P6的方案建立在P5的上面,只要给每个P5方案中不得益的海盗1枚金币。要注意的是,P1和P2都应该看作在P5方案中不得益的:他们可能得2枚,可是也可能1枚不得,所以只要P6给他们1枚金币,根据“二鸟在林,不如一鸟在手“的原则,就可以让他们支持P6的方案。所以P6的方案是唯一的:P1,P2,P4每人1枚金币,P6自己拿97枚。

        这样继续下去,P9的方案是:P3,P5,P7每人1枚金币,然后在P1,P2,P4,P6中任选一人给2枚金币,P9自己得95枚。最后,P10的方案是唯一的:P1,P2,P4,P6,P8每人1枚金币,P10自己得95枚。

        2)是最有趣的(提醒:我们回到50%票即可的规则)。原题解中的推理过程直到200个海盗都是成立的:P200给每个偶数号的海盗1枚金币,包括他自己,其他海盗什么也得不到。从P201开始,继续推理就变得有点困难了:P201为了不被丢到海里去,必须什么也不留给自己,而给从P1到P199中所有奇数号海盗每人1枚金币,从而争取到100票,加上他自己1票,逃过一劫。P202也什么都得不到,他必须用这100枚金币买通100个从P201的方案中什么也得不到的海盗,要注意到现在这个方案不是唯一的:P201的方案中得不到金币的海盗是所有奇数号的海盗,有101个(包括P201),所以有101种方案。

        P203必须得到102票,除了自己的1票外,他只有100枚金币,所以只能买到100票,所以可怜的家伙就被丢到海里喂鱼了。但是,P203是个很重要的角色,因为P204知道如果自己的方案不被通过,P203也一样会完蛋,所以他有P203的一张铁票。所以P204可以大出一口气:他自己一票,加上P203一票,然后加上用100枚金币买的确100票,他就得救了!100个有幸得到1枚金币的海盗,可以是P1到P202中任何100个:因为其中的偶数号的从P202的方案中什么也得不到,如果P204给他们中某个海盗1枚金币,这个海盗一定会赞同这个方案;而编号为奇数的海盗呢,只是有可能从P202的方案中得益罢了(可能性为100/101),所以根据“二鸟在林,不如一鸟在手“的原则,如果能得到1枚金币,他也会赞同这个方案。

        接下去P205是不能把希望放在P203和P204这两张票上的,因为就算他被丢到海里去,P203和P204还可以通过P204的方案机会活下来。P206虽然可以靠P205的铁票,加上自己1票和100枚金币搞到的100票,只有102票,所以他也被丢到海里喂鱼。P207好不了多少,他需要104票,而他自己以及P205和P206的铁票加上100枚金币搞到的100票只有103票——只好下海。

        P208运气比较好,他同样也要104票,可是P205,P206,P207都会投票赞成他的方案!加上他自己的1票和买来的100票,他终于逃脱了做鱼食的命运。

        这样我们就有了一种可以一直推下去的新逻辑。海盗可以什么也不留给自己,买上100票,然后依靠一部分一定会被丢下海的海盗的铁票,从而让自己的方案通过。有这样运气的海盗分别是P201,P202,P204,P208,P216,P232,P264,P328和P456……我们看到这样的号码是200加上一个2的次幂。

        哪些海盗是受益者呢,显然铁票是不用(不能)给金币的。所以只有上一个幸运号码及他以前的那些海盗才有可能得到1枚金币。于是我们得到500海盗分100枚金币的结论是:前44个最凶猛的海盗被丢进海里,然后P456给P1到P328中的100个海盗每人1枚金币。

        就这样,最凶猛的海盗被丢进海里,而比较凶猛的什么也得不到,而只有最温柔的那些海盗,才有可能得到1枚金币。正如《马太福音》所说:“温柔的人有福了,因为他们必承受地土!“(太5:5)更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • Good. Thanks for sharing
      • thanks
    • 从逻辑上将, 这个问题很有趣, 但前提过于苛刻, 微小改动会造成整个推理崩溃, 从系统设计角度讲, 这样的系统根本无法设计.
      • 就是,一帮书生吃饱饭莫得事情干,乱想一气。海盗只可能凭力气分金子嘛。
        • 这是博弈论的典型案例,小孩不要瞎吵吵