博弈论主要研究一些有竞争或对抗性质的对象,在一定规则下/产生的各种行为。

接下来讨论的所有问题,若没有写出,均默认为两人轮流行动的、完美信息、无随机因素。

通常来讲,无法行动的人会输掉,称为正常博弈,而无法行动却获胜称为反常博弈

公平组合博弈

引入

我们从 Nim 游戏开始研究。有 nn 堆石子,每人每次可从任意一堆石子里取出正整数枚石子扔掉,谁不能动谁就输了。

我们将每个状态视作一个节点,那么博弈情况就可以刻画成一张有向图。不难发现,异或和为 00 时先手必败。

大部分的公平组合游戏都可以转换为有向图游戏,对于状态 xx 和它的 kk 个后继状态 y1,,yky_1,\cdots,y_k,定义 SG 函数为:

SG(x)=mex{SG(y1),SG(y2),,SG(yk)}\operatorname{SG}(x)=\operatorname{mex}\{\operatorname{SG}(y_1), \operatorname{SG}(y_2), \ldots, \operatorname{SG}(y_k)\}

对于由 nn 个有向图游戏组成的组合游戏,当且仅当 SG(s)0\oplus \operatorname{SG}(s)\ne 0 的时候,先手必胜,称之为 P 态(previous player)。也就是说,SG(x)=0\operatorname{SG}(x)=0必败态,称之为 N 态。

SG 定理:一个游戏的 SG 值是其所有子游戏的 SG 值的异或和,这可以说明 Nim 游戏结论的由来。

Anti-SG 定理

  1. 如果游戏的 SG 值为 00,那么所有子游戏的 SG 值都不超过 11 时先手必胜;
  2. 如果游戏的 SG 值不是 00,那么至少有一个子游戏的 SG 值超过 11 时先手必胜。

模板

Colon Principle

针对树形结构的博弈,我们假定一次操作可以删除一条边,然后保留根节点所在的子树。不能操作者输掉。

首先对于一条长度为 xx 的链,其 SG 值为 x1x-1。一棵树可以分解成若干个子问题,每个子问题都是根节点的一棵子树加上根节点本身。

如果一棵子树的 SG 值为 xx,那么其可以等效为一个长度为 x+1x+1 的链。也就是说,新搞一个点连到树根上,这棵树的 SG 值会加 11

因此不难计算。模板代码

常见公平游戏

超现实数理论

非公平组合博弈


Nothing built can last forever.
本站由 iznomia 使用 Stellar 1.30.4 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。