博弈论

组合游戏

定义

分解

归纳

SG 函数

定义(mex)

运算(异或)

性质

例题

nim 游戏

阶梯 nim 游戏

anti-nim 游戏

定义

规则与 nim 游戏一样,唯一不同的是取走最后一个石子的人败。

结论

先手必胜当且仅当:

  1. 所有堆石子数都为 11 且游戏的 SG 值为 00

  2. 至少有一堆石子数大于 11 且游戏的 SG 值不为 00

证明

分两种情况讨论:

  • 所有堆石子都为 11

    显然先手必胜当且仅当堆数为偶数。

  • 其他情况。

    1. SG 不为 00 的时候

    若还有至少两堆石子数大于 11,先手将 SG 值变为 00 即可;若只有一堆石子数大于 11,先手让状态变为奇数个 11。因此当 SG 函数不为 00 的时候先手必胜。

  1. SG 为 00 的时候

    先手操作后就变成了上述情况,先手必输。

巴什博弈

定义

nn 个物品,两个人轮流取,每个人至少选 11 个至多选 mm 个,最后取光的获胜,判断先手是否有必胜策略。

分析

我们用逆向思维,假设 n=100,m=4n=100,m=4,那么谁先报到 9595,那么不管另一个人报多少,他都必胜。同理谁先报到 90,95,,590,95,\cdots,5 谁就必胜。因此我们可以发现规律:

Bash[n,m]={nmod(m+1)=0后手必胜nmod(m+1)0先手必胜\operatorname{Bash}[n,m]=\begin{cases} n \mod (m+1) = 0 & \text{后手必胜} \\ n \mod (m+1) \ne 0 & \text{先手必胜}\end{cases}