抓个射手? 抢单位? 《绝尘》玩王者荣耀时如何选择英雄?
腾讯AI实验室研发的AI智能代理“绝物”让王者峡谷不再只是人类召唤师的竞技场,而这支AI团队在上个月底进化成了“完整体”。 在一款完整的游戏中,英雄选择阶段至关重要(例如官方不鼓励五射手或五法师阵容)。
近日,腾讯AI Lab和上海交通大学联合发布的一篇论文介绍了绝悟的英雄选择策略: 别的不敢多说,但有一点是肯定的:人工智能不会乱抢英雄。
在玩MOBA游戏时,英雄的选择非常重要,因为它决定了双方队伍的阵容,会直接影响战绩、胜败等最终结果。 以往的最佳英雄选择方法通常没有考虑以下因素:1)英雄池扩大时选择英雄的效率,2)MOBA游戏中5v5的多轮比赛机制,即两队争夺N场比赛,胜场数多的一方获胜。 (best-of-N),并且在这个系列游戏中,每个英雄只能被选择一次。
腾讯人工智能实验室和上海交通大学联合开展的论文将阵容选择过程描述为多轮组合博弈过程,提出了一种基于神经网络和蒙特卡罗树搜索的新阵容选择算法。 具体来说,作者设计了一种长期价值评估机制,可以更好地应对best-of-N比赛中的英雄选择情况。 研究人员在热门MOBA手游《王者荣耀》中测试了该方法,结果表明,与当前其他前沿方法相比,其实用性和有效性均更为优越。
“选择英雄”的重要性
自从计算机和电脑游戏在棋盘游戏中击败职业人类玩家以来,游戏人工智能(Game AI)就一直受到人们的关注。 此外,我们还见证了AI代理在其他游戏类型中的成功,包括Atari系列和 the Flag等第一人称射击游戏(FPS)、任天堂明星大乱斗等视频游戏以及扑克等纸牌游戏。 尽管如此,这些游戏比复杂的即时战略游戏(RTS)要简单得多,后者更贴切地反映了现实世界的本质。 因此,最近研究者们更加关注RTS游戏,例如《Dota 2》、《星际争霸》和《王者荣耀》。
RTS 游戏的一个子类别是多人在线竞技场 (MOBA),它是当今最流行的电子竞技游戏类型。 MOBA游戏的游戏机制涉及多智能体竞争与协作、不完善的信息、复杂的动作控制以及巨大的状态动作空间。 因此,MOBA游戏被视为AI研究的首选测试平台。 MOBA 的标准游戏模式是 5v5,两队各 5 名玩家相互对抗。 最终目标是摧毁对方队伍的基地/水晶/堡垒。 每个玩家控制一个游戏角色,通常称为“英雄”,并与其他队友一起攻击彼此的英雄、小兵、炮塔和中立生物,同时保护自己的单位。
MOBA游戏通常由两个阶段组成:1)匹配阶段,两队10名玩家从英雄池中选择英雄。 这个过程也称为“英雄选择”或“英雄选择”; 2) 比赛阶段,两队开始战斗直至比赛结束。 下图是《王者荣耀》英雄阵容选择阶段的游戏截图。 在选择英雄时,两队会轮流选择,直到每位玩家都选择了一名英雄。 最终选择的英雄阵容将直接影响后续的比赛策略和最终的比赛结果。 因此,为了构建一个能够充分玩好MOBA游戏的AI系统,英雄选择阶段是非常重要和必要的。
图1:《王者荣耀》英雄选择界面截图
为了决定两支球队的胜负,常用的评估规则是best-of-N,其中N可以是奇数1、3或5,这意味着要执行N场比赛,直到一支球队获胜( N+1)/2 局,例如三局三胜或五局三胜。
在 MOBA 游戏中,每个英雄都有独特的技能和能力。 每个队伍中五名英雄的技能和能力的综合就是队伍的整体实力。 此外,英雄之间还存在着复杂的压制与互补关系。 例如,在《Dota 2》中,反法师的技能可以降低敌方英雄的魔法值,因此它“杀死”了美杜莎,因为美杜莎的持续战斗能力很大程度上依赖于魔法力量。 再举个例子,在《王者荣耀》中,明世隐可以提升己方所有英雄的普攻伤害,让他能够为射手英雄后羿提供强大的辅助。 因此,为了赢得比赛,玩家需要仔细考虑在选择英雄时如何增强队友英雄的能力或补充其弱点,以及如何克制对方英雄。
在《王者荣耀》、《Dota 2》等MOBA游戏中,英雄选择阶段可选择的英雄数量可能会超过100个。例如最新版本的《王者荣耀》已经有102个英雄。 因此,可能的英雄阵容数量可以达到5.37×10^15(),即从包含102个英雄的英雄池中选择10个英雄,然后从这10个中选择5个)。 由于英雄之间关系复杂,阵容中存在多种可能性,选择英雄来配合队友、克制敌人对于人类玩家来说也是相当有挑战性的。
说到MOBA英雄的选择,目前最好的方法来自于五和。 Five是一个玩Dota 2的AI程序。它使用算法来选择英雄,因为它只支持17个英雄。 然而,完整的搜索树是由每个玩家的替代可能选择构建的,这使得计算上难以扩展大型英雄池,例如 100 个英雄。 使用蒙特卡罗树搜索(MCTS),它通过在阵容完成之前模拟可能的后续选秀来估计每个选秀的价值。 然而,它只考虑单一比赛,即best-of-1(一场比赛决定胜负),这可能会导致阵容选择结果次优。 另外,MCTS模拟采用随机roll-out来获取奖励,效率非常低。
腾讯人工智能实验室和上海交通大学的这篇论文将 MOBA 游戏中的英雄选择过程描述为两个玩家使用完美信息的零和博弈问题。 每个玩家的目标是最大化自己队伍相对于敌方队伍的胜率(敌方和我方各有五名英雄); 另一个条件是英雄池中的每个英雄只能被同一队伍选择一次。
为了解决这个问题,论文提出了一种结合蒙特卡罗树搜索(MCTS)和神经网络的方法。 具体来说,MCTS与策略和价值网络相结合,其中价值网络的作用是直接预测当前状态的价值以获得奖励,而不是执行低效的随机推出。 在国际象棋、围棋等棋类游戏中,比赛的获胜者是由最终状态决定的,但英雄的选择过程却有所不同。 终点并不是 MOBA 游戏的结束。 因此,我们无法直接获得比赛结果。 为了解决这个问题,作者构建了一个神经预测器来预测特定阵容的胜率。 这个最终状态的胜率可以作为预测 MCTS 和训练价值网络的反向传播的奖励。
另外,根据N最佳规则,当前比赛选择的英雄将会影响后续比赛的选择。 针对这一特点,作者提出将英雄选择过程描述为多轮组合博弈过程,并设计了长期价值机制。 这样得到的英雄选择策略可以更长远地考虑当前比赛以及后续比赛。
总的来说,本研究的贡献如下:
为 MOAB 游戏提出了一种名为 的英雄选择方法,该方法利用神经网络和蒙特卡罗树搜索。 具体来说,MCTS与策略和价值网络相结合,其中价值网络用于评估当前状态的价值,策略网络用于对下一次英雄选择的动作进行采样。
best-of-N英雄选择问题被描述为多轮组合博弈问题,其中每场比赛都有一个最终阵容的预测胜率。 为了适应这样的best-of-N英雄选择问题,作者设计了一个长期价值机制。 这使得当前状态的价值估计能够考虑到后续的比赛。
作者对单游戏和多游戏游戏进行了广泛的实验验证,结果表明它可以取得比当前其他最佳方法更好的性能。
相关工作
在MOBA游戏中选择英雄时,以往的方法主要分为以下四类:
1.根据游戏过往英雄出场率来选择
2.根据英雄之前在游戏中的胜率来选择
3. 算法
4. 蒙特卡罗树搜索
绝乌就是用这个方法选英雄的
问题描述
前面提到,在MOBA游戏中,英雄的选择过程非常重要,尤其是在复杂的游戏比赛中。 在正式的MOBA比赛中,常用的决胜策略是N多局两胜制,其中N为奇数,通常是3局3胜或5局3胜,即两局两胜三场比赛。 五局三胜或五局三胜的比赛。 例如,王者荣耀职业联赛(KPL)的比赛形式总是包含多场比赛。 其中两支球队将进行多场比赛,直到一支球队赢得 (N+1)/2 场比赛。 此外,在多场比赛中,KPL不允许玩家选择自己队伍在之前比赛中选择过的英雄。 这意味着,要想在多场比赛中赢得最后的胜利,在选择英雄时,不仅要考虑当前的比赛,还要考虑后续的比赛。
基于这些考虑,除了单独考虑每个博弈的英雄选择外,本文将完整博弈G定义为具有重复子结构的两人零和完美信息博弈问题。 游戏中考虑的要素包括玩家数量、选择顺序、游戏状态等,具体请参见原论文。 还需要说明的是,本文没有考虑英雄ban选的情况。
学习使用神经网络和树搜索在 MOBA 游戏中选择英雄
整体训练框架 整体训练框架如图2所示。 为了提高训练效率,作者将框架分布到多个CPU和GPU服务器上进行处理。 总体而言,该框架包含4个模块:数据采样器、样本池、神经网络训练器和模型池。
图2:整体培训框架
具有深度神经网络的并行 MCTS:该框架使用的搜索算法是多项式置信区间树。 为了提高数据获取速度并充分利用计算资源,树的搜索是并行进行的。 总体而言,PUCT搜索树通过四个步骤迭代构建:选择、评估、扩展和反向传播。 图 3 说明了此过程。
图3:英雄选择过程的MCTS 每个模拟分为四个步骤:选择、评估、扩展和反向传播。 搜索完成后,返回概率π(与每个节点C(s)的访问次数成正比)。
策略和价值网络的训练深度神经网络在估计未见状态的价值方面具有很强的泛化能力,因此是网络的重要组成部分,为当前价值和主要行动提供稳定的参考。 此外,这种神经网络还可以节省搜索和构建树的时间; 相对而言,传统的MCTS算法会一直采样到比赛结束,因此会花费大量的时间。 因此,训练网络的方式至关重要。 本文提出的网络可以在单一框架内输出价值和 () 策略。
长期价值传播如前所述,在多人游戏中,游戏前期的每个英雄选择都会影响后期游戏的选择。 此外,可以直观地聚合所有相关游戏的结果来预测当前步骤的值。 长期价值传播有两种情况:
图 4 显示了三场比赛的示例,说明了价值网络中上述两种价值传播方法。
图 4:价值沟通
网络结构和状态重建:为了更有效地训练策略和价值网络,需要重建状态。 如图5所示,重构的状态向量主要包含三部分。 首先是当前英雄选择部分,即当前回合的英雄选择,对当前回合的胜率有重大影响。 这个向量的中间部分是历史英雄选择信息。 最后一部分是关系信息(比如当前游戏中哪一方先选择)。
图 5:状态向量的配置
如图 6(b) 所示,策略和价值网络使用简单的 3 层全连接神经网络。 它以图5所示的状态向量作为输入,输出是两个头:一个带有函数的全连接层(策略头,输出每个动作的概率); 具有 tanh 函数的全连接层(值标头,输出当前状态的值)。
图6:网络架构:(a)是胜率预测器,(b)是策略和价值网络
胜率预测器
在英雄选择阶段,只有阵容信息,胜负信息未知。 作者使用胜率预测器来预测阵容的胜率作为奖励函数。
用于训练胜率预测器的比赛数据集包含阵容和胜负信息。 每个英雄都有一个范围为 [0, -1] 的索引。 输入特征由所有 10 个选定英雄的索引表示。
图 6(a) 显示了胜率预测器的网络架构,它是一个简单的 3 层神经网络,其输出层连接有一个激活函数。
实验
在实验中,总体优于其他策略,算法的有效性和效率也得到了体现。
具体来说,对这三种策略进行了比较:
表1:在AI数据集的单场比赛中(每行玩家对每列玩家),每对策略中每行玩家的预测胜率。
表 4:在人类数据集上的单场比赛中每对策略中每排玩家的预测胜率。
下面介绍一个具体的模拟案例,场上玩家为HWR,如图10所示,三场比赛的预测胜率分别为56.3%、71.8%、65.1%。 第二场和第三场的胜率比第一场要高。 具体来说,在第一场比赛中,首先选择了成吉思汗,而不是平均胜率最高的刘备,尽管首先选择刘备可能会导致第一场比赛的胜率更高。 这说明贪心策略虽然没有HWR那么高,但是考虑的是长远,考虑到了后续的博弈。
图 10:针对 HWR 的特定模拟结果(选择先行者)。
研究局限性及未来展望
这项研究也有两个局限性,需要进一步探讨和扩展。
研究人员希望在这两方面带来进一步的突破。
论文链接:
还没有评论,来说两句吧...