星际争霸游戏是一款经典的即时战略(RTS)游戏,自 1998 年发行以来在全球范围内备受欢迎。星际争霸 AI 竞赛自 2010 年出现后,每年都会举行,且参与者越来越多。参赛者提交星际争霸 AI bot,这些人工智能体将在《星际争霸:母巢之战》零售版中互相格杀。受早期 RTS 游戏竞赛(如 Open RTS (ORTS) 竞赛)的启发,星际争霸 AI 竞赛逐渐成为展示当前最优 RTS 游戏人工智能体的绝佳场地。开发者使用 BWAPI 控制星际争霸 AI 智能体。BWAPI 于 2009 年首次提出,是为 StarCraft AI 竞赛的服务的开发接口,也就是用代码玩 StarCraft,它提供了一个 C++的编程接口,可自由编程生成 dll 格式的 AI 文件。
SAIDA、CherryPi 比赛视频演示
AIIDE StarCraft AI 挑战赛自 2010 年起已连续举办九届,目前三星、Facebook、斯坦福大学、中科院自动化所等知名机构与高校都在研究星际争霸 AI,以提升 AI 智能体的通用能力。
2018 AIIDE StarCraft AI 全球挑战赛共吸引了全球 27 支队伍参加竞赛,其中确定来自中国的队伍包括:
BlueBlueSky,团队成员来自地平线侯鹏飞、中科院自动化所张恂、薄紫彤、兴军亮等;
CES,来自中科院自动化所智能系统与工程研究中心的张俊格研究团队;
KillAll,来自中国国家重点实验室的 Zhentao Tang 独自参赛;
LastOrder,来自 Bilibili 的 Sijia Xu
2018 AIIDE StarCraft AI 挑战赛参赛队伍概览。图源:https://www.cs.mun.ca/~dchurchill/starcraftaicomp/2018/
不久之前,2018 AIIDE StarCraft AI 全球挑战赛结果最终出炉,三星 SAIDA 获得冠军,Facebook 团队开发的 CherryPi 获得亚军,中科院自动化所智能系统与工程研究中心的张俊格研究团队获得季军。
2018 AIIDE StarCraft AI 挑战赛结果,图源:https://www.cs.mun.ca/~dchurchill/starcraftaicomp/2018/
SAIDA 战队
今年获胜的是三星 SAIDA 团队,它在 10 张地图的 2590 场比赛中获胜了 2484 场,总胜率达到了 95.91%。SAIDA 团队负责人 Chang-hyeon Bae 说:「我们的 AI bot 获胜的秘诀在于,它会积极响应对手的策略,并在适当的时间给对手强硬的打击,这一过程需要非常精细的单位控制。我们同样会在 110000 组专业竞赛团队的重播数据上应用机器学习技术,以进一步提高 AI bot 的竞争力。」
SAIDA 在所有比赛中都使用人族(terran),它在初期倾向于使用保守策略,而在比赛中期后就尝试使用更激进的策略并组织大规模攻击。SAIDA 认为人族可以应对大多数对手的策略,并且缺点也少。
SAIDA 团队主要使用有限状态机控制所有作战单位和建筑,每一个单位和建筑在每一种情况下都有特定的状态。且他们还会使用一些搜索算法搜索敌方基地。
此外,SAIDA 团队不仅能通过卷积神经网络抽取电子竞技视频中的策略信息,并将这些信息解码为战斗决策,同时还会利用多智能体强化学习学习如何微观操作。不过这些技术暂时还没有加入到比赛系统中。
Facebook 团队开发的 CherryPi
CherryPi 由 Facebook AI Research 开发,它使用虫族(Zerg)进行战斗,在每次对决(matchup)中使用 8-13 个策略。CherryPi 使用的 AI 技术包括:
搜索:使用区域级路径搜索对地图障碍派送侦查单位,使用 threat-aware 路径搜索指引单位退出战场。
离线机器学习:基于论文《An LSTM model for high level strategy selection》中的人类数据的卷积网络模型。
离线强化学习
在线学习
地图分析:使用 BWEM 库(即 Brood War Easy Map)。
分析之前在离线训练阶段的竞赛。
CherryPi 具备高效的宏观管理能力、策略选择能力、军队定位能力、基本单位控制能力。在这次竞赛中取得了亚军的好成绩。
中科院自动化所开发的 CSE
中科院自动化所张俊格团队本次设计开发的「CSE」bot 在 2591 场比赛中以 87.11% 的胜率荣获中国参赛队伍第一名、全球第三名的优异成绩。张俊格团队在具有自主进化的多智能体控制、基于敌对方意图分析的态势认知、博弈对抗机理分析、强化学习等领域开展了一系列研究与应用工作,同时还公开了星际争霸基准数据集以进一步促进星际 AI 的发展。此外,张俊格团队去年开发的 CPAC bot 获得了该竞赛的国际第四名。
CSE 使用神族(Protoss),采用的是规则和学习联合驱动的方式,比如,在 build order queue 为空的时候,CSE 使用深度学习来预测待训练单位。
总之,AIIDE StarCraft AI 挑战赛的比赛结果、获胜团队的技术介绍如同前文所展示的。至于在这些 bot 在比赛视频中展示出的效果我们就不一一截取 GIF 展示了,毕竟作为一家年轻的公司,小编们会玩 Dota2、撸啊撸、王者荣耀以及守望屁股、吃鸡,就是没人会玩星际争霸~~~
参考地址:https://www.cs.mun.ca/~dchurchill/starcraftaicomp/2018/