一个博弈游戏

下面将给大家介绍一个游戏及它的攻略

一、有一个取石子小游戏,甲乙轮流取石子,甲先取,乙后取,取到最后一个石子的人获胜。规则是每次每个人至少取一个,至多取前一个人取的两倍,且甲第一次不能将所有石头取完(但也至少取一个),设石头数为n(n≥2),问n取哪些值的时候,甲有必胜策略;n为哪些值的时候,乙有必胜策略。请证明你的结论。

这个问题看上去比较复杂,因为博弈是动态的。我们先从小的情况来找找规律。

不妨石子数为k的时候,称取石子的人在k有先手权,另一个人有在k的后手权。(高亮一下)

若石子数为2,乙一定获胜。

若石子数为3,乙也一定获胜,无论甲第一次取1或2

石子数为4的时候,甲先取一个,甲一定获胜

5的时候,甲第一次最多取一个,则乙下一轮也取一个,回到了3的情况,乙必胜

6和7的时候,甲第一次分别取1和2,回到了5的情况,乙下一次都最多取1,甲获胜

8的时候甲最多取2,无论他取哪个,乙总会把石头取到剩下5,乙获胜

…可以发现乙在石头数为2,3,5,8,13…的时候必胜,这串数字构成斐波那契数列。我们猜想当石子数满足这个数列的时候,乙是必胜的,下面给出证明:

设这个数列为an,其中a1=2,a2=3…递推关系是 an=an-1+an-2(这里不会打公式,所以下标比较奇怪,本文所有的下标都是这样的格式,见谅。)

若一开始有an个石子,我们断言乙可以获得 an,an-1…8,5,3处的后手权,从而制胜。

可以发现,如果石头数为an-2的时候乙必胜,那么石头数为an的时候,乙可以取得在an-1处的后手权。原因是从an到an-1有an-2块石头,甲第一次取的石头严格少于an-2(反之乙可以下一次可以取完所有石头),那么乙一定能使用从an-2到0的必胜策略,使自己取到这an-2个石头的最后一颗。

我们这样子就说明了乙一定可以取得在an-1处的后手权,我们似乎可以直接推出乙之后也能取得在an-2,an-3…8,5,3这样所有的斐波那契数的后手权,但还有一点是需要特别说明的,那就是乙取得在an-1处的后手权之后,甲不能把剩下的an-1个石头一次性取完。

因为乙把石头取到还剩an-1个的那步操作,最多取走了an-2的0.67(三分之二)倍个数的石头,那么下一步甲最多能取走an-2的1.34倍个数的石头,但这仍然是不足以取完剩下的an-1个石头。

因为对于这个斐波那契数列,任意相邻两项,后一项和前一项的比值永远大于1.34(事实上这个比值趋近于1.618,和黄金分割相关),那么甲在乙取得斐波那契数的后手权之后,不可能取完剩下的所有石头。这样子乙就能获得所有斐波那契数的后手权。

然后举一个具体例子,2和3的时候都是乙必胜,那么可以推出5的时候也是乙必胜。因为从5到3的过程和2到0的等价,使得乙获得3的后手权,从而获胜。

所以我们又可以由3和5的必胜推出8必胜…从而推出对于所有石头数满足该数列的情况,都有乙必胜。

注意到石头数不满足该数列的时候都是甲必胜,下面进行证明。

设当前石头数为k,且有an-1<k<an,可以把这种情况等价于乙在an的时候先手取了an -k(这个k不是下标)个石头,因为甲在an的时候是后手,是必胜的,且考虑到甲第一次(在k处)的取法几乎没有限制,他一定可以使用该策略。

所以结论是,石子数满足前两项为2,3的斐波那契数列的时候,后手必胜;若不满足,则先手必胜。

上面是我的做法,请大家指教。

很高兴介绍这样一个游戏,如果你愿意,可以和朋友或者小朋友们一起玩(记住先手的必胜情况远多于后手…),这应该是有趣的事情。

这个问题被称作斐波那契博弈,上述解法为本人独立发现,本文将同步发布到2019级的新生公众号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值