组合游戏与博弈论基础

基本定义

策梅洛定理(Zermelo's theorem)

在二人的有限游戏中,如果双方皆拥有完全的资讯,并且运气因素并不牵涉在游戏中,那先行或后行者当一必有一方有必胜/必不败的策略。

即对于游戏局面X,存在确定的游戏结果P(X)=0 or 1succ(X)X的后继局面。

推论

  1. 一个状态是必败状态,当且仅当,它的所有后继状态都是必胜状态
    P(X)=0i,P(succ(Xi))=1

  2. 一个状态是必胜状态,当且仅当,它的至少一个后继状态是必败状态
    P(X)=1i,P(succ(Xi))=0

SG游戏

  • SG游戏定义:没有后继状态为必败状态
    succ(X)=P(X)=0

NIM游戏

桌上n堆石子,游戏者轮流在某一堆取若干(>0)个,取走最后一个石子人胜。
最后局面为
Xend={X1=0,X2=0,,Xn=0}
可知NIM游戏是SG游戏。

Bouton定理

在NIM游戏中的必胜状态为:当前局面下所有单堆石子数目的异或和不为0
P(X)=((x1x2xn)0)

单堆NIM游戏

  • SG函数(定义见下)
    SG(x)=x
  • 游戏结果
    P(x)={0x=01otherwise

SG函数

一个游戏局面的SG函数为该局面的后继局面的SG函数集合的mex值
SG(X)=mex(S)
其中
S={SG(succ(X1)),SG(succ(X2)),SG(succ(Xn))}
mex表示不在集合内的最小非负整数
mex(S)=min(x|(xR)&(xS))

Sprague-Grundy 定理

游戏和的SG函数等于各子游戏SG函数的NIM和
SG(X)=SG(X1)SG(X2)SG(Xn)
其中
SG游戏局面为若干SG子游戏之和
X=X1+X2++Xn

SG函数性质

SG(X)=0i,SG(succ(Xi))0
2.
SG(X)0i,SG(succ(Xi))=0
3.
succ(X)=SG(X)=0

  • 在SG游戏(succ(X)=P(X)=0)条件下的等价结论

P(X)=0SG(X)=0
P(X)=1SG(X)0

反SG(Anti-SG)游戏

  • Anti-SG游戏定义:决策集合为空的为必胜状态
    succ(X)=P(X)=1

反NIM (Anti-NIM)游戏

桌上n堆石子,游戏者轮流在某一堆取若干(>0)个,取走最后一个石子人

单堆反NIM游戏

  • SG函数:不变
    SG(x)=x
  • 游戏结果:判断标准改变
    P(x)={0x=11otherwise
    解释:
  1. 若堆中有1个石子,根据定义,为必败状态。
  2. 若堆中有0个石子,根据定义,为必胜状态。
  3. 若堆中石子数目大于1,存在导致必败状态的取法:取剩下1个石子,因此为必胜状态。

反NIM游戏的游戏结果

P(X)={SG(X)=0i,xi=1SG(X)0otherwise

Sprague Grundy——Jia Zhihao 定理

对于任意一个 Anti-SG 游戏,如果我们规定当局面中所有的单一游戏的 SG 值为 0 时,游戏结束,则先手必胜当且仅当:

  1. 游戏的 SG 函数不为 0 且游戏中某个单一游戏的 SG 函数大于 1;
  2. 游戏的 SG 函数为 0 且游戏中没有单一游戏的 SG 函数大于 1。
    即,在Anti-SG游戏(succ(X)=P(X)=1)条件下的等价结论
    P(X)={SG(X)=0i,SG(Xi)1SG(X)0i,SG(Xi)>1

引论

“规定当局面中所有的单一游戏的 SG 值为 0 时,游戏结束”过于严格, 完全可以替换成“当局面中所有的单一游戏的 SG 值为 0 时,存在一个单一游戏它的 SG 函数能通过一次操作变为 1”。
(i,SG(Xi)=0)&(i,SG(succ(Xi))=1)P(X)=1

SG游戏和反SG游戏模型

除了上述提到的NIM游戏和反NIM游戏,还存在几类博弈论组合游戏中的经典变体。

巴什博弈(Bash game)

有一堆总数为n的物品,2名玩家轮流从中拿取物品。每次至少拿1件,至多拿m件,不能不拿,最终将物品拿完者获胜。
(单堆NIM游戏变式-有上限的单堆NIM游戏)

巴什博弈游戏结果

在先取完者胜的巴什博弈中,若n可被m+1整除,则先手必败,否则先手必胜。
P(n)=((n%(m+1))0)

反巴什博弈(Anti-Bash game)游戏结果

在先取完者败的反巴什博弈中,若n整除m+1的余数为1则先手必败,否则先手必胜。
P(n)=((n%(m+1))1)

威佐夫博弈(Wythoff's game)

有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

奇异局势

X=(a[k]b[k]),kR,P(X)=0
a[0]=b[0]=0,a[k]是未在前面出现过的最小自然数,即mex({a[0],a[1],,a[k1],b[0],b[1],,b[k1]}),而 b[k]=a[k]+k

Betty 定理 (Betti theorem)

ab是正无理数且 1a+1b=1。记P={na|nN+}Q={nb|nN+},(x指的是取x的整数部分floor(x)),则PQN+的一个划分,即PQ=ØPQ=N+

Betty序列

a[n]b[n]是Betty序列,可以通过Betty定理求解。

an=[αn],bn=[βn],有 an+n=[(α+1)n]=[βn],解方程 1α+1+1α=1

α=5+12,β=α+1

an=[5+12n]bn=an+n (方括号[x]表示四舍五入取整函数round(x))

参考资料

  1. 百度百科
  2. 维基百科
  3. 《算法竞赛入门提高》刘汝佳
  4. 国家集训队论文集2009-贾志豪
posted @   Chiron-zy  阅读(395)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
点击右上角即可分享
微信分享提示