【文献阅读】基于实时启发式搜索的非完备信息博弈策略研究

基于实时启发式搜索的非完备信息博弈策略研究

作者:王豪杰


0 研究背景的梳理

  1. 1928年,冯诺依曼研究分析二人零和博弈,证明极大极小定理。

  2. 1944年,冯诺依曼等人出版《博弈论与经济行为》,标志博弈论理论初步形成。同时引入正则博弈和扩展式博弈两种表示方法。

  3. 1990年,Koller 等人系统地衡量了二人零合扩展式博弈问题的复杂度,证明了在参与者都具有完美记忆的条件下,可以在多项式时间内解决扩展式博弈问题。

  4. Koller 和 Pfeffer 使用 线性规划 确定了一个拥有14万节点的扑克游戏的解;Shi 和 Littman 结合 线性规划损失抽象方法 解决了31亿个游戏节点的罗德岛扑克游戏。

  5. 1998年,Billings 等人开发出第一个二人限制性德扑博弈智能体。

  6. 2007年,阿尔伯塔大学的 Zinkevich 等人提出 CFR(反事实遗憾最小化) ,并且对CFR算法进行优化。

  7. 2012年,Johanson 等人针对 CFR 算法进行改进,提出三种 基于机会节点抽样 的变种CFR算法。

  8. 2015年,Lanctot 等人进一步提出针对 CFR 的通用抽样框架。定义了 MCCFR(基于蒙特卡洛抽样的在线算法)

        状态空间抽象算法,对博弈问题的状态空间进行压缩:

  • 2003年,Billings 等人提出人工设计的抽象算法,降低二人非限制性德扑博弈的状态空间。

  • 2007年,Gilpin 等人提出在更高维度的空间考虑后续博弈状态的概率分布直方图。

  • 2009年,Waugh 等人在博弈问题的抽象过程中引入了 不完美记忆

  • 2015年,Brown 等人提出了一种 层次化抽象算法

        基于游戏分解的方法:

  • 2014年,Burch 等人提出了 求解主干博弈策略的 CFR-D 算法 求解残局策略的 resolving算法

  • 2015年,Ganzfried 等人提出了 不安全的博弈残局求解算法

  • 2017年,Brown 等人针对非完备信息博弈问题提出了 安全的嵌套残局求解算法

        对手建模,研究对手弱点:

  • 2012年,Southey 等人提出 基于贝叶斯概率模型的对手建模方法

  • 2013年,Brad 等人提出针对 Kuhn 扑克的动态对手建模方法。

  • 2014年,Brad 等人提出一种 隐式的对手建模框架 用于估计特定组合的策略的期望收益。


1 研究动机是什么?

        棋牌类博弈问题是现实生活中的博弈问题的抽象,研究者通过研究棋牌类博弈问题的博弈策略,为现实生活中的博弈问题的解决方案提供思路。在纳什均衡理论的基础上,德州扑克简化版的变种游戏相继被解决。2015年,限制性德州扑克博弈(空间复杂度10^18)被阿尔伯塔大学研究者解决。但是由于非限制性德州扑克的空间复杂度过大(10^165),研究进展较慢。


2 主要解决了什么问题?

         该论文主要解决了两个问题:

        第一,针对非完全信息博弈,扩展了博弈残局的概念,提出 主干策略求解方法残局策略求解方法。研究博弈残局的构造方法,使得 构造后的博弈残局符合扩展式博弈定义

        第二,提出 基于启发式估值网络的实时策略求解框架,提出德州扑克博弈问题的扑克残局表示扑克残局求解 训练数据编码和训练数据拟合 的解决方案。

        第三,以虚拟遗憾值最小化算法为基础,研究了 启发式博弈树搜索算法


3 所提方法是什么?

        针对 resolving 算法只能求解小规模博弈残局的问题,作者提出 改进的 resolving 算法。改进的 resolving 算法核心包括 局部博弈树搜索(限制搜索深度)、启发式估值网络 (为局部博弈树的边界节点提供启发式估值)和 动作抽象(限制搜索广度)。作者从某个公共博弈状态状态出发,对博弈残局构造一个符合扩展式博弈定义的 gadget 博弈问题,然后 对博弈残局进行二次分解。求解算法运行过程中只搜索 gadget 博弈树的主干部分,对一系列博弈残局,使用 监督学习的方法训练深度神经网络启发式估值,避免求解子博弈树。

        针对于局部博弈树 搜索深度 的限制,作者提出把博弈树的搜索深度限制为一轮,每一轮之间的机会节点作为搜索算法的边界限制,使用估值的方法 替代 对子博弈树的搜索

        针对博弈树 搜索广度 的限制,作者提出使用 动作抽象 的方式对加注筹码的数量进行离散化,从而降低博弈问题的规模。动作抽象在于使用 固定底池倍数的加注动作,对博弈问题的动作空间进行离散化,同时限制每一轮的最多下注次数,以减少博弈树搜索深度。局部博弈树搜索算法如下:

        (1)搜索算法到达 叶子节点,针对公共博弈状态构造收益矩阵 U,参与者在叶子节点处的 虚拟收益向量 可通过 收益矩阵对手手牌的概率分布 进行向量程法得到。

        (2)搜索算法到达 最大深度,此时,对公共博弈状态 S、双方参与者手牌概率分布向量 r1,r2 进行编码,并把编码后的博弈局面最为 启发式估值网络 的输入,输出为 虚拟收益向量

        (3)搜索算法到达的公共博弈状态 S 是 博弈树的内部节点,对博弈状态 S 的每个合法动作 a 都有一个子节点 S’,递归调用 Values 算法求解子节点们的虚拟收益向量,最后求解博弈状态 S 的虚拟收益向量。

        针对 resolving 算法的改进,就是将 resolving 算法的搜索过程替换为作者提出的 启发式局部博弈树搜索

        针对 估值 问题,包括 博弈残局 的表示、 博弈残局价值 的确定 以及 博弈残局价值的拟合,作者提出,求解博弈残局是从 一对到达概率向量 r1,r2 出发,计算并得到纳什均衡策略组所对应的 一对收益向量 v1,v2。对于参与者 p1 来说,博弈残局 S 的价值就是 p1 ,p2 在残局中按照最优策略组进行博弈,p1 所能获得的 期望收益(向量)。使用 函数近似 的思想来拟合博弈残局表示和博弈残局价值。

        针对 扑克残局 的生成,作者按照 均匀的概率 生成 公共牌,使用 递归划分手牌集合并分配概率 的方式生成 手牌 概率分布,使用 二次随机(第一次均匀随机区间,第二次均匀随机内部一个数)的方法生成下注筹码数量。

        针对 训练数据 的构造,作者提出,训练数据的特征值部分包括三个部分:参与者 p1 的手牌在桶上的概率分布向量 r1参与者 p2 的手牌在桶上的概率分布向量 r2 以及 下注筹码数量 pot。在对公共牌和手牌进行编码的时候,需要一个衡量手牌强弱的指标——期望牌力。作者 基于期望牌力,使用卡牌分桶算法 对扑克残局的手牌和公共牌进行编码。卡牌分桶算法枚举所有未发出的公共牌和对手的手牌,计算期望牌力,最后把卡牌按照期望牌力所处的区间映射到桶上。同时,为了方便,将下注筹码数量统一处以20000,缩放到0和1之间。

        针对 估值网络,作者使用 深度神经网络 进行估值。神经网络的输入为1001维,其中包括双方手牌在桶上的概率分布(2 × 500)以及底池(1 × 1),底池被编码为当前参与者下注总筹码占参与者拥有的总筹码的比例。前馈神经网络有三层,全连接方式连接,激活函数为 PreLU,输出为两个 500 维的向量,分别表示两位参与者在桶上的期望收益向量。双方参与者的期望收益向量可以用 r1 * v1,r2 * v2 表示,令 k = r1 * v1 + r2 * v2 作为前馈神经网络的期望收益向量。为了保证“零和博弈”,令 r1' = r1-0.5k,r2'=r2-0.5k,r1'和r2‘均满足零和博弈的性质。


4 关键结果及结论是什么?

        第一,针对不同 动作抽象 算法误差分析,作者选择最后一轮的河牌圈的博弈残局作为求解对象。通过对比不同动作抽象集合所构建出博弈树的规模和误差,作者认为 {F,C,P,A} 是一个不错的选择。

        第二,估值网络的构建存在串行依赖关系,先直接求河牌圈的博弈残局,然后基于河牌圈的估值网络求解转牌圈的博弈残局,再基于转牌圈的估值网络求解翻牌圈的博弈残局。各个估值网络的训练误差如下:

        第三,作者对启发式博弈树搜索的运行时间要求严格,要求智能体计算每个动作的时间控制在 2 - 8 秒,通过减少博弈树迭代次数实现

        第四,作者在 ACPC 官方发牌器上与其他智能体进行博弈,作者的智能体均优于其他智能体。结果如下:


5 创新点在哪里?

作者结合 CFR-D 算法、resolving 算法和启发式估值函数,研究了 改进的 resolving 算法。改进的 resolving 算法借鉴了 CFR-D 算法的博弈树分解思想,把 resolving 求解算法的搜索范围分解为主干和一些列博弈残局,同时结合启发式估值函数对博弈残局进行估值。


6 有什么值得阅读的文献?

  1. 2013年 Burch N, Bowling M. 提出的 CFR-D 算法。

    Burch N, Bowling M. CFR-D: Solving Imperfect Information Games Using Decomposition[J]. 2013:602-608.

  2. 2014年 Tammelin O. 提出的 CFR+ 算法。

    Tammelin O. Solving large imperfect information games using CFR+[J]. arXiv preprint arXiv:1407.5042, 2014.


7 综合评价

        作者提出的改进的 resolving 算法,将博弈残局进一步划为为主干和一些列残局,使用启发式估值函数对博弈残局进行估值,使用动作抽象减少博弈树广度。该方案能够在保证博弈效果的同时,实现实时决策,将每一步决策的时间控制在2-8秒。但仍存在一定局限,作者使用了动作抽象算法,因此不可避免地会导致一定误差。

Guess you like

Origin blog.csdn.net/weixin_41960890/article/details/120418801