本发明涉及博弈决策技术领域,特别涉及一种一对一空战游戏环境下面向未知策略对手的博弈决策方法及系统。
背景技术:
机器博弈是一门研究如何利用机器学习方法来解决对抗性决策问题的学科。随着人工智能技术的快速发展,机器博弈理论及相关应用已经深入到诸如政治、金融、军事等社会各个领域。例如由deepmind在2016年以及2017年推出的alphago和alphagozero系统,在围棋类博弈游戏中成功战胜人类高手玩家,这也预示着机器博弈学科有希望,也有能力在未来生活的多个环节中为人类提供辅助决策支持。
若以博弈过程中对手信息是否完全进行划分,博弈类问题可以大致归类为完美信息博弈以及不完美信息博弈,不完美信息条件下的博弈过程因为博弈信息的缺失增加了解决问题的难度,然而在实际应用中,由于各种主观以及客观的原因使得博弈信息的缺失成为常态,因此研究不完美信息的博弈过程更具有现实意义。
一对一空战游戏是一类典型的博弈决策类游戏,而对手策略未知的对抗环境也是该类游戏的常规设定,因此是一类很有代表性的不完美信息博弈算法实验平台。
技术实现要素:
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种面向未知策略对手的蒙特卡洛搜索博弈决策方法,该方法在不需要获悉对手博弈策略的前提下,可充分考虑对手决策的各种可能性,并做出相应的应对决策,提升对抗胜率。
本发明的另一个目的在于提出一种面向未知策略对手的蒙特卡洛搜索博弈决策系统。
为达到上述目的,本发明一方面实施例提出了面向未知策略对手的蒙特卡洛搜索博弈决策方法,包括以下步骤:以在空战格斗游戏环境下敌我双方当前态势对后续对抗局势的影响以及敌我双方的物理约束因素作为参考标准,设计复合状态评价函数;通过所述复合状态评价函数从多个维度描述对抗进展中敌我双方态势的变化情况;根据所述变化情况通过融合最大最小博弈思想的蒙特卡洛搜索算法,在面对未知决策方法的空战游戏对手时,输出博弈决策。
本发明实施例的面向未知策略对手的蒙特卡洛搜索博弈决策方法,通过最大最小博弈算法敌我双方交替决策的博弈策略思想,提出在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作,从而在不需要获悉对手博弈策略的前提下,可充分考虑对手决策的各种可能性,并做出相应的应对决策,提升对抗胜率。
另外,根据本发明上述实施例的面向未知策略对手的蒙特卡洛搜索博弈决策方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述复合状态评价函包含即时回报项、持续回报项与物理关系合理性约束项。
进一步地,在本发明的一个实施例中,所述持续回报项包括:以敌我双方的态势优劣持续时间为依据计算回报,我方优或劣态势持续时间越久,对与我方态势评价函数的奖励/惩罚值越大。
进一步地,在本发明的一个实施例中,还包括:在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作。
为达到上述目的,本发明另一方面实施例提出了面向未知策略对手的蒙特卡洛搜索博弈决策系统,包括:设计模块,用于以在空战格斗游戏环境下敌我双方当前态势对后续对抗局势的影响以及敌我双方的物理约束因素作为参考标准,设计复合状态评价函数;描述模块,用于通过所述复合状态评价函数从多个维度描述对抗进展中敌我双方态势的变化情况;输出模块,用于根据所述变化情况通过融合最大最小博弈思想的蒙特卡洛搜索算法,在面对未知决策方法的空战游戏对手时,输出博弈决策。
本发明实施例的面向未知策略对手的蒙特卡洛搜索博弈决策系统,通过最大最小博弈算法敌我双方交替决策的博弈策略思想,提出在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作,从而在不需要获悉对手博弈策略的前提下,可充分考虑对手决策的各种可能性,并做出相应的应对决策,提升对抗胜率。
另外,根据本发明上述实施例的面向未知策略对手的蒙特卡洛搜索博弈决策系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述复合状态评价函包含即时回报项、持续回报项与物理关系合理性约束项。
进一步地,在本发明的一个实施例中,所述持续回报项包括:以敌我双方的态势优劣持续时间为依据计算回报,我方优或劣态势持续时间越久,对与我方态势评价函数的奖励/惩罚值越大。
可选地,在本发明的一个实施例中,还包括:选取模块,用于在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的面向未知策略对手的蒙特卡洛搜索博弈决策方法流程图;
图2为根据本发明一个实施例的蒙特卡洛搜索博弈决策方法模型构建流程图;
图3为根据本发明一个实施例中采用的一对一空中格斗游戏对战平台中飞机格斗模型示意图;
图4为根据本发明一个实施例中与敌我双方位置关系相关的变量定义示意图;
图5为根据本发明一个实施例的面向未知策略对手的蒙特卡洛搜索博弈决策系统结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的面向未知策略对手的蒙特卡洛搜索博弈决策方法及系统,首先将参照附图描述根据本发明实施例提出的面向未知策略对手的蒙特卡洛搜索博弈决策方法。
图1是本发明一个实施例的面向未知策略对手的蒙特卡洛搜索博弈决策方法流程图。
如图1所示,该面向未知策略对手的蒙特卡洛搜索博弈决策方法包括以下步骤:
在步骤s101中,以在空战格斗游戏环境下敌我双方当前态势对后续对抗局势的影响以及敌我双方的物理约束因素作为参考标准,设计复合状态评价函数。
在步骤s102中,通过复合状态评价函数从多个维度描述对抗进展中敌我双方态势的变化情况。
也就是说,如图2所示,以在空战格斗游戏环境下敌我双方当前态势对后续对抗局势的影响以及敌我双方的物理约束因素为主要参考标准,设计复合状态评价函数,从多个维度描述对抗进展中敌我双方态势的变化情况,保障己方博弈决策方法优化方向的合理性。
进一步地,设计状态评价函数是实现博弈决策方法的重要环节之一,本发明实施例综合考虑敌我态势在回报时效、物理约束等层面对最终结果影响的基础上,提出包含即时回报项、持续回报项与物理关系合理性约束项的复合状态评价函数。
其中,即时回报项为当前敌我双方位置的即时评价,持续回报项为基于敌我优劣态势持续时间所给出的回报、物理关系合理性约束项为敌我双方发生碰撞的惩罚。
进一步地,持续回报项包括:以敌我双方的态势优劣持续时间为依据计算回报,我方优或劣态势持续时间越久,对与我方态势评价函数的奖励/惩罚值越大。
在步骤s103中,根据变化情况通过融合最大最小博弈思想的蒙特卡洛搜索算法,在面对未知决策方法的空战游戏对手时,输出博弈决策。
进一步地,在本发明的一个实施例中,还包括:在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作。
具体而言,通过融合最大最小博弈思想的蒙特卡洛搜索算法,在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作。在对手博弈策略未知的情况下,充分考虑敌我双方决策对于后续对抗局势的各种可能影响,以此做出相应的决策,提升对抗胜率。
下面通过参考附图描述的示例性实施例,对本发明实施例做进一步解释,但不限于此。
本发明实施例采用的二维空战仿真平台包含飞机的动力学模型、格斗模型。在二维平面内,每架飞机的状态用一个五元组s=(x,y,v,θ,σ)来表示,各个变量的含义:
飞机位置(x,y):俯视视角下飞机的位置;
飞机速率v:飞机当前的飞行速率;
飞机偏航角θ:飞机当前的机头朝向;
机身翻滚角σ:飞机机身在轴线上偏离水平面的角度;
上述变量均存在各自的范围限制,与本发明实施例中采用的游戏仿真平台匹配,由于仿真平台的开发细节不属于本发明的内容,故在此不做展开。
如图3所示,每架飞机正前方有一个扇形攻击区,其长度为ratk,角度为θatk。每架飞机的正后方则有一个易受攻击的扇形死角,其长度为rdf,角度为θdf。
如图4所示,分别为敌我双方质心距离r,方位aa,天线偏角ata来描述,相对位置(r,aa,ata)可以由两架飞机的位置计算得出。
两架飞机一对一格斗的情况。在二维平面内,每架飞机行动的最终的目标是:1)使敌机位于自身攻击区内;2)同时使自身位于敌机的死角内。同时满足上述两个条件,则可以认为飞机已经进入了可以攻击敌方而难以受到反击的优势状态。
蒙特卡罗算法(montecarlotreesearch,mcts)的本质是通过采样来获得更多信息,以便近似最优解。若将二维空战问题中的连续决策空间离散化,得到离散的决策集合:
d={d1,d2,d3,...,dn}
其中,di是离散化之后得到的第i个控制飞机的动作。
在每一个决策时刻t,敌我双方根据当前状态
在下一个决策时刻t+1,状态将在决策上发生转移,得到
既转移函数f已知,则可以通过仿真的方法来判断做出决策之后,下一时刻的状态。给定任意一个状态(sself,senemy),敌我双方可以作出的决策组合共有n2种。也即从一个状态出发,可以通过不同的决策,到达n2个新状态。
在计算资源无限的理想情况下,任给一个t=0初始状态,则可以穷举所有决策,得到t=1时所有可能的状态;再对t=1时可能的每一个状态穷举决策,得到t=2时所有可能的状态……如此反复,直至超时;或者最后得到对应于格斗胜负的最终状态,然后从该状态回溯,确定每一个决策时刻应当采取的具体决策。
上述方法,本质上是在遍历了一颗以初始状态为根节点的决策树,从而推知最优的决策。然而,这样的方法存在两个局限性:
一是计算资源有限,仿真探索到的状态数目有限。也即在决策树中探索的深度和广度有限,很难探索到结束状态;
二是每一步决策由
对于第一个局限性,本发明实施例中利用uct(upperconfidenceboundapplytotree)算法来平衡有限计算资源下决策树探索的深度和广度,uct算法一种经典的博弈树搜索算法,该算法的内容不属于本发明的内容范畴,故不做展开。对于第二个局限性,本发明实施例提出相应的mcts改进版。
uct算法在对博弈空间策略进行搜索的过程中需要通过评分系统来评估拟拓展的节点。在mcts算法中,评分由一个基于专家经验的评价函数完成。该评价函数是uct搜索的基础,需要反映出当前状态的好坏。
理想情况下,评价函数还应该能反映出从当前状态出发,得到的后续状态的好坏。但这一性质并非必要,因为uct算法可以通过对该状态节点的扩展,修正对这一状态的评分。因此,只需能够反映出当前状态好坏的评价函数,即可使mcts算法达到预期效果。
本发明实施例实际采用的评价函数记为r(sself,senemy),具体可以拆分为三部分:
r(sself,senemy)=rimd+radv+rcol
rimd是基于当前敌我位置的立即回报,
其中,r、aa与ata是敌我的相对方位参数,rd为飞机的碰撞半径。
radv是基于敌我优劣状态持续时间的回报,具体形式为:
其中,isadvance用于判断我机或敌机是否处于优势状态的判断函数,判断条件为:
1)敌我两机距离小于一定范围(与采用的对抗仿真平台相关);
2)两机aa值小于60度;
3)两机ata值小于120度;
t是敌机或我机进入优势状态后持续的时间。
rcol是对两机发生碰撞的惩罚:
若对手策略未知,在敌我双方都参与决策的决策树中,奇数层的节点为我方做决策dself,这一决策仅使得我方状态sself发生转移,状态转移后,决策树被往下扩展一层;来到偶数层,敌方在得知我方决策的状态下,再进行决策。这样一颗决策树里,奇数层的路径由我方策略决定,偶数层策略则由敌方策略决定,双方均不能完全控制决策树的扩展方向。mcgrew提出的极大极小(minimax)算法为这种情况下的决策提供了一种思路。minimax算法是基于有限步的搜索和评价完成的:
决策时,首先确定一个搜索深度,然后遍历上述决策树在这个搜索深度上的每个节点。这些节点的评分就反映了有限步前瞻之后的战局状态。在决策树的奇数层,我方将选择对我方有利的动作;而在偶数层,敌方则尽量选择不利于我方的动作。如此,敌我双方选择动作时,都希望“无论对方如何选择,接下来的状态转移都尽可能向有利于我方的状态转移”。因此都以“每个行动所得到的最坏结果”来评价该行动,再选择“最坏结果中的最好结果”,以得到结果的保证。
上述的minimax策略实际上是非常保守和局限的。但是,借鉴“奇数层我方决策,偶数层敌方决策”这一思路,本发明实施例在扩展决策树时应用uct算法:
对于每一个节点状态,敌我双方都有各自的评价,敌我双方各自的评价同样会反向传播到决策路径上的每一个节点,使得每一个节点都有敌我双方各自评价得到的累计回报。进行决策和扩展时,在奇数层,我方选取我方评价得到的置信度上界最大的动作;在偶数层,敌方选择敌方评价得到的置信度上界最大的动作。如此,就将minimax的思想与mcts融合,得到了对手策略未知时的mcts博弈决策算法。具体的算法流程如下:
输入:
根节点状态sroot=(sself,senemy)决策集合d=d1,d2,...,dn;扩展节点数n;我方评价函数rself;敌方评价函数renemy;平衡探索深度和广度的常数c
为了展示所提方法有效性,本发明实施例在一对一空中格斗游戏平台上进行了算法测试。本发明实施例采用的实验条件如下:我方采用策略未知时的蒙特卡洛博弈决策方法,敌方采用minimax算法作为博弈决策方法。在敌我双方机型相同的情况下,在2048个初始状态(敌我双方的位置及朝向)下完成测试。测试结果如下表所示:
从以上实验结果可以看到,相比于经典的minimax博弈决策算法,本发明实施例提出的博弈算法对战的结果是胜多负少,表明了本发明实施例所提方法的有效性。
根据本发明实施例提出的面向未知策略对手的蒙特卡洛搜索博弈决策方法,通过最大最小博弈算法敌我双方交替决策的博弈策略思想,提出在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作,从而在不需要获悉对手博弈策略的前提下,可充分考虑对手决策的各种可能性,并做出相应的应对决策,提升对抗胜率。
其次参照附图描述根据本发明实施例提出的面向未知策略对手的蒙特卡洛搜索博弈决策系统装置。
图5是本发明一个实施例的面向未知策略对手的蒙特卡洛搜索博弈决策系统结构示意图。
如图5所示,该面向未知策略对手的蒙特卡洛搜索博弈决策系统10包括:设计模块100、描述模块200和输出模块300。
其中,设计模块100用于以在空战格斗游戏环境下敌我双方当前态势对后续对抗局势的影响以及敌我双方的物理约束因素作为参考标准,设计复合状态评价函数。描述模块200用于通过复合状态评价函数从多个维度描述对抗进展中敌我双方态势的变化情况。输出模块300用于根据变化情况通过融合最大最小博弈思想的蒙特卡洛搜索算法,在面对未知决策方法的空战游戏对手时,输出博弈决策。
进一步地,在本发明的一个实施例中,复合状态评价函包含即时回报项、持续回报项与物理关系合理性约束项。
进一步地,在本发明的一个实施例中,持续回报项包括:以敌我双方的态势优劣持续时间为依据计算回报,我方优或劣态势持续时间越久,对与我方态势评价函数的奖励/惩罚值越大。
进一步地,在本发明的一个实施例中,还包括:选取模块400用于在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作。
根据本发明实施例提出的面向未知策略对手的蒙特卡洛搜索博弈决策系统,通过最大最小博弈算法敌我双方交替决策的博弈策略思想,提出在己方决策轮选取己方评价体系中得到置信度上界最大的动作,在敌方决策轮选取敌方评价体系中得到置信度上界最大的动作,从而在不需要获悉对手博弈策略的前提下,可充分考虑对手决策的各种可能性,并做出相应的应对决策,提升对抗胜率。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。