Skip to content

博弈论

2021-09-20

简介

博弈论研究在一局博弈中如何最优化玩家的策略。

公平组合游戏(ICG)

  • 两名玩家轮流行动,且行动规则相同;
  • 最终不能行动的玩家判负。

NIM 游戏

简介

n 堆石子,第 i 堆石子数为 Ai。两名玩家轮流取走任意一堆的任意个石子,但不能不取。取走最后一个石子的玩家胜。

NIM 游戏属于 公平组合游戏,且不存在平局,只有「先手必胜」和「后手必胜」两种情况。

策略

当且仅当 A1A2An0 时,先手必胜。

AB:表示二进制异或:将 AB 的二进制位对齐,相等取 0,不相等取 1

1 0 0 1 0 1 0 1 1 0 1 1 0 10 1 0 0 1 1 1
证明
引理 1

A1A2An=k0

k 在二进制下有 len(k) 位。

由异或的定义得,至少存在一个 i,使 Ai 的第 len(k) 位为 1,这样才能保证 k 的第 len(k) 位也为 1。在此条件下,显然有 Ai>Aik

于是可以取第 i 堆石子,使其剩下 Aik 个。取完石子后有

(A1Ai1)(Aik)(Ai+1An)=kk=0
引理 2

A1A2An=0。此时更改任意一个 AiAi,都有:

(A1Ai1)(Ai)(Ai+1An)=0AiAi0

即任意一步操作都会导致异或和 0

结合引理 1,引理 2 可得:

  • 存在一步操作,使异或和 0 异或和 =0
  • 任意一步操作,使异或和 =0 异或和 0
  • 石子被取光时失败(对手取走最后一个石子,获胜),此时异或和为 0

A1A2An0 时,先手可以使博弈进入一种循环:

轮到后手时,异或和必为 0,即失败的局面只可能轮到后手。先手必胜。

A1A2An=0 时,后手可以同样的方法制胜。此时先手必败。

有向图游戏

简介

在一个有向无环图中,只有一个起点,上面有一枚棋子。两名玩家轮轮流沿有向边推动棋子,无法移动者判负。

任何公平组合游戏都可以转换为有向图游戏:每个节点表示一个状态,并且向后继状态连有向边。

策略

Mex 运算

S 为非负整数集合。mex(S) 为不属于 S 的最小非负整数。

mex(S)=min{xxN,xS}

SG 函数

状态 xk 个后继状态 y1,y2,,yk,定义 SG 函数:

SG(x)=mex({SG(y1),SG(y2),,SG(yk)})

单图游戏

设起点为 s,当且仅当 SG(s)0 时,先手必胜。

证明
  • 当棋子无法移动时失败,此时没有后继状态,SG(s)=mex()=0
  • 存在一步操作,使 SG(s)0SG(s)=0
  • 任意一步操作,使 SG(s)=0SG(s)0

SG(s)0 时,先手可以通过类似于 NIM 游戏 的方法制胜。

SG(s)=0 时,后手必胜。

组合图游戏

对于 n 个有向图游戏组合成的游戏,起点分别为 s1,s2,,sn。当且仅当 SG(s1)SG(s2)SG(sn)0 时,先手必胜( 表示异或)。

证明

单图游戏 可知:

  • SG(si)=0(无法移动每个棋子)时失败,此时异或和 =0
  • 存在一步操作,使异或和 0 异或和 =0
  • 任意一步操作,使异或和 =0 异或和 0

SG(s1)SG(s2)SG(sn)0 时,先手可以通过类似于 NIM 游戏 的方法制胜。