一种序贯同步博弈的双树蒙特卡洛搜索算法的制作方法

文档序号:16251120发布日期:2018-12-12 00:03阅读:444来源:国知局
一种序贯同步博弈的双树蒙特卡洛搜索算法的制作方法

本发明涉及机器博弈搜索领域,尤其涉及一种使用双树结构的蒙特卡洛搜索算法。

背景技术

蒙特卡洛方法,也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。二十世纪七十年代,蒙特卡洛方法的理论研究达到顶峰。目前为止,对于蒙特卡洛理论和方法的研究,美国的理论和实践研究仍处于领先地位。现如今许多其他的国家也加入了蒙特卡洛的研究中。蒙特卡洛的研究有力推动了国内外蒙特卡洛方法的应用和发展。它不但用于解决许多复杂的科学方面的问题,也被项目管理人员经常使用,具有很强的适应性。

针对序贯同步博弈问题,现有的搜索方法只能处理复杂度很低的博弈问题,这是由于其博弈树的节点数量在可接受的范围内,所以可以有效求解。然而,在规模较大的情况下如果直接用博弈树搜索方法求解,由于行动组合的数量巨大,同时树内节点随深度的增加呈指数级上升,必将导致组合爆炸的问题。所以现有的搜索方法通常将其先约简为序贯非同步问题,再用极大极小搜索算法求解,但是由于问题简化严重导致求解质量下降。



技术实现要素:

针对现技术存在的不足,本发明要解决的技术问题是提出一种序贯同步博弈的双树蒙特卡洛树搜索算法来有效解决了大规模序贯同步博弈问题出现的双方动作组合爆炸问题。同时针对此博弈树的搜索方法,通过对选择策略、展开规则、回溯更新等关键技术的改进,实现完善的双树结构搜索方法。通过实现均衡支撑库、双输出策略网、环境知识等学习,提升序贯同步博弈求解质量。

本发明的技术方案是这样实现的:

一种序贯同步博弈的双树蒙特卡洛搜索算法,所述算法适用于一种搜索系统,所述系统包括搜索服务器、搜索入口及搜索装置,所述算法包括以下步骤:

步骤1-1:建立序贯同步的双博弈树,分别对同步和序贯进行抽象,并对全局寻优进行建模,分别用a、b表示两个玩家,在一个环境下获得双方的动作序列,对手决策节点只能执行动作,对手的信息通过环境完成交互;

步骤1-2:针对完美信息和非完美信息情况下的博弈树节点性质和搜索算法进行区分,并分别进行改进;

步骤1-3:对序贯同步博弈进行知识增强;

步骤1-4:通过选择阶段、扩展阶段、估值阶段和更新阶段,循环迭代提高搜索效率。

进一步的,上述步骤1-3中所述知识增强的方法步骤为:

步骤2-1:离线计算同步博弈问题的纳什均衡解,构建纳什均衡计算的支撑库;

步骤2-2:构建序贯同步博弈问题深度策略-估值网络,实现领域知识的知识学习;

步骤2-3:建立面向环境模型的学习方法,实现环境信息无法完全获知的情况下博弈问题的求解。

更进一步的,上述步骤2-2中所述的知识学习,包括以下步骤:

步骤3-1:构建纳什均衡计算的支撑库,首先对序贯同步博弈的纳什均衡进行求解;然后通过离线采样获得不同的状态,对这些状态分别进行计算悔恨值得到对应的反事实悔恨值,使用支撑库储存这些值;最后将大量的状态和反事实悔恨值作为样本进行训练,构建反事实悔恨值网络,反事实悔恨值网络的输出是从纳什均衡的角度衡量且适用于小规模状态空间;

步骤3-2:节点信息除了包括己方平均收益,己方此动作的选择次数,对方平均收益,对方此动作的选择次数以及该节点的访问次数,还包括己方regret表和对方regret表,在regret表中,每一个元素对应博弈某一方的一个动作,假设s∈{1,2,3,…}表示每次迭代,h表示每次迭代中的某一个节点状态,t为时间周期,σs(h,t)表示某一方所用的混合策略,此混合策略由进行初始化,博弈双方都为混合策略σs(h,t)维持一个累计的regretrht[i],这些regret值初始化为0,在每次迭代s中,需要根据当前累计的regret来生成新的混合策略,定义x+=max(x,0),为了平衡探索探寻,可在选择动作时加入一个可调参数,策略公式如下:

在更新阶段,需要根据模拟所得收益来更新regret表,以己方regret更新为例,假设动作i1为选择策略的所选动作,收益u1为模拟结束后的己方收益,则定义更新公式如下:

步骤3-3:设计序贯同步博弈的深度策略-估值网络,将当前双方的状态信息作为输入,己方和对方的动作概率分布和当前状态的估值作为输出,策略网络对博弈树的展开提供先验知识,估值网络则提供了节点的估值;

步骤3-4:采样多代理探寻和事后经验回放结合的强化学习方法,对环境信息进行补全,从而辅助策略选择,实现环境信息无法获知的情况下对博弈知识的求解。

更进一步的,上述步骤3-4的具体实现步骤为:

步骤4-1:利用多代理探寻策略,将博弈中的未知状态分解成多种可能的具体状态,分别进行求解;

步骤4-2:将探寻的结果的收益进行储存,以此弥补环境信息的缺失;

步骤4-3:利用事后经验回放策略计算代理于子目标的对应关系,即通过强化学习训练主目标策略逼近全局最优,从而能够得到环境无法及时给出的收益回报。

步骤4-4:在前面的环境信息无法观测的情况下补全缺失信息,再结合序贯同步的双树蒙特卡洛树搜索,实现环境信息无法完全获知的情况下对博弈问题的求解。

进一步的,上述步骤1-4中所述选择阶段采取的方法步骤为:

步骤5-1:通过问题规模是否在可求解范围内,判断问题的规模大小;

步骤5-2:当问题规模较大时,即问题规模不在可求解范围内,通过调用深度策略网络获得动作的先验概率,以及当前状态下的估值来进行选择;

步骤5-3:当问题规模较小时,即问题规模在可求解范围内,通过离线计算不同状态的均衡解,使用知识库进行储存,从而在选择时调用纳什均衡支持库,完成动作的选择;

步骤5-4:对于高复杂的序贯博弈问题,采用蒙特卡洛与强化学习的相结合的方法进行训练,在搜索的开始时,利用一般方法和策略网络辅助选择,在即将达到终止节点时,根据均衡支撑库求解。

进一步的,上述步骤1-4中所述扩展阶段采取的方法步骤为:

步骤6-1:一方的博弈树根据自身动作展开,相应的子节点均为虚拟节点;

步骤6-2:在虚拟节点的基础上,根据对方的动作进行展开,相应的子节点为真实节点;

步骤6-3:双博弈树的扩展通过环境的交互完成,例如在s0的状态下,玩家a选择了动作a00,玩家b选择了动作b01,两棵树按照不同的顺序扩展,转移到s1,再经过a11和b10转移到s2,从而得出两棵树的s0、s1、s2完全一致的。

进一步的,上述步骤1-4中所述估值阶段可采取以下任一方法:

a通过随机模拟的方式来获取叶子节点的估值;

b使用离线训练的深度网络估值的方式获得估值;

c针对小规模博弈问题,生成接近整个状态空间的局面

d针对大规模博弈问题,采集可解范围内的样本,从而构建相关的纳什均衡支撑库,

e针对大规模博弈问题利用策略-估值网络,对博弈树中叶子节点状态进行快速评估

f针对部分状态转移和回报缺失的问题,对博弈环境进行建模与学习,将环境知识应用到树搜索中。

进一步的,上述步骤1-4中所述更新阶段对应权利要求5所述选择阶段的选择过程,除了更新选择路径上的信息外,当选择路径上的动作在其他路径上也出现过,则对应的节点也需要更行,且仅需要更新从根节点到叶子节点选择路径上的节点信息。

进一步的,上述步骤1-2中所述的非完美信息情况下博弈双树蒙特卡洛搜索算法步骤如下:

步骤9-1:通过对手建模的方式预测对手的动作,保证信息集的更新持续进行;

步骤9-2:在对手建模上基于深度学习,针对对手状态做有效估计和预测,降低状态的不确定性,从风格、战术、行为的对手策略上多层建模,实现对对手行为的准确预测。

步骤9-3:基于精炼和策略计算,对非完美信息情况下博弈的信息集和动作集自动提炼,结合深度神经网络和残局库的均衡探寻,快速准确的均衡求解小规模博弈问题。利用序贯同步双树蒙特卡洛搜索,结合状态估计信息实现高效的博弈决策;

步骤9-4:通过深入复杂博弈问题的分治和融合,兼顾子问题的独立性、求解有效性、融合合理性,实现大规模博弈问题的有效转化;

步骤9-5:基于信念置信度的蒙特卡洛树搜索,利用信念置信度的在线更新、探索-利用的均衡策略,结合混合策略和潜在概率模型的近似,实现非完美不确定博弈问题的有效求解。

本发明的有益效果在于:

1.在保留同步特点的基础上,建立两棵树表示博弈双方的状态转移情况,使得博弈树的选择分支大大减少,在维持同步行动特点的同时,减小了博弈树的规模。

2.消除了同步动作造成的双方动作组合爆炸问题,增加搜索深度,既保证了求解质量,又提高了求解效率。

3.对传统的单树模型进行改进,使用双树结构建立序贯同步博弈问题的博弈树模型解决了同步更新问题。通过对标准蒙特卡洛树搜索选择策略、展开规则、回溯更新等关键技术的改进,实现完善的双树结构搜索方法。

4.非完美信息序贯博弈中,博弈双方无法获知对方的状态和动作,但该发明在完美信息博弈双树蒙特卡洛搜索的基础上,通过对节点定义和同步更新的重构,实现非完美序贯博弈问题的求解,可以更好地适应不同的环境。

5.纳什均衡支撑库的构建,解决了同步的纳什均衡在线计算时间过长的问题;序贯同步博弈的深度策略网和深度估值网,实现了序贯同步搜索的知识引导;面向环境的强化学习,解决状态转移或收益缺失下的决策问题。

附图说明

附图1为序贯同步蒙特卡洛树搜索技术路线示意图;

附图2为序贯同步双博弈树示意图;

附图3为完美信息序贯同步博弈的双树蒙特卡洛树搜索图;

附图4为非完美信息序贯同步博弈的双树蒙特卡洛树搜索图;

附图5为序贯同步博弈的知识学习的技术路线示意图;

附图6为双人序贯同步博弈深度策略-估值网络图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步说明。

如附图1-6所示,一种序贯同步博弈的双树蒙特卡洛搜索算法,所述算法适用于一种搜索系统,所述系统包括搜索服务器、搜索入口及搜索装置,所述算法包括以下步骤:

步骤1-1:建立序贯同步的双博弈树,分别对同步和序贯进行抽象,并对全局寻优进行建模,分别用a、b表示两个玩家,在一个环境下获得双方的动作序列,对手决策节点只能执行动作,对手的信息通过环境完成交互;

步骤1-2:针对完美信息和非完美信息情况下的博弈树节点性质和搜索算法进行区分,并分别进行改进;

步骤1-3:对序贯同步博弈进行知识增强;

步骤1-4:通过选择阶段、扩展阶段、估值阶段和更新阶段,循环迭代提高搜索效率。

进一步的,上述步骤1-3中所述知识增强的方法步骤为:

步骤2-1:离线计算同步博弈问题的纳什均衡解,构建纳什均衡计算的支撑库;

步骤2-2:构建序贯同步博弈问题深度策略-估值网络,实现领域知识的知识学习;

步骤2-3:建立面向环境模型的学习方法,实现环境信息无法完全获知的情况下博弈问题的求解。

更进一步的,上述步骤2-2中所述的知识学习,包括以下步骤:

步骤3-1:构建纳什均衡计算的支撑库,首先对序贯同步博弈的纳什均衡进行求解;然后通过离线采样获得不同的状态,对这些状态分别进行计算悔恨值得到对应的反事实悔恨值,使用支撑库储存这些值;最后将大量的状态和反事实悔恨值作为样本进行训练,构建反事实悔恨值网络,反事实悔恨值网络的输出是从纳什均衡的角度衡量且适用于小规模状态空间;

步骤3-2:节点信息除了包括己方平均收益,己方此动作的选择次数,对方平均收益,对方此动作的选择次数以及该节点的访问次数,还包括己方regret表和对方regret表,在regret表中,每一个元素对应博弈某一方的一个动作,假设s∈{1,2,3,…}表示每次迭代,h表示每次迭代中的某一个节点状态,t为时间周期,σs(h,t)表示某一方所用的混合策略,此混合策略由进行初始化,博弈双方都为混合策略σs(h,t)维持一个累计的regretrht[i],这些regret值初始化为0,在每次迭代s中,需要根据当前累计的regret来生成新的混合策略,定义x+=max(x,0),为了平衡探索探寻,可在选择动作时加入一个可调参数,策略公式如下:

在更新阶段,需要根据模拟所得收益来更新regret表,以己方regret更新为例,假设动作i1为选择策略的所选动作,收益u1为模拟结束后的己方收益,则定义更新公式如下:

步骤3-3:设计序贯同步博弈的深度策略-估值网络,将当前双方的状态信息作为输入,己方和对方的动作概率分布和当前状态的估值作为输出,策略网络对博弈树的展开提供先验知识,估值网络则提供了节点的估值;

步骤3-4:采样多代理探寻和事后经验回放结合的强化学习方法,对环境信息进行补全,从而辅助策略选择,实现环境信息无法获知的情况下对博弈知识的求解。

更进一步的,上述步骤3-4的具体实现步骤为:

步骤4-1:利用多代理探寻策略,将博弈中的未知状态分解成多种可能的具体状态,分别进行求解;

步骤4-2:将探寻的结果的收益进行储存,以此弥补环境信息的缺失;

步骤4-3:利用事后经验回放策略计算代理于子目标的对应关系,即通过强化学习训练主目标策略逼近全局最优,从而能够得到环境无法及时给出的收益回报。

步骤4-4:在前面的环境信息无法观测的情况下补全缺失信息,再结合序贯同步的双树蒙特卡洛树搜索,实现环境信息无法完全获知的情况下对博弈问题的求解。

进一步的,上述步骤1-4中所述选择阶段采取的方法步骤为:

步骤5-1:通过问题规模是否在可求解范围内,判断问题的规模大小;

步骤5-2:当问题规模较大时,即问题规模不在可求解范围内,通过调用深度策略网络获得动作的先验概率,以及当前状态下的估值来进行选择;

步骤5-3:当问题规模较小时,即问题规模在可求解范围内,通过离线计算不同状态的均衡解,使用知识库进行储存,从而在选择时调用纳什均衡支持库,完成动作的选择;

步骤5-4:对于高复杂的序贯博弈问题,采用蒙特卡洛与强化学习的相结合的方法进行训练,在搜索的开始时,利用一般方法和策略网络辅助选择,在即将达到终止节点时,根据均衡支撑库求解。

进一步的,上述步骤1-4中所述扩展阶段采取的方法步骤为:

步骤6-1:一方的博弈树根据自身动作展开,相应的子节点均为虚拟节点;

步骤6-2:在虚拟节点的基础上,根据对方的动作进行展开,相应的子节点为真实节点;

步骤6-3:双博弈树的扩展通过环境的交互完成,例如在s0的状态下,玩家a选择了动作a00,玩家b选择了动作b01,两棵树按照不同的顺序扩展,转移到s1,再经过a11和b10转移到s2,从而得出两棵树的s0、s1、s2完全一致的。

进一步的,上述步骤1-4中所述估值阶段可采取以下任一方法:

a通过随机模拟的方式来获取叶子节点的估值;

b使用离线训练的深度网络估值的方式获得估值;

c针对小规模博弈问题,生成接近整个状态空间的局面

d针对大规模博弈问题,采集可解范围内的样本,从而构建相关的纳什均衡支撑库,

e针对大规模博弈问题利用策略-估值网络,对博弈树中叶子节点状态进行快速评估

f针对部分状态转移和回报缺失的问题,对博弈环境进行建模与学习,将环境知识应用到树搜索中。

进一步的,上述步骤1-4中所述更新阶段对应权利要求5所述选择阶段的选择过程,除了更新选择路径上的信息外,当选择路径上的动作在其他路径上也出现过,则对应的节点也需要更行,且仅需要更新从根节点到叶子节点选择路径上的节点信息。

进一步的,上述步骤1-2中所述的非完美信息情况下博弈双树蒙特卡洛搜索算法步骤如下:

步骤9-1:通过对手建模的方式预测对手的动作,保证信息集的更新持续进行;

步骤9-2:在对手建模上基于深度学习,针对对手状态做有效估计和预测,降低状态的不确定性,从风格、战术、行为的对手策略上多层建模,实现对对手行为的准确预测。

步骤9-3:基于精炼和策略计算,对非完美信息情况下博弈的信息集和动作集自动提炼,结合深度神经网络和残局库的均衡探寻,快速准确的均衡求解小规模博弈问题。利用序贯同步双树蒙特卡洛搜索,结合状态估计信息实现高效的博弈决策;

步骤9-4:通过深入复杂博弈问题的分治和融合,兼顾子问题的独立性、求解有效性、融合合理性,实现大规模博弈问题的有效转化;

步骤9-5:基于信念置信度的蒙特卡洛树搜索,利用信念置信度的在线更新、探索-利用的均衡策略,结合混合策略和潜在概率模型的近似,实现非完美不确定博弈问题的有效求解。

其中,如附图1所示,序贯同步博弈问题包括:双博弈树建模;建模基础上,完美信息博弈双树蒙特卡洛搜索信息集,选择、展开、估值、更新;非完美信息博弈双树蒙特卡洛搜索下重构节点定义和同步更新;纳什均衡支撑库、深度策略-估值网络、环境模型网络。

首先建立序贯同步双博弈树,如附图2所示,玩家a和玩家b的博弈树分别用a、b表示,环境是一个虚拟的概念,其可以获得双方的动作序列。博弈树包含两类节点,实线节点是玩家决策的节点,虚线节点是对手决策的节点。博弈树中的玩家决策节点可以选择动作(实线连接线),对手决策节点只能执行动作(虚线连接线),对手的动作信息通过环境完成交互。双博弈树是单树的等价形式,但是不需要对同步决策的所有可能的动作组合完全展开,巧妙地解决了动作组合爆炸的难题。

双博弈树建模基础上,改进选择、扩展、估值、更新。其中扩展如附图3所示,在s0的状态下,玩家a选择了动作a00,玩家b选择了动作b01,两棵树按照不同的顺序扩展,转移到s1,再经过a11和b10转移到s2。从而得出两棵树的s0、s1、s2是完全一致的。通过这样的扩展方式,不再对同步决策所有的动作组合进行全部扩展,削减了博弈树的复杂度,使搜索可以到达更深的层数,获得更优的策略。

在完美信息博弈双树蒙特卡洛树搜索基础上,改进博弈树的结构和搜索过程。具体思路如附图4所示,在结构方面,博弈树中的真实节点,只包含博弈各方自身的信息,但双方相对应的节点仍属于同一个状态。另外,博弈各方自身的树中,表示对方动作选择的边,其具体动作是未知的。在搜索过程方面,原博弈树中,由于同一个状态下的双方节点完全相同,其更新过程是同一个更新过程,而在新博弈树中,同一个状态下,博弈各方的节点只含有自身相关信息,两棵树做不同的更新。与此对应,在模拟阶段,博弈双方通过不同的模拟过程获得各自的收益。

引入知识来加强其策略选择,更为快速和准确地评估其叶子节点状态。技术路线如附图5所示,基于纳什均衡的反事实悔恨值提取,基于深度学习的知识提取和基于环境模型的知识学习三个部分。

由于在序贯同步决策博弈问题中,博弈双方动作的组合数量极大,深度神经网络难以训练。例如在围棋中,博弈双方的动作组合可以多达361x361种,对神经网络的训练是组合爆炸的。因此,设计一个多输出结构神经网络,如附图6所示,其输入数据为博弈双方的状态信息,各个输出为博弈己方和对方的动作分布,以及当前状态的估值。策略网络对博弈树的展开提供先验知识,估值网络则提供了节点的估值。其中估值网络,在样本足够的情况下,利用已有的样本对此网络进行监督学习;在样本缺乏甚至无样本的情况下,使用强化学习的方法进行博弈知识提取,以达到辅助其策略选择的目的。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何利用本发明序贯同步博弈的双树蒙特卡洛搜索算法技术构思的方法思路均属于本发明技术构思的保护范围,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1