博弈论二次回顾
主要是一些模型。
ICG的定义
- 双方轮流移动
- 不能行动者判负
- 所能进行的操作仅与当前局面有关,与操作者无关
一般而言发现 ICG 就可以考虑 SG 了。
SG
分清楚 后继状态 和 子游戏。
子游戏的和是
后继状态 指进行一次操作所能够达到的状态。
子游戏 是指将原本游戏拆分为若干个同时进行的游戏,也就是当前的决策者可以随意挑出一个单一子游戏进行决策。
一个例子是Nim游戏里子游戏指每一堆石子的变化,而后继状态对于整体游戏相当于是操作一次后的局面,对于子游戏相当于是当前这一堆石子取走后的局面(只看这堆)
运用SG函数时,找到合适的视角划分子游戏与后继状态。
我们可以将组合游戏中的每一个状态抽象成图中的一个点,将每一 步决策抽象成图中的一条边。我们将这个图称为该组合游戏的游戏图。 这样,对于组合游戏中的每一次对弈,我们都可以将其抽象成游戏 图中的一条从某一顶点到出度为 0 的点的路径。 组合游戏向图的转化,并不单单只是为了寻找一种对应关系,它可以帮助我们淡化游戏的实际背景,强化游戏的数学模型,更加突出游戏 的数学本质!
-by JZH2009年集训队论文。
对于任意的组合游戏,我们仅关心它的
一些模型
Anti-SG
将ICG变为不能行动者胜利。
当且仅当:
- 所有石子堆都只有一颗且有偶数堆。
- 至少有一堆石子大于一颗且游戏和不为零。
可以给出 SJ 定理:
当所有游戏条件不变,仅将最后行动者判负,则先手必胜当且仅当:
- 任意子游戏
值 ,且最终游戏和为零。 - 存在子游戏
值 ,且最终游戏和不为零。
Multi SG
事实上更多问题是这玩意。
其实就是:我们需要进行多次子游戏的拆分。
将原本游戏视作若干单一游戏的和,而某个单一游戏的后继是多个单一游戏。
只要 后继关系满足拓扑原则(不成环) 即可以使用
可以在P3197看到这个应用。
阶梯Nim
- 有若干级阶梯,每级阶梯上有一个单个游戏
- 每次可以对一个阶梯操作并将操作中失去的东西丢到下一级阶梯上。
结论是奇数阶梯上的
翻硬币
- N 枚硬币排成一排,有的正面朝上,有的反面朝上。我们从左开始对硬币按
到 编号。 - 游戏者根据某些约束翻硬币(如:每次只能翻一或两枚,或者每 次只能翻连续的几枚),但他所翻动的硬币中,最右边的必须是从正面翻到反面。
- 谁不能翻谁输。
局面的 SG 值为局面中每个正面朝上的棋子单一存在时的 SG 值的异或和
Proof:
由于游戏是正面到反面,所以将反面看作
,正面看作 ,这样一个左边是最高位的二进制数。 则在翻动过程中二进制数的值始终减小,那么满足拓扑原则。
那么可以考虑归纳证明,按照二进制数的大小,首先正面硬币不超过
个的局面显然成立。 利用
值相同的两个游戏可以互相抵消,可以看作给影响到的硬币全部叠上一个正面朝上的硬币。这样的一个新游戏的 值与原本只去掉操作的硬币后的局面 值的异或可以得到后继局面的 值,那就完了。
K-nim
每次可以取不超过
设
树的删边游戏
考虑解决子树
可以看作
并且这个子游戏的
对于叶子显然成立,否则对于非叶子,我们知道删掉其子树
那么就得到
所以
无向图删边游戏
一个特殊情况是每条边至多属于一个环的情况,则对于一个奇环而言,断掉一条边后剩下两条不同奇偶的链,其
对于一个偶环而言,断掉后奇偶性相同,且是可以取到
那么扩展后有 Fusion Principle 定理。
对无向图做如下改动:将图中的任意一个偶环缩成一个新点,任意一个奇环缩成一个新点加一条新边;所有连到原先环上的边全部改为与新点相连。这样的改动不会影响图的 SG 值。
虽然我并没有懂这什么意思
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!