There is always a bigger fish

   

     Always A Bigger Fish 不但是电影情节中的经典桥段,也是各种恶搞的灵感来源——小鱼总是被大鱼吃掉,而大鱼上面总还有更大的鱼。久而久之,聪明的大鱼或许就不会去吃小鱼了,否则按照传统剧情,它身后会出现一条更大的鱼。一个有趣的问题出现了:倘若所有的鱼都是理性的,那会出现怎样的情况呢?
    让我们把问题重新叙述一下。假设有 n 条鱼,它们从小到大依次编号为 1, 2, …, n 。我们规定,吃鱼必须要严格按顺序执行。也就是说,大鱼只能吃比自己小一级的鱼,不能越级吃更小的鱼;并且只有等到第 i 条鱼吃了第 i – 1 条鱼后,第 i + 1 条鱼才能吃第 i 条鱼。第 1 条鱼则啥都不能吃,只有被吃的份儿。我们假设,如果有小鱼吃的话,大鱼肯定不会放过;但是,保全性命的优先级显然更高,在吃小鱼之前,大鱼得先保证自己不会被吃掉才行。假设每条鱼都是无限聪明的(并且它们也都知道这一点,并且它们也都知道它们知道这一点⋯⋯),那么第 1 条鱼能存活下来吗?


 
 
 
 
 
 
 
 
 
 
 
 
 
 

    答案或许有些出人意料:当 n 是奇数时,第 1 条鱼将会存活下来;当 n 是偶数时,第 2 条鱼将会吃掉第 1 条鱼。为了证明这一点,让我们来考虑一些简单的情况。当 n = 1 时,第 1 条鱼显然活得自由自在;当 n = 2 时,第 2 条鱼将会吃掉第 1 条鱼,因为第 2 条鱼是无敌的,它不用担心自己会被吃掉。当 n = 3 时,第 2 条鱼不能吃第 1 条鱼,否则情况将化为 n = 2 的情形,它将会被第 3 条鱼吃掉。有趣的事情发生在 n = 4 的时候,此时第 2 条鱼可以大胆地吃掉第 1 条鱼,因为根据前面的结论,它知道第 3 条鱼是不会吃它的⋯⋯以此类推,当 n 是奇数时,这 n 条鱼将会和平相处;当 n 是偶数时,第 1 条鱼将会被第 2 条鱼吃掉,情况就化为了 n 为奇数时的稳定状态。

43 条评论

回复给 foreverswz 取消回复

8  ×    =  24