nim博弈

各种博弈论详解 - StungYep - 博客园 (cnblogs.com)

P-position :当前的无法赢 后手必胜 (当前先手

依靠定义证明一下(3,3)是一个P是一个P是一个P-position。

首先(3,3)的子局面(也就是通过合法移动可以导致的局面)有(0,3)(1,3)(2,3)(显然交换石子堆的位置不影响其性质,所以把(x,y)和(y,x)看成同一种局面)了

 (0,3)的子局面有(0,0)、(0,1)、(0,2),

其中(0,0)显然是P-position,所以(0,3)是N-position(只要找到一个是P-position的子局面就能说明是N-position)。(1,3)的后继中(1,1)是P-position(因为(1,1)的唯一子局面(0,1)是N-position),所以(1,3)也是N-position。同样可以证明(2,3)是N-position。所以(3,3)的所有子局面都是N-position,它就是P-position。

通过一点简单的数学归纳,可以严格的证明“有两堆石子时的局面是P-position当且仅当这两堆石子的数目相等”。

对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示异或(xor)运算。

1.无法进行任何移动的局面(也就是terminal position)是P-position;<先前赢

2.可以移动到P-position的局面是N-position;<当前赢得,下一轮就是现在赢

3.所有移动都导致N-position的局面是P-position。

 如果 对于某个局面(a1,a2,...,an) 是 N_position,  则 a1^a2^...^an   !=  0,    一定 存在某个 合法的移动,将 ai 改变成ai' 后使得 a1^a2^...^ai'^...^an=0.

不妨设  a1^a2^...^an = k,  则 一定存在某个 ai  它的二进制表示在k的最高位上是1(否则k的最高位那个1是怎么得到的)。 这时令  ai' = ai^k   < ai(满足取石头要求)   。

 则 移动后的局面 是  (a1,a2,  ....ai',...,an), 有a1^a2^...^ai'^...^an = a1^a2^...^ai^...^an^k = 0,  为 P_position。命题得证。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值