一种RTS游戏重放数据的编码系统和方法技术方案

技术编号:27666353 阅读:23 留言:0更新日期:2021-03-17 01:25
本发明专利技术公开了一种RTS游戏重放数据的编码系统和方法,所述系统包括数据生成模块,用于在μRTS平台上自主生成每对AI机器人的每场游戏比赛生成的重放记录数据的一个采样点是一个XML文件,所述XML文件由一系列轨迹条目元素组成,每个轨迹条目元素包含游戏状态元素、动作元素和时间属性,记录两个AI游戏机器人在游戏比赛中该采用点的状态和动作信息,以及一个记录该场比赛获胜者的获胜者元素;所述时间属性表示轨迹条目元素的游戏状态元素和动作元素的采样时间点;编码模块,用于将XML文件中数据的信息进行提取并编码;输出模块,用于获取到编码后的三维数组数据。本发明专利技术能够明显提高预测的准确率。

【技术实现步骤摘要】
一种RTS游戏重放数据的编码系统和方法
本专利技术涉及搜索算法、状态评估和动作抽象等领域,尤其涉及一种RTS游戏重放数据的编码系统和方法。
技术介绍
AlphaGo系列人工智能(ArtificialIntelligence,AI)程序在围棋比赛中成功战胜人类世界顶级选手为基于游戏研究AI提供了有益的借鉴。对游戏重放数据采样点包含的信息编码是研究游戏的主要手段之一。对包含游戏AI机器人的游戏仿真平台的游戏数据的研究为AI计划、AI搜索中的状态评估和AI研究人员建模提供了理想的环境。由于极的大状态空间,有限的决策时间和动态环境,实时战略(Real-TimeStrategy,RTS)类游戏为研究游戏提供了理想的工具。μRTS是一种基于代理和AI的开源RTS游戏仿真平台,为基于游戏研究AI、验证新的AI算法提供了实用的工具。利用游戏重放数据编码后的数据和深度学习算法对μRTS中AI机器人游戏比赛获胜者预测对研究AI算法,特别是游戏AI机器人算法具有实际意义。Huang等提出一种利用独热编码方法编码RTS类游戏的状态信息的方法,使用对游戏重放数据采样点的状态信息编码后的数据和多尺度卷积神经网络(MSCNN)预测两个AI机器人在游戏比赛中获胜者的概率。Yang等[YangW.L.,HuangJ.,HuY.,AModifiedmulti-sizeconvolutionneuralnetworkforwinnerpredictionbasedontimeserialdatasets,20194thInternationalConferenceonMathematicsandArtificialIntelligence(ICMAI2019),Chengdu,China,ACMDigitalLibrary,ISBN:978-1-4503-6258-0,110-114.]将Huang等提出的对游戏重放数据采样点的状态信息的独热编码方法扩展到时间序列数据集。由于对RTS游戏重放数据中动作信息进行编码比较困难,已有的对RTS游戏重放数据编码方法仅对状态信息进行编码[HuangJ.,YangW.L.,Amulti-sizeconvolutionneuralnetworkforRTSgameswinnerprediction.MATECWebofConferences,2018,232(01054),257-261.],对游戏重放数据信息的利用程度不足。
技术实现思路
本专利技术目的在于提供一种RTS类游戏重放数据采样点的状态和动作信息编码方法,对游戏动作信息编码方法,以此提高对游戏重放数据信息的充分利用。独热编码是使用二进制字符串表示属性值的一种编码方法。本专利技术使用独热编码不仅对一种RTS类游戏重放数据采样点生成的XML文件的游戏状态元素中的属性(其中包含游戏的状态信息)和相应的获胜者属性进行编码,而且也对动作元素中的属性(其中包含游戏的动作信息)给出编码方法进行编码。利用所述编码方法得到的编码数据和深度学习算法对μRTS中AI机器人游戏比赛获胜者预测,本专利技术所述编码方法能够明显提高预测的准确率。μRTS包含约五十个基于不同搜索策略的AI机器人,其中约二十个使用了蒙特卡罗树搜索(MCTS)算法,其余的使用其他搜索策略(如,使用硬编码策略、alpha-beta搜索和minimax树搜索等)。μRTS支持多种尺寸的地图,范围从8*8到24*24。每种尺寸的地图包含许多初始模板,每个模板是一个包含游戏状态元素的XML文件。在μRTS中每对AI机器人的每场比赛生成的重放记录数据是一个XML文件,由一系列轨迹条目元素组成,每个轨迹条目元素包含两个子元素:游戏状态元素和动作元素,这些子元素记录了两个AI机器人的在一场比赛中的状态和动作信息,以及一个记录该场比赛获胜者的获胜者元素。本专利技术至少通过如下技术方案之一实现。一种RTS游戏重放数据的编码系统,包括数据生成模块,用于在μRTS平台上自主生成每对AI机器人的每场游戏比赛生成的重放记录数据的一个采样点是一个XML文件,所述XML文件由一系列轨迹条目元素组成,每个轨迹条目元素包含游戏状态元素、动作元素和时间属性,记录两个AI游戏机器人在游戏比赛中该采用点的状态和动作信息,以及一个记录该场比赛获胜者的获胜者元素;所述时间属性表示轨迹条目元素的游戏状态元素和动作元素的采样时间点;编码模块,用于将XML文件中数据的信息进行提取并编码;输出模块,用于获取到编码后的三维数组数据。优选的,所述游戏状态元素包含玩家元素和单元元素。玩家元素包含两个玩家子元素,每个玩家子元素包含序号属性和资源属性,序号属性的属性值分别为0和1,代表比赛中的两个AI机器人;所述资源属性的属性值表示相应AI机器人在采样时间点的基地拥有的初始资源;单元元素包含一系列单元子元素,每个单元子元素都包含序号属性、单元类型属性、资源属性、抗打击度属性、x、y和玩家属性;所述序号属性的值是该单元子元素的标识;单元类型属性表示AI机器人剩余的资源;所述抗打击度属性的值表示相应单元类型属性值对应的单位的抗打击度;所述x和y属性的值表示相应单元类型属性值对应的单位在地图中的位置;所述玩家属性的值代表单元类型属性值所属的AI机器人。优选的,所述动作元素包含一系列动作子元素,动作子元素中的属性指明单元子元素中对应的执行单元在游戏比赛过程中执行的动作,每个动作子元素包含单元序号属性和单元动作元素。优选的,所述数据生成模块还包括:加载地图单元,用于选择不同初始形态的地图作为比赛的环境;选择玩家单元,用于选择不同AI机器人,并设置该AI机器人所需的时间预算和迭代次数预算,使其两两进行循环游戏比赛;游戏运行单元,用于观察比赛过程中的状态信息和动作信息。优选的,所述编码模块具体包括:采样时间点单元,用于随机选择三个不同时间点的游戏重放数据;编码单元,用于将重放数据中的状态信息和动作信息编码,为后续的算法预测提供支持。优选的,所述输出模块具体包括输出一个8×8×39的三维数组和输出一个包含有两个元素的一维数组。实现所述一种RTS游戏重放数据的编码系统的编码方法,包括如下步骤:S1、对游戏状态元素的单元子元素中的单元类型属性、玩家属性、资源属性和抗打击度属性中的每个属性编码为一个8×8×k的3维数组,其中的每个8×8的2维数组称为一个平面,k为相应属性对应的平面数;S2、编码动作元素;S3、对于每个获胜者元素,设置获胜者属性的属性值。优选的,步骤S1具体包括以下步骤:S11、对游戏状态元素的单元子元素中的单元类型属性、玩家属性、资源属性和抗打击度属性中的每个属性的不同属性值,根据游戏状态元素的单元子元素中x和y的属性值,在属性值的对应平面的(x,y)位置设为1,其它平面的(x,y)位置设为0;S12、当玩家属性的属性值为-1时,在玩家属性平面本文档来自技高网
...

【技术保护点】
1.一种RTS游戏重放数据的编码系统,其特征在于,包括数据生成模块,用于在μRTS平台上自主生成每对AI机器人的每场游戏比赛生成的重放记录数据的一个采样点是一个XML文件,所述XML文件由一系列轨迹条目元素组成,每个轨迹条目元素包含游戏状态元素、动作元素和时间属性,记录两个AI游戏机器人在游戏比赛中该采用点的状态和动作信息,以及一个记录该场比赛获胜者的获胜者元素;/n所述时间属性表示轨迹条目元素的游戏状态元素和动作元素的采样时间点;/n编码模块,用于将XML文件中数据的信息进行提取并编码;/n输出模块,用于获取到编码后的三维数组数据。/n

【技术特征摘要】
1.一种RTS游戏重放数据的编码系统,其特征在于,包括数据生成模块,用于在μRTS平台上自主生成每对AI机器人的每场游戏比赛生成的重放记录数据的一个采样点是一个XML文件,所述XML文件由一系列轨迹条目元素组成,每个轨迹条目元素包含游戏状态元素、动作元素和时间属性,记录两个AI游戏机器人在游戏比赛中该采用点的状态和动作信息,以及一个记录该场比赛获胜者的获胜者元素;
所述时间属性表示轨迹条目元素的游戏状态元素和动作元素的采样时间点;
编码模块,用于将XML文件中数据的信息进行提取并编码;
输出模块,用于获取到编码后的三维数组数据。


2.根据权利要求1所述的一种RTS游戏重放数据的编码系统,其特征在于,所述游戏状态元素包含玩家元素和单元元素;
玩家元素包含两个玩家子元素,每个玩家子元素包含序号属性和资源属性,序号属性的属性值分别为0和1,代表比赛中的两个AI机器人;
所述资源属性的属性值表示相应AI机器人在采样时间点的基地拥有的初始资源;
单元元素包含一系列单元子元素,每个单元子元素都包含序号属性、单元类型属性、资源属性、抗打击度属性、x、y和玩家属性;
所述序号属性的值是该单元子元素的标识;
单元类型属性表示AI机器人剩余的资源;
所述抗打击度属性的值表示相应单元类型属性值对应的单位的抗打击度;
所述x和y属性的值表示相应单元类型属性值对应的单位在地图中的位置;
所述玩家属性的值代表单元类型属性值所属的AI机器人。


3.根据权利要求2所述的一种RTS游戏重放数据的编码系统,其特征在于,所述动作元素包含一系列动作子元素,动作子元素中的属性指明单元子元素中对应的执行单元在游戏比赛过程中执行的动作,每个动作子元素包含单元序号属性和单元动作元素。


4.根据权利要求3所述的一种RTS游戏重放数据的编码系统,其特征在于,所述数据生成模块还包括:
加载地图单元,用于选择不同初始形态的地图作为比赛的环境;
选择玩家单元,用于选择不同AI机器人,并设置该AI机器人所需的时间预算和迭代次数预算,使其两两进行循环游戏比赛;
游戏运行单元,用于观察比赛过程中的状态信息和动作信息。


5.根据权利要求4所述的一种RTS游戏重放数据的编码系统,其特征在于,所述编码模块具体包括:
采样时间点单元,用于随机选择三个不同时间点的游戏重放数据;
编码单元,用于将重放数据中的状态信息和动作信息编码,为后续的算法预测提供支持。


6.根据权利要求5所述的一种RTS游戏重放数据的编码系统,其特征在于,所述输出模块具体包括输出一个8×8×39的三维数组和输出一个包含有两个元素的一维数组。


7.实现权利要求6所述一种RTS游戏重放数据的编码系统的编码方法,其特征在于,包括如下步骤:
S1、对游戏状态元素的单元子元素中的单元类型属性、玩家属性、资源属性和抗打击度属性中的每个属性编码为一个8×8×k的3维数组,其中的每个8×8的2维数组称为一个平面,k为相应属性对应的...

【专利技术属性】
技术研发人员:余甜周杰
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

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

1