并行化不完美信息博弈策略生成方法、装置、电子设备以及存储介质

文档序号:27914382发布日期:2021-12-11 10:15阅读:140来源:国知局
并行化不完美信息博弈策略生成方法、装置、电子设备以及存储介质

1.本技术属于机器学习技术领域,具体而言,涉及一种并行化不完美信息博弈策略生成方法、装置、电子设备以及存储介质。


背景技术:

2.博弈长久以来一直是人工智能领域的重要应用场景之一。随着强化学习和深度学习的快速发展,很多完美信息博弈问题在过去的十年里已经得到了解决,借鉴其成功经验,不完美信息博弈问题的探索也取得了显著进展。
3.相比于完美信息博弈,不完美信息博弈状态信息的不完全可知使得许多传统的迭代和搜索算法不再适用。如何合理利用部分信息不可见的特征,在策略探索中避免陷入循环推理的困境,一直以来都是不完美信息博弈研究中关注的重点,也在此基础上衍生出了许多算法。其中,反事实后悔值最小化算法(以下简称cfr)是当下实际应用最广泛的通过自博训练生成近似纳什均衡策略的方法。cfr通过两个最小化后悔值算法之间的重复自我博弈逼近广义博弈的纳什均衡策略,但是每次迭代过程中需要对博弈树进行全遍历,导致算法复杂度较高。


技术实现要素:

4.本公开旨在至少在一定程度上解决相关技术中的技术问题之一。基于发明人对以下事实和问题的认识和理解:基于蒙特卡洛采样思想的反事实后悔值最小化算法(以下简称mccfr)通过合理选择抽样策略,最大程度减少遍历开销,但存在方差较大和收敛速度较慢的问题。改进的cfr+算法则优化了平均策略的计算,提高算法收敛效率。此外,结合在线子博弈求解的cfr

d算法和利用深度神经网络进行后悔值计算的类cfr算法在解决大规模不完美信息博弈问题中均有突出表现。但是以上策略生成方法仍然存在以下不足:面对大规模博弈问题时算法开销较大,且随博弈玩家数目指数增长;随着博弈深度加深,抵达概率趋于零导致策略更新不明显,收敛速度较慢;采样更新方差较大,导致最终策略容易陷入局部最优等等。
5.有鉴于此,本公开提出了一种并行化不完美信息博弈策略生成方法、装置、电子设备以及存储介质,以解决相关技术中的技术问题。
6.根据本公开的第一方面,提出并行化不完美信息博弈策略生成方法,包括以下步骤:
7.根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
8.利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
9.利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
10.以上并行化不完美信息博弈策略生成方法,其优点是,使用非完全回忆进行特征空间抽象,提升策略鲁棒性;在mccfr算法的基础上使用整体期望收益替代后悔值进行间隔更新,使用采样动作频数生成最终策略,结合特征映射和并行框架,提高算法收敛速度,缩短算法训练时间。
11.可选地,所述利用非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间,包括:
12.(1)初始化时,设定当前博弈共计l轮,进行抽象聚类的博弈树共计l层,博弈树中的每一层的聚类算法为m
k
(k=1,

,l),博弈树中的第k层的聚类数目为c
k
,m为聚类算法;
13.(2)使用度量函数d
l
,对博弈树的第l层的原始特征空间进行计算,得到聚类结果a
l
,将聚类结果a
l
中第i类的均值记为并计算聚类结果a
l
中第i类与第j类之间的距离
14.(3)使博弈树的当前层n=l

1,计算博弈树上该层每个节点x
n
的潜力直方图h
n
(x
n
)该潜力直方图中的第i个元素代表第n层节点x
n
在下一层聚类结果a
n+1
中属于第i类的概率,使用直方图地动距离作为度量函数和聚类算法m
n
,计算得到当前层n的聚类结果a
n

15.(4)重复步骤(3)直到n=1,得到博弈树所有层的聚类结果a=(a1,

,a
l
),即为非完全回忆压缩特征,并建立压缩后的抽象特征空间与原始特征空间的映射关系f(
·
)。
16.可选地,所述利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略,包括:
17.(1)设定一个蓝图策略,初始化时,该蓝图策略为随机策略,设定一个可重复的博弈对局,该对局包含的博弈玩家数目为p;
18.(2)将该蓝图策略输入博弈对局中,通过自我博弈产生样本,使用基于外部采样的mccfr最小化算法,在所述抽象特征空间内,通过整体期望收益替代原始mccfr算法中的反事实回报来计算所述自我博弈产生样本的后悔值;
19.假定在该样本中博弈玩家采取的行动为a,则可得当前玩家p在抽象信息集i
p
下关于a的整体后悔值;
20.(3)根据所述后悔值计算方法,更新当前博弈玩家p在下一迭代轮次的蓝图策略;
21.(4)使用间隔更新和并行蒙特卡洛采样方法交替更新不同博弈玩家策略,设定后悔值变化幅度阈值r
switch
和策略更新次数阈值t
switch
,每当博弈玩家p的策略迭代后,若累计整体后悔值变化幅度超过阈值,且累计更新次数抵达阈值时,切换为另一玩家p

,重复(2)至(3)对玩家p

更新策略。
22.(5)使用动作采样替代原始mccfr算法中的抵达概率加权来计算最终输出的蓝图策略,在每轮策略更新迭代后,创建一个新的博弈环境,输入当前轮即时策略并进行k次模拟对局,记录每次对局在不同抽象信息集i下每个动作a被选中的次数,得到t轮迭代后输出的蓝图策略。
23.可选地,所述利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新,包括:
24.(1)根据所述非完全回忆聚类方法得到的抽象特征空间和映射关系,对原始特征空间做字符编码,即利用md5哈希算法将原始特征转换为固定长度16进制字符串,并在字符
串空间内使用键值映射,为每个原始特征分配一个固定编号;
25.(2)根据所述分配的固定编号,将所述后悔值和所述蓝图策略进行分布式存储;
26.(3)设定蓝图策略更新次数阈值,对于分布式存储的每个蓝图策略,每当更新次数抵达阈值时保存当前蓝图策略,与上一次保存的蓝图策略进行仿真对抗测试,直至仿真对抗中当前蓝图策略的收益无明显提升,生成不完美信息博弈策略。
27.根据本公开的第二方面,提出并行化不完美信息博弈策略生成装置,包括:
28.空间压缩模块,用于根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
29.自我博弈模块,利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
30.计算模块,利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
31.根据本公开的第三方面,提出电子设备,包括:
32.存储器,用于存储处理器可执行的指令;
33.处理器,所述处理器被配置执行:
34.根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
35.利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
36.利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
37.根据本公开的第四方面,提出计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行:
38.根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
39.利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
40.利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
41.根据本公开的实施例,使用非完全回忆进行特征空间抽象,提升策略鲁棒性;在mccfr算法的基础上使用整体期望收益替代后悔值进行间隔更新,使用采样动作频数生成最终策略,结合特征映射和并行框架,提高算法收敛速度,缩短算法训练时间。
42.本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
43.为了更清楚的说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显然,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
45.图1为根据本公开一个实施例的行化不完美信息博弈策略生成方法流程框图。
46.图2为根据本公开一个实施例的具体流程框图。
47.图3是本公开一个实施例的行化不完美信息博弈策略生成装置的示意框图。
48.图4为根据本公开一个实施例的训练过程图像。
49.图5为根据本公开一个实施例的训练结果展示图像。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.图1所示是根据本公开的一个实施例示出的并行化不完美信息博弈策略生成方法的示意流程图。本实施例的并行化不完美信息博弈策略生成方法,可以适用于用户设备,例如手机、平板电脑等。
52.如图1和图2所示,所述并行化不完美信息博弈策略生成方法,可以包括以下步骤:
53.在步骤中,根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间。
54.在一个实施例中,所述利用非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间,包括:
55.(1)初始化时,设定当前博弈共计l轮,进行抽象聚类的博弈树共计l层,博弈树中的每一层的聚类算法为m
k
(k=1,

,l),博弈树中的第k层的聚类数目为c
k
,m为聚类算法(例如最近邻聚类算法k

means);
56.(2)使用度量函数d
l
,对博弈树的第l层的原始特征空间进行计算,得到聚类结果a
l
,将聚类结果a
l
中第i类的均值记为并计算聚类结果a
l
中第i类与第j类之间的距离
57.(3)使博弈树的当前层n=l

1,计算博弈树上该层每个节点x
n
的潜力直方图h
n
(x
n
),潜力直方图h
n
(x
n
)为一维向量,向量的长度为博弈树第n+1层的聚类数目为c
n+1
,该潜力直方图中的第i个元素代表第n层节点x
n
在下一层聚类结果a
n+1
中属于第i类的概率,使用直方图地动距离(earth mover’s distance,简称emd)作为度量函数和聚类算法m
n
,计算得到当前层n的聚类结果a
n

58.(4)重复步骤(3)直到n=1,得到博弈树所有层的聚类结果a=(a1,

,a
l
),即为非完全回忆压缩特征,并建立压缩后的抽象特征空间与原始特征空间的映射关系f(
·
)。
59.在一个实施例中,使用非完全回忆聚类方法,并使用直方图emd作为度量函数,产生的意想不到的技术效果主要有:非完全回忆相对于传统的完全回忆抽象方法,要求针对某一博弈玩家当前轮信息集做聚类时可以忽略其在此前决策点获取的信息(如对手的历史行动),而在不完美信息博弈问题中,非完全回忆聚类可以实现对历史轨迹的模糊化,使得博弈玩家能够在一定程度上遗忘自身或对手的历史行动,从而有助于降低自身策略被对手欺诈行为影响的可能性,提升策略的鲁棒性。
60.在步骤2中,利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略。
61.在一个实施例中,所述利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略,包括:
62.(1)设定一个蓝图策略,初始化时,该蓝图策略为随机策略,设定一个可重复的博弈对局,该对局包含的博弈玩家数目为p;
63.(2)将该蓝图策略输入博弈对局中,通过自我博弈产生样本,使用基于外部采样的mccfr最小化算法,在所述抽象特征空间内,通过整体期望收益替代原始mccfr算法中的反事实回报来计算所述自我博弈产生样本的后悔值,计算公式如下:
[0064][0065]
其中,t为当前迭代轮次,p为当前博弈玩家,i
p
为当前博弈玩家所产生的样本在所述映射关系f(
·
)下的抽象特征,即抽象信息集,σ
t
为当前迭代轮次下的蓝图策略,为抽象信息集i
p
的在蓝图策略σ
t
下的近似访问概率,为在蓝图策略σ
t
下玩家p在抽象信息集i
p
上的近似收益期望;
[0066]
假定在该样本中博弈玩家采取的行动为a,则可得当前玩家p在抽象信息集i
p
下关于a的整体后悔值:
[0067][0068]
(3)根据所述后悔值计算方法,更新当前博弈玩家p在下一迭代轮次t+1的蓝图策略σ
t+1
,计算公式如下:
[0069][0070]
其中,r
t
(a|i
p
)为所述整体后悔值,a为所有可选动作,|a|为所有可选动作的数目。
[0071]
(4)使用间隔更新和并行蒙特卡洛采样方法交替更新不同博弈玩家策略,设定后悔值变化幅度阈值r
switch
和策略更新次数阈值t
switch
,每当博弈玩家p的策略迭代后,若累计整体后悔值变化幅度超过阈值,且累计更新次数抵达阈值时,切换为另一玩家p

,重复(2)至(3)对玩家p

更新策略。
[0072]
(5)使用动作采样替代原始mccfr算法中的抵达概率加权来计算最终输出的蓝图策略,在每轮策略更新迭代后,创建一个新的博弈环境,输入当前轮即时策略并进行k次模拟对局,记录每次对局在不同抽象信息集i下每个动作a被选中的次数,即动作频数f(a|t,σ
t
,i),则在t轮迭代后输出的蓝图策略为:
[0073]
[0074]
在一个实施例中,整体期望收益替代原始mccfr算法中的反事实回报来计算所述自我博弈产生样本的后悔值,使用间隔更新和并行蒙特卡洛采样方法交替更新不同博弈玩家策略,使用动作采样替代原始mccfr算法中的抵达概率加权来计算最终输出的蓝图策略,产生的意想不到的的技术效果包括:
[0075]
a、随着博弈问题规模的扩大和博弈树深度的加深,原始mccfr算法由于不会遍历所有可能的行动,对于抽象信息集i
p
的访问概率会随着探索深度的提升而不断下降,导致对应的反事实回报和整体后悔值r
t
(a|i
p
)的绝对数值不断减小,进而使得在更新整体后悔值时出现数值过低收敛速度下降的情形。而采样整体期望收益替代反事实回报,即不考虑信息集的抵达概率,可以使得策略迭代过程中数值更新幅度不会突降至零,显著提升了策略收敛的速度,且不会出现更新停滞的情形。
[0076]
b、原始mccfr算法在单次迭代中对后悔值的更新并不可靠,因此往往需要提高迭代轮数才能保证后悔值的更新符合预期,而使用间隔更新和并行蒙特卡洛采样方法交替更新不同博弈玩家策略,可以显著降低原始mccfr算法中只对随机事件的动作采样一次的随机性,在保证算法单次迭代的时间开销基本不变的前提下,增大了算法对博弈树的遍历程度,使其更适合处理随机事件动作离散程度较高的博弈问题,提升了算法最终生成策略的性能。
[0077]
使用动作采样替代原始mccfr算法中的抵达概率加权来计算最终输出的蓝图策略,相比原有的基于抵达概率和后悔值进行平均的算法,减少了某一轮策略迭代中整体后悔值异常时,可能带来的最终生成策略的偏差,提升了算法的稳定性和鲁棒性。
[0078]
在步骤3中,利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
[0079]
在一个实施例中,所述利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新,包括:
[0080]
(1)根据所述非完全回忆聚类方法得到的抽象特征空间和映射关系,对原始特征空间做字符编码,即利用md5哈希算法将原始特征转换为固定长度16进制字符串,并在字符串空间内使用键值映射,为每个原始特征分配一个固定编号;
[0081]
(2)根据所述分配的固定编号,将所述后悔值和所述蓝图策略进行分布式存储;
[0082]
(3)设定蓝图策略更新次数阈值,对于分布式存储的每个蓝图策略,每当更新次数抵达阈值时保存当前蓝图策略,与上一次保存的蓝图策略进行仿真对抗测试,直至仿真对抗中当前蓝图策略的收益无明显提升,生成不完美信息博弈策略。
[0083]
与上述并行化不完美信息博弈策略生成方法相对应地,本公开还提出了并行化不完美信息博弈策略生成装置。
[0084]
图3所示为并行化不完美信息博弈策略生成装置的示意框图,包括:
[0085]
空间压缩模块,用于根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
[0086]
自我博弈模块,利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
[0087]
计算模块,利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
[0088]
本公开的实施例还提出了一种电子设备,包括:
[0089]
存储器,用于存储处理器可执行的指令;以及
[0090]
处理器,所述处理器被配置执行:
[0091]
根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
[0092]
利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
[0093]
利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
[0094]
本公开的实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行:
[0095]
根据非完全回忆聚类方法,对不完美信息博弈的原始特征空间进行压缩,得到抽象特征空间;
[0096]
利用mccfr最小化方法,在所述抽象特征空间内,通过自我博弈,迭代生成蓝图策略;
[0097]
利用特征字符串的哈希算法,对蓝图策略进行分布式存储和更新。
[0098]
需要说明的是,本公开的实施例中,所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(fieldprogrammable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述汽车配件图片数据集制作设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(sma rt med ia ca rd,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。风电系统运行稳定域的构建装置的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,readonly memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本公开
提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0099]
下面通过具体的实施例对发明的并行化不完美信息博弈策略生成方法进行详细说明。
[0100]
以两人无限注德州扑克为例,该博弈问题是典型的两人零和不完美信息非合作动态博弈,传统的cfr算法在该问题上迭代速度极慢,难以收敛到近似纳什均衡策略。对于该问题,构建的博弈树总层数l=4,计算抽象特征空间时设置设置博弈树第1层最终聚类数目为c1=169,其他3层最终的聚类数目为c2=c3=c4=200;最后一层的聚类算法m4使用k

means算法,距离度量函数d4为手牌强度期望(ehs)分布的欧式距离,其他3层的聚类算法均为k

means算法,距离度量函数均使用直方图emd。自博迭代生成蓝图策略算法设置200个并行仿真环境,后悔值存储分布式存储器个数为10,设置博弈玩家后悔值变化幅度阈值r
switch
=200000,策略更新次数阈值t
switch
=100。
[0101]
图4是上述算法和原始mccfr算法在两人无限注德州扑克环境中的训练过程比较,可以发现并行化不完美信息策略生成算法在收敛速度和最终收敛策略的性能上均优于原始mccfr算法。
[0102]
图5是算法生成的策略与2017年国际扑克ai锦标赛冠军slumbot的在线对战记录,可以发现随着迭代次数提升策略性能逐渐稳定,并优于slumbot。
[0103]
尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1