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 为奇数时的稳定状态。
出乎意料。。
错了,只要n>=3,第一条鱼就是安全的吧
你記得麼?有個拿硬幣的不拿到最後一個的題就是直接這樣判斷人數了。記不清了啊TAT。。。
果然还是博弈论啊。。
不知道為啥我的 comment 顯示不出來,系統是不是有問題啊?
http://paste.pocoo.org/show/285438/
我想起了海盗分赃的问题呢
就是n,n-2,n-4….的鱼能存活嘛= =
果然很海盗分赃很像
果然,在“我猜您可能还喜欢”里给出了海盗分金…..
囧了
看到下面广告的图表还以为是这道题的
有趣有趣!终于能看懂了!
字好模糊。。
第一次在看到答案前想到解啊,而且还是在喝完酒后,真难得啊~
当n>=5的时候不成立吧。。。最小的不会被吃掉的吧。。
这个归纳法略显犀利了。。。所有的情况都可以归结为n=1,2,3.
第n条鱼吃了n-1条后,不就可以吃n-2了么。。
原来答案这么简洁……
这个归纳的确用的很神奇。
强盗分金简化版
我也是想起了海盗分钻石
我也觉得只要n>=3,第一条鱼就是安全的吧
第n-1条鱼不敢吃第n-2条鱼,所以n-2只要有机会一定吃n-3
类推下来,第n-i条鱼不敢吃n-(i-1),当i为奇数的时候
n-(i-1)=1,就有n=i为奇数时,和平。
无非就是海盗分金问题嘛~~
是从n到1考虑的吧
汗,还蛮难的。。
还可以学点知识
有空经常来
参见很久以前科幻世界一片封面故事,捕猎滑豚的文……
哈哈,一看就知道是海盗分金问题的变体版~
1=不被吃
0=被吃
1
01
101
0101
10101
010101
.
.
.
n=2
n=3杯具
n=4
n=5/n-1吃掉n转化成n=4
n=6
n=7/n-1吃掉n转化成n=6
……
29楼maomao表述很简练。
在吃掉前者的情况下,最后一个肯定是安全的,往前面走依次交替为
n=安全.
n-1=不安全.
n-2=安全.
n-3=不安全
… …
2=?
即为问题的解,若n=2为安全,则n=1被吃掉;否则,没有鱼被吃掉。然后进入稳定状态。
于是黑暗森林和猜忌链?
文明A看到文明B。 A比B强。A要虐B,根据黑暗森林理论。B大吼:你敢灭我?我就把你位置暴露出去…。宇宙这么大总有一个文明能灭你的……
为什么B就一定有机会把A暴露出去? A 如果真的比 B 强,或许B连吼的机会都没有。。。。
这是一个递归啊,所有提出质疑不相信递归的朋友们就请顺着作者的思路递归下去吧,递归会解除你们的质疑的。(每个成长的队列都有前面确定的队列内关系做基础的)
这是博弈的问题。本文中递归的条件并没有体现出“足够的聪明”。或者说,在这个博弈中并不存在一个可被明确定义的“无限聪明”。。
让人意想不到。。
果然很海盗分赃很像
杜鹃再拜忧天泪,精卫无穷填海心。