英雄联盟是一个需要默契团队配合的多人对战游戏。在瞬息万变的战斗中,如何做出正确的决策非常重要。最近,数据分析师 Philip Osborne 提出了一种利用人工智能技术提升英雄联盟中团队决策水平的方法,并将其开源。该方法不仅参考了大量真实游戏的统计结果,也将当前玩家的偏好计算在内。

该项目由三部分组成,旨在将 MOBA 游戏《英雄联盟》的对战建模为马尔科夫决策过程,然后应用强化学习找到最佳决策,该决策还考虑到玩家的偏好,并超越了简单的“计分板”统计。

在 Kaggle 中上传了模型的每个部分,以便大家更好地理解数据的处理过程与模型结构:

第一部分: www.kaggle.com/osbornep/lo… 第二部分: www.kaggle.com/osbornep/lo… 第三部分: www.kaggle.com/osbornep/lo…

目前这个项目还在进行当中,我们希望展示复杂的机器学习方法可以在游戏中做什么。该游戏的分数不只是简单的“计分板”统计结果,如下图所示:

####动机和目标

英雄联盟是一款团队竞技电子游戏,每局游戏有两个团队(每队五人),为补兵与杀人展开竞争。获得优势会使玩家变得比对手更强大(获得更好的装备,升级更快),一方优势不断增加的话,获胜的几率也会变大。因此,后续的打法和游戏走向依赖于之前的打法和战况,最后一方将摧毁另一方的基地,从而赢得比赛。

像这种根据前情建模的情况并不新鲜;多年来,研究人员一直在考虑如何将这种方法应用于篮球等运动中(arxiv.org/pdf/1507.01…

以这种方式建模对英雄联盟这类游戏来说更为重要,因为在该类游戏中,家补兵和杀人后可以获得装备并升级。例如,一个玩家拿到首杀就可以获取额外金币购买更强的装备。而有了这些装备之后,该玩家变得更加强大进而获取更多人头,如此循环,直到带领其队伍获取最后的胜利。这种领先优势被称为“滚雪球”,因为该玩家会不断积累优势,不过很多时候,该玩家在游戏中所在的队伍并不一定是优势方,野怪和团队合作更为重要。

该项目的目标很简单:我们是否可以根据游戏前情计算下一步最好的打法,然后根据真实比赛数据增加最终的胜率。

然而,一场游戏中影响玩家决策的因素有很多,没那么容易预测。不论收集多少数据,玩家获得的信息量始终多于任何一台计算机(至少目前如此!)。例如,在一场游戏中,玩家可能超水平发挥或发挥失常,或者偏好某种打法(通常根据他们选择的英雄来界定)。些玩家自然而然地会变得更加好斗,喜欢杀戮,有些玩家则比较被动一直补兵发育。因此,我们进一步开发模型,允许玩家根据其偏好调整建议的打法。 ####让模型“人工智能化”

在第一部分中,我们进行了一些介绍性的统计分析。例如,假设队伍在比赛中补到第一个和第二个兵,我们能够计算出获胜的概率,如下图所示。

有两个组成部分,使我们的项目超越简单的统计的人工智能:

我们定义马尔可夫决策过程及收集玩家喜好的方式会决定模型学习和输出的内容。

根据匹配统计信息对马尔科夫决策过程进行预处理和创建。

###AI 模型 II:引入打钱效率 我从第一个模型的结果中意识到,我们没有考虑到负面和正面事件对未来都可能产生累积的影响。换句话说,无论在当时时间点之前还是之后,当前的 MDP(马尔科夫决策过程)概率都有可能发生。在游戏中,这是不正确的。一旦落后,杀人、拿塔、补兵都会变得更难,我们需要考虑到这一点。所以,我们引入队伍间的打钱效率来重新定义状态。当前目标是建立一个定义状态的 MDP,这个状态可能是事件发生顺序,或者队伍是否落后或领先。我们将金币差值分为以下几类:

我们也需要考虑没有任何事件发生的情况,并把其归为“无”事件中,以保证每分钟都有事件发生。这个“无”事件表示一个队伍决定拖延游戏,以将那些在早期游戏中更善于获得金币的队伍区分出来,而不需要杀死(或通过小兵杀死)他们。然而,这样做也会大大增加数据量。因为我们为匹配可用匹配项已经添加了 7 个类别,但如果我们能访问更常规的匹配项,那数据量就已足够了。如前所述,我们可以通过以下步骤来概述:

####预处理

####使用简易的模型 V6 代码 我们最终版本的模型简单总结如下:

####引入奖励偏好

首先,我们调整模型代码,把奖励归入回报计算中。然后,当我们运行模型时,引入了对某些行为的偏置,而不是简单地使奖励等于零。

####更真实的玩家偏好

现在我们可以尝试近似模拟玩家的真实偏好。在这个案例中,我们随机化一些奖励以允许遵守以下两条规则:

因此,我们对人头和补兵的奖励都是最小值-0.05,而其它行动的奖励都在-0.05 和 0.05 之间随机生成。

####总结及玩家对奖励的反馈

我过分简化了某些特征(如“kills”实际上并不代表人头的数量),数据也不太可能表示正常的匹配。然而,我希望本文能够清晰地展现一个有趣的概念,鼓励更多人讨论这一领域今后的走向。

首先,我将列出在实现之前需要作出的重要改进:

我们引入了针对影响模型输出而给予的奖励,但该如何获得奖励?我们可以考虑几种方法,但是根据我之前的研究,我认为最好的方法就是考虑一种既涉及到行动的个体质量又考虑到转变质量的奖励。

这变得越来越复杂,我不会在此文中展开,但简而言之,我们想为玩家匹配决策,其中下一个最佳决策取决于最新情况。比如,如果一队玩家将对方全部歼灭,他们可能会去拿大龙。我们的模型已经将一个序列中事件发生的概率考虑在内,因此,我们也应该用同样的方式思考玩家的决策。这一想法来自一篇论文《DJ-MC: A Reinforcement-Learning Agent for Music Playlist Recommendation》,该论文阐释了如何更加详细地将反馈映射出来。

反馈的收集方式决定了我们的模型能有多成功。依我之见,我们这么做的最终目标是为玩家的下一步决策提供最佳实时建议。如此一来,玩家就能从根据比赛数据算出的几条最佳决策(根据获胜情况排序)中做出选择。可以在多个游戏中跟踪该玩家的选择,以进一步了解和理解该玩家的偏好。这也意味着,我们不仅可以追踪决策的结果,还能预测该玩家的意图(例如,该玩家试图拆塔结果却被杀了),甚至还能为更高级的分析提供信息。

当然,这样的想法可能造成团队成员意见不符,也可能让游戏变得没那么令人兴奋。但我认为这样的想法可能对低水平或者常规水平的玩家有益,因为这种水平的游戏玩家难以清楚地沟通游戏决策。这也可能帮助识别“毒瘤”玩家,因为团队指望通过投票系统来统一意见,然后就能看出“毒瘤”玩家是不是一直不遵循团队计划,忽略队友。

还有很多包括视频我就不一一截图了,需要这些资料的可以先关注小编,转发评论,私信小编008或者006

转载于:https://juejin.im/post/5b728bac51882561455dbe67

英雄联盟关键团战不知道怎么指挥?AI帮你做出正确的决策相关推荐

  1. 买定离手!AI预测英雄联盟S12冠军;微软使用AI提高农业生产效率;编程语言的自动生成;机器学习核方法入门·电子书;前沿论文 | ShowMeAI资讯日报

  2. 英雄联盟如何指挥团战?AI帮你做决策(附资源)

    来源:机器之心 本文约2450字,建议阅读5分钟. 本文为大家介绍了通过AI人工智能技术可以提升英雄联盟团队决策水平的方法. [ 导读 ]英雄联盟是一个需要默契团队配合的多人对战游戏.在瞬息万变的战斗 ...

  3. 英雄联盟如何指挥团战?AI帮你做决策

    英雄联盟是一个需要默契团队配合的多人对战游戏.在瞬息万变的战斗中,如何做出正确的决策非常重要.最近,数据分析师 Philip Osborne 提出了一种利用人工智能技术提升英雄联盟中团队决策水平的方法 ...

  4. 连AI都在看《英雄联盟》游戏直播

    本文来自AI新媒体量子位(QbitAI) 打游戏和看人打游戏,都是一种乐趣. 最近,吃鸡主播约战的事情峰回路转,最终还是没能上演.不光有人在游戏里使用外挂,看游戏直播的也有"外挂" ...

  5. 英雄联盟S11直播延迟30秒,这次网友反应有点不太一样

    杨净 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 直播延迟几十秒,网友竟然还说"真香"?!! 你没听错,这发生在英雄联盟S11这种全球赛事上,而且,延迟高达30秒. ...

  6. hd6630m可以玩lol吗_LOL为什么样我的PING值不高?电脑是联想E520 显卡是ATI Radeon HD6630M 玩英雄联盟游戏的时候会卡...

    在上一篇文章中,小编为您详细介绍了关于<整机购买的戴尔台式机可以单独更换显卡么?联想电脑M8500T(台式机)如何加装固态硬盘>相关知识.本篇中小编将再为您讲解标题LOL为什么样我的PIN ...

  7. mysql英雄联盟卡_hd6630m可以玩lol吗_LOL为什么样我的PING值不高?电脑是联想E520 显卡是ATI Radeon HD6630M 玩英雄联盟游戏的时候会卡......

    在上一篇文章中,小编为您详细介绍了关于<整机购买的戴尔台式机可以单独更换显卡么?联想电脑M8500T(台式机)如何加装固态硬盘>相关知识.本篇中小编将再为您讲解标题LOL为什么样我的PIN ...

  8. 刺激赛场 连接服务器没有响应,英雄联盟为什么连接不上服务器(英雄联盟没有响应是什么原因)...

    小伙伴们大家好呀!小编又来搞事情了,我们知道如今英雄联盟是热度十分高的时候!因为一年一度的S赛开始了!我们玩家们在期待中国队夺冠的时候提心吊胆的,因为今年是夺冠的一年啊!但是当我们充满担心的看完S赛之 ...

  9. 英雄多少钱steam_¥50元到手蓝宝石显卡?玩转GTAV轻松CSGO英雄联盟帧数144fps

    闲鱼出奇迹 自打写头条号以来,每天至少花个把小时逛闲鱼淘显卡,不光结识了很多朋友,也认识了不少圈内大佬,混进不少圈子.前天在闲鱼淘到的这块仅售¥50元的蓝宝石HD6850毒药版1GB GDDR5 OC ...

最新文章

  1. @echo off是什么意思_参加CHANEL私享派对是什么体验?Lanvin头一次在中国办大秀??「每周时报」...
  2. android不同Activity之间的数据共享
  3. 深入理解分布式技术 - 从区块链技术看分布式理论的应用
  4. streamsets rest api 转换 graphql
  5. 使用CRT调试内存分配堆来找出未释放的内存空间
  6. R语言学习 - 热图简化
  7. bootsrap 外边距_Bootstrap 网格系统布局详解
  8. python基本对象_python对象之对象基础1
  9. python-列表包字典-根据字典的某一个键的值来进行排序
  10. oracle系列(二)oracle体系结构和用户管理
  11. bzoj:3224: Tyvj 1728 普通平衡树
  12. 无线技术网络导论--期末复习指导
  13. 人员基础信息一体化采集设备
  14. arduino等开源平台
  15. 深度 GHOST XP SP3 装机版 2012 08
  16. BPI 流程优化和BPR流程重组
  17. 方法: 跳转App Store更新你应用的URL究竟该怎么写
  18. The Coder Vol.1: 向上生长
  19. vue切换tab更新路由created执行两次
  20. 2017acl---Learning Cognitive Features from Gaze Data for Sentiment and Sarcasm Classification笔记

热门文章

  1. ubuntu 查看内存命令
  2. Linux中设置计划任务
  3. Install Tengine on Centos
  4. C++ Primer 第五章 Statements
  5. windows 10 Android SDK下载安装和配置环境
  6. linux ubuntu软件中心,分享|App Grid:一个优秀的Ubuntu软件中心替代品
  7. 能力是被逼出来的!!有压力才有动力
  8. SSM框架之酒店管理系统三(菜单数据库设计,菜单列表查询渲染)
  9. Find命令的7种用法
  10. find命令基本用法详解