组合游戏与博弈论基础
基本定义
策梅洛定理(Zermelo's theorem)
在二人的有限游戏中,如果双方皆拥有完全的资讯,并且运气因素并不牵涉在游戏中,那先行或后行者当一必有一方有必胜/必不败的策略。
即对于游戏局面
推论
-
一个状态是必败状态,当且仅当,它的所有后继状态都是必胜状态
-
一个状态是必胜状态,当且仅当,它的至少一个后继状态是必败状态
SG游戏
- SG游戏定义:没有后继状态为必败状态
NIM游戏
桌上n堆石子,游戏者轮流在某一堆取若干(>0)个,取走最后一个石子人胜。
最后局面为
可知NIM游戏是SG游戏。
Bouton定理
在NIM游戏中的必胜状态为:当前局面下所有单堆石子数目的异或和不为0
单堆NIM游戏
- SG函数(定义见下)
- 游戏结果
SG函数
一个游戏局面的SG函数为该局面的后继局面的SG函数集合的mex值
其中
mex表示不在集合内的最小非负整数
Sprague-Grundy 定理
游戏和的SG函数等于各子游戏SG函数的NIM和
其中
SG游戏局面为若干SG子游戏之和
SG函数性质
2.
3.
- 在SG游戏(
)条件下的等价结论
反SG(Anti-SG)游戏
- Anti-SG游戏定义:决策集合为空的为必胜状态
反NIM (Anti-NIM)游戏
桌上n堆石子,游戏者轮流在某一堆取若干(>0)个,取走最后一个石子人败。
单堆反NIM游戏
- SG函数:不变
- 游戏结果:判断标准改变
解释:
- 若堆中有1个石子,根据定义,为必败状态。
- 若堆中有0个石子,根据定义,为必胜状态。
- 若堆中石子数目大于1,存在导致必败状态的取法:取剩下1个石子,因此为必胜状态。
反NIM游戏的游戏结果
Sprague Grundy——Jia Zhihao 定理
对于任意一个 Anti-SG 游戏,如果我们规定当局面中所有的单一游戏的 SG 值为 0 时,游戏结束,则先手必胜当且仅当:
- 游戏的 SG 函数不为 0 且游戏中某个单一游戏的 SG 函数大于 1;
- 游戏的 SG 函数为 0 且游戏中没有单一游戏的 SG 函数大于 1。
即,在Anti-SG游戏( )条件下的等价结论
引论
“规定当局面中所有的单一游戏的 SG 值为 0 时,游戏结束”过于严格, 完全可以替换成“当局面中所有的单一游戏的 SG 值为 0 时,存在一个单一游戏它的 SG 函数能通过一次操作变为 1”。
SG游戏和反SG游戏模型
除了上述提到的NIM游戏和反NIM游戏,还存在几类博弈论组合游戏中的经典变体。
巴什博弈(Bash game)
有一堆总数为n的物品,2名玩家轮流从中拿取物品。每次至少拿1件,至多拿m件,不能不拿,最终将物品拿完者获胜。
(单堆NIM游戏变式-有上限的单堆NIM游戏)
巴什博弈游戏结果
在先取完者胜的巴什博弈中,若n可被m+1整除,则先手必败,否则先手必胜。
反巴什博弈(Anti-Bash game)游戏结果
在先取完者败的反巴什博弈中,若n整除m+1的余数为1则先手必败,否则先手必胜。
威佐夫博弈(Wythoff's game)
有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
奇异局势
Betty 定理 (Betti theorem)
设
Betty序列
参考资料
- 百度百科
- 维基百科
- 《算法竞赛入门提高》刘汝佳
- 国家集训队论文集2009-贾志豪
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具