尼姆博弈(Nimm‘s Game)

定义有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

尼姆和:把所有堆中物体的个数进行异或运算
如:n堆物品, 每堆物品个数分别为a[1] a[2]…a[n], 尼姆和=a[1]a[2]…a[n]
规则及PN态:
1.取光人的获胜
当尼姆和==0时先手必败
面临非必败态时采取的策略:
假设 a < b < c,只要将 c 变为a XOR b 即可。
因为有如下的运算结果:
a XOR b XOR (a XOR b)=(a XOR a) XOR (b XOR b) = 0 XOR 0 = 0
要将c 变为a XOR b,只要对 c进行 c-(a XOR b)这样的运算即可

2.取光的人失败
尼姆和为0时先手必败
首先按照普通规则一样的策略进行,直到恰好有一个物品数大于1的堆x。在这样的情况下,只需要把堆x中的物品拿得只剩1个物品或者拿完,让对手面临奇数堆物品,这奇数堆物品每堆恰好1个物品。这样的状态显然是必败的。由于每次操作后需要保证Nim和为0,因此不可能在你操作后首次出现“恰好有一个物品数大于1的堆”。
先手必胜的局面:
1:各堆石子数目异或结果不等于0,且存在有石子数目大于1的石子堆。
2:各堆石子数目异或结果等于0,且所有石子堆数目全部为1。

推广到n堆物品, 仍满足面临尼姆和==0状态时先手必败;
尼姆博弈,反尼姆博弈策略的证明:
http://www.cnblogs.com/kuangbin/archive/2011/08/28/2156426.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值