博弈论学习笔记

博弈论学习笔记

一.公平组合游戏(Impartial Game)

公平组合游戏满足以下性质:

  • 决策公平(双方操作的集合是一样的)
  • 无隐藏信息(双方均知道游戏的所有信息)
  • 无随机部分
  • 无平局

有固定的结论是,若双方都绝顶聪明,对于固定的状态 \(G\),能判断其是必胜还是必败态。

二.巴什博弈(Bush Game)

只有一堆 \(n\) 个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取 \(m\) 个.最后取光者得胜.

这里首先定义必胜态:先手必胜的状态。必败态:先手必败的状态。显然,若一个状态能到达的状态都是必胜态,那么它是必败态,若一个点到达的状态中有至少一个必败态,那么它是一个必胜态。

对于巴什博弈,显然剩余 \(1\)\(m\) 个的状态均为必胜态,\(m+1\) 个为必败态,考虑对于 \(m+2\) 个到 \(2m+1\) 个,都可以通过一次操作转移为 \(m+1\) 个,所以它们均为必胜态,以此类推,可知 \(n\) 个式子,若 \(n \bmod (m+1) = 0\) 则为必败态,否则为必胜态。

三.尼姆游戏(Nim Game)

\(n\) 堆石子(每堆石子数量小于 \(10^4\)),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。

结论:所有堆石子的异或和为 \(0\) 则先手必败,否则先手必胜。

数学归纳可证。

四.\(\text{SG}\) 函数

博弈图

对于一个游戏,将每个状态设为一个点,每个点向它所有的后继状态连边,这样形成的图叫做博弈图,如下图是 \(\text{Nim}\) 游戏一堆石子的博弈图:

pkq1Sn1.png

定义一个点的 \(\text{SG}\) 函数是它所有后继的 \(\text{Mex}\) 值,显然必败态的 \(\text{SG}=0\)。一个状态为必胜态当且仅当其 \(\text{SG} \neq 0\),且后继中至少存在一个点 \(\text{SG}=0\)。一个状态为必败态当且仅当 \(\text{SG}=0\),且后继中不存在一个点 \(\text{SG}=0\)

SG 定理

对于若干个子游戏 \(X_1,X_2,...,X_n\) 组成的局面 \(X\),其

\[SG(X)=SG(X_1) \oplus SG(X_2) \oplus ... \oplus SG(X_n) \]

\(SG(X) \neq 0\) 时,先手必胜,否则先手必败。

证明:

\(SG(X')\) 表示一次操作后的状态。

\(SG(X)=0\) 时,任何操作一定使得 \(SG(X') \neq 0\) ,符合必败态的所有后继一定为必胜态。

\(SG(X) \neq 0\) 时,可以操作二进制最长的数使得 \(SG(X')=0\),符合必胜态一定存在必败态后继。

得证。

显然对于 \(\text{Nim}\) 游戏,\(SG(x)=x\),所以状态的 \(\text{SG}\) 为石子个数的异或和。

SG 定理适用于任何公平的两人游戏。

Anti-SG(SJ 定理)

定义最后一个不能操作的人输,其他条件与 \(\text{SG}\) 游戏相同。

先手必胜当且仅当

  1. 游戏值不为 \(0\) 且游戏中某个单一游戏的函数大于 \(1\)
  2. 游戏函数为 \(0\) 且游戏中没有单一游戏的函数大于 \(1\)

证明同 \(\text{SG}\)。只是分类讨论比较复杂。

Multi-SG

\(\text{Multi-SG}\) 游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继可以为多个单一游戏。

根据 \(SG\) 定理可知这多个单一游戏的 \(SG\) 为它们的异或和,将它们的异或和也作为一个后继的 $SG $ 值计算 \(\text{Mex}\) 即可。

特别地,对于 \(\text{Multi-Nim}\),存在以下结论:

\(SG(x)=\begin{cases}x-1& x \bmod 4=0\\x& x \bmod 4 = 1 \lor 2\\x+1& x \bmod 4 =3\end{cases}\)

Every-SG

给定一张无向图,上面有一些棋子,两个顶尖聪明的人在做游戏,每人每次必须将可以移动的棋子进行移动,不能移动的人输

\(SG\) 游戏的基础上,规定对于还没有结束的单一游戏,游戏者必须对该游戏进行一步决策。

显然有贪心:对于一个单一游戏,必胜者一定想尽量拖延时间,必败者会尽力速战速决。

所以可以多处理一个 \(step(X)\),若 \(SG(X)=0\)\(step(X)\) 为先手最快结束的步数,否则为先手最慢结束的步数,显然对于所有单一游戏的 \(step\)\(\max\),若 \(\max\) 为奇数则先手必胜,否则先手必败。

\(step\) 可以很简单的 \(\text{DP}\) 求出。

posted @ 2024-08-23 21:57  Aurora_Borealis  阅读(10)  评论(0编辑  收藏  举报