827
需用时 01:39
大鱼吃小鱼的博弈

总有一条更大的鱼

Always A Bigger Fish (总有一条更大的鱼)不但是电影情节中的经典桥段,也是各种恶搞的灵感来源——小鱼总是被大鱼吃掉,而大鱼上面总还有更大的鱼。久而久之,聪明的大鱼或许就不会去吃小鱼了,否则按照传统剧情,它身后会出现一条更大的鱼。一个有趣的问题出现了:倘若所有的鱼都是理性的,那会出现怎样的情况呢?

让我们来考虑一个具体的情形。假设有 100 条鱼,它们从小到大依次编号为 1, 2, …, 100 。我们规定,吃鱼必须要严格按顺序执行。也就是说,大鱼只能吃比自己小一级的鱼,不能越级吃更小的鱼;并且只有等到第 n 条鱼吃了第 n - 1 条鱼之后,第 n + 1 条鱼才能吃第 n 条鱼。第 1 条鱼则啥都不能吃,只有被吃的份儿。我们假设,如果有小鱼吃的话,大鱼肯定不会放过;但是,保全性命的优先级显然更高,在吃小鱼之前,大鱼得先保证自己不会被吃掉才行。假设每条鱼都是无限聪明的(并且它们也都知道这一点,并且它们也都知道它们知道这一点⋯⋯),那么第 1 条鱼能存活下来吗?

出人意料的答案

答案或许有些出人意料:第 1 条鱼还是会被第 2 条鱼吃掉,但在此之后第 2 条鱼却不会遭遇同样的下场。更有趣的是,当鱼的总数不同时,问题的答案也不一样。事实上,当鱼的总数是奇数时,第 1 条鱼将会存活下来;当鱼的总数是偶数时,第 2 条鱼将会吃掉第 1 条鱼,从而鱼的总数将变成奇数,吃鱼事件至此为止。

这究竟是怎么一回事呢?让我们先从一些简单的情况开始分析。当鱼的总数只有 1 条时,这条鱼显然活得自由自在;当鱼的总数上升到 2 条时,第 2 条鱼将会吃掉第 1 条鱼,因为第 2 条鱼是无敌的,它不用担心自己会被吃掉。当鱼的总数上升到 3 条时,第 2 条鱼就不能吃第 1 条鱼了,否则情况将化为 2 条鱼的情形,它将会被第 3 条鱼吃掉。

有趣的事情发生在一共有 4 条鱼的时候。此时第 2 条鱼可以大胆地吃掉第 1 条鱼,因为根据前面讨论的情形,它知道第 3 条鱼是不会吃它的;类似地,如果一共有 5 条鱼,第 2 条鱼就不敢吃第 1 条鱼了,否则由总鱼数为 4 的情况可知,第 3 条鱼会毫不犹豫地吃掉它⋯⋯以此类推,当总鱼数是奇数时,所有的鱼都将会和平相处;当总鱼数是偶数时,第 1 条鱼将会被第 2 条鱼吃掉,情况就化为了鱼的数目为奇数时的稳定状态。

事实上,生活中我们并不能假设所有游戏者都是充分理性的,人们难免产生一些贪婪自私、不计后果的念头。如果每个人都能做到理性决策,和平相处并不难。
The End

发布于2010-11-04, 本文版权属于果壳网(guokr.com),禁止转载。如有需要,请联系果壳

举报这篇文章

matrix67

数学狂

pic