Introduction
最近在做多校题的时候,遇到了博弈论的题,自己推了老半天,还是没有找到必胜条件,于是下定决心开始学一下博弈论的套路。
NIM游戏
Nim游戏是一种两个人玩的回合制数学战略游戏,它之所以经典是因为Sprague和Grundy独立地证明了一切Impartial Combinatorial Games都可以化规到Nim游戏,这一类游戏都具有以下的特点:
- 玩家只有两个人
- 游戏给定了状态之间转移的规则
- 玩家的状态有限
- .每个人轮流移动
- 有明确的状态结束情况
游戏状态定义
- P-position代表会使上一个移动的玩家赢的状态。
- N-position代表会使当前正在移动的玩家赢的状态。
游戏状态间转移的规则
- 结局状态为P-position状态
- 能到达P-position状态的状态的都是N-position状态
- 只能到达N-position状态的是P-position状态
还是先举个例子来说明这个问题吧
两人从一堆硬币中轮流取硬币,每次取的数量硬币要在给定的序列a1,a2,…,ai中,没法继续取硬币的玩家输掉这场游戏。
这里我们先假定给出的序列为{1,2,4}
首先呢,硬币数为0的时候为P-position。这时我肯定输。同理 3 的状态也是P-position。
然后能让我赢的情况就是让对手走到P-position的位置上,那么我的位置就是N-position。这个例子中的1,2,4都是N-position。
那么,在游戏中,我一直都在想方设法的走到N-position的位置上,可是万一