博弈论总结
博弈论定义
博弈论,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。
以上摘自 OI-Wiki。
具体来说,博弈论是一个二人不断进行决策的过程。
博弈论的分类
博弈论分为三类:
- 公平组合游戏。
- 非公平组合游戏。
- 反常游戏(又被称为 Anti SG)。
这里只介绍公平组合游戏。
公平组合游戏
定义如下:
- 游戏有两个人参与,两人分别作出决策,两人在游戏过程中均知道游戏的全部信息。
- 两人能够做出的决策仅与当前局面有关,与其它因素无关(如游戏者,时间等)。
- 游戏中的某个状态不可多次抵达,以玩家无法移动为结束,且游戏一定会在有限步后以非平局结束。
博弈论的基本原理
对于一个人要进行操作的某个状态 \(x\),我们定义它为必胜态,当且仅当 \(x\) 存在一个后继状态 \(p\) 为必败态,定义它为必败态,当且仅当 \(x\) 任意一个后继状态 \(p\) 为必胜态。特殊的,没有后继状态的 \(x\) 为必败态。
以上为做博弈论的基本原理,所有模型都是由这个定理推出。
Nim 游戏
题目大意:给定 \(n\) 堆石子,每堆石子有 \(a_i\) 个,双方可以从一堆非空石堆中选取任意正整数个,当谁无法操作时,谁就输了,问先手必胜还是后手必胜。
结论:如果 \(\bigoplus_{i = 1}^{n} a_i = 0\),那么后手必胜,否则,先手必胜。
证明:
考虑终止状态的异或和肯定为 \(0\),那么终止状态符合结论。
分 \(x\) 是必胜态和必败态讨论:
- \(x\) 是必胜态,那么如果异或和不为 \(0\),那么总可以找到一个 \(< a_i\) 的数,使得之后异或为 \(0\)。
- \(x\) 是必败态,那么如果异或和为 \(0\),那么总可以找到一个 \(< a_i\) 的数,使得之后异或不为 \(0\)。
根据终止状态,逆推即可。
翻棋子游戏
题目大意:给定一个棋盘,每个格子上有一个棋子。两人轮流操作,每次可以选择一个正面朝上的棋子 \((x, y)\),然后选择一个格子 \((x, a)\) 或者 \((b, y)\),其中 \(0 \le a \le y, 0 \le b \le x\),将这个棋子与 \((x, y)\) 一起翻转,无法操作的人输,问先手必胜还是后手必胜。
考虑纵坐标和横坐标是独立的,所以分开来看,发现去掉正面反面的限制,就是一个 \(2 \times n\) 的 Nim 游戏,我们发现一个棋子翻两次等于没翻,所以没有影响,还是做 \(2 \times n\) 的 Nim 游戏。
SG 函数
首先我们要了解 Mex 运算。
Mex 运算
设 \(S\) 为一个可重非负整数集合,那么:
即 \(S\) 中没有出现的最小的非负整数。
SG 函数的定义
在公平组合游戏中,我们定义状态 \(x\) 的 SG 为所有后继状态 SG 的 Mex,定义终止状态的 SG 为 \(0\),对于有向图游戏中,一张有向图 \(G\) 的 SG 值为决策起点 \(s\) 的 SG 值。
有向图游戏的和
对于一个游戏 \(G\),可以抽象为在 \(n\) 个图上进行决策,设这 \(n\) 个有向无环图为 \(G_1, G_2, ... G_n\),那么规则为:
- 选择任意一个有向图 \(G_i\),并且在它上面做一步决策。
当每个有向图游戏都无法进行决策时,此时必败。
SG 定理
参考有向图游戏的定义,那么 \(SG(G)\) 于子游戏的 SG 满足如下关系:
如果 \(SG(G)\) 为 \(0\),那么先手必败,否则,先手必胜,具体证明可以参考 Nim 游戏的证明。

浙公网安备 33010602011771号