【数论】博弈论
公平游戏——ICG
满足条件
- 两名玩家交替操作
- 在任意时刻,两名玩家的可选操作相同
- 最终无法操作的玩家为负
必胜态与必败态
- 必胜态
指当前玩家操作后,另一名玩家不论如何操作,最终一定为负 - 必败态
当前玩家不论如何操作,操作后留给另一名玩家的都是必胜态
Nim Game
- Nim 游戏不存在平局
- 先操作的为先手,另一人为后手
- 对于某一状态的结果为:先手必败或先手必胜
定理
- Nim 游戏先手必胜当且仅当:
A 1 x o r A 2 x o r . . . x o r A n − 1 x o r A n ≠ 0 A_1\ xor\ A_2\ xor\ ... xor\ A_n-1\ xor \ A_n ≠ 0 A1 xor A2 xor ...xor An−1 xor An=0 - 证明
有向图游戏
- 对于一个无环有向图,仅有一个起点,起点处有一枚棋子,两名玩家交替按某条件移动,无法移动者为负
- 任何公平游戏都可以转化为有向图游戏
Mex运算
设S为一个非负整数集合,定义
M
e
x
Mex
Mex 为求出不属于该集合的最小自然数,记为:
M
e
x
(
S
)
=
m
i
n
x
∈
N
,
x
∉
S
{
x
}
Mex(S) = {min}_{x\in N,x \notin S}\ \{x\}
Mex(S)=minx∈N,x∈/S {x}
SG 函数
- 对于一个有向图游戏,设当前节点为x,其后继节点为
y
1
,
y
2
.
.
.
y
m
y_1,y_2...y_m
y1,y2...ym,定义
S
G
(
x
)
SG(x)
SG(x)为:
S G ( x ) = M e x { S G ( y 1 ) x o r S G ( y 2 ) x o r . . . x o r S G ( y m ) } SG(x) = Mex\{\ SG(y_1)\ xor\ SG(y_2)\ xor...xor \ SG(y_m)\ \} SG(x)=Mex{ SG(y1) xor SG(y2) xor...xor SG(ym) }
SG定理
- 对于由多个有向图组成的有向图游戏,设每个图的起点为
A
i
A_i
Ai 则该有向图游戏的和为:
S G ( A 1 ) x o r S G ( A 2 ) x o r . . . x o r S G ( A n − 1 ) x o r S G ( A n ) 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(An−1) xor SG(An) - 必胜局面满足:
S G ( A 1 ) x o r S G ( A 2 ) x o r . . . x o r S G ( A n − 1 ) x o r S G ( A n ) ≠ 0 SG(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(An−1) xor SG(An)=0 - 必输局面满足:
S G ( A 1 ) x o r S G ( A 2 ) x o r . . . x o r S G ( A n − 1 ) x o r S G ( A n ) = 0 SG(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(An−1) xor SG(An)=0 - 证明法类似于Nim游戏证明