博弈问题-SG函数

SG 函数

给定一个有向无环图和一个起始顶点上的一枚棋子,两名选手交替的将这枚棋子沿有向边进行移动,无法移动者判负。事实上,这个游戏可以认为是所有ImpartialCombinatorial Games的抽象模型。

其实,我们只要记住这个抽象的数学模型就好了,那些实际问题都可以转化为这个模型。

也就是说,任何一个ICG都可以通过把每个局面看成一个顶点,对每个局面和它的子局面连一条有向边来抽象成这个有向图游戏。下面我们就在有向无环图的顶点上定义Sprague-Grundy函数。首先定义mex(minimalexcludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3mex{1,3,5}=0mex{}=0

如果只考虑这种简单的博弈问题的话,显然 SG函数有点浪费,因为在这种只有一枚棋子的情况下,SG的值只需要有 0 1 就足够了,SG函数真正的威力在于多个棋子的情况下。

在多个棋子的情况下,一个状态是必胜状态的条件就是所有棋子的 SG值得异或为零,证明有点复杂就不证了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值