【数论】博弈论

146 阅读1分钟

【数论】博弈论

公平游戏——ICG

满足条件

  1. 两名玩家交替操作
  2. 在任意时刻,两名玩家的可选操作相同
  3. 最终无法操作的玩家为负

必胜态与必败态

  • 必胜态 指当前玩家操作后,另一名玩家不论如何操作,最终一定为负
  • 必败态 当前玩家不论如何操作,操作后留给另一名玩家的都是必胜态

Nim Game

  • Nim 游戏不存在平局
  • 先操作的为先手,另一人为后手
  • 对于某一状态的结果为:先手必败或先手必胜

定理

  • Nim 游戏先手必胜当且仅当:
A1 xor A2 xor ...xor An1 xor An0A_1\ xor\ A_2\ xor\ ... xor\ A_n-1\ xor \ A_n ≠ 0
  • 证明

iShot2022-02-06 01.08.14.png

有向图游戏

  • 对于一个无环有向图,仅有一个起点,起点处有一枚棋子,两名玩家交替按某条件移动,无法移动者为负
  • 任何公平游戏都可以转化为有向图游戏

Mex运算

S为一个非负整数集合,定义MexMex 为求出不属于该集合的最小自然数,记为:

Mex(S)=minxN,xS {x}Mex(S) = {min}_{x\in N,x \notin S}\ \{x\}

SG 函数

  • 对于一个有向图游戏,设当前节点为x,其后继节点为y1,y2...ymy_1,y_2...y_m,定义SG(x)SG(x)为:
SG(x)=Mex{ SG(y1) xor SG(y2) xor...xor SG(ym) }SG(x) = Mex\{\ SG(y_1)\ xor\ SG(y_2)\ xor...xor \ SG(y_m)\ \}

SG定理

  • 对于由多个有向图组成的有向图游戏,设每个图的起点为AiA_i 则该有向图游戏的和为:
SG(A1) xor SG(A2) xor ...xor SG(An1) xor SG(An)SG(A_1)\ xor\ SG(A_2)\ xor\ ... xor\ SG(A_{n-1})\ xor \ SG(A_n)
  • 必胜局面满足:
SG(A1) xor SG(A2) xor ...xor SG(An1) xor SG(An)0SG(A_1)\ xor\ SG(A_2)\ xor\ ... xor\ SG(A_{n-1})\ xor \ SG(A_n) ≠ 0
  • 必输局面满足:
SG(A1) xor SG(A2) xor ...xor SG(An1) xor SG(An)=0SG(A_1)\ xor\ SG(A_2)\ xor\ ... xor\ SG(A_{n-1})\ xor \ SG(A_n) = 0
  • 证明法类似于Nim游戏证明