前两篇文章,我们回顾了游戏AI发展史上的几个经典算法和里程碑事件,也介绍了如何从数学上衡量它们透视国际象棋、围棋、扑克、麻将等桌游AI的复杂性。在这篇文章中,我们将分享几款近几年非常成功的游戏AI,并介绍几款尚未被AI征服的热门游戏。它们无疑代表了未来游戏AI的发展方向和趋势。游戏AI多人游戏德州扑克达到或超过人类水平:Pluribus与国际象棋和围棋不同,德州扑克作为一种信息不完善的游戏,具有不同的挑战:玩家无法看到彼此的牌,而玩家往往会利用这种不完美性。对称的虚张声势(Bluff),从而误导对手。AlphaGo/AlphaZero等完美信息游戏的算法不能直接用在扑克中。在人工智能领域,德州扑克仍被视为未解之谜。Pluribus最近由CMU与Facebook联合开发,在六人无限注德州扑克中击败了人类玩家。这些人类玩家都是职业玩家,赢得了超过一百万的奖金。Pluribus在12天内与这些人类玩家进行了10,000多场比赛,最终获胜。Pluribus的训练并不依赖于人类的卡牌分数,而是从零开始,通过与自己的6个副本对战,不断提升性能。在self-play中,Pluribus基于MCCFR(MonteCarloCFR)算法搜索学习更好的出牌技巧,调用不同的self-play结果蓝图(Blueprint)策略。由于无限注德州扑克的状态空间太大,蓝图策略只能涉及有限的策略空间。因此,在实战中,Pluribus会采用蓝图策略进行初步决策;搜索有限的步骤以做出进一步优化的决策。Pluribus首席开发人员NoamBrown认为Pluribus的一些策略将改变职业选手的比赛方式。然而,尽管德州扑克是一种信息不完全的游戏,但在任何情况下,每个对手可能隐藏的状态数只有一千多(从50张牌中选择2张)。无论是Pluribus还是另一种非常成功的扑克AIDeepStack算法,都非常依赖对对手牌的概率分布的估计来做细粒度搜索,其实现难度相对可控。然而,这些近似算法很难应用于具有大量隐藏状态的游戏(例如桥牌和麻将)。图1:Pluribus在与五名职业选手的对战中虚张声势。星际争霸2:AlphaStarAlphaStar是DeepMind与暴雪联合开发的《星际争霸2》游戏AI,于2019年1月击败顶级职业玩家。《星际争霸》是一款多人即时战略游戏。在常见的1v1对战模式中,每位玩家会选择三个种族中的一个在不同的地图上进行战斗。在游戏开始时,每个玩家都会被分配一些初始单位。基于这些单位,玩家需要从地图上获取可开发的资源,并利用这些资源建造更多的单位和科技。游戏的目标是通过经营资源和创建军队来消灭对手的所有单位。星际争霸玩家需要兼顾宏观规划和微观操作,游戏最长可达一个小时,这意味着AI的策略需要具备长时间规划的能力。并且不同于传统的棋牌游戏,星际玩家需要在短时间内连续操作分布在不同区域的多个单位。此外,星际争霸也是一个不完全信息游戏。初始地图布满了一层“战争迷雾”,让对方的信息隐形。因此,玩家需要不断试探对方的位置,并做出相应的对策。AlphaStar利用深度神经网络接收暴雪提供的游戏内部信息,然后输出一系列指令,引导AI做出行为选择。代理首先学习人类玩家的游戏模式,然后使用多代理强化学习算法进一步提高性能。AlphaStar的网络结构结合了Transformer、LSTM、Auto-Regressivepolicyhead、pointernetwork和centralizedvaluebaseline。在监督学习之后,AlphaStar创建了一个联盟机制,让AI自己学习。通过基于种群理论的强化学习算法,AI可以在保持足够多样性的情况下不断变强。由于星际争霸2中不同的策略和种族之间存在一定的相互依存关系,这种训练方式使得AI能够朝着综合实力更强的方向进行训练。AlphaStar无疑是非常成功的,但是也有很多人持有不同的看法。在与人类的竞争中,AlphaStar仍然有不对等的策略:AI可以在极短的时间内控制数百个AI。不同的人执行不同的任务。这种在短时间内进行高粒度、多任务的控制,相对于人类玩家具有巨大的优势。另外,AlphaStar只是在特定的地图上训练了特定的种族,所以可能还是有不足之处。AlphaStar开发团队希望他们的模型可以帮助其他任务,尤其是那些需要对长序列建模并且具有较大输出空间的任务,例如机器翻译、语言模型和视觉表示。图2:AlphaStar和MaNa(顶级人类玩家)相互对抗的可视化。图为AI眼中的博弈:包括输入神经网络的原始信息,神经网络内部的激活单元,一些备选动作,以及输赢的概率。Dota2:OpenAIFiveDota2也是一款需要多人参与的即时战略游戏(MOBA)。比赛由两队进行。每支队伍由五名“英雄”组成。这些英雄往往具有不同的特点和各自的职责。因此,球队的胜利取决于不同职责的球员之间的分工合作。这是一款强调团队合作的游戏。与星际争霸类似,Dota2也是一款不完全信息游戏。玩家需要在地图上抢占不同的资源和视野,最终推倒对方队伍的核心建筑。与AlphaStar不同,Dota2训练完全从自我对弈中学习,通过近端策略优化更新他们的神经网络。许多研究人员认为,要解决Dota中的长期规划问题,需要使用分层强化学习等技术来分别处理长期和短期规划。但他们惊喜地发现,仅通过强化学习训练的策略也具有长期规划能力。OpenAIFive使用五个神经网络来代表五个“英雄”。五位“英雄”的神经网络之间并没有明确的联系,而是通过控制自己的权重和团队的奖励来学习合作。2019年4月,OpenAIFive在一场三局两胜的比赛中以2-0击败了Dota2世界冠军OG俱乐部。但随着进一步分析OpenAIFive的攻略,网友们也??发现了OpenAIFive的弱点——擅长团战但不擅长分推,根据弱点定制战术,打败了OpenAIFive。游戏AI的下一轮挑战:在上述桥牌和麻将游戏中,AI可以达到甚至超过人类顶尖选手的水平。然而,桥牌和麻将这两种有着广泛群众基础的游戏,属性各不相同,现有算法无法很好地处理它们。毫无疑问,它们将是游戏AI的下一轮挑战。BridgeBridge是一个不完全信息的4人游戏。游戏开始时,玩家只能看到自己的牌。桥牌分为叫牌和打牌两个步骤。与德州扑克不同,桥牌有更大的隐藏信息,尤其是在叫牌和游戏的早期阶段。计算机非常擅长利用完整的信息进行搜索,但人类玩家更擅长利用不完整的信息进行推理和决策,而这恰恰是计算机不擅长的。此外,桥牌四人之间既有竞争,也有合作。在双人合作时,玩家不仅需要估计对手的信息,还需要估计队友的信息。目前的桥牌算法会随机生成多次与当前情况相匹配的对手手牌,然后使用双明人求解器算法预估出牌方式,最终从所有牌中选出综合表现最好的牌采样的手。此类算法非常依赖于随机生成的手牌的数量和质量,以及双明手算法的性能。游戏结束时,因为隐藏的手牌不多,抽样搜索的算法可能更有效。从1997年开始,每年都有世界计算机桥牌锦标赛,但至今还没有人工智能能打败人类顶尖选手。Mahjong麻将也是一种多人不完全信息游戏,在世界范围内,尤其是在亚洲有着广泛的群众基础。普通麻将由4名选手组成,每位选手可以有13只私手。与围棋类似,麻将具有巨大的状态复杂性。与德州扑克相比,在麻将中,每个对手的隐藏状态在任何情况下都要大十个数量级以上。这种不确定性让玩家很难估计对手的状态。对局过程中,人类玩家会根据“直觉”估计对手的一些影响自己决策的信息,比如听牌状态、听牌得分等;精确搜索。如何平衡模糊估计和精确搜索是人工智能面临的巨大挑战。与德州扑克和桥牌不同,麻将玩家需要从底牌中随机抽取一张牌来代替丢失的手牌,然后才能出牌。因为这张随机抽取的底牌,麻将的强随机性贯穿于游戏之中,并将深刻地改变游戏的胜负。比如两个玩家同时抽到同一张牌,最后谁赢主要看运气。麻将的强随机性会让AI的学习效率成为挑战。如果我们想知道:“一个选手赢了,是因为他打得好,还是因为他运气好?”要得到这个答案,我们通常需要玩很多游戏来衡量。如何在随机性强的环境中更高效地学习,是人工智能需要解决的难题。同时,由于麻将游戏的随机性强,如何衡量麻将AI的水平也是一个挑战。总结为了解决这些新的挑战,未来游戏AI需要具备在大量隐藏状态下进行推理决策和高效学习的能力,还需要更强的随机事件处理和协作能力。我们期待游戏AI技术在这些具有挑战性的游戏中不断取得突破,同时将从游戏中学到的经验和能力应用到现实世界中,帮助人类更好地完成各种复杂的任务。
