一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

构建博弈AI模型和数据处理的方法、装置、设备及介质

2022-06-05 15:20:32 来源:中国专利 TAG:

构建博弈ai模型和数据处理的方法、装置、设备及介质
技术领域
1.本公开涉及博弈论技术和人工智能(ai)技术领域,尤其涉及一种构建博弈ai模型和数据处理的方法、装置、设备及介质。


背景技术:

2.近年来博弈论与ai技术相结合,能够广泛应用至游戏领域(例如人机对战、机器和机器的对战等)、信息安全领域(例如网络攻击和网络安全防护等的抗衡)等,对于不存在私有信息的完美信息博弈场景(例如围棋游戏)而言,研究已经相对成熟,例如采用强化学习技术和深度神经网络来不断优化相关的ai模型。
3.然而,对于存在私有信息的不完美信息博弈场景,例如在游戏领域(以德州扑克为例),无法知晓对手的隐藏信息,极大地增加了构建人机游戏的机器对抗模型或者求解纳什均衡解的难度。
4.目前业界的经典算法包括反事实遗憾最小化(counterfactual regret minimization,cfr)算法,以应用至游戏领域为例,以迭代的方式不断最小化每个游戏玩家的遗憾值,从而使得迭代过程中得到所有策略的平均逼近纳什均衡,纳什均衡是指没有一个博弈参与方(例如游戏玩家)可以单方面改变策略来获得更高的收益。


技术实现要素:

5.为了解决或者至少部分地解决应用目前的cfr算法来构建ai模型时收敛速度很慢、耗时较长的技术问题,本公开的实施例提供了一种构建博弈ai模型和数据处理的方法、装置、设备及介质。
6.第一方面,本公开的实施例提供了一种构建博弈ai模型的方法。上述方法包括:确定目标博弈场景下的博弈树信息,上述博弈树信息包括:上述目标博弈场景下各个博弈参与方的博弈路径的信息,上述博弈路径为上述各个博弈参与方在目标规则下进行交互动作直至博弈终止的动作选项的序列;确定包含多个遗憾最小化算法的备选算法集合;对策略模型进行初始化处理,上述策略模型包括在上述目标博弈场景下上述各个博弈参与方在上述博弈路径的各个信息集下的对应动作选项的概率分布;以及基于上述备选算法集合,上述策略模型遍历上述博弈路径进行预设轮次的迭代计算来更新上述概率分布,得到迭代后的平均概率分布对应的平均策略模型,上述平均策略模型作为构建完成的博弈ai模型;其中,在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法。
7.根据本公开的实施例,上述在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法,包括:在每轮迭代计算过程中,根据预先构造的关于上述次数的激励函数,计算上述多个遗憾最小化算
法从迭代开始到当前轮被使用的次数的激励函数值,上述激励函数被构造为当上述次数的取值越小时对应的激励函数值越大;计算当前轮中多个遗憾最小化算法各自的性能评价指标值和各自被使用次数所计算得到的激励函数值之间的加和值;确定最大加和值对应的遗憾最小化算法为上述目标算法。
8.根据本公开的实施例,上述策略模型遍历上述博弈路径进行预设轮次的迭代计算,包括:在每轮迭代计算过程中,计算从迭代开始到当前轮这一周期内各个博弈参与方在上述博弈路径的各个信息集下选择每个动作选项的累计遗憾值;基于当前轮对应的目标算法,根据上述累计遗憾值来计算得到下一轮中各个博弈参与方在上述各个信息集下的对应动作选项的新的概率分布;针对迭代的每一轮,将各个博弈参与方在上述博弈路径中到达各个信息集的到达概率作为各个信息集下的每个动作选项的概率的权重因子,加权计算得到各个动作选项的综合概率值;计算从迭代开始至达到预设轮次这一周期内各个动作选项的综合概率值累计值;以及每个动作选项所在的信息集中所有动作选项的综合概率值累计值的加和进行归一化计算,得到平均概率分布,上述平均概率分布对应于迭代后的平均策略模型。
9.根据本公开的实施例,当上述博弈ai模型被应用于上述目标博弈场景且作为上述目标博弈场景下的实际博弈参与方时,上述博弈ai模型根据上述平均概率分布来确定在各个信息集下执行的实际动作信息。
10.根据本公开的实施例,在每轮迭代计算过程中,计算从迭代开始到当前轮这一周期内各个博弈参与方在上述博弈路径的各个信息集下选择每个动作选项的累计遗憾值,包括:针对当前轮和之前的每一轮,计算各个博弈参与方在到达各个信息集的前提下的期望收益;针对当前轮和之前的每一轮,计算各个博弈参与方在各个信息集下选择每个动作选项的反事实价值;针对当前轮和之前每一轮中的每个动作选项,计算上述反事实价值和上述期望收益之间的差值,得到瞬时遗憾值;将本轮和本轮之前的所有轮的上述瞬时遗憾值进行累加,得到累计遗憾值。
11.根据本公开的实施例,上述备选算法集合包括以下遗憾最小化算法中的两项或更多项:rm算法、hedge算法和beta-rm算法;
12.其中上述rm算法的计算公式为:
[0013][0014]
上述hedge算法的计算公式为:
[0015][0016]
上述beta-rm算法的计算公式为:
[0017][0018]
其中,表示在后续第t 1轮迭代中第i个博弈参与方在信息集i下对应各个动作选项a的概率分布;a

表示第i个博弈参与方到达信息集i所对应的动作选项集合下的所有可选的动作选项;表示在从迭代开始到当前的第t轮迭代这一周期内第i个博弈参与方在信息集i下选择每个动作选项a

的累计遗憾值;β为超参数,β的取值为一个或多个预设值;表示在从迭代开始到当前的第t轮迭代这一周期内第i个博弈参与方
在信息集i下选择每个动作选项a的累计遗憾值。
[0019]
第二方面,本公开的实施例提供了一种数据处理的方法。上述数据处理的方法应用于博弈ai模型,上述博弈ai模型由如上所述的构建博弈ai模型的方法构建得到,上述数据处理的方法包括:获取上述博弈ai模型在目标博弈场景被指派的角色信息;在上述博弈ai模型中确定与上述角色信息匹配的概率分布信息;以及在上述博弈ai模型执行动作的回合,根据上述概率分布信息来确定实际执行动作信息。
[0020]
根据本公开的实施例,上述目标博弈场景包括:存在私有信息的不完美信息博弈场景。
[0021]
第三方面,本公开的实施例提供一种构建博弈ai模型的装置。上述构建博弈ai模型的装置包括:博弈树信息确定模块、算法确定模块、概率初始化模块和迭代计算模块。上述博弈树信息确定模块用于确定目标博弈场景下的博弈树信息,上述博弈树信息包括:上述目标博弈场景下各个博弈参与方的博弈路径的信息,上述博弈路径为上述各个博弈参与方在目标规则下进行交互动作直至博弈终止的动作选项的序列。上述算法确定模块用于确定包含多个遗憾最小化算法的备选算法集合。上述概率初始化模块用于对策略模型进行初始化处理,上述策略模型包括在上述目标博弈场景下上述各个博弈参与方在上述博弈路径的各个信息集下的对应动作选项的概率分布。上述迭代计算模块用于基于上述备选算法集合,上述策略模型遍历上述博弈路径进行预设轮次的迭代计算来更新上述概率分布,得到迭代后的平均概率分布对应的平均策略模型,上述平均策略模型作为构建完成的博弈ai模型。其中,在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法。
[0022]
第四方面,本公开的实施例提供了一种数据处理的装置。上述数据处理的装置包括博弈ai模型,该博弈ai模型由如上所述构建博弈ai模型的方法构建得到或者由如上所述的构建博弈ai模型的装置构建得到,上述数据处理的装置包括:角色信息获取模块、概率分布信息确定模块和动作确定模块。上述角色信息获取模块用于获取上述博弈ai模型在目标博弈场景被指派的角色信息。上述概率分布信息确定模块用于在上述博弈ai模型中确定与上述角色信息匹配的概率分布信息。上述动作确定模块用于在上述博弈ai模型执行动作的回合,根据上述概率分布信息来确定实际执行动作信息。
[0023]
根据本公开的实施例,上述数据处理的装置包括以下一种或多种:人工智能设备、智能手机、计算机、服务器,当上述数据处理的装置为人工智能设备、智能手机或计算机时,该装置还根据上述实际执行动作信息来执行对应的动作;当上述数据处理的装置为服务器时,该装置将上述实际执行动作信息发送给对应的执行终端,以使该执行终端来执行对应的动作。
[0024]
第五方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的构建博弈ai模型的方法或数据处理的方法。
[0025]
第六方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的构建图像语
义分割模型的方法或图像处理的方法。
[0026]
本公开实施例提供的上述技术方案与现有技术相比至少具有如下优点的部分或全部:
[0027]
通过确定包含多个遗憾最小化算法的备选算法集合,并在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法,在提供多种灵活的算法选择的同时还自适应地选择目标算法,提升迭代的收敛速度,从而提升博弈ai模型的构建效率。
附图说明
[0028]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0029]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0030]
图1示意性地示出了适用于本公开实施例的构建博弈ai模型的方法的流程图;
[0031]
图2示意性地示出了根据本公开实施例的博弈树的结构示意图;
[0032]
图3示意性地示出了根据本公开实施例的对策略模型进行初始化处理的过程示意图;
[0033]
图4示意性地示出了根据本公开实施例的在每轮迭代计算过程中自适应地确定对应的目标算法的实施过程示意图;
[0034]
图5示意性地示出了根据本公开实施例的策略模型遍历上述博弈路径进行预设轮次的迭代计算的实施过程示意图;
[0035]
图6示意性地示出了根据本公开实施例的数据处理的方法的流程图;以及
[0036]
图7示意性地示出了本公开实施例提供的电子设备的结构框图。
具体实施方式
[0037]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0038]
本公开的第一个示例性实施例提供了一种构建博弈ai模型的方法。
[0039]
图1示意性地示出了适用于本公开实施例的构建博弈ai模型的方法的流程图。
[0040]
参照图1所示,本公开实施例提供的构建博弈ai模型的方法,包括以下步骤:s210、s220、s230和s240。步骤s210~s240可以由具有计算能力的电子设备执行。
[0041]
在步骤s210,确定目标博弈场景下的博弈树信息,上述博弈树信息包括:上述目标博弈场景下各个博弈参与方的博弈路径的信息,上述博弈路径为上述各个博弈参与方在目标规则下进行交互动作直至博弈终止的动作选项的序列。
[0042]
对于确定的目标博弈场景而言,例如为游戏场景,那么对应的目标规则是确定的,
根据确定的目标规则,可以明确地得到各个博弈参与方各自可以执行的动作选项以及对方在执行某个动作选项之后自身能够交互的动作选项,由此得到博弈终止对应的各个可选的路径以及各个路径所对应的博弈参与方各自的收益。
[0043]
根据本公开的实施例,上述目标博弈场景包括:存在私有信息的不完美信息博弈场景。例如可以是零和不完美信息博弈的打牌游戏场景,零和博弈是指博弈参与方整体的收益之和为0,例如有两个博弈参与方的情况下,一方的收益总是对应对方的损失,如围棋、两人德州扑克游戏等都属于两人零和博弈的场景,两人德州扑克游戏属于零和不完美信息博弈,围棋则是零和完美信息博弈。
[0044]
对于不完美信息博弈场景而言,下面以博弈树的结构来示例不完美信息博弈下的博弈路径。
[0045]
图2示意性地示出了根据本公开实施例的博弈树的结构示意图。
[0046]
扩展式博弈是描述不完美信息博弈的标准方法,将扩展式博弈g看做是一颗博弈树,博弈树包含多个节点和连接节点的边,其中节点包括叶子节点(处于边缘的节点)和非叶子节点,叶子节点表示最终的收益,非叶子节点对应于各个博弈参与方执行动作对应的节点(可以描述为动作节点或者状态节点),可以通过一个七元组来对博弈树信息进行描述。
[0047]
在七元组中,是博弈参与方的集合(在游戏场景下,也可以描述为玩家集合),表示共有n(例如n可以取2)个博弈参与方(例如为进行两人德州扑克游戏的游戏玩家)。是博弈参与方可执行动作的集合。是博弈树中所有可能的动作序列h的集合,每一个动作序列h(省略用于区分不同动作序列的角标)对应一条从博弈树的初始节点到当前节点的路径。z是所有终止序列z的集合,函数表示第i个博弈参与方在终止序列z下获得的收益,i的总个数等于n。表示在动作序列h下需要决策的博弈参与方的序号(例如可以从0或1开始累加编号或者以任意方式进行编号等)。是信息集的集合,其中第r个信息集表示为ir,r的取值为正整数,信息集是不完美信息博弈中极其重要的概念;如果h,h

在同一个信息集中,那么第i个博弈参与方无法区分自己位于h还是h

。另外,信息集中包含的动作节点或状态节点可以有1个或2个以上。
[0048]
具体地,参照图2所示,以一个两人的简单扑克游戏为例为例,该游戏中共有2个玩家和一个发牌节点,发牌节点的发牌是随机事件,随机事件(比如扑克里面的发牌)用c(chance)表示,这2个玩家分别描述为玩家0(player 0)和玩家1(player 1),游戏牌为“j、q、k”。游戏开始的时候,发牌节点从三张牌“j、q、k”中分别给两个玩家各发一张牌,其中,先手牌固定为“q”,玩家0为先手玩家,在玩家0和玩家1均知情的情况下,给玩家0发牌为“q”;发牌节点从剩下的“j、k”中随机给玩家1发一张牌,对于玩家0而言不知道玩家1发的牌是“j”还是“k”。在图2中,以圆形表示玩家0的节点,以正方形表示玩家1的节点,以三角形表示发牌节点,在各个节点(该节点可以理解为动作节点或者状态节点)处对应的玩家需要做动作。由图2可知,每一个动作序列h就对应一条从初始节点到当前节点的路径;例如,h3既表示玩家1所处的一个动作节点或状态节点,从动作序列来看,h3对应的一动作序列为:h0:执行给玩家0发“q”游戏牌,随机给玩家1发“j”或“k”这两种可能的牌(对于玩家0而言,玩家1手持的牌是“j”或“k”是不确定的,该信息是玩家1的私密信息)

h1({h1,h2}代表一个信息集):在h1节点执行p动作后可以到达玩家1的h3节点

h3。
[0049]
在图2中,采用虚线连起来的{h1,h2}代表玩家0的一个信息集,由于玩家0不知道玩家1的手牌是j还是k,因此玩家0不能区分它自己到底在h1,h2中的哪个节点上,因此h1和h2构成一个信息集;类似的,{h7,h8}代表玩家0的另一个信息集。这里仅以玩家0的信息集作为示例,可以理解的是,同样的情况可以类推到玩家1,每个玩家各自都有信息集,多个信息集构成每个玩家各自的信息集的集合。
[0050]
例如,在图2所示例的博弈树对应的游戏场景下,对于玩家1而言,{h3}、{h4}、{h5}、{h6}各自均为一个信息集。
[0051]
在图2中,代表所有的终止序列,在每一个终止序列上,玩家都会获得各自的奖励(比如,赢的玩家得1分,输的玩家得-1分)。
[0052]
代表h1是玩家0的动作节点,h3是玩家1的动作节点。
[0053]
a(h1)={p,b}代表在h1节点处玩家0可选的动作选项是p和b。
[0054]
下面参照图2来描述博弈论中“策略”的含义,策略组合σ表示各个博弈参与方(例如玩家0和玩家1)在各个信息集下选择对应各个动作的概率分布,包含第i个博弈参与方的策略σi和除第i个博弈参与方之外的其他玩家的策略σ-i

[0055]
在步骤s220,确定包含多个遗憾最小化算法的备选算法集合。
[0056]
可以选用现有的或者改进后的遗憾最小化算法来得到备选算法集合。该遗憾最小化算法通过降低遗憾值的思路来对动作策略进行更新。
[0057]
例如,在一实施例中,上述备选算法集合包括以下遗憾最小化算法中的两项或更多项:rm算法、hedge算法和beta-rm算法。
[0058]
在步骤s230,对策略模型进行初始化处理,上述策略模型包括在上述目标博弈场景下上述各个博弈参与方在上述博弈路径的各个信息集下的对应动作选项的概率分布。
[0059]
图3示意性地示出了根据本公开实施例的对策略模型进行初始化处理的过程示意图。
[0060]
例如,参照图3所示,在零和不完美信息博弈的打牌游戏场景下,对策略模型进行初始化处理包括:对玩家0在博弈树的博弈路径的信息集{h1,h2}下的对应动作选项p和b的概率分布初始化为:动作选项p的概率为0.3,动作选项b的概率为0.7;对玩家1在博弈树的博弈路径的信息集{h3}下的对应动作选项p和b的概率分布初始化为:动作选项p的概率为0.8,动作选项b的概率为0.2;对玩家1在博弈树的博弈路径的信息集{h4}下的对应动作选项f和c的概率分布初始化为:动作选项f的概率为0.3,动作选项c的概率为0.7:对玩家1在博弈树的博弈路径的信息集{h5}下的对应动作选项p和b的概率分布初始化为:动作选项p的概率为0.6,动作选项b的概率为0.4;对玩家1在博弈树的博弈路径的信息集{h6}下的对应动作选项f和c的概率分布初始化为:动作选项f的概率为0.5,动作选项c的概率为0.5;对玩家0在博弈树的博弈路径的信息集{h7,h8}下的对应动作选项f和c的概率分布初始化为:动作选项f的概率为0.9,动作选项c的概率为0.1。
[0061]
参照图3所示,在零和不完美信息博弈的打牌游戏场景下,对策略模型进行初始化处理除了包括对上述玩家0和玩家1在博弈路径的各个信息集下的对应动作选项的概率分布进行随机初始化之外,还包括对发牌节点的发牌概率进行随机初始化这一步骤,例如在图3中示意的发牌节点h0给玩家0发牌为“q”,且给玩家1发牌为“j”的概率为0.5;发牌节点h0给玩家0发牌为“q”,且给玩家1发牌为“k”的概率为0.5。
[0062]
在步骤s240,基于上述备选算法集合,上述策略模型遍历上述博弈路径进行预设轮次的迭代计算来更新上述概率分布,得到迭代后的平均概率分布对应的平均策略模型,上述平均策略模型作为构建完成的博弈ai模型。
[0063]
其中,在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法。
[0064]
基于上述步骤s210~s240,通过确定包含多个遗憾最小化算法的备选算法集合,并在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法,在提供多种灵活的算法选择的同时还自适应地选择目标算法,提升迭代的收敛速度,从而提升博弈ai模型的构建效率。
[0065]
根据本公开的实施例,当构建完成的博弈ai模型被应用于上述目标博弈场景且作为上述目标博弈场景下的实际博弈参与方时,上述博弈ai模型根据上述平均概率分布来确定在各个信息集下执行的实际动作信息。
[0066]
图4示意性地示出了根据本公开实施例的在每轮迭代计算过程中自适应地确定对应的目标算法的实施过程示意图。
[0067]
根据本公开的实施例,参照图4所示,在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数(累计使用次数)来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法,包括以下步骤:s410、s420和s430。
[0068]
在步骤s410,在每轮迭代计算过程中,根据预先构造的关于上述次数的激励函数,计算上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数的激励函数值,上述激励函数被构造为当上述次数的取值越小时对应的激励函数值越大。
[0069]
在图4中,以5个遗憾最小化算法作为示例,这5个遗憾最小化算法分别简称为算法1、算法2、算法3、算法4和算法5,各个算法从迭代开始到当前轮(第t轮迭代计算过程,t的取值为正整数)被使用的次数分别依次对应为:count(1)、count(2)、count(3)、count(4)、count(5),预先构造的关于上述次数的激励函数表示为f(count),计算得到的算法1对应的激励函数值为f1,算法2对应的激励函数值为f2,算法3对应的激励函数值为f3,算法4对应的激励函数值为f4,算法5对应的激励函数值为f5。
[0070]
例如,在一示例性实施例中,激励函数可以采用以下递减函数形式:
[0071][0072]
其中,s表示遗憾最小化算法的序号,s取值为整数;count(s)表示序号为s的遗憾最小化算法从迭代开始到当前轮被使用的次数。这种情况下,count(s)迭代的初始值设定为1。
[0073]
在其他实施例中,激励函数还可以采用其他形式的递减函数。
[0074]
在步骤s420,计算当前轮中多个遗憾最小化算法各自的性能评价指标值和各自被使用次数所计算得到的激励函数值之间的加和值。
[0075]
参照图4所示,将算法1的性能评价指标值q1和对应的激励函数值f1进行求和计算,
得到加和值q1 f1,类似的,算法2对应得到加和值为q2 f2,算法3对应得到加和值为q3 f3,算法4对应得到加和值为q4 f4,算法5对应得到加和值为q5 f5。
[0076]
在步骤s430,确定最大加和值对应的遗憾最小化算法为上述目标算法。例如,参照图4所示,确定上述各个加和值中的最大加和值为:q4 f4,则本轮的目标算法对应为算法4,在本轮迭代结束后,对应更新算法4的累计使用次数count(4)的数量 1,参照图4中点划线示意的箭头所示,在下一轮(第t 1次)迭代中以更新后的次数进行计算。
[0077]
从大致趋势而言,随着迭代计算的进行,遗憾最小化算法的计算越高效,其对应的性能评价指标有可能对应越高且有利于被下次使用,同时遗憾最小化算法使用次数过高,也会导致其对应的激励函数越小,从而可以鼓励在迭代过程中激励选用使用次数较低且潜在的计算性能较优的遗憾最小化算法来作为目标算法,整体上有助于提升目标算法在每一轮的选择灵活性以及提升整体的迭代计算效率。
[0078]
图5示意性地示出了根据本公开实施例的策略模型遍历上述博弈路径进行预设轮次的迭代计算的实施过程示意图。
[0079]
根据本公开的实施例,参照图5所示,上述策略模型遍历上述博弈路径进行预设轮次的迭代计算,包括以下步骤:s510、s520、s530、s540和s550。
[0080]
在步骤s510,在每轮迭代计算过程中,计算从迭代开始到当前轮这一周期内各个博弈参与方在上述博弈路径的各个信息集下选择每个动作选项的累计遗憾值。
[0081]
根据本公开的实施例,在每轮迭代计算过程中,计算从迭代开始到当前轮这一周期内各个博弈参与方在上述博弈路径的各个信息集下选择每个动作选项的累计遗憾值,包括以下步骤:s511、s512、s513和s514。
[0082]
在步骤s511,针对当前轮和之前的每一轮,计算各个博弈参与方在到达各个信息集的前提下的期望收益。
[0083]
例如,在当前的第t轮迭代计算中,第i个博弈参与方在到达各个信息集i的前提下的期望收益可以通过以下公式进行计算:
[0084][0085]
其中,表示在当前的第t轮迭代中,第i个博弈参与方在策略σ
t
下到达各个信息集i的前提下的期望收益;表示在当前的第t轮迭代中,除了第i个博弈参与方之外的其他博弈参与方在策略σ
t
下到达动作序列h的到达概率;表示在当前的第t轮迭代中,在策略σ
t
下从动作序列h执行动作到达终止序列z的概率;ui(z)表示第i个博弈参与方在终止序列z下获得的收益。
[0086]
在不完美信息博弈的计算过程中,可以将动作序列h路径上的所有概率相乘得到动作序列h在策略组合σ下的到达概率π
σ
(h):
[0087][0088]
其中,h

|a表示动作序列h的路径上的任何一个节点h

和在该节点h

下对应可执行的动作选项a,表示需要决策的玩家在节点h

处对应执行动作a的概率;
[0089]
例如,结合图3所示,h7对应的动作序列为h0→
h1→
h3→
h7,那么到达概率π
σ
(h7)=0.5(发牌节点在h0节点执行动作:给玩家0发牌为“q”,给玩家1发牌为“j”的概率)
×
0.3(玩
家0在h1节点执行动作p的概率)
×
0.2(玩家1在h3节点执行动作b的概率)。
[0090]
根据该实施例可以理解以下表达式:
[0091][0092]
其中,表示第i个博弈参与方在策略σ下到达动作序列h的到达概率,表示处第i个博弈参与方之外的其他博弈参与方在策略σ下到达动作序列h的到达概率。
[0093]
在步骤s512,针对当前轮和之前的每一轮,计算各个博弈参与方在各个信息集下选择每个动作选项的反事实价值。
[0094]
例如,在当前的第t轮迭代计算中,第i个博弈参与方在各个信息集i下选择每个动作选项的反事实价值可以采用以下公式进行计算:
[0095][0096]
其中,表示在当前的第t轮迭代计算中,第i个博弈参与方基于策略σ
t
在信息集i下选择每个动作选项a的反事实价值;表示在当前的第t轮迭代计算中,在策略σ
t
下从动作序列h执行动作选项a到达终止序列z的概率。
[0097]
在步骤s513,针对当前轮和之前每一轮中的每个动作选项,计算上述反事实价值和上述期望收益之间的差值,得到瞬时遗憾值。
[0098]
例如,在当前的第t轮迭代计算中,瞬时遗憾值可以采用以下公式进行计算:
[0099][0100]
其中,表示在当前的第t轮迭代计算中,第i个博弈参与方在信息集i下选择每个动作选项a的瞬时遗憾值,可以采用上述公式(5)计算得到,可以采用上述公式(2)计算得到。
[0101]
在步骤s514,将本轮和本轮之前的所有轮的上述瞬时遗憾值进行累加,得到累计遗憾值。
[0102]
例如,在当前的第t轮迭代计算中,累计遗憾值可以采用以下公式进行计算:
[0103][0104]
其中,j表示迭代的轮次序号,取值为正整数,当前轮次的序号为t;表示在从迭代开始到当前的第t轮迭代这一周期内第i个博弈参与方在信息集i下选择每个动作选项a的累计遗憾值。
[0105]
在步骤s520,基于当前轮对应的目标算法,根据上述累计遗憾值来计算得到下一轮中各个博弈参与方在上述各个信息集下的对应动作选项的新的概率分布。
[0106]
根据本公开的实施例,上述备选算法集合包括以下遗憾最小化算法中的两项或更多项:rm算法、hedge算法和beta-rm算法。
[0107]
其中上述rm算法的计算公式为:
[0108][0109]
上述hedge算法的计算公式为:
[0110][0111]
上述beta-rm算法的计算公式为:
[0112][0113]
其中,表示在后续第t 1轮迭代中第i个博弈参与方在信息集i下对应各个动作选项a(为计算时的某一个当前动作选项,例如为信息集{h1,h2}对应的动作选项p或者动作选项b)的概率分布;a

表示第i个博弈参与方到达信息集i后所对应的动作选项集合下的所有可选的动作选项(例如为信息集{h1,h2}对应的动作选项集合{p,b}中的p和b);表示从迭代开始到当前的第t轮迭代这一周期内第i个博弈参与方在信息集i下选择每个动作选项a

的累计遗憾值,可以参照上述公式(7)来计算得到,β为超参数,β的取值为一个或多个预设值。例如在一实施例中,β=0.5,1.5,2。的含义参照前述公式(7)的描述,表示在从迭代开始到当前的第t轮迭代这一周期内第i个博弈参与方在信息集i下选择每个动作选项a的累计遗憾值,可以由公式(7)计算得到。
[0114]
例如信息集i为{h1,h2},a

表示玩家0到达信息集{h1,h2}后所对应的动作选项集合{p,b}下的所有可选动作选项p和b。
[0115]
将前述确定得到的目标算法对应的序号表示为k,则在激励函数为公式(1)示例的形式下,以5个遗憾最小化算法作为示例,可以得到目标算法对应的序号k的表达式为:
[0116][0117]
其中,argmax为寻找达到最大评分值对应的参量。
[0118]
根据算法mk能够计算下一轮的策略
[0119]
其中算法mk可以是前述公式(8)对应的rm算法、公式(9)对应的hedge算法、或者超参数β分别0.5、1.5或2时,公式(10)对应的beta-rm算法中的一个。
[0120]
在基于目标算法计算得到下一轮的策略之后,还可以对本轮的策略的可利用度进行计算,并根据当前轮次与下一轮次的策略这两个相邻轮次的策略的可利用度的改善情况来确定与纳什均衡策略的距离,从而可以基于距离的结果来对多个遗憾最小化算法各自的性能评价指标值进行更新。
[0121]
在策略组合σ下第i个博弈参与方的期望收益ui(σ)为:
[0122][0123]
其中,策略组合σ包括:第i个博弈参与方的策略σi和除第i个博弈参与方之外的其他博弈参与方的策略σ-i

[0124]
通过固定其他博弈参与方的策略σ-i
,可以计算第i个博弈参与方的最佳响应策略:
[0125][0126]
其中,br(σ-i
)表示在其他博弈参与方的策略σ-i
固定的情况下,第i个博弈参与方的最佳响应策略;ui(σi,σ-i
)表示在策略组合σ=(σi,σ-i
)下第i个博弈参与方的期望收益,表示表示当第i个博弈参与方的期望收益取值最大时对应的σi的策略取值(即为各个节点的对应信息集来执行动作选项的概率分布的取值)。
[0127]
在纳什均衡策略σ
*
下,每个玩家的策略都是其他玩家策略的最佳响应策略。
[0128]
策略σi的可利用度ei(σi)表示为:
[0129][0130]
其中,br(σi)表示当第i个博弈参与方的策略σi固定的情况下,其他博弈参与方的
最佳响应策略;分别表示第i个博弈参与方和其他博弈参与方的纳什均衡策略。
[0131]
那么,策略组合σ的可利用度e(σ)可以表示为:
[0132][0133]
表示策略组合σ与纳什均衡策略的距离,可利用度越小,代表策略组合σ越接近于纳什均衡解
[0134]
通过计算相邻两轮策略的可利用度之间的差值q(k),可以确定本轮策略和下一轮策略接近于纳什均衡解的程度的差异,如果下一轮策略相较于本轮策略而言更接近于纳什均衡解,那么下一轮策略对应的可利用度相较于本轮策略的可利用度而言较小,则计算得到的差值q(k)越大,说明本轮迭代中选择的目标算法的性能越好,采用差值q(k)来对应更新本轮的目标算法的性能评价指标值,以便在下一轮迭代计算中以各个算法更新后的性能评价指标值和各个算法更新后的累计使用次数来确定下一轮的目标算法。
[0135]
相邻两轮策略的可利用度之间的差值q(k)表示为以下表达式:
[0136]
q(k)=e(σ
t
)-e(σ
t 1
)
ꢀꢀꢀ
(16),
[0137]
更新各个算法的性能评价指标值的过程可以表示为以下表达式:
[0138]
q(k)

(更新后)=(1-α)q(k)(更新前) q(k),
ꢀꢀꢀ
(17),
[0139]
其中,α为预设系数,初始化的情况下,q(s(初始值))=0;在第t轮迭代中,目标算法的序号表示为k,下一轮的k的取值与上一轮迭代的k的取值可以相同或者不同,根据实际计算的结果而定。
[0140]
公式(17)中的等号为赋值运算;这里为了清楚进行描述而对更新前后的表示形式进行了区分,实际上在伪代码中赋值运算对应的更新前后的内容表示为一致也是可以理解的。
[0141]
更新各个算法的累计使用次数的过程可以表示为以下表达式:
[0142]
count(k)

(更新后)=count(k)(更新前) 1
ꢀꢀꢀ
(18)。
[0143]
在步骤s530,针对迭代的每一轮,将各个博弈参与方在上述博弈路径中到达各个信息集的到达概率作为各个信息集下的每个动作选项的概率的权重因子,加权计算得到各个动作选项的综合概率值。
[0144]
在步骤s540,计算从迭代开始至达到预设轮次这一周期内各个动作选项的综合概率值累计值。
[0145]
在步骤s550,根据每个动作选项的综合概率值累计值以及每个动作选项所在的信息集中所有动作选项的综合概率值累计值的加和进行归一化计算,得到平均概率分布,上述平均概率分布对应于迭代后的平均策略模型。
[0146]
步骤s530~s550可以表示为以下表达式:
[0147][0148][0149]
其中公式(20)中求和符号中的各个因素相当于上述步骤s530,公式(20)对应于上述步骤s540,公式(19)的整体公式相当于上述步骤s550。
[0150]
其中,表示:在第j次迭代过程中,将第i个博弈参与方在上述博弈路
径中到达各个信息集i的到达概率作为各个信息集i下的当前动作选项的概率(一个动作选项对应一个概率,通常一个信息集下有多个动作选项,多个动作选项的概率构成概率分布)的权重因子,进行加权计算得到的各个动作选项a的综合概率值;表示从迭代开始到当前轮这一周期内各个动作选项的综合概率值累计值;表示总共经过t轮迭代计算后,第i个博弈参与方在博弈路径中到达信息集i后选择动作选项a的平均概率分布,即得到平均策略模型(包含对应于博弈树的各个节点执行动作的概率信息),表示每个动作选项a所在的信息集i中的动作选项集合中将所有的动作选项a

的综合概率值累计值的加和。动作选项a

(例如为信息集{h1,h2}对应的动作选项集合{p,b}中的p和b)中包含当前的一个动作选项a(例如为信息集{h1,h2}对应的动作选项p或b)。
[0151]
本公开的第二个示例性实施例提供了一种数据处理的方法。上述数据处理的方法应用于博弈ai模型,上述博弈ai模型由如上所述的构建博弈ai模型的方法构建得到。
[0152]
图6示意性地示出了根据本公开实施例的数据处理的方法的流程图。
[0153]
参照图6所示,本公开实施例提供的数据处理的方法包括以下步骤:s610、s620和s630。
[0154]
在步骤s610,获取上述博弈ai模型在目标博弈场景被指派的角色信息。
[0155]
例如以具有私密信息的德州扑克游戏(一种卡牌游戏)作为目标博弈场景的示例,获取上述博弈模型在该场景下被指派的角色为玩家0和玩家1中的玩家0(具有出牌的先手)。
[0156]
在步骤s620,在上述博弈ai模型中确定与上述角色信息匹配的概率分布信息。
[0157]
根据最终得到的博弈ai模型可以获取玩家0和玩家1各自在目标博弈场景下的各个信息集i下选择多个动作选项a的平均概率分布,那么从上述平均概率分布中可以得到与角色信息:玩家0匹配的概率分布信息,结合图2对应的博弈树结构来看,与玩家0匹配的概率分布信息为:在到达信息集{h1,h2}后执行动作选项p和b的平均概率分布结果,例如最终结果为:执行动作选项p的平均概率为0.4,执行动作选项b的平均概率为0.6;以及在到达信息集(h7,h8}后执行动作选项f和c的平均概率分布结果,例如最终结果为:执行动作选项f的平均概率为0.8,执行动作选项c的平均概率为0.2。
[0158]
在步骤s630,在上述博弈ai模型执行动作的回合,根据上述概率分布信息来确定实际执行动作信息。
[0159]
进而该博弈ai模型在实际对局过程中,可以基于上述概率分布信息来确定实际执行动作信息,例如,玩家0在多回合(例如回合数为5次)游戏中,在处于信息集{h1,h2}的状态下,会按照0.4的概率来执行动作选项p,按照0.6的概率来执行动作选项b,比如进行5回合游戏时,在到达信息集{h1,h2}后随机有2(满足概率分布信息:5
×
0.4)个回合执行动作选项p,随机有3(满足概率分布信息:5
×
0.6)个回合执行动作选项b。
[0160]
本公开的第三个示例性实施例还提供一种构建博弈ai模型的装置。上述构建博弈ai模型的装置包括:博弈树信息确定模块、算法确定模块、概率初始化模块和迭代计算模块。
[0161]
上述博弈树信息确定模块用于确定目标博弈场景下的博弈树信息,上述博弈树信
息包括:上述目标博弈场景下各个博弈参与方的博弈路径的信息,上述博弈路径为上述各个博弈参与方在目标规则下进行交互动作直至博弈终止的动作选项的序列。
[0162]
上述算法确定模块用于确定包含多个遗憾最小化算法的备选算法集合。
[0163]
上述概率初始化模块用于对策略模型进行初始化处理,上述策略模型包括在上述目标博弈场景下上述各个博弈参与方在上述博弈路径的各个信息集下的对应动作选项的概率分布。
[0164]
上述迭代计算模块用于基于上述备选算法集合,上述策略模型遍历上述博弈路径进行预设轮次的迭代计算来更新上述概率分布,得到迭代后的平均概率分布对应的平均策略模型,上述平均策略模型作为构建完成的博弈ai模型。
[0165]
其中,在每轮迭代计算过程中,根据上述多个遗憾最小化算法的性能评价指标值和上述多个遗憾最小化算法从迭代开始到当前轮被使用的次数来确定上述备选算法集合中的特定遗憾最小化算法为当前轮要使用的目标算法。
[0166]
本公开的第四个示例性实施例还提供了一种数据处理的装置。
[0167]
上述数据处理的装置包括博弈ai模型,该博弈ai模型由如上所述构建博弈ai模型的方法构建得到或者由如上所述的构建博弈ai模型的装置构建得到,上述数据处理的装置包括:角色信息获取模块、概率分布信息确定模块和动作确定模块。
[0168]
上述角色信息获取模块用于获取上述博弈ai模型在目标博弈场景被指派的角色信息。
[0169]
上述概率分布信息确定模块用于在上述博弈ai模型中确定与上述角色信息匹配的概率分布信息。
[0170]
上述动作确定模块用于在上述博弈ai模型执行动作的回合,根据上述概率分布信息来确定实际执行动作信息。
[0171]
根据本公开的实施例,上述数据处理的装置包括以下一种或多种:人工智能设备、智能手机、计算机、服务器,当上述数据处理的装置为人工智能设备、智能手机或计算机时,该装置还根据上述实际执行动作信息来执行对应的动作;当上述数据处理的装置为服务器时,该装置将上述实际执行动作信息发送给对应的执行终端,以使该执行终端来执行对应的动作。
[0172]
上述构建博弈ai模型的装置或数据处理的装置中包含的各个模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。上述构建博弈ai模型的装置或数据处理的装置中包含的各个模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,上述构建博弈ai模型的装置或数据处理的装置包含的各个模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0173]
本公开的第五个示例性实施例还提供了一种电子设备。
[0174]
图7示意性地示出了本公开实施例提供的电子设备的结构框图。
[0175]
参照图7所示,本公开实施例提供的电子设备700包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701、通信接口702和存储器703通过通信总线704完成相互间的通信;存储器703,用于存放计算机程序;处理器701,用于执行存储器上所存放的程序时,实现如上所述的构建博弈ai模型的方法或数据处理的方法。
[0176]
本公开的第六个示例性实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的构建博弈ai模型的方法或数据处理的方法。
[0177]
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0178]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0179]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0180]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献