博弈基础

以下有很多内容转自其他博客

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

原文地址:https://www.cnblogs.com/sun-yinkai/p/8321272.html