一种基于离散空间的对抗性群集体系的阵型模拟优化系统技术方案

技术编号:33132506 阅读:19 留言:0更新日期:2022-04-17 00:52
本发明专利技术公开了一种基于离散空间的对抗性群集体系的阵型模拟优化系统,模拟系统包括规则定义模块,初始化模块,博弈树算法模块,静态评估函数模块,胜负判定模块,显示界面及运行模块和数据库模块。本发明专利技术提供模拟系统的扩展性代码,即可以在源代码基础上直接修改对弈棋盘大小,博弈人数,博弈规则等,从而进行更深入和进一步地模拟和分析。本发明专利技术系统相比现有的技术系统,在图形界面上有了新的构建,在博弈规则及成员数量上可灵活调整,提高了博弈系统的扩展性和鲁棒性,且静态估值函数要强于一般的打分函数,算法更加智能,能够得到更好的博弈结果。弈结果。弈结果。

【技术实现步骤摘要】
一种基于离散空间的对抗性群集体系的阵型模拟优化系统


[0001]本专利技术涉及群集体系,复杂网络,对抗性博弈领域,主要涉及一种基于离散空间的对抗性群集体系的阵型模拟优化系统。

技术介绍

[0002]军事作战讲究阵型,一个优秀的阵型可以最大限度地发挥所有战争单位的火力,用更短的时间向敌人投射更多的弹药,对赢取战斗有决定意义。
[0003]在常见的军事战术中,尤其以海军、空军的作战单位(包括水面舰艇、潜艇、航空母舰、战斗机、海空侦察机等兵种)在实战场景下,经常会面临由于战场可见度、科技水平、敌友力量对比等因素的限制,而需要采取“机动灵活,围点打援,创造局部作战数量优势”的策略,20世纪初法国军队中的绿水学派针对这一问题,提出了一种新的海军作战思想,即主张以潜艇、战斗机、鱼雷艇等建造成本较低但数量庞大的作战单位对抗由少量大战舰组成的海军舰队,在局部地区创造“敌寡我众”的场景并围而歼之。
[0004]因此,如何创造局部优势成为了军事研究的重要课题,在目前的军事战术研究中,有很多不同类型对抗性群集体系阵型博弈策略可以实现这一优势,另外,对这方面的研究也进入到一个逐渐广泛化的阶段,尤其是关于对抗性集体系阵型博弈阵型的研究在上个世纪的海军战术分析中普及开来后,在空军、陆军乃至各个行业、各个领域的博弈课题中,也都出现了广泛地研究和仿真模拟,不同领域的科学家和工程师们试图通过模拟不同的博弈阵型变换,从而获得更加优秀的博弈策略和系统。典型的对抗性群集体系的阵型有“T字阵型”策略,该策略主要来自于法国海军绿水学派于第一次世界大战中对“一字型战术”的改进;考虑到博弈的性质、特点、类型和样式,T字阵型作为抗性群集体系阵型博弈的主要技战术,具有相当的分析研究意义,因此,该专利技术例系统从博弈论角度,选取对抗性群集体系的T字阵型,进行分析和模拟。
[0005]在博弈论中,博弈策略是指每个博弈方在进行决策时,可以选择的做法、方法。博弈成员在博弈中的策略是指在所有可能发生情况下的一套完整行动计划;这完全决定了成员的行为。成员的策略会决定成员在博弈的任一阶段所采取的行动,不论这一阶段之前是如何演变而来的,策略集合是个由玩家所能采取的策略所组成的集合。
[0006]博弈策略选择,考虑到在博弈过程中会产生巨大的搜索空间,在计算条件有限的情况下要穷举所有可能路径根本不现实,如何在有限的的时间和适当的搜索空间范围内获得最大的搜索效率是需要不断探索的目标。
[0007]当前在学术界和工业界常用的用于实现博弈空间搜索的算法主要以“博弈树”方面的居多,因此这里引入博弈树的概念,博弈树(game tree)是指组合博弈理论中用来表达一个博弈中各种后续可能性的树,一个完整的博弈树(complete game tree)会有一个起始节点,代表博弈中某一个情形,接着下一层的子节点是原来父节点博弈下一步的各种可能性,依照这规则扩展直到博弈结束,博弈树中形成的叶节点代表各种游戏结束的可能情形。博弈树作为机器学习领域的传统算法,在有着明确规则定义的多人对弈方向上有广泛的应
用。目前,工业界常用的传统机器学习博弈树算法主要有蒙特卡洛搜索树算法(MCTS)、极大极小值算法(MMS)以及阿尔法贝塔剪枝算法等。
[0008]1.蒙特卡洛树搜索算法(MCTS),蒙特卡洛树是一种基于树的数据结构、能在搜索空间巨大仍然比较有效的启发式搜索算法,蒙特卡洛搜索树是一种逼近纳什均衡的搜索策略。该算法又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。蒙特卡洛方法利用了一个基本的思想:随机模拟。根据大数定理、多次采样最终得到的样本均值可以估计变量的期望。蒙特卡罗树搜索可以被分成四步。选择(Selection),拓展(Expansion),模拟(Simulation),反向传播(Backpropagation)。在选择阶段,需要从根节点,也就是要做决策的局面出发向下选择出一个最急迫需要被拓展的节点,在选择阶段结束时候进入拓展阶段,我们查找到了一个最迫切被拓展的节点,以及他一个尚未拓展的动作。在搜索树中创建一个新的节点作为新子节点。则局面就是节点在执行了该动作之后的局面,在模拟阶段,让游戏随机进行,直到得到一个游戏结局,这个结局将作为初始评分。一般使用胜利/失败来作为评分,只有1或者0。
[0009]以上介绍是基于置信区间上界算法(UCB),随着算法的发展,蒙特卡洛搜索树已经有了非常大的改变。很多围棋AI都已经不再使用纯粹的置信区间上界算法而改用效果更好的UCB1

Tuned了,而搜索方法上也有了相当的改动。
[0010]2.负极大值算法加阿尔法贝塔剪枝,阿尔法贝塔剪枝算法用于提高执行效率,它们可进行组合来为博弈模型进行建模,所谓负极大算法,指轮到本方做出决策的时候,通常希望最大化本方收益,
[0011]叫做极大层,此时树的节点叫做极大层节点;在对手做决策的时候,对手希望最小化本方收益,叫做极小层,此时树的节点叫做极小层节点,由于双方是交替做出决策,因此极大层、极小层通常是交替出现,这样的数据结构就叫做极大极小树,负极大值算法虽然没有在效率上有所提升,但是从逻辑上简化了极大极小算法。因此,以这类算法作为基础对T字阵型进行仿真是比较合理的。
[0012]综合考虑算法的通用性,易用性,可实现性以及时间复杂度、空间复杂度,这里使用负极大算法和阿尔法贝塔剪枝算法来实现这一模拟博弈系统。

技术实现思路

[0013]针对现有技术中存在的不足,本专利技术提供一种基于离散空间的对抗性群集体系的阵型模拟优化系统,目标在于计算T字阵型博弈产生的策略空间并计算求解最优博弈路径。为实现该策略和系统,采用负极大值算法、阿尔法贝塔剪枝和静态评估函数技术。
[0014]本专利技术提供模拟系统的扩展性代码,即可以在源代码基础上直接修改对弈棋盘大小,博弈人数,博弈规则等,从而进行更深入和进一步地模拟和分析。
[0015]一种基于离散空间的对抗性群集体系的阵型模拟优化系统,包括以下模块:规则定义模块,初始化模块,博弈树算法模块,静态评估函数模块,胜负判定模块,显示界面及运行模块,数据库模块。
[0016]所述的规则定义模块:根据用户需求,自定义各个博弈成员的获胜行为,确保静态评估函数模块能够正确合理打分。
[0017]所述的初始化模块:生成棋盘网格、成员数量及位置,创建数据库表,为接下来显示界面及运行模块和数据库模块正常运行做准备。
[0018]所述的博弈树算法模块:为两队成员能够进行博弈提供算法框架;
[0019]所述的静态评估函数模块:系统运行过程中,博弈成员通过该模块为自己接下来的所有走法进行打分,并选取分值最大的走法作为接下来的路径;
[0020]所述的胜负判定模块:对每一局的局面进行判定,判断当前局面是否满足规则定义模块里定义的规则,若不满足则继续博弈,若满足某个规则则输出胜/负/平结果;
[0021]所述的显示界面及运行模块:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于离散空间的对抗性群集体系的阵型模拟优化系统,其特征在于,包括以下模块:规则定义模块,初始化模块,博弈树算法模块,静态评估函数模块,胜负判定模块,显示界面及运行模块,数据库模块;所述的规则定义模块:根据用户需求,自定义各个博弈成员的获胜行为,确保静态评估函数模块能够正确合理打分;所述的初始化模块:生成棋盘网格、成员数量及位置,创建数据库表,为接下来显示界面及运行模块和数据库模块正常运行做准备;所述的博弈树算法模块:为两队成员能够进行博弈提供算法框架;所述的静态评估函数模块:系统运行过程中,博弈成员通过该模块为自己接下来的所有走法进行打分,并选取分值最大的走法作为接下来的路径;所述的胜负判定模块:对每一局的局面进行判定,判断当前局面是否满足规则定义模块里定义的规则,若不满足则继续博弈,若满足某个规则则输出胜/负/平结果;所述的显示界面及运行模块:为博弈系统提供可视化界面,使用户能够直观的看到博弈的正过程;所述的数据库模块:存取博弈成员的路径数据和胜负数据。2.根据权利要求1所述的一种基于离散空间的对抗性群集体系的阵型模拟优化系统,其特征在于,所述的规则定义模块具体如下:定义博弈规则,该博弈策略空间模拟系统可定义如下博弈规则:博弈队伍数量为双队博弈,每支队伍队内成员为N人,N为需要输入的数值,根据需求为每支队伍成员数量赋值,博弈判定方式为摆出形状并吃掉对手成员,博弈胜负表示为胜、负、平;博弈判定方式的公式如下,n为其中一个队伍的人数递增序列,hit(X,Y)为一个成员打击范围的坐标值,公式如下:定义离散化网格棋盘;由于在现实博弈过程中成员的坐标是连续性的,为方便和简化场景,因此在这里通过四舍五入方式将连续坐标转化为离散状态,通过近似值法将非整数部分抹去,转换公式如下:其中为x的近似值;设置网格棋盘坐标为离散态,棋盘大小为board_n*board_n,board_n是需要输入进系统的值,棋盘大小可根据需要调整,即通过改变board_n的值来调整,棋盘网格坐标的表示方法是比特位表示法,公式如下,其中a
i,j
表示某个成员a的坐标(i,j),该成员所在的网格区域,则网格区域board
i,j
置为1,若网格区域无任何成员,则该区域坐标为0A=[a
i,j
]
nxn
,3.根据权利要求1所述的一种基于离散空间的对抗性群集体系的阵型模拟优化系统,
其特征在于,所述的初始化模块具体如下:棋盘网格初始化;以初始坐标点(50,50)为基准点,间距为20mm,网格系数为N,构建该棋盘结构,网格坐标数值计算按照如下公式:博弈成员位置初始化;两队博弈中,设定两块随机出生区域其空间坐标用公式描述如下:下:random()是常用的随机函数,一个网格内只允许有一个成员,不可以挤占其他成员位置(无论队友还是对方成员),若初始化得到的任意两个成员坐标相同,则抛弃此次初始化结果,重新进行初始化操作;A队伍和B队伍成员位置的初始化算法分别如下:结果,重新进行初始化操作;A队伍和B队伍成员位置的初始化算法分别如下:初始化程序运行速度speed_factor。4.根据权利要求1所述的一种基于离散空间的对抗性群集体系的阵型模拟优化系统,其特征在于,所述的胜负判定模块具体如下:胜负判定模块可进行自定义编写,成员的攻击范围是其上、下、左、右共4个网格,为方便解释博弈规则,此处说明当本队伍中两名成员的某个攻击范围有重叠的情况下,攻击范围生效,即规则如下:A队成员A1的上、下、左、右中其中一个网格与成员A2的上、下、左、右其中一个网格具有相同坐标,则判定A队伍的两位成员的这两个打击网格当前处于重叠状态,那么此时该“重叠网格”判定为一个有效的打击范围网格;当B队伍的某个成员(B1/B2)的坐标进入A队的该打击网格,则判定为B队输,即如果有B成员进入此攻击范围,则该成员被吃掉,整个博弈过程结束,算法给出胜负数据,同理B队伍的整套打击规则同A规则完全相同,由于系统初始化模块的设置,会存在多个成员的情况,因此若进行更加复杂的研究,可对胜负判定模块进行定制。5.根据权利要求1所述的一种基于离散空间的对抗性群集体系的阵型模拟优化系统,其特征在于,所述的博弈树算法模块具体如下:博弈树中maxs节点是在当前局面下主动方所取得最优路径(即打分值最大)的值,它属于minmax博弈树中的后继子节点之一,mins节点属于在当前局面下被动方所取得最差结果的值(即对方选择了打分值最大后的结果),后继子节点用successor(n)表示,打分函数用utility(n)表示,博弈树模型的原理如下:
minmax

value(n)=utility(n)maxs∈successor(n)minmax(s)mins∈successor(n)minmax(s)博弈树的状态转移方程式如下,S0为博弈的初始局面,qn+1为第n+1步的着法算子,而Sn+1为下完第n+1步后的棋局,因此博弈过程中存在的状态转移方程可表示为:S
n+1
=S
n
·
q
n+1
,S0=S(0)S
f
=S0·
q1·
q2·

·
q
f
=s0·
Q式中S
f
为终局,或A胜,或B胜,或平局,着法序列用于记载博弈过程如下:Q={q
1 q
1 q1ꢀ…ꢀ
q
n
}根据博弈树的算法原理,采用博弈树中的负极大值算法作为框架进行建模,一个走法对A的估值,等于其对B的估值的相反数;因此,当前算法要搜索的是一个使其估值的相反数最大化的走法——其后继的走法分数必须由对方评估,对当前是A还是B都适用,此为负极大值算法的运行原理,用公式表示如下:F(v)=

max{

F(v1),

F(v2),

,

F(vn)}value=

NegaMax(p,d

1)F(v)是在当前层级下对所有叶子节点的返回的结果取负最大值,value为算法在进行层序遍历时到最后一层后进行求极大值返回得到的结果;在树的遍历过程中,采用深度优先搜索方法进行遍历,在搜索过程中的任何时候仅仅生成整棵树的一小部分,搜索过的部分被立即删去;为提高博弈树搜索效率,将α

β剪枝算法加入到负极大值算法中去,α

β剪枝算法中每个节点有1个α和1个β,α表示当前该节点的最好下界,β表示当前节点的最好上界;开始α为负无穷,β为正无穷;进行搜索时,max层节点每搜索它的1个子节点,就要更新自身的α,而min层节点每搜索它的1个子节点,就要更新自身的β;当更新之后发现α>=β,则说明后面的子节点已经不需要进行搜索,直接剪掉。6.根据权利要求1所述的一种基于离散空间的对抗性群集体系的阵型模拟优化系统,其特征在于,所述的静态评估函数模块具体如下:博弈中任意一个队伍的总价值就是该队伍成员*成员价值,该公式如下,其中n为队伍中成员的递增序列,遍历每一个成员,都存在成员i当前的得分membervalue(i),得分由静态评估函数提供的;一个估值函数可以从若干角度评价某一局面上博弈双方的优劣程度;将这些不同方面的评价得分加总在一起,即构成了一方的价值总和,如果仅仅看两个博弈队伍的话,一个局面的总估值tv就是一方和另一方的价值差,表达如下式:为了对模型进行量化,设定评估函数为G(s),s为当前的局面,G(s)为当前局面的评估值,引入评估函数G(s)的,模型如下:
G(s)=a1f1(s)+a2f2(s)+

+a
n
f...

【专利技术属性】
技术研发人员:刘一锴韩筱璞
申请(专利权)人:杭州师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1