0%

Nim游戏 结论及证明

设初始状态中,每一堆的石子个数分别$\{a_1,a_2,a_3\cdots a_n\}$。则先手获胜的充要条件是$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n \neq 0$。

证明:

  1. 终止状态满足$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n=0$。
  2. 每一个$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n=0$的状态,都只能够转移到$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n\neq 0$的状态。因为假设操作后$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n$仍然是$0$,则有$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_i\bigoplus \cdots a_n = a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_i ‘\bigoplus \cdots a_n$,则$a_i = a_i’$,推出矛盾。
  3. 每一个$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n\neq 0$的状态,都可以转移到$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n=0$的状态。因为假设$a_1\bigoplus a_2\bigoplus a_3\bigoplus\cdots a_n=k$,,设$k$二进制下最高的为$1$的位是$p$,那么$a_1,a_2\cdots a_n$中一定存在一个数$a_i$满足$a_i$的第$p$位是$1$,从而我们可以推出$a_i \bigoplus k < a_i$(高于第$p$位的不变,第$p$位从$1$变成了$0$),将$a_i$改成$a_i \bigoplus k$即可。