社区论坛

Community Forum

技术共享
戴松 发表于:2021-02-05 21:03:27 回复 1 赞 3 1030

大家好,今天给大家分享一下MiniGame中,紫冬智剑基准AI对坦克行为的建模。

  基准AI代码及代码教程见:http://turingai.ia.ac.cn/ai_center/show?mid=4

一.坦克算子的特点

首先分析一下坦克算子的特点:

             机动性强,装甲防护能力较强(复合装甲)。

             可行进间射击,配合武器冷却时间可具有不间断的移动火力压制能力,装备大号直瞄炮对敌方装甲单位杀伤力高,尤其是战车。

             对步兵的毁伤能力不强。

二.坦克的行为模型

  在构建坦克行为模型时,我们主要聚焦在坦克的行进(Action.Move)。

  陆战兵棋游戏中,地形成为约束行为的关键因素。反斜面战术是山地作战的经典战术,在朝鲜战争中志愿军有着充分的运用。通过在山体的反斜面处构筑工事,可以避免大多数直瞄火力,也可以减小曲射火力的密集度。

 

image.png

  在MiniGame中,所有算子的武器都是直瞄火力,非常适合反斜面这种战术选点。借鉴反斜面的思想,我们可以将坦克的行为拆解为两个阶段,当坦克算子冷却已完成的时候,可以冲向高地对目标算子实施打击,打击完成坦克算子冷却过程中,可以撤下回到反斜面点保护自己免于敌方算子的打击,遮蔽我方行为。

  下面考虑出击点的选取。出击点首先与坦克的打击目标相关。坦克的基本打击顺序如下:战车>坦克>步兵。由于坦克的行进间射击能力,坦克的决策密度应该是越高越好,比如一次射击后冷却后,在冷却时间就可以获取新的态势规划新的目标,也即,不应该规划长程任务,否则就没有办法发挥出坦克的火力优势。出击点的选取半径我们定在两格,这是因为考虑各种因素后,半径太小选不出候选点。考虑的因素如下:候选点尽量只与选取的目标通视,避免被其他敌方算子伏击;候选点处的打击攻等比较高,通常这也意味着海拔比较高,也就是棱线处,一方面可以保证战果,另一方面高度差也可以降低我方战损;候选点最好是遮蔽地形(居民地、森林),提高自己被打击时的不利修正。这样就可以综合保证我方战果与战损的和大于零。

1.png

  对于坦克的撤下,选取距离为一,不与盘面算子及不可见算子的历史位置通视的点作为候选的躲避点,最好是遮蔽地形。设想坦克的躲避行为是一个马尔科夫过程,坦克一直被敌方追着打时,其能够做到边躲边射击,最终回到一个比较安全的点。

2.png

  以上可以看作是坦克的基本行为模型。

  在MiniGame中,显然夺控点也是一个重要的得分项。因此,在坦克的出击模型中我们可以增加一个default条件,当没有合适的攻击位置时,坦克可以向夺控点行进,以完成夺控动作。这样基于基本行为模型,我们就可以设计出一套坦克打击/躲避/夺控的策略。可以看出,坦克总体的决策风格其实是偏向于后手决策的。即不追求前出抢点守点,而是希望能够在掌握足够多信息后获得累进相对战果。这一点在MiniGame2MiniGame3中有所体现。步兵或者战车提供视野,然后坦克再做出决策。

集思广益,不知道大家还能够给出什么样的意见及建议。希望能够多多交流。


戴松

中国科学院自动化研究所 智能系统与工程研究中心


  • 赵美静

    欢迎大家交流探讨!

    2021-02-06 22:14:52
  • 立即登录游客您好,可以登录后发布评论哦!
3
回复帖子 返回顶部

请选择对留言操作
删除留言(管理员或楼主)
问题反馈
请将您的宝贵意见反馈给我们