花了点时间重新复习了一下各种博弈,下面总结一些常用的内容。
OI中的博弈游戏大部分都是组合博弈,游戏可以转换为有向无环图。
博弈论的题目一般分为两种:找规律直接O(1)出解,或通过结论等方法转换成经典博弈模型并用SG函数解决。
对于一道博弈论的题目,一般有这几种技巧:
1.手玩游戏并努力找到其中的规律,或者写一个记忆化搜索模拟回合制博弈过程求得最优解并打表找规律。
2.寻找游戏的末状态,找到玩家尽快达到状态的方法。
3.多考虑“模仿”的技巧,即对手做什么我就相应的做什么(或做相反操作)
4.根据Nim博弈,SG函数等猜结论,模型转化最终都要用SG解决。
5.一般猜结论时有几个注意点:必败态不可能走到必败态。一般结论与末尾数字以及奇偶性(或模某个数)有关。
6.以格子为堆,转化研究对象。或抛开博弈论的模型通过DP直接求解。
下面是一些比较基础的博弈模型:
1.巴什博弈,小学奥数中的单堆取石子游戏.
必胜态:能到达的点中存在必败态
必败态:能到达的点中不存在必败态
引入函数$SG(u)=Mex\{ SG(v)\}$,$v$为$u$的后继状态。$Mex\{S\}$表示最小的不在S集合中的自然数。
2.Nim取石子游戏
SG定理:多线程游戏SG值为子游戏SG值的异或和。数学归纳法证明。
3.Anti-SG决策集合为空者胜
SJ定理,必胜态当且仅当(数学归纳法证明):
1.$ SG \neq 0 $,某个单一游戏$SG>1$
2. $SG = 0$,没有单一游戏$SG>1$
4.其余名词:
Multi-SG,Every-SG:
阶梯博弈,威佐夫博弈,fibonacci博弈:
翻硬币游戏,无向图与树上删边游戏: