《星际争霸》被认为是继围棋、扑克之后,AI 与人较量的下一个竞技场。同时也是训练和研究通用人工智能的一个适合的虚拟场景,目前,DeepMind、微软、Facebook和阿里巴巴都在研究用AI 来玩这一游戏,希望能增强AI 智能体的通用能力,让AI 更像人。其实,用AI 来玩《星际争霸》早在2010年就有人开始研究,主要集中在国外的大学和研究所中,本文介绍了从2010年到2015年这一领域取得的进展和竞赛情况:每一年都有新的技术更新和变迁。
游戏,更准确地说,模拟场景对于人工智能的研发来是一个非常理想的场所。对于人工智能技术走向实际应用有着不容忽视的推动作用。
提到人工智能与游戏(Game),最让人印象深刻自然是2016年3月的AlphaGo 与围棋世界冠军李世石的人机大战。但是,随着技术的发展,人工智能的研发者们也在游戏领域中不断扩展新疆域——比如星际争霸。
作为一种即时战略类游戏,《星际争霸》被认为是最难的游戏之一,比围棋的变化更多。
2016年11月,DeepMind的 工程师 Oriol Vinyals 在公司博客公布,暴雪将和DeepMind合作,让《星际争霸2》成为人工智能研究场景,并开放给所有的人工智能研究者。
Oriol Vinyals 少年时期曾是西班牙的顶级《星际争霸》玩家,他坦诚,“要打败人类职业选手,机器尚有很长的路要走。
他在博客中写道,DeepMind之所以选择《星际争霸》作为人工智能研究的目标,是因为它的复杂性:玩家必须做出高级战略决策,同时还要控制数百个元素,并快速做出各种决定。Oriol Vinyals认为,跟国际象棋和围棋相比,《星际争霸》更能模拟真实世界的混乱状况。他说:“如果要让智能体程序学会玩《星际争霸》,它需要有效利用记忆,还要能制定长远计划,而且能根据最新信息调整计划。”他认为,如果能开发一套机器学习系统,让它掌握操作《星际争霸》的技巧,这种技术将最终可以用来执行真实世界的任务。
此后,《星际争霸》的制造公司暴雪娱乐建造总监Tim Morten对媒体确认,AlphaGo 将挑战《星际争霸2》。
《星际争霸》(StarCraft)是一款即时战略游戏。提供了一个游戏战场,用以玩家之间进行对抗。这也是该游戏以及所有即时战略游戏的核心内容。在这个游戏战场中,玩家可以操纵任何一个种族,在特定的地图上采集资源,生产兵力,并摧毁对手的所有建筑取得胜利。游戏同时为玩家提供了多人对战模式。
此前,微软、Facebook也曾发表过让人工智能玩《星际争霸》的研究。在中国,率先作出探索的团队之一是阿里巴巴认知计算实验室,2017年,他们与伦敦大学学院计算机系合作,以游戏“星际争霸1”中的微观战斗场景为测试环境,深入地研究了多个 AI 智能体之间的协作问题,旨在通过协作智能解决人类不擅长的问题。该研究引入的多智能体双向协调网络(BiCNet )可以自动学习各种最佳策略来使多个智能体协同作战,从无碰撞移动到基本的攻击和逃跑策略,再到复杂的掩护攻击和集中火力攻击。该研究所用的方法优于目前已有的最先进方法,多智能体协作完成复杂任务,显示出了在现实世界中电商、游戏、健康医疗等智能决策领域的广泛应用前景。
下文是 Alberta大学举办的历届AI星际竞赛,以及人机对战的历史。 作者:dave.churchill。知乎用户Chirs说:“注意Alberta大学正是Alphago主创David Silver读phd时的母校,里面很多参赛的星际AI就是David Silver的博士学弟做出来的。这可能也是Deepmind选择挑战星际争霸AI的原因之一。”
在国际上,星际争霸 AI 大赛最早于2010年开始举办,自那以后,AI 的即时战略游戏疆域每年都在不断扩展。受早期的 RTS 比赛,如Open RTS(ORTS)竞赛启发,这些星际争霸 AI 比赛已经成为最新的 AI 智能体展示其即时战略游戏能力的舞台。
星际争霸 AI 智能体使用 Brood War 应用程序编程接口(BWAPI)进行控制,该接口 2009 年首次开发,可让程序员使用 C ++ 与 Starcraft:Broodwar 的完整游戏进行交互和控制。随着 BWAPI 的功能和受欢迎程度的增长,第一批星际争霸 AI 智能体开始出现,终于可以在星际争霸中进行 AI 比赛。
下文现在将详细介绍每个主要的星际争霸大赛,每场比赛将按时间顺序进行讨论,同时还有完整的比赛结果以及 bot 源代码的下载链接。
这是当我们告诉别人我们正在做Starcraft:BroodWar 的 AI 比赛时,总是被问到的问题。
这个竞赛完全依赖于 BWAPI 作为 BroodWar 的编程接口。BWAPI 是通过对 BroodWar 实施逆向工程创建的,并且依赖于读取和写入 BroodWar 的程序存储空间,以便读取数据并向游戏发出命令。因为任何这样做的程序本质上都可以被看作是黑客行为或在欺骗引擎,
所以暴雪告诉我们,他们不希望我们在“星际争霸2”上再做类似的事情。事实上,大部分的星际争霸2 EULA都无法以任何方式修改程序。 我们很高兴暴雪允许我们继续使用 BWAPI 举办比赛,并且还帮忙为 AIIDE 锦标赛提供了奖品,但是除非他们的政策发生变化,我们将无法对 StarCraft 2 做同样的事情。
还有其他RTS游戏引擎可用于比赛。 一个是ORT——一个免费的RTS游戏引擎软件。另一个引擎是microRTS,一个Java RTS引擎,可以玩简化的基于网格的RTS游戏,专为测试 AI 技术而设计。
有关星际争霸 AI 技术和Bot构造最新技术的最新概述,我强烈建议您阅读以下著作:
StarCraft Bots and Competitions [2016]
D. Churchill, M. Preuss, F. Richoux, G. Synnaeve, A. Uriarte, S. Ontanon, and M. Certicky
Springer Encyclopedia of Computer Graphics and Games
RTS AI Problems and Techniques [2015]
S. Ontanon, G. Synnaeve, A. Uriarte, F. Richoux, D. Churchill, and M. Preuss
Springer Encyclopedia of Computer Graphics and Games
A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft [2013]
S. Ontanon, G. Synnaeve, A. Uriarte, F. Richoux, D. Churchill, and M. Preuss
Accepted to TCIAIG (August 2013)
AIIDE 星际争霸 AI 竞赛由加州大学圣克鲁斯分校 Expressive Intelligence Studio 的 Ben Weber 在2010 年首次举办,作为 AIIDE(人工智能和互动数字娱乐,Artificial Intelligence and Interactive Digital Entertainment)大会的一部分。共有26名参赛者参加了四种不同的游戏模式,从简单的单场战斗到完整游戏。由于这是比赛第一年,并且几乎没有建立什么基础设施,每场比赛都是在两台笔记本电脑上手动运行,手动监控以记录结果。此外,没有持续的数据被保留用于让Bot 了解比赛对手。2010年的比赛有 4 种不同的比赛类别。比赛 1 是由四个独立单位参加的平地单位微型管理战。在六个竞争对手中,FreSCBot 赢得了比赛,Sherbrooke 排名第二。比赛 2 是另一个微观战斗,但不再是平地战。两个选手参加了这个类别,FreSCBot 再次击败 Sherbrooke。比赛 3 是在一个已知的地图上,没有雾。玩家只能选择神族,且不允许游戏单位迟入比赛。在这次双重淘汰赛中,8名Bot 对决,MimicBot 最后击败 Botnik 取得第一名。由于这是星际争霸的完美信息变体,MimicBot 采用了“模仿对手开发顺序,尽可能获得经济优势”的策略,这种策略效果非常好。
比赛4被认为是最主要的比赛,其中涉及星际争霸的完整游戏流程,并带有迷雾。该比赛以随机配对双重淘汰的方式进行。选手可以选择三个种族中的任意一个。唯一的限制是针对星际争霸社区认为是“欺骗”的手段。由于用 BWAPI 编写的计算机程序对他们可以向星际争霸游戏引擎发出的动作数量没有限制,某些行为是可能的,但这些行为并不是开发者的本意。比如移动建筑物和让地面单元翻过围墙,这些行为被认为是作弊,不允许在比赛中出现。 带有5个有名的专业极地图的地图池预先向选手公布,每场比赛会从中随机选择地图。比赛4最后由 Overmind 赢得——一个由加利福尼亚大学伯克利分校创建的虫族Bot,他们在决赛中击败了 Krasimir Krastev 的人族Bot Krasi0。
Overmind严重依赖使用强大和敏捷的虫族飞行单位 Mutalisk。 Overmind的总体策略包括虫族初级单位 Zergling 和 Sunken Colonies (静态防御塔)的初步防御,以保护其初步扩张,同时收集足够的资源建设其初始的Mutalisks。一旦构建了Mutalisk,就将它们送到敌方基地,并在敌方基地的周围巡逻和骚扰。如果Bot在最初的攻击中没有完全胜利,那么它会缓慢地巡逻,并且干掉任何没有防御的单位,最终将敌人控制在一点,直到最后灭掉敌人。第二名 krasi0发挥了人族的防御特长,构建了 Bunkers,Sige 坦克和 Missille 炮塔进行防御。建成一定数量的单位后,派出一批战斗单位围困敌方基地。这个Bot表现相当不错,只是在比赛中输给了 Overmind。关于 Overmind 的一篇很好的文章是由 Ars Technica 在2011年写的。还有一个人与机器的比赛,展现出一个职业人类玩家与顶级的 AI 的对决,可以在这里看到:
UAlbertaBot 的第一个版本始于 2010年 夏季,并于 2010年9月提交给 AIIDE 2010比赛。由 Alberta 大学自己领导的6名学生和迈克尔·布罗(Michael Buro)的一组人员使用BWAPI和“Brood War Standard Add-on Library”(BWSAL)构建了 UAlbertaBot 的初始版本,其中提供了建筑顺序、建筑布局以及工人管理这样的功能。 UAlbertaBot 的 2010版本选择了人族,其中一个主要战略是依赖于 Zerg Mutalisk 飞行单位。在Bot战斗和微观管理得到很好的实施的同时,Bot 早期游戏和建造规划中的几个主要的逻辑错误意味着其在2010年的竞争中的整体表现很弱,而在第三轮中被人族Botkrasi0 淘汰。 UAlbertaBot 的第一次实施受到了技术问题的困扰,所以比赛后决定,为明年的比赛完全重写Bot代码。
在AIIDE 2010比赛成功之后,有人试图将星际争霸AI竞赛作为计算智能游戏(CIG)会议的一部分。 由Johan Hagelback,Mike Preuss和Ben Weber主办的 2010年CIG赛事的比赛更像 AIIDE 2010比赛中的比赛3类似,但使用人族代替虫族。不幸的是,CIG第一年比赛遇到了几个严重的技术问题,这些问题源于决定使用定制的星际争霸地图,而不是传统的人工测试地图,这导致了Brood War Terrain Analysis(BWTA)软件为许多Bot发生了崩溃。由于事故频发,本次比赛决定不宣布胜利者。 UAlbertaBot 没有参赛,因为它正在被完全重写。
AIIDE 2011
2011年,AIIDE 比赛由 Alberta 大学主办,自那时起就一直如此,每年都由我和 Michael Buro 组织和运营。由于2010年 AIIDE 比赛的比赛1,2和3的参赛人数很少,因此决定 2011 年的 AIIDE 比赛将只包括星际争霸的完整游戏(与2010年比赛4的规则相同) ,没有更小的微型管理锦标赛。2011年的比赛规则也被更新,所有参赛者必须提交其Bot的源代码,并允许在比赛结束后发布,这是由于几个原因。一个原因是降低进入未来比赛的障碍——由于编程星际争霸 AI Bot非常耗时,未来的参赛者可以下载和修改以前Bot的源代码,以节省大量的精力。另一个原因是为了更容易地防止作弊——在比赛中玩数以千计场游戏,我们不能再看每场比赛来检测是否采用了任何作弊手段,通过检查源代码会更容易些。最后的原因是希望通过允许未来的Bot检查其源代码来借鉴以前的Bot的策略和技术,来帮助推进星际争霸中的最新技术——理想情况下,未来比赛中的所有Bot应至少与上一年参赛的Bot一样强大。 2011年比赛有 13 名参赛者。
2010年的比赛是 Ben Weber 在两台笔记本电脑上运行的,手动启动星际争霸游戏,手动创建并加入游戏,对体能需求相当高。一场简单的随机配对双重淘汰锦标赛共进行了大约60场比赛。这造成了一些负面的反馈,认为这种淘汰赛完全依赖于配对运气,所以在2011年的比赛中,我们开始消除比赛的所有随机性并采用循环赛制。循环赛制需要进行更多的比赛,所以在2011年夏天的几个月里,Jason Lorenz和我写了一个软件,可以将任意数量的本地联网计算机自动安排进入星际争霸的循环赛。该软件使用服务器/客户端架构与单个服务器调度游戏并存储结果,并且运行启动星际争霸游戏的客户端软件,自动监视游戏的进度并在完成时记录结果。客户端可以通过本地网络上的共享Windows文件夹访问Bot文件,重播比赛和查看最终结果,这对所有终端机都是可见的。该软件的初始版本允许在与2010年比赛的60场比赛相同的时间段内进行2340场比赛,每个Bot共玩30次。比赛中共有10张地图,从专业人类锦标赛中选出,并可在竞赛网站上提前几个月下载。 AIIDE比赛为了让一些专家和对手建模而在人类锦标赛上进行了模拟。
五天的比赛结束后,Skynet 排名第一,UAlbertaBot 排名第二,Aiur 排名第三。 Skynet是由英国软件工程师Andrew Smith编写的虫族Bot,并使用了一些固体的虫族战略,如狂热分子,Dragoon / Zealot中场部队,以及由Zealot,Dragoons组成的后期游戏部队和Reavers。其独特的经济开发策略和良好的早期防御能够阻止带有更多攻击性的Bot UAlbertaBot和Aiur。 UAlbertaBot 进行了虫族比赛,这我们在下一段中详细描述。 Aiur 是南特大学研究生 Florian Richoux 写的,并且还参加了虫族比赛,实施了一些不同的策略,比如 Zealot 的冲动和 Zealot / Dragoon军队。前三名选手之间发生了一个有趣的石头剪刀布的场景,Skynet 在30场比赛中击败了 UAlbertaBot 26场,UAlberta 在30场中击败了 Aiur 29场,Aiur 则打败了 Skynet 19场。Overmind Bot 赢了2010年的 AIIDE 比赛,却没有进入 2011 年的比赛。 Overmind 团队还表示,他们不希望发布他们 2010 年Bot 的源代码,而在 2011年的比赛中这成了一个规则。伯克利分校的本科生团队提交了Undermind 人族Bot,最终排在第7位。
UAlbertaBot 已经在 2011 年由我自己和 Sterling Oersten 完全重写,进行了神族比赛,而不是前一年的虫族。选择神族比赛的最大原因是,从技术的角度来看,我们发现神族的战略更容易实施,战术在测试中表现得更加一致。 虫族战略的性质在很大程度上依赖于智能建筑安置,这个问题我们当时没有花太多精力来研究。由于虫族在游戏初期防守相对较弱,其建筑物必须以对基地建立“迷宫”的方式进行布置,以便将敌人引到工作单位。然而,由于其强大的“狂热者”和“龙骑士”单位,因此,神族没有这个问题,并且具有较强的早期防守。另一个原因是将神族转换为包含构建顺序的搜索系统,该系统已经在更简单的神族构建基础设施的情况下实现,并且不适用于虫族或人族。鉴于对象是一组单位,该建造顺序计划系统能够在比赛期间自动计划,实时地为这些对象制定时间上优化的构建顺序,并产生比基于优先级的构建顺序更好的结果。 BWSAL 系统在 2010 版本的UAlbertaBot 中使用。将新的构建顺序计划系统纳入到 UAlbertaBot 中是第一种复杂的基于搜索的方法,可用于给 Starcrfat AI 竞赛中的任何Bot进行规划。这个新版本的 UAlbertaBot 实施了一个非常激进的early rush 战略,压倒性地击败对手,在几分钟内赢得了许多游戏。如果最初的战略并没有彻底杀死敌人,那么它的中后期游戏策略就会发生转变。UAlbertaBot 表现相当不错,在比赛中排名第二,只是败给了 Skynet 和 Undermind 。 Skynet 能够以令人印象深刻的Dragoon kiting 阻止 UAlbertaBot 的early rush,用单个狙击手杀死几个狂热者。 Undermind 的战略包括建立几个人族 Bunkers作为早期防御,挡住 UAlbertaBot 的冲击。
CIG 2011
2011年CIG 比赛由哥本哈根 IT 大学的 Tobias Mahlmann 和多特蒙德的Technische Universitat 以及 Mike Preuss组织。从前一年的经验教训中,今年的CIG比赛使用了5个地图的标准人工测试地图池,不过与 AIIDE 比赛不同,地图未提前向参赛者透露。比赛采用了与 AIIDE 2011 赛事相同的规则,玩带有迷雾的星际争霸游戏,不允许作弊。两大规则的差异在于,CIG 比赛没有强制执行开放源代码要求,5张地图的地图池没有提前提交给参赛者。由于AIIDE和CIG比赛都是在8月份举行的(由于会议安排),并且经常收到相同的 Bot 申请,CIG组织者决定,不提前通知地图池,并稍稍改变比赛规则,来导致产生更多的结果。共有10个 Bot 参赛。由于 CIG 比赛加入任何自动化软件,游戏只需几台电脑即可, 而不是像AIIDE这样的大型轮巡比赛。 尽管 UAlberta 在第一池的循环赛中击败了Skynet,但Skynet在最后一站中获得了第一名,UAlbertaBot 获得第二名,Xelnaga 第三,BroodwarBotQ 排名第四。
由于这两个比赛相距只有几个星期,所以没有对Skynet或UAlbertaBot进行重大战略变化。 对UAlbertaBot进行的唯一变化是删除了几个手写编码的地图信息,它们是专门用在AIIDE竞赛中出现的地图上的建筑布局上的。
第一届学生星际争霸AI锦标赛(SSCAIT)于2011年冬季由Michal Certicky在Bratislava 的 Comenius 大学举办。本次比赛是 Comenius大学Michal Certicky教授的“AI介绍”课程的一部分,作为课程的一部分,每个学生都必须提交一个bot,由于课程有很多学生,比赛共有50名参赛者,完全由学生组成,由Michal Certicky编写的自定义软件用于自动安排和运行比赛,最后的胜利者是康尼纽斯大学的Daniel Danielis,这个比赛的Bot策略没有太多的细节,因为它在大学之外没有被高度的宣传,因此UAlbertaBot没有参加。
2012:持久性存储的使用以及可预测结果的Bot出现
AIIDE 2012
AIIDE 2012 再次在Alberta 大学举办,此次竞赛与此前有几个主要的不同:持久性存储(persistent file storage)的使用使得Bot 能够在整个竞赛的过程中进行学习。竞赛的管理软件被进行了更新,这样,每一个Bot 都有权限读取文件夹,或者写一个包含在共享文件夹中的文件,对所有参与者的机器开放。在每一轮中,bot能够从“可读文件夹”中读取文件,并且为这一文件夹增添新的文件。并且,每个循环(Robin)结束时(在单个地图上的每个BOT配对之间的一个游戏),写入文件夹的内容被复制到读取的文件夹,从而可以访问关于前几轮的所有信息。这种在每一轮之后复制的方法确保了没有Bot会占据先后排序的优势。
10个 Bot 参与了2012年的比赛。5天后,比赛结束,一共进行了8279场比赛,每对Bot对决了184次。最终的结果与2011年相似,Skynet拿下比赛第一名,Aiur第二名,UAlbertaBot排在第三。 Aiur的表现得到改进,包括一个新的战略,它称为\ textit {cheese},这是一个早期的游戏Photon Cannon 中的 rush策略,其他 Bot 没有准备好。
2012年的人机比赛:
Aiur vs. Bakuryu - Game 1, Game 2
Skynet vs. Bakuryu - Game 1, Game 2
在这一竞赛中,UAlbertaBot 有了一个主要的改进——增加了SparCraft 格斗模拟包。在2011年的版本中,UAlbertaBot 只是等在门口,一旦大量的Zealots 产生,会持续地将它们送到敌人的基地里,从不撤退。
2012年更新版的战斗模拟模块能够预测战斗结果,并用于战斗,以确定预测目前的战斗是否会导致自己或敌人的胜利。如果自己预计会赢,会继续攻击,如果敌人预计会赢,他们将退回到基地。这种新的策略在实践中证明是相当强大的,但是Aiur的游戏防守比前一年有大幅提升,最终UAlbertaBot排在第二位。 UAlbertaBot还为2012年的比赛实施了三个不同的战略:Zealot rush、Dragoon rush和Dark Templar rush战略。Bot 还使用持久性文件 IO 来存储与特定对手的匹配数据,并且通过使用UCB-1公式来决定针对给定对手的策略。这个学习策略运行得很好,在比赛结束时将Bot 从比赛开始时的60%的胜率提高到了68.6%的胜率。 UAlbertaBot在这场比赛中落后于Aiur 的主要原因之一是:Dragoon 和 Dark Templar 战略执行不力,策略选择学习算法最终总是选择Zealot 战略,浪费以前的胜利来探索其他策略。如果每场比赛都采取 Zealot 战略,UAlbertaBot将会排在第二。
2012年的CIG比赛使用AIIDE锦标赛管理软件,并在比赛过程中能够玩更多的游戏。有10名参赛者参加比赛,其中许多Bot 与AIIDE比赛相同。使用了六个未知地图的池,这与前一年不同。共玩了4050场比赛,每组Bot对战90次。在AIIDE比赛中,持续性文件IO可用于Bot 的学习,但是由于AIIDE和CIG锦标赛之间的网络文件夹差异,它并没有完全按照意图进行操作。另外值得注意的是,作为AIIDE竞赛,报告的Bot 崩溃率已经超过三倍,所以显而易见的是,在使用AIIDE比赛管理软件方面存在一些技术问题。Skynet 再次赢得比赛,UAlbertaBot排在第二,Aiur排在第三,Adjutant排在第四位。 UAlbertaBot没有使用任何文件IO或学习本次比赛,因为它在2012年AIIDE赛事中的表现不尽如人意,Zealot 策略使得Bot 能够获得第二名。
几个月后的十二月是第二届SSCAI比赛,比赛包含了Michal Certicky的AI课程的许多Bot,总共有52名参赛者。比赛形式是一个单循环,每组Bot玩家彼此对战一次,共计51个游戏玩Bot。初赛完成后,最终排名分为两类:学生和混合分组。 学生组的最第一名是 Zilna大学的Matej Istenik(Dementor bot)。第二名是格但斯克理工大学的Marcin Bartnicki,第三名 UAlbertaBot。混合组结果对所有竞争对手开放,前8名Bot在单个淘汰赛中脱颖而出。在决赛中,IceBot击败了Macin Bartnicki,取得了第一名。对于本次比赛,由于SSCAIT使用了未知的地图池,所以UAlbertaBot使用了CIG 2012版本。
CIG 2013
2013年,CIG比赛比AIIDE提前了几周。很多人正在为 AIIDE重新编写软件,因此在 CIG中使用了尚未完成的 2012版本的软件。 由于比赛设置的额外技术困难,只有1000场比赛,仅仅是去年场次的四分之一。比赛前三名选手与前一年相同,Skynet排名第一,UAlbertaBot 排名第二,Aiur获得第三名。 Xelnaga从前六名移至第四名。 UAlbertaBot正在经历一些重大改变(下一节描述),这些改变尚未及时为CIG 2013比赛做好准备。
AIIDE 2013
2013年AIIDE比赛,比赛管理软件几乎完全重新编写,对不同类型的网络设置更加强大。 以前版本的软件依赖于一个共享的Windows文件夹来存储文件,而这些文件为使用Java socket,被完全重新编写 。 所有Bot文件、赛事重播、结果和IO文件夹都通过Java socket进行压缩和发送,这意味着锦标赛现在可以在支持TCP(用于Java socket)和UDP(用于星际争霸的网络播放)的任何网络配置上运行。
2013年的比赛中只有8名参赛者,这是迄今为止所有比赛中参赛最少的,但提交的Bot的质量相当高。共有5597场比赛,每个 Bot 配对200场。 UAlbertaBot 赢得了比赛,第二名的胜者是 Skynet, 第三名是 Aiur,第四名是西蒙斯大学的Michal Certicky 的 AI 课程的学生 Tomas Vajda 编写的新的Bot为Ximp。
SSCAIT 2013
SSCAIT比赛于2013年再次提交了AI课程的 Bot,有超过50人参加,与上一年的规则相同。
CIG 2014
CIG 2014比赛是由世宗大学的Kyung-Joong Kim,Ho-Chul Cho和In-Seok Oh组织的,共接待了13位参赛者。 2014年,CIG比赛共使用了20场不同的地图,这些地图在比赛开始之前没有向选手公开,这是迄今为止星际争霸 AI 比赛中使用过地图最多的一次。该比赛使用 AIIDE 比赛管理软件的更新版本,这意味着用于学习的文件 IO 在CIG比赛中首次全面运作。
AIIDE 2014
由于2013年参赛选手数量较少,更多的广告已经被吸引到 2014 年AIIDE 比赛。除此之外,如果参加 2013 年比赛的队伍没有提交 2014年的新 Bot,那么2013年版本将自动重新提交给2014年的比赛,总共有18个 Bot 参赛,使其成为迄今为止最大的一次比赛。
SSCAIT 2014
在2014年,SSCAIT 被更新为使用 AIIDE 锦标赛管理软件(修改为适合其基础设施),允许它使用相同的文件 IO 结构进行学习,并允许它在更短的时间内玩更多的游戏。由于所有3个主要的比赛现在都在使用这个开放源码,可供竞争对手使用和测试软件,因此现在比赛更加精简,用户也可以提交参赛资料,以确保他们能够参加所有3场比赛。
提交给本次比赛的UAlbertaBot的版本与AIIDE 2013版本相同,仅仅对于单位定位和建筑布局进行了一些小的调整。
CIG 2015
来自世宗大学的成员再次进行了2015年CIG比赛的重大规则变化。 最重要的规则改变是竞赛不再执行Bot 的开源政策。 第二个变化是,他们允许单个作者的多个参赛 Bot,这很有争议,因为单个作者的 Bot 之间可能会串通。幸运的是,在比赛结束后没有发现这样的事情。 由于一些技术上的困难,2015年比赛的运行时间只有以前比赛的一半,导致14名参赛者只进行了2730场比赛。
AIIDE 2015
自2011年以来,AIIDE 比赛在Alberta 大学的 本科计算机实验室举行,使用了20台Windows XP机器。由于计算机实验室被学生占用,意味着比赛只能在一个学期结束和下一个学期开始之间(通常在8月底)进行。在2015年,竞争是在虚拟机上运行的,所以游戏可以运行更长时间——这要归功于Nicolas Barriga的重大努力。总共有4个Linux服务器,每个托管3个Windows XP虚拟机,共计12个虚拟机,用于赛事运行。虚拟机的一个优点是可以通过远程桌面软件远程监控和控制比赛。通过ssh 信道使用 KRDC,所有12台机器都可以同时进行控制,并且可以在几分钟内从家中停止并重新启动比赛。
25名Bot 注册参加2015年AIIDE比赛,其中3名因技术原因被撤掉,共有来自12个不同国家的22名参赛者参加了 比赛。到目前为止,2015 AIIDE年有最均匀的种族分配。过去几年,虫族的代表性不足,但今年有5项新的Zerg提交 。 所有AIIDE比赛的比赛分配可以在下面看到。
UAlbertaBot的几乎每个模块在2015年AIIDE比赛的几个月内都被重写,Bot从完全从只玩神族过渡到能够玩三个种族。这需要一个更加强大和通用的微观管理方法和构建顺序规划,之前是专门为神族量身定制的。构建顺序搜索系统已更新,以便现在可以执行任何三个种族的构建订单搜索,并且修复了以前在比赛期间引起 UAlbertaBot 崩溃的几个错误。该软件的新版本更名为BOSS(构建顺序搜索系统),并在 github上发布,作为 UAlbertaBot 项目的一部分。 UAlbertaBot的另一个重大改变是创建了一个用于 Bot 选项的配置文件,它是用JSON编写的,并且在每个游戏开始时由 Bot 解析。此配置文件包含战略和战术决策的许多选项,例如为每场比赛实施哪些策略,单位微管理选项和调试选项。它还包含一个 UAlbertaBot 打开顺序的数据库,可以快速、轻松地修改。通过使用此配置文件,可以编辑所有选项和构建顺序,而无需重新编译Bot,从而实现更快的开发时间,更容易地被其他程序员修改和使用。
三大竞赛的对比:
原文链接: http://www.cs.mun.ca/~dchurchill/starcraftaicomp/history.shtml
可下载参与竞赛的Bot代码
媒体合作请联系:
邮箱:[email protected]