简单博弈
简单博弈
我们先只考虑公平组合游戏。
最暴力的方式就是在决策树上爆搜看看是不是必胜/败态即可。
下面阐述一个重要定理:
(SG 定理) 在有向图游戏中,状态 \(x\) 以及后继状态 \(y_1,\dots,y_k\),我们定义 SG 函数 \(\text{SG}(x)=\text{mex}(\text{SG}(y_1),\dots,\text{SG}(y_k))\)。
一个有向图游戏,起点是 \(s_1,\dots,s_k\),那么一个状态是必胜态,等价于 \(\text{SG}(s_1)\oplus\dots\oplus\text{SG}(s_k)\neq 0\),一个状态是必败态,等价于 \(\text{SG}(s_1)\oplus\dots\oplus\text{SG}(s_k)=0\)。
我们考虑使用类似归纳法的方法。
你先说明没有后继的状态,它的 SG 是 0。这个很显然。
你再说明异或起来不是 0 的状态一定能变成 0。你考虑异或值是 k,最高二进制位是 p,那么在这堆参与异或的元素里至少有一个元素第 p 位上也是 1,那你就尝试把这个元素变成它异或 p 之后的值。我们发现,它异或 p 之后,一定变小了,而由 SG 的定义知道它肯定有一个后继状态满足我们的要求,我们移过去就行了。
最后说明异或起来是 0 的状态下一步一定变成非 0。这个因为你没办法移动一步之后 SG 值仍然相等。
那我们现在对有向图游戏的处理方法就是找出 SG 函数的值,找规律。
Anti-SG
必胜等价于
-
\(\text{SG}\neq 0\) 且某个 \(\text{SG}>1\)。
-
\(\text{SG}=0\) 且不存在某个 \(\text{SG}>1\)。
证明是类似的。

浙公网安备 33010602011771号