艾欧尼亚

艾欧尼亚

LOL上不了分?可能是你数学没学好

作者: 小柯 阅读量:7151 2019-11-08 12:21:30

LOL上不了分?可能是你数学没学好

面对疾风吧

哈沙给

看文章前,小天要问一下粉丝中有RNG粉丝嘛,小天现在

回收心碎RNG男粉,年龄要求18-20,身高175+,身材长相好的来,RNG让你伤心,我不会。

好了,言归正传,最近"RNG输了"的话题登顶微博热搜,相信对于很多RNG粉丝来说,这无疑不是一个很难接受的实事。

大家都在问:怎么就输了!为什么就输了!怎么可能输了!

毕竟之前还有过一个这样的段子:“我不知道RNG是谁,但是我知道他每隔一段时间就会牛逼一次。”

因为RNG的过于轻敌,被G2给淘汰了。毕竟当初RNG选手看到抽到G2的时候,一个个都笑的不行。现在输了后看看这一幕,真的太讽刺了。毫不夸张的说,RNG今天是输给了最不该输的队伍。

比赛结束后,许多粉丝也都统统跑到官微下留言,其中也不乏一些比较激烈的语言。

在小天看来,这应该也是“爱之深,责之切”的表现吧,作为粉丝肯定也是希望比赛能赢。但胜败乃兵家常事,这次没有发挥好,不代表下次。

作为菜鸟的小天,虽然不会准时收看竞技比赛,但是只要看到相关的视频也还是会热血沸腾,毕竟LOL也曾是我的青春啊。

还记得那年大二,那是一个燥热的夏天。下午没课,于是班里几个女同学商量着下午打个撸,可惜连打三把,把把跪。于是我们五个开始讨论原因出在哪。

A:气死了,被对面打爆了。

我:还不就是塔被推的太快,说了要你们团你们总是不来。

C:我那时候要打野,要发育,哪有时间。

D:下波团吧。

我:说了几次团你们都没来。

A:要守其他路啊。

D:要不这把开始,我们五个走一起。

我:可以,ADC拆塔快,我们五个都ADC吧,这样我们走中路,拆中路,中路一般一个人,我们五打一还不是必胜。

合:哎呀,好主意。

结果可想而知,五个人走一路,个个都没发育机会,都不用等到20投,我们就都GG了,不服输的我们继续试验了五个法师,五个上单,五个中单,五个打野,五个辅助后,于是那天下午跪的都站不起来了。

可是我们还是不服气,一致觉得自己的战术没问题,这明明就是新的战术发现啊!

于是小天我跑去问了我的资深LOL玩家表哥—数学建模老司机。

表哥听之后,冷笑一声,说你还真问对人了。但按你样打撸,在英雄联盟中为什么还要分上单,中单,打野,ADC和辅助这些角色?

首先觉得这是一个数学问题,完全可以使用模型来解决。数学建模算法与应用第2版

有两种研究思路,一种是基于数据模型,通过大量的对战数据分析,证明不同阵容的胜率是否存在差异。

另一种是基于一定的假设,建立机理分析模型,将对战双方体系看成一个微分动力学系统,并进行模型求解。前者比较简单,得到的结论也真实直观;后者相对复杂,但是可以更深入问题实质。

英雄联盟作为一个团队游戏,显然,该问题的实质是探讨不同协同作战组合的效率,并基于模型求解的结果选择最优组合。这可以建立一个运筹优化模型。不过由于此问题太过复杂,进行适当的简化也是非常必要的。

基于兰彻斯特方程的多人在线竞技游戏研究

摘要:针对当前多人在线竞技游戏普遍缺乏定量描述的数学模型这一问题,首先使用经典兰彻斯特方程对游戏双方的获胜概率进行初步探讨。基于多元兰彻斯特方程,并考虑游戏玩家之间的协同配合因素,建立描述多人在线竞技游戏对战过程的微分方程模型。通过使用Vensim软件对多人在线竞技游戏“英雄联盟”进行系统动力学模拟,可以形象地展现游戏进程并进行结果预测。

关键词:兰彻斯特方程;多人在线竞技游戏;协同配合;系统动力学

在诸多网络游戏中,多人在线竞技游戏占据了网游市场相当大的比重,其中,拳头公司开发的网络游戏“英雄联盟”平均每天的玩家数量超过2700万,是目前玩家最多的网络游戏[3]。建立数学模型对该类游戏的攻防策略与胜负关系进行探讨,不仅能使玩家增进对游戏的理解,也可推动游戏的不断研发升级。由于多人在线竞技游戏(特别是其中的推塔类游戏)以击杀敌方角色并摧毁敌方建筑(如防御塔)为目的,因此,基于传统战争分析中常用的兰彻斯特方程,结合不同游戏本身的特性建立数学模型,无疑是解决此类问题的最佳方法之一。

1.经典兰彻斯特方程简介

兰彻斯特方程最早是由英国工程师F.W.Lanchester 在第一次世界大战期间提出的,用于研究战争模型确定性解的问题。该模型的假设非常简单,只考虑作战双方兵力数量和战斗力的强弱。由于兰彻斯特方程没有考虑作战双方政治、经济等因素,因此只对单一的局部战役的讨论有意义。使用兰彻斯特方程,成功地分析和预测了历史上一些著名的战役和战争,其中包括越南战争和美日硫磺岛之战[4]。经典兰彻斯特方程对近代战争中两种情况分别进行研究,第一种模型称为平方率模型,该模型假设战斗双方完全暴露在对方视野下,且可以及时将火力从已经击毁的目标转移到未击毁的目标上,该模型一般适用于分析正规战,平方率方程为[5]。

通过分析可得,双方平局条件b(x2-x02)=a(y2-y02),其中,x,y 分别表示作战双方甲、乙的兵力数量,a表示乙方每个作战单位对甲方作战单位的杀伤率,称为乙方单位的作战效能(或战斗有效系数、损耗率系数、毁伤系数等),同理,b为甲方单位的作战效能。

兰彻斯特方程研究的第二个模型为线性率模型,该模型假定作战双方不能及时获取敌方目标的信息,因此攻击具有一定的随机性。己方兵力的损失不仅与对方兵力有关,也与单位面积上的己方兵力数量有关。显然,该模型更适用于游击战。线性率方程为:

通过分析可得,双方平局条件为,x,y的定义同上,表示乙方单位的作战效能,表示甲方单位的作战效能。

2.基于兰彻斯特方程的多人在线竞技游戏对战模型

2.1 多人在线竞技游戏对战模型的简单探讨

上文对经典兰彻斯特方程进行了简要介绍,该模型是针对近代战争中两种不同的作战形式分别建立的。多人在线竞技游戏与兰彻斯特方程所描述的战争场景有诸多相似之处,为了更具体地进行探讨,不妨以当前最为流行的推塔类网络游戏“英雄联盟”为例,探讨两者之间的相似性。

“英雄联盟”游戏的对战双方分别为蓝方和紫方,每方拥有11个防御塔,3个召唤水晶和1个水晶枢纽,游戏的获胜条件为摧毁对方的水晶枢纽。

“英雄联盟”游戏地图如图1所示(图片来自维基百科)。对战双方各有5名玩家分别控制5个不同的“英雄”,比赛中本方5名玩家需要协同配合,通过击杀敌方英雄、小兵和野怪获取金钱,不断更新装备并摧毁敌方建筑物,最终取得比赛的胜利。

比赛中,一方取胜的关键点往往在于一次“团战”(即有多名双方“英雄”参与的战斗)的胜利。“团战”的胜负与双方“英雄”的装备、玩家的操作熟练度和所控制的游戏地图的视野等因素有关。其中,前两项因素可以对应于兰彻斯特方程中的作战效能系数,而后一项可对应与兰彻斯特模型中的不同作战类型(正规战与游击战)。

“英雄联盟”对战地图

下面基于兰彻斯特方程对“英雄联盟”游戏中的“团战”进行分析,为简化模型,忽略某一方5名“英雄”之间的个体差异,认为每个“英雄”均代表了该方玩家的平均水平。在比赛中,团战往往在地图视野明亮的地方开展,双方均可以看到敌方单位的动向,并可以及时将火力从已摧毁的敌方单位身上转化到尚未摧毁的敌方单位上,因此,游戏中的“团战”显然更接近与兰彻斯特平方率模型。在某一次“团战”中,若甲乙双方投入的兵力数量不等,在此种条件下,根据方程(1),通过分析兰彻斯特平方率模型的相轨线[4],可以得到乙方获胜的条件为:

根据(3)式,若在游戏的某次“团战”中,乙方由于种种原因仅仅有4名“英雄”参战,而甲方有5名,则此y0/x0=0.8,乙方若想取胜,必须满足的条件a>1.5625b。

也就是说,此时乙方每个英雄在单位时间内的作战效能要达到甲方的1.5625倍,这是一个很大的差距,需要乙方每名玩家得到巨大的装备优势和娴熟的操作熟练度的情况下才有可能完成。

在实际游戏对战中,经常会遇到某方有一名玩家掉线的情况,在该种情况下,通过数学模型分析可知,另外4名玩家将很难取得比赛的胜利。此外,上述分析还说明了在某方装备和操作技术落后的情况下,5名玩家采取“抱团”的方式往往更容易取得对战的优势。

2.2 多元兰彻斯特方程在多人在线竞技游戏对战模型中的应用

2.2.1 多元兰彻斯特模型

本文在2.1的讨论中忽略了各方5名“英雄”之间的个体差异,该假设在分析一般的多人在线竞技游戏时显得比较粗糙。由于一般情况下,各方选定的不同角色在对战时有着不同的特性和分工,因此,各个“英雄”之间的个体差异必须考虑。

为解决上述问题,可以将游戏双方的10名“英雄”分别看成10个作战单位,其中本方的5名“英雄”之间为协同作战关系。紫方的5个作战单位分别表示P1,P2,P3,P4,P5,作战效能分别a1,a2,a3,a4,a5,蓝方5个作战单位分别表示为B1,B2,B3,B4,B5,作战效能分别为β1,β2,β3,β4,β5,,虑到每个作战单位并不是平均攻击每个敌方目标,也不是只攻击某一个敌方目标,因此,可以假定蓝方的第 j个“英雄”对紫方第i个“英雄”的攻击力分配系数为Φji,紫方第 i个“英雄”对蓝方第 j个“英雄”的攻击力分配系数为φij。

基于以上假设和定义,可以建立多元兰彻斯特方程[6]为:

其中,Pi可以代表紫色方第 i 个“英雄”的血量,当血量降为0时,该“英雄”被击杀。同理Bj表示蓝色方第 j 个英雄的血量。通过多元兰彻斯特方程,更科学地分析多人在线竞技游戏中各个作战单位的相互关系,从而建立更加精确的模型。

2.2.2 基于协同配合的多元兰彻斯特方程在多人在线竞技游戏中的应用

在多人在线竞技游戏比赛中,各方的不同作战单位之间属于协同配合关系,由于在协同作战的过程中,己方可以通过相互配合消耗对方的作战效能系数,由此产生的己方损耗的减少可以等价为己方血量的增加[7]。因此,可以将协同配合的这部分作用以加和的形式体现在多元兰彻斯特方程中,建立反映协同配合效应的多元兰彻斯特方程为:

在上式中bzj,Pki分别表示紫方和蓝方各“英雄”间的协同配合系数,该系数越高,反映了队伍中不同玩家之间的配合娴熟程度。由该方程可以看出,在多人在线竞技游戏中,玩家之间的相互配合对比赛的胜利起到了非常重要的作用。

2.2.3 模型参数确定方法的初步探讨

以上讨论了考虑协同配合的多元兰彻斯特方程,并将其应用到了多人在线竞技游戏“英雄联盟”中,建立了较为完备的数学模型。但是,该模型中含有多个未知参数,而对于不同“英雄”和不同的游戏对局,这些参数的取值将会不同。截止2015年10月1日,“英雄联盟”已开发出126个“英雄”角色,这些“英雄”具备不同的特性和技能,需要考虑不同“英雄”之间协同配合的组合数。由于每局比赛每方需要选择5名不同“英雄”,因此任一方都将会产生126!/121!种不同选取组合,要准确确定每种组合之间的参数数值是很困难的,在实际应用中也没有必要。针对多人在线竞技游戏中常见的对局组合和场景,本文对一种比较简化的游戏对战情形进行具体的参数探讨。

“英雄联盟”游戏中的5名英雄一般可分为五类角色,分别是上单、打野、中单、ADC和辅助,其中每类角色都对应着若干相对固定的英雄选择。为简单起见,本文考虑一次双方分别仅有两个“英雄”参与的团战:假定某次团战中,对战双方分别仅有ADC和辅助参与,其他游戏角色相距较远且不对团战结果产生影响。在“英雄联盟”游戏中,ADC的作用相当于火力输出核心,射程远且对敌方单位造成的伤害高,但由于自身的血量较少,容易被对方击杀;辅助的作用则主要是保护ADC不被敌方单位击杀和控制游戏视野,其自身攻击力较低但血量相对较高,且一般拥有控制技能。

设方程(5)中的P1,P2分别表示紫方ADC和辅助,B1,B2分别表示蓝方ADC和辅助。在实际的游戏对战中,作战效能系数可以认为是单位时间内一方“英雄”单位血量对另一方“英雄”造成的伤害值,该值的大小与“英雄”的攻击力大小和攻击速度都有关系。从(5)式中可以看出,单位时间内一方ADC对敌方“英雄”造成的伤害与该ADC的血量成正比,这一假定看似并不科学,但是考虑到实际对战情况中,若一方ADC血量降低,则该ADC必将十分注意自我保护并谨慎输出伤害,因此一定会影响其攻击力,所以,(5)式中体现出的单位时间内一方ADC造成的伤害与其血量成正比的假设是比较合理的。通过查询相关“英雄”的基本数据,便可以基于上述分析可以确定相应的参数值。

3.多人在线竞技游戏对战模型的系统动力学建模与仿真

系统动力学(System dynamics,SD)最早于1956年由美国麻省理工学院的福瑞斯特(J.W.Forrester)教授为解决生产管理和库存管理等问题而建立,最初称为工业动态学。经过几十年的发展,该学科已发展成为一门综合自然科学和社会科学的重要横向学科,有着广泛的应用[8]。系统动力学方法可以对系统的内部机制进行清晰地反映,并且可以在小数据条件下进行动态仿真,从而完成具体复杂系统问题的求解[9]。本文中基于多元兰彻斯特方程建立了多人在线竞技游戏对战模型,该模型中涉及到多个单位之间的相互影响,且两两之间的关系使用微分方程进行描述。因此,若采用传统解析解法进行分析求解会十分复杂,且所得结果并不直观。采用系统动力学软件对游戏对战模型进行数值仿真,可以更为形象地对结果进行展现。

常见的系统动力学仿真软件有Vensim、DYNAMO、STELLA等,其中,美国Ventana系统公司开发的Vensim软件具有界面友好、功能强大且操作相对简单等特点[10],因此本文采用该软件进行游戏对局的模拟仿真。

3.1多人在线竞技游戏实例模拟与分析

在2.2.2和2.2.3中基于多元兰彻斯特方程分别进行了模型建立与参数估计,在进行模拟和仿真时不妨仍讨论一种较为简单的情形,即2.2.3中描述的双方分别仅有两名“英雄”参与的团战。此种情况下,游戏对战模型可表示为:

其中P1,P2,分别表示紫方ADC和辅助,B1,B2分别表示蓝方ADC和辅助。根据(6)式所确定的对战模型,使用Vensim软件绘制的游戏对战系统流图如下所示。

多人在线竞技游戏对战模型系统流图

根据不同“英雄”的数据分析,在下面的仿真中,模型参数值的选取分别为:

Φ11=Φ12=Φ21=Φ12=0.5,φ11=φ21=0.6,φ12=φ22=0.4,b12=b21=1.1x10-5,p12=p21=3.7x10-6,α1=0.103,α2=0.025,β1=0.122,β2=0.027。

为简单起见,在本文参数确定过程中,假设蓝方ADC与辅助攻击造成的伤害平均分配到对方两名“英雄”身上,而紫方ADC与辅助攻击造成伤害的60%分配到对方ADC身上。仿真时假定蓝方ADC和辅助的初始血量为1500和2300,紫方ADC和辅助的初始血量为1700和2000。从确定的参数中可以看出,紫方输出伤害的分配更佳,而蓝方攻击力更强且协同配合做得较好。使用Vensim进行仿真,所得结果如下图所示。

图3 双方各“英雄”血量变化结果

从仿真结果可以看出,在上述参数条件下,紫方ADC血量在20秒内迅速下降至300以下,处于被“击杀”的边缘,作为团队伤害输出的核心,紫方ADC几乎失去了继续输出伤害的能力。因此可以判定,蓝方取得了此次“团战”的胜利。通过Vensim仿真,可以随时调整不同的参数以预测不同条件下“团战”的进程与结果。

3.2模型灵敏度分析与游戏策略研究

为了测试模型系统的稳定性,可以调整模型参数值进行对比仿真,从而研究不同初始条件对游戏“团战”结果的影响。在3.1所设定的参数条件下,紫方输掉了团战。若不改变紫方和蓝方的攻击力及火力分配,紫方ADC与辅助之间协同配合的好坏将成为决定“团战”胜负的重要因素。在其他参数均不变的条件下,增强紫方协同系数,仿真结果如下图所示。

图4 增强紫方协同系数条件下紫方ADC血量变化对比

由上图可以看出,紫方ADC在与辅助分别增加30%、100%和200%协同系数的情况下,其在团战开始20秒后的血量值由原来的250.9分别增加到了303.7、440.7和673.7,由此分析可知,在“英雄”装备有限的情况下,增强与本队队友之间的配合,可以显著提高“团战”效果,增大游戏获胜概率。

4.结论

本文基于多元兰彻斯特方程对当前最为流行的多人在线竞技游戏“英雄联盟”进行建模分析,考虑游戏玩家之间的协同配合等因素,建立了较为完善的多人在线竞技游戏对战模型。通过对模型的系统动力学模拟,形象地展现了游戏“团战”的进展过程,并可由此进行结果预测。通过对模型的灵敏度分析,可以讨论在不同参数取值对模型运行结果的影响,从而为更加科学的游戏策略的制定提供参考。

不得不说,表哥不愧是学术派的。这一大串文字看下来,emm…我好像也还是没太懂。但是没关系,足以拿去装逼了。

参考文献

[1] 艾瑞网. 艾瑞:2014年中国网络游戏市场规模1108.1亿[EB/OL].链接[2] 百度百科. 电子竞技_百度百科[EB/OL].链接[3] 中关村在线. 《英雄联盟》日活跃用户突破2700万[EB/OL].链接[4] 姜启源,谢金星,叶俊. 数学模型(第四版)[M]. 北京:高等教育出版社, 2011.[5] 王勇, 孙涛, 李小偎,等. 基于Lanchester方程的作战过程建模及仿真研究[J]. 系统工程与电子技术, 2009, 07期(7):1677-1679.[6] 张啸天, 李志猛, 邓红艳. 多维战争中兰彻斯特方程探讨[J]. 火力与指挥控制, 2008, 第2期:5-7.[7] 彭文成, 周电杰, 张文. 基于协同作战的兵力损耗兰彻斯特方程[J]. 运筹与管理, 2009, 18:128-131.[8] 张波, 虞朝晖, 孙强,等. 系统动力学简介及其相关软件综述[J]. 环境与可持续发展, 2010, 第2期:1-4.[9] 陶立, 杨磊, 颜丙政,等. 垃圾减量分类中社会及个体因素的量化分析[J]. 数学建模及其应用, 2013, Z1期:23-26.[10] 孔红山, 张明清, 唐俊. 兰彻斯特方程的系统动力学模型研究[J]. 计算机工程与设计, 2011, 32:2789-2791.

Multiplayer Online Battle Arena Games Research Based on Lanchester Equation

Abstract:In view of the problem of current multiplayer online battle arena games generally lack of quantitative description of the mathematical model, this paper uses the classical Lanchester equation to discuss the winning probability of both side. Based on multi-dimensional Lanchester equation and considering factors in synergy among players of the game, the differential equation model is built to describe the war process of multiplayer online battle arena games. Through the system dynamics simulation for the multiplayer online battle arena gameLeague of Legendsby Vensim, it can show the game process and the results forecast.

Keywords:Lanchester equation; multiplayer online battle arena; coordination; system dynamics

来源:知乎

作者:数学建模老司机

本文系新闻·号“各有态度”特色内容

“超级数学建模”(微信号supermodeling),每天学一点小知识,轻松了解各种思维,做个好玩的理性派。60万数学精英都在关注!

你有多久没有投资自己了? 90%的人都不知道的先进学习法

上一篇:为LOL全明星赛拉票,Bang承诺将和S
下一篇:为什么LOL上不了分?或许是数学没学好
eDJo