AI在游戏领域获得了怎样的成就

未知 2019-04-08 18:00
AI在游戏领域获得了怎样的成就


AI是否已经战胜了人类选手、(如果它现在还没能做到)AI何时能战胜人类选手、AI要如何战胜人类选手?本文将回答以下3个问题。

 

先说点背景。2016年,Alpha Go击败韩国选手李世石;2017年5月,战胜围棋世界冠军柯洁(比分3:0),从此奠定了它“世界最强”的地位。2017年10月它更新至“Alpha Zero”版本,这个版本拥有完全独立的学习能力,不需要借助任何人类棋谱就能反复自我强化,它还以100:0的成绩击败了老版本AlphaGo。看起来,它君临天下、无可比拟。

实现这一切的前提是什么?围棋是一种规则非常明确的游戏(或说竞技,在英语里它们可以用同一个词games),而且它是单人游戏。这两点都非常适合AI:前者大大减小了意外发生,后者则降低了来自外部的风险(也就是我们说的“猪队友”)。在这两点的基础上,良好的设计和日益精进的处理器能力使Alpha系列能战胜顶尖的人类。

(AlphaGO这个系统可以分成三个部分:策略部分用于判断“下一步走哪儿”,价值部分用于判断“当前局势如何”,结合策略部分就能得出上一步是否正确的结论。还有一个效率部分用于提升前两个部分的工作效率,因为棋盘很大,大多数时候大多数空地其实是不需要下子、不需要计算的。最后是一种名为“蒙特卡洛树”的方法,用来串联三个部分)

那么正如上文所说,AI在“规则明确、单人游戏”的围棋上战胜了人类,于是有人就想,游戏行不行呢?饭要一口一口吃,我们先来看《星际争霸2》。

 

 

星际2当然也有多对多,但RTS游戏归根结底,1v1还是最体现个人实力的部分。在这方面,AI的进展是今年1月25日分别战胜了TLO和Mana,比分是两个5:0。但有人指出AI使用的是“全局视野”——不是某些人所认为的“没有战争迷雾”,而是可以直接看到整张地图。我们知道一般玩的时候你只能看到地图的一小部分,靠小地图切换,而AI直接看的就是整个大地图(省掉了切换的过程),并且还能同时操纵整张地图上的所有单位。这会占一些便宜。结果AI关掉这个全局视野后被Mana用空投杀农民的方式戏耍并成功扳回一城,因为正常情况下没人会盯着自己采矿的农民一直看,而来回切换时AI明显“力不从心”。考虑到这一点,星际2的AI目前还不能说完善。

不过Mana提到,AI的微操“无与伦比的”厉害,用追猎(Stalker)打的时候依靠精度极高的微操,在正面战场上打得他完全没有还手之力。关于这一点可以用指标“APM”来衡量,如同我们所知,APM就是每分钟里的操作数,这个数字包括点鼠标和按键盘。人类方面,Mana平均APM390而TLO(使用神族)达到了678!与之相比,AI的APM只有277。然而分析师认为AI的操作更精确,它过滤了大量的无效、无意义操作,并且完全不会有疲劳或误操作。这就是为什么AI平均APM不到300却能正面硬刚人类的原因,事实上没有人会想要正面和计算机比手速吧?

现在的情况是纯论规则,AI完爆;硬拼操作,AI无敌;但打局部打战术,AI还未能适应套路。那么有这样的一款游戏(或说竞技),需要的操作没那么多、规则更为复杂,最重要的是它要求5个人合作。这样的情况下,AI还能搞定吗?它就是DOTA2。在这个项目上,AI的表现出乎预料。

 

DOTA2虽然号称“不是一个人的游戏”,但在日常中却又经常擦出“不服中路Solo”的火花。尤其是在比赛中,中路的“2号位”能否压制住对方从而率先达到较高等级、在游戏前中期带动Gank或推塔节奏,是致胜的关键点之一。从这个意义来说,中路Solo也可以算是全局的缩影。

AI在这方面非常出色:早在2017年8月,它就已经在中路单挑中战胜了老将Dendi、天才少年Arteezy、世界第一中单Sumail等人,证明了自己无可置疑的统治地位。当然,这里还是存在一些问题,比如有人提到“AI故意掉血、引诱对方来(越塔)击杀自己然后通过精妙的操作和对和距离的完美把控以及绕树林操作等做到反杀”,这在实战中是不可想象的,也就是我们所说的路人局和对战局的区别:在路人局里你没有负担,可以随便打各种队伍组合、用奇怪的战术、在局部打得奔放而激进。反正大不了死一两次,最多也就是输一局嘛。DOTA这游戏又不是只打一局,打了几千上万局的人不计其数,浪一点也没关系。

但比赛是要赢的,而且赢家只有一个。所以打比赛时选手们会选择更稳妥的打法,轻易不开团、不打盾、不上高。著名的说法“伟乌生、优不盾”就是这么来的。故意卖血引诱对方越塔的打法,即使战术上成功,在比赛里也绝对是自杀行为。你不知道下一秒会发生什么事,也许对方的4号位已经过来游你了呢?中路死一次就小劣,死两次大劣,死3次基本就要转3、转4号位打。卖血?只有1v1 Solo友谊赛才敢这么玩。

 

为了说明“AI对DOTA2的理解”,我们可以再看看它在5v5中的成绩:2018年6月,和MMR4000(传奇)的选手打了个平手,但这个时候的AI还只能用5个特定英雄、而且不会买眼、不能反隐。到了8月初,它已经能打赢平均分6600(冠绝排名1000左右)的队伍!要知道这个成绩绝大多数DOTA2玩家都到不了,所以是不是可以认为AI已经战胜人类了?

其实这里面还是有一些限制条件的。第一是这次的比赛只能从18个英雄里选。当然从之前的“5个英雄”到现在的“18个英雄”已经有了很大进步,但要知道DOTA2里可是有上百个英雄。真正的比赛里队长模式下光是禁用就要禁掉一共12个,你只会18个的话岂不是等于选什么英雄数都能数得出来。第二,人类方的队伍确实有平均6600的分数,但他们并没有作为队伍而集训过。或者说,这等于是一个黑店去打6600分的散排局。很难讲这里会有多大优势,但毫无疑问肯定会占一些便宜。尤其是一共只能用18个英雄的前提下,这种便宜又被无限放大:6600分段的选手并不一定有很深英雄池,很可能这18个人里没有他的绝活。

那么“真正的考验”面前,AI的表现会怎么样呢?2018年8月22日,AI与来自南美洲的PG战队进行了战斗,结果是大败而归。

 

对DOTA2稍有了解的人都知道,中国是传统强国,此外还有几只经典强队如Secret、VP、EG等,其分别来自欧盟、俄罗斯和美国。而南美洲虽然足球出名、打DOTA却不是他们的强项,历史上没有任何一支南美洲队伍进过TI的八强。这支来自巴西的PG战队在去年的TI8中取得了第17名的好成绩,荣获奖金6万美元……无论你从哪个角度说它都不算是“DOTA强队”,但AI还是选择了它作为对手:如果赢了,就能给自己加上一个“战胜TI队伍”的光环,哪怕是第17名那也是打过TI的啊——不幸的是,AI还是输了。

在此前提下,AI还存在一些其他的问题。比如直接调用API数据而不是用目测方式确定技能范围,比如在极短时间内挫败了对方的意图:当斧王从阴影中跳出来时,AI第一时间用风杖吹起自己。这个操作在有准备的前提下并不困难,但如果对方新出跳刀你是不知道的(也就是对战中所谓的“最强一波”),也就很难、几乎不可能做到第一时间吹自己。赛前AI还说“反应时间被调到了200ms(0.2秒)”,从具体表现来看完全不到这个数……

047e167a-dcb2-420f-a0b4-9a007ded4075.gif正在加载96%

还有一点最重要的,是DOTA归根结底是五个人的游戏。五个人的想法不同,虽然往往有个队长指挥,但具体到团战时技能的衔接,目标的转换等,一部分靠喊另一部分则要靠平时训练练出来配合。DOTA的难主要是难在这里,当然它的魅力也正是在这里。而AI却是用上文提到的“全局视野”的方式,同时操纵5个英雄,也不存在什么沟通与交流。这更类似于一个高手同时操纵5个英雄——在我们还刚学DOTA时,有时的确打不过这样的高手。但当你有个3、4000分时,已经几乎不可能出现一个人控制5个英雄击败对手的事情了。再说就算是能赢,但这还是DOTA吗?这难道不是澄海3C?

(当然澄海3C也是很好玩的)

自那以后,在AI的官方网站(OpenAI.com)上已经没有新的进度表和时间节点了。至少我们可以认为自去年8月以来,它还没有取得过值得公布的重大进展。从18个英雄到117个英雄之间还有漫长的路要走,尤其是在“真正的队长模式下”,需要BP之时,它究竟会有怎么样的表现还不得而知。要想做到“5个独立AI、相互之间打出精妙配合”,则更为遥远。

现在可以来回答一开始的问题了。

AI是否已经战胜了人类选手、AI何时能战胜人类选手、AI要如何战胜人类选手?这要看是什么游戏项目。1v1且规则明确而简单,可以认为AI已经能战胜人类选手,大部分情况下都是如此。星际2的变化多一些,但也是个迟早的问题。越拼操作,AI优势就越大。反之,多对多、规则复杂而模糊、拥有多种不确定战术的游戏,AI还有很长的路要走。

标签