以下有很多内容转自其他博客
N-position:后手必败,先手必胜。
P-postion:先手必败,后手必胜。
更严谨的定义是:1.无法进行任何移动的局面(也就是terminal position)是P-position;2.N-position可以移动到P-position的局面。;3.P-postion所有移动都导致N-position的局面。
Nim博弈:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。
对于一个Nim游戏的局面(a1, a2, ..., an),它是P-position当且仅当a1 xor a2 xor... xor an=0
简要证明:
显然(0, 0, ..., 0)为必败态。(1)
可归纳证明
A)对于P-position局面(a1, a2, ..., an)满足a1 xor a2 xor... xor an=0,对于所有合法的移动,
不妨设为新局面(a1-x, a2, ..., an),则
(a1-x) xor a2 xor ... xor an
=(a1-x) xor a2 xor ... xor an xor a1 xor a1
=(a1-x) xor a1!=0(其中a1>x)。
故满足结论(3)
B)对于N-position局面满足a1 xor a2 xor... xor an=k!=0,则存在一个移动使得新局面(a1', a2', ..., an')有a1' xor a2' xor... xor an'=0。因为{ak}中存在ai的二进制在k的最高位上为1,否则k的最高位不能得到,将ai变为ai xor k(<ai),有 a1 xor a2 xor ... xor an xor ai xor k = 0。
故满足结论(2)
故若Nim游戏局面满足博弈的两个结论,故存在必胜/必败态及必胜态的必胜步骤。
至此,Nim游戏得到基本解决。
参考:https://www.cnblogs.com/exponent/articles/2141477.html