机器之心报道
作者:路
不久前,2018 AIIDE StarCraft AI 挑战赛顺利结束。27 支队伍参加比赛,其中三星 SAIDA 获得冠军,Facebook 团队开发的 CherryPi 获得亚军,中科院自动化所开发的 CSE 获得季军。刚刚,Facebook 研究科学家、CherryPi 作者之一 Gabriel Synnaeve 宣布开源训练 StarCraft 智能体的 TorchCraftAI 平台,该平台允许构建智能体来(学习)玩《星际争霸:母巢之战》游戏。
TorchCraftAI 地址:https://torchcraft.github.io/TorchCraftAI/
TorchCraftAI 包括以下重要特征:
系统架构
TorchCraftAI 基于两个现有星际争霸智能体开源项目:BWAPI 和 TorchCraft。
BWAPI(Brood War API)
BWAPI 是开发《星际争霸:母巢之战》竞赛智能体时广泛使用的编程界面。它提供人类玩家可观察的所有信息,且使得开发人员可以使用编程语言控制游戏智能体。《星际争霸:母巢之战》是一款 Windows 游戏,BWAPI StarCraft 智能体基于 Windows 开发,通常是 32-bit 动态库(DLL)或使用 BWAPI 客户端模式的 32-bit 可执行程序。
TorchCraft
TorchCraft 使用客户端-服务器架构实现与 BWAPI 的跨平台连接,从而促进对《星际争霸:母巢之战》的机器学习研究。服务器是 Windows DLL for BWAPI,客户端程序可以更加灵活地定义,如在 Linux 系统上运行的 C++ 程序或 Python 脚本。其运行模式的理论很简单:TorchCraft 客户端向服务器发送一串游戏命令,服务器执行对应的 BWAPI 调用,并回应更新后的游戏状态。
TorchCraftAI
TorchCraftAI 封装了 TorchCraft client C++ 库,提供游戏循环和游戏状态的抽象。其核心特征包括:
下图展示了两个 TorchCraftAI 智能体互搏的完整图:
教程
训练模型造建筑(通过强化学习训练造建筑模块):
地址:https://torchcraft.github.io/TorchCraftAI/docs/bptut-intro.html
训练模型战斗(通过强化学习使智能体掌握微操技能):
地址:https://torchcraft.github.io/TorchCraftAI/docs/microtut-intro.html