阶梯Nim
/ / 阅读耗时 5 分钟 这篇文章是简单博弈论和SG定理的延伸。本次介绍博弈论中阶梯Nim游戏及其转化性质。
首先认识什么是阶梯Nim游戏。
给定几个阶梯,编号为1~n,每一个阶梯上有若干个石子。你和队手轮流任意选取一个有石子的阶梯,将任意数量(至少为1)个石子移动到下一个阶梯上(从编号为i的阶梯拿到i-1阶梯上,如果i=1,则直接拿走石子),首先拿走所有石子的一方胜利。给定阶梯数和每一个阶梯上的石子数,若你先手,如何判断你是否必胜策略?
阶梯Nim游戏有一个简洁的性质:阶梯Nim游戏的必胜必败性质(P/N性质)与在奇数编号阶梯上做Nim游戏的性质相同。以操作为证明:
如果在奇数阶梯上Nim游戏必胜,那么你可以采取以下策略:
- 按照Nim游戏的必胜策略将某一奇数阶梯上的一些石子移动到其下的偶数阶梯上(相当于丢弃)。
- 若对手也移动奇数阶梯上的石子,他的做法也相当于“配合你做Nim游戏”,即将奇数堆上的石子“丢弃”。
几轮后,你一定可以移动走某个奇数堆上的最后若干颗石子,这时如果偶数堆上没有石子,那么你已经获胜了,否则所有石子都应该在偶数堆上。对于后者的情况,由于之后对手要再进行操作,他只能将某偶数堆上的石子移动到其下的奇数堆上,你只需要把它们再移动到再其下的偶数堆上即可,若如此做,则游戏又回到仅有偶数堆上有石子的局面,然后对手继续移动……经过这样的操作,对手只能将石子从偶数堆移到奇数堆,而你一直将石子从奇数堆移动到偶数堆。而获胜的局面是什么呢?显然是仅有第一堆上有石子,然后将它们拿走(相当于移动到第0堆),这是一个从奇数堆移动石子到偶数堆的操作,这个操作显然只有你(先手)能做,因此先手必胜。
如果对手在操作中将偶数堆石子移到奇数堆中又如何做呢?这时只需要将这些石子再移动到再其下的偶数堆即可。两次操作没有影响奇数堆的石子数量,只是影响了偶数堆上石子数目,最终仍可化为上文所述的局面。
必败的等价性质类似证明即可。