博弈论SG函数学习笔记

本文探讨了公平组合游戏的概念,包括NIM博弈和有向图游戏,详细解析了NIM博弈的胜负判定法则和SG函数在有向图游戏中的应用,揭示了游戏胜负的关键数学原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.公平组合游戏ICG.

公平组合游戏:指的是一类只有两个玩家的游戏,并且满足:
1.两个玩家交替行动.
2.在游戏进程的任意时刻,可以执行的合法行动与轮到哪名玩家无关.
3.不能行动的玩家判负.

经典的公平组合游戏有NIM博弈和有向图游戏.


二.NIM博弈.

NIM博弈:给定nnn堆物品,第iii堆物品有AiA_iAi个.两名玩家轮流行动,每次可以任选一堆取走任意多个物品(可以取光但不能不取),取走最后一堆者胜.若两名玩家均采取最优策略,问是否先手必胜.

NIM博弈的胜负判定:先手必胜当且仅当A1 xor A2 xor ... xor An≠0A_1\,xor\,A_2\,xor\,...\,xor\,A_n=\not{}0A1xorA2xor...xorAn=0.

证明:
所有物品取光先手必败且A1 xor A2 xor ... xor An=0A_1\,xor\,A_2\,xor\,...\,xor\,A_n=0A1xorA2xor...xorAn=0.
对于任意局面,若A1 xor A2 xor ... xor An=x≠0A_1\,xor\,A_2\,xor\,...\,xor\,A_n=x\neq 0A1xorA2xor...xorAn=x=0,设xxx二进制下最高位的111在第kkk位,则必然有一堆石子AiA_iAi的最高为111二进制位是第kkk位.这个时候便可以在第iii堆中取走若干石子使得A1 xor A2 xor ... xor An=0A_1\,xor\,A_2\,xor\,...\,xor\,A_n=0A1xorA2xor...xorAn=0.
反过来,若A1 xor A2 xor ... xor An=0A_1\,xor\,A_2\,xor\,...\,xor\,A_n=0A1xorA2xor...xorAn=0,则无论如何取石子,必然会使得之后的异或和不为000.
证毕.


三.有向图游戏.

有向图游戏:给定一个有向无环图,图中有唯一一个起点.从起点出发,两名玩家轮流行动,每次行动可以往任意一条出边移动.若某个玩家无法移动,则判负.

任意一个公平组合游戏可以转化为有向图游戏,即把每一个局面都看成一个节点,一个局面可以到达另一个局面就在这两个局面之间连一条有向边.


四.SG函数.

mex函数mex(S)\mathrm{mex}(S)mex(S)表示取一个最小的自然数,使得这个自然数不在集合SSS中.即:
mex(S)=min⁡x∈N+,x∉S{x} \mathrm{mex}(S)=\min_{x\in N_+,x\notin S}\{x\} mex(S)=xN+,x/Smin{x}

SG函数:在有向图游戏中,设点xxxkkk条出边,分别到达y1,y2,...,yky_1,y_2,...,y_ky1,y2,...,yk,那么:
SG(x)=mex({SG(y1),SG(y2),...,SG(yk)}) SG(x)=\mathrm{mex}(\{SG(y_1),SG(y_2),...,SG(y_k)\}) SG(x)=mex({SG(y1),SG(y2),...,SG(yk)})

特别的,设一个有向图游戏GGG的起点为sss,那么GGG的SG函数值为SG(s)SG(s)SG(s),即SG(G)=SG(s)SG(G)=SG(s)SG(G)=SG(s).

有向图游戏和:给定nnn个有向图游戏G1,G2,...,GnG_1,G_2,...,G_nG1,G2,...,Gn,称GGG为有向图游戏和表示GGG的移动规则为每次在任意一个GiG_iGi上移动一步,判负规则为在任意GiG_iGi上都不能移动.

SG(G)=SG(G1) xor SG(G2) xor ... xor SG(Gn)SG(G)=SG(G_1)\,xor\,SG(G_2)\,xor\,...\,xor\,SG(G_n)SG(G)=SG(G1)xorSG(G2)xor...xorSG(Gn)

定理:游戏的一个点xxx必胜当且仅当SG(x)>0SG(x)>0SG(x)>0,一个点xxx必败当且仅当SG(x)=0SG(x)=0SG(x)=0.

证明与NIM博弈的胜负规则判定证明类似,不再赘述.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值