博弈论学习笔记

限于喜欢 提交于 2020-03-10 18:59:27

博弈论学习笔记

一些概念

  • 组合博弈(combinatorial games)

    两个玩家,均可获得完全信息,每一操作均不受随机性影响(例如poker就不是组合博弈)

  • 有偏博弈

    两个玩家可以进行的操作有区别,例如象棋和跳棋

  • 无偏博弈

    1. 两名选手交替对游戏进行移动,每次一步,选手可以在有限的合法移动集合中任选一种进行移动,双方均知道游戏的完整信息。
    2. 对于游戏的任何一种可能的局面,合法的移动集合只取决于这个局面本身,不取决于轮到哪名选手操作、以前的任何操作、骰子的点数或者其他因素。
    3. 如果轮到某名选手移动,且这个局面的合法的移动集合为空(也就是说此时无法进行移动),则这名选手负。
    4. 游戏中的同一个状态不可能多次抵达,游戏以玩家无法行动结束,且游戏一定会在有限步后以非平局结束,即状态图无环。
    5. 大部分的棋类游戏都不是公平组合游戏。

NIM游戏

  • 有N堆石子,每堆石子的数量是\(a_1,a_2,a_3,...,a_n\),合法的移动是”选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。

  • 我们将图上的每一个局面看成图上的一个节点,所有的合法节点形成一个DAG。

  • P-position:先手必败

  • N-position:先手必胜

  • 例如3堆石子的NIM游戏

    1. (0,0,0)是必败局面。
    2. (0,0,n)是必胜局面
    3. (0,1,1)是必败局面
    4. (0,1,n)是必胜局面
    5. (0,n,n)是必败局面
  • 必败/必胜局面的判定引理

    1. 终局(\(a_1=a_2=a_3=...=a_n=0)\)是必败局面。
    2. 对于任意必胜局面,都存在一种合法操作使其变为必败局面。
    3. 对必败局面进行任意操作,都会得到必胜局面,即必败局面不能到达必败局面。
    4. 有了三条引理,可以对NIM游戏局面做出判定,复杂度\(O(\prod_{i=1}^na_i*\sum_{i=1}^na_i)\),即在DAG上进行dfs的复杂度(记忆化搜索/dp)=点数+边数。
  • NIM游戏判定引理的等价命题:Bouton's Theorem

    1. 对于一个Nim游戏的局面S=(\(a_1,a_2,...,a_n\)),其
      \[ Sg(S) = a_1xora_2xor...a_n \]
      则有:必败局面Sg(x)=0,必胜局面Sg(x)!=0

    2. 证明

      回顾三条引理

      • 终局(\(a_1=a_2=a_3=...=a_n=0)\)是必败局面。即0^0^0^0^...^=0

      • 对于任意必胜局面,都存在一种合法操作使其变为必败局面。

        考虑\(a_1xora_2xora_3xor...a_n=k\),假设k的最高位1在J位,选择第J位是1的\(a_i\),将其取成\(a_ixork\)(易知$a_ixork<a_i)即可,即可以将某一个数异或一下变成0。

      • 对必败局面进行任意操作,都会得到必胜局面,即必败局面不能到达必败局面。

        显然若\(a_1xora_2xor...a_n=0\),修改任一\(a_i\)\(a_1xora_2xor...a_n\neq0\)

      我们发现Sg(S)函数成功刻画了三条判定引理的性质。

      这样一来,我么可以O(n)对某一局面进行判定。

有向图游戏

  • 有向图游戏是一个经典的博弈游戏--实际上,大部分的公平组合游戏都可以转换成有向图游戏。
  • 在一个有向无环图中,只有一个起点,上面有一个棋子,两个玩家轮流沿着有向边推动棋子,不能走的玩家判负。
  • 单个有向图游戏的胜负可以根据判定引理判定。

对判定引理的数学描述-SG函数

  • 定义mex(minimal excludant)运算,这是一个集合运算,表示最小的不属于这个集合的自然数。例如mex{0,1,2,4}=3,mex(2,3,4) =0,mex{} = 0;

  • 对于一个给定的DAG,定义关于图的每个顶点的SG函数如下:
    \[ SG(x)=mex(sg(y)|x->y) \]

  • 验证三条定理

    1. 所有的terminal position所对应的顶点,也就是没有出边的顶点sg值等于0,因为mex{}=0。
    2. 对于sg\(\neq0\)的必胜局面,必存在一个\(sg=0\)的后继必败局面。
    3. 对于sg=0的必败局面,必不存在sg=0的后继必败局面。

有向图游戏的和

  • \(,G_1,G_2,...,G_n\)是n个有向图游戏,定义游戏G是G1,G2,...,Gn的和(sum),游戏G的移动规则是:任选一个子游戏Gi并移动上面的棋子。则有SG定理:
    \[ Sg(G) = Sg(G1)xorSg(G2)xor...xorSg(Gn) \]

  • 例如:仅1堆石子的NIM游戏{x},其SG函数可定义为:

  • Sg(x) = x

  • 满足\(SG(x)=mex(sg(y)|x->y)\),y可取遍[0,x)。

  • N堆石子的Nim游戏=N个1堆石子游戏的和
    \[ Sg(a1,a2,a3,...,an)=sg(a1)xorsg(a2)xor...xorsg(an)=a1xora2xor...xoran \]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!