【博弈论】SG函数/SG定理(组合游戏)

博客介绍了Nim游戏和SG函数相关知识。先讲解异或和必胜/必败态等前置知识,接着阐述Nim游戏内容、Bouton定理及证明,然后介绍SG函数作用、mex运算、计算方法和实例,还提及Sprague - Grundy定理,最后给出相关题目模板代码。

一.前置知识

1.异或(xor)

定义:
用符号⊕表示异或运算

两个一位二进制数运算时:
a ⊕ b = ( ¬ a ∧ b ) ∨ ( a ∧ ¬ b ) a⊕b= (¬a ∧ b) ∨ (a ∧¬b) ab=(¬ab)(a¬b)

1 ⊕ 0 = 1 1⊕0=1 10=1 0 ⊕ 1 = 1 0⊕1=1 01=1
1 ⊕ 1 = 0 1⊕1=0 11=0 0 ⊕ 0 = 0 0⊕0=0 00=0

即:同则0,异则1
也相当于不带进位的加法运算

任意的两个十进制数a、b运算时:
先将其分别转换为二进制,每一位都进行异或运算,将得到的二进制数再转换为十进制即可

性质:
1. a ⊕ a = 0 a⊕a=0 aa=0 即任意一个数和其本身异或都为0(同则0,二进制每一位都相同,因此运算结果为0)

2. a ⊕ 0 = a a⊕0=a a0=a

2.必胜态/必败态

也就是N-position和P-position,但我觉得用必胜/必败态更容易理解

在采取最优策略的情况下:
必胜态:必定能获得胜利的局面
必败态:不管怎么下,都会输的局面

性质:
①若一个局面的后继局面中有一个局面为必败态,则该局面为必胜态(因为下一步可以移动到必败态让对手面对必败态,故必胜)
②若一个局面的后继状态全为必胜态,则该局面为必败态(不管怎么下对面都可以必胜)

根据这两个性质,可以从终点局面出发递推得到所有局面是必胜还是必败的。

更严谨的定义:

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

二.Nim游戏

1.游戏内容

有n堆石子,每堆石子有 a i a_i ai个,两个游戏玩家A和B轮流从任意一堆石子中取出任意个(至少为1个),若一方没有石子可以取了,则败

2.结论(Bouton定理)

( a 1 , a 2 ⋅ ⋅ ⋅ , a n ) (a_1,a_2\cdot\cdot\cdot,a_n) (a1,a2,an)表示一个局面

则一个局面为必败态等价于:
a 0 ⊕ a 1 ⊕ ⋅ ⋅ ⋅ ⊕ a n = 0 a_0⊕a_1⊕\cdot\cdot\cdot⊕a_n=0 a0a1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值