Nim Game (博弈论)

       Nim 游戏类型

简介:

         有两个玩家;
         有n堆扑克牌(比如:有三堆,可以分别是    5,7,9张);
         游戏双方轮流操作;
         玩家的每次操作是选择其中某一堆牌,然后从中取走任意张;
         最后一次取牌的一方为获胜方;

 

       定义P-position和N-position,其中P代表Previous,N代表Next。直观的说,上一次move的人有必胜策略的局面是P-position,也就是“后手可保证必胜”或者“先手必败”,现在轮到move的人有必胜策略的局面是N-position,也就是“先手可保证必胜”。

      x更严谨的定义是:1.无法进行任何移动的局面(也就是terminal position)是P-position;2.可以移动到P-position的局面是N-position;3.所有移动都导致N-position的局面是P-position.

 

nim-sum :

       定义: 假设 (xm · · · x0)2 和(ym · · · y0)2 的nim-sum是(zm · · · z0)2,则我们表示成 (xm · · · x0)2 ⊕ (ym · · · y0)2 = (zm · · · z0)2, 这里,zk = (xk + yk) mod 2(k=0…m).

        亦即异或运算。

          按位异或运算符"^"是双目运算符。其功能是将参与运算的两操作数各对应的二进制位进行异或操作。只有对应的两个二进位不相同时,结果的对应二进制位才是 1,否则为 0。
        例如:表达式“21 ^ 18 ”的值是 7(即二进制数 111)。
         异或运算的特点是: 如果 a^b=c, 那么就有 c^b == a 以及 c^a==b。

 

         结论:

       对于一个Nim游戏的局面(a1,a2,...,an),它是P-position(必败点)当且仅当 a1^a2^...^an=0  反之,当a1^a2^...^an != 0 时是N-position(必胜点).

 

       根据定义,证明一种判断position的性质的方法的正确性,只需证明三个命题:       // 证明的重点

        1、这个判断将所有terminal position判为P-position;

        2、根据这个判断被判为N-position的局面一定可以移动到某个P-position;

        3、根据这个判断被判为P-position的局面无法移动到某个P-position

 

        证明1:结束位置(terminal position) 必然是P点(必败点)

        证明2:对于某个局面(a1,a2,...,an),若a1^a2^...^an != 0,一定存在某个合法的移动,将ai改变成ai'后满足a1^a2^...^ai'^...^an = 0。

          取出ai:  设: a1 ^ a2 ^ ... ^ ai-1 ^ ai+1  =  k   将k转换成二进制不为零的数。 则定可找出一个 ai* 使k(2) ^ ai 变为 0.  ai -> ai* (即合法的移动一步)

        证明3:   对于某个局面(a1,a2,...,an),若a1^a2^...^an=0,一定不存在某个合法的移动,将ai改变成ai'后满足a1^a2^...^ai'^...^an=0。

                        假设成立,则有  a1 ^ a2 ^...^ ai ^ ... ^ an = 0   且   a1 ^ a2 ^...^ ai* ^ ... ^ an = 0

                因为异或运算满足消去率,由a1^a2^...^an=a1^a2^...^ai*^...^an可以得到ai=ai*。所以将ai改变成ai*不是一个合法的移动。

        

        

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值