博弈论经典问题Nim问题

博弈论中的Nim游戏是一个典型的组合问题,属于无后效性的ICG问题。游戏状态分为必胜(N位置)和必败(P位置)。当所有堆石子数目异或结果为0时,为P位置,否则为N位置。本文通过C++代码展示了如何判断Nim游戏的胜负情况。
摘要由CSDN通过智能技术生成

 

博弈论经典问题,Nim游戏是一个典型的组合游戏问题,很多游戏问题都可以规约到Nim游戏问题。Nim游戏问题是一个ICG(Impartial Combinatorial Games)问题;

ICG问题的特征是:

1.两个人参与,交替走棋;

2.可能的走法在一个有限的集合里选取;

3.游戏局面无后效性,未来与过去无关;

4.如果某选手无法走动,则判负;

Nim的理论

游戏状态只分两种:当前先手必胜,当前先手必败;前者称为N位置,后者称为P位置;

更为严谨的定义是:

终止状态是P位置;

能够移动到P位置的状态时N位置;

只能到N位置的状态时P位置;

Nim问题的解法:

所有堆的石子数目求异或;为0则是P位置;

证明:

1,终止状态所有位置都为0,是P位置;

2,对于一个异或为非0的N位置是能够移动到P位置的(这个还没有想明白……(~ o ~)~zZ);

3,异或为0的P位置只能移动到N位置,因为对其进行异或运算得到的只能是非0的;

证明完了,用最基本的Nim游戏问题验证一下。

PKU的2234_Matches Game

Matches Game
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值