dota2小小最新改动(DOTA2伪独立及伪随机叠加)
dota2小小最新改动(DOTA2伪独立及伪随机叠加)基于PRD的效果使得多次触发或多次不触发都变得罕见,这使得游戏的运气成分大大降低,在DOTA2一个有那么多带几率的技能的世界中增加了一致性。在游戏中,PRD很难被玩家利用,虽然他只是一个理论上会根据多次A小兵时没有触发效果而在下一次攻击中增加重击和致命一击的几率,但是在实际中是很难利用起来的.当然,在小鸡的测试中,通过A小兵增加概率是可行的,斯拉达的重击有25%几率对目标造成眩晕,那么第一次攻击,他实际上只有大约8.5%几率触发重击,随后每一次失败的触发会增加大约8.5%触发几率,于是到了第二次攻击,几率就变成大约17%,第三次大约25.5%,以此类推,在一次重击触发后,下一次攻击的触发几率又会重置到大约8.5%,那么经过一段时间之后,这些重击几率的平均值就会接近25%。直到下次触发时所需攻击次数。可以看到,伪随机分布下,攻击10次及以上都没有触发的几率几乎为零。一个事件,效果,发生的几率
前段时间因为一些事情,忙不过来。有段时间没有更新,深表歉意。当初答应各位的随机算法,小鸡已经整理了出来。现在一起来看看把~
一、伪随机分布
伪随机的普遍生成方法有两种,PRNG和PRD,但伪随机数生成算法(PRNG)是一个用于生成一组伪随机数字序列的算法,并非是DOTA2中运用的方法,故而不做介绍。
伪随机分布,简称PRD,在DOTA2中用来表示关于一些有一定几率的装备和技能的统计机制。与之相对的是真随机分布。在真随机分布中,每一次随机操作都是相互独立的,但是在PRD中,效果的几率会在每一次没有被触发的时候增加,这使得效果的触发结果不那么极端(白牛1级无限推、PA无限闪避),减少了DOTA2的运气成分,让脸黑的人得以生存。
直到下次触发时所需攻击次数。可以看到,伪随机分布下,攻击10次及以上都没有触发的几率几乎为零。
一个事件,效果,发生的几率(简称proc)在第N次成功触发的几率为P(N) = C × N,对于每一个没有成功触发的实例来说,PRD系统会通过一个常数C来增加下一次效果触发的几率,这个常数会作为初始几率,比效果说明中的几率要低,并且是不可见的,一旦效果触发,这个计数器就会重置。
我们来举个例子:
斯拉达的重击有25%几率对目标造成眩晕,那么第一次攻击,他实际上只有大约8.5%几率触发重击,随后每一次失败的触发会增加大约8.5%触发几率,于是到了第二次攻击,几率就变成大约17%,第三次大约25.5%,以此类推,在一次重击触发后,下一次攻击的触发几率又会重置到大约8.5%,那么经过一段时间之后,这些重击几率的平均值就会接近25%。
基于PRD的效果使得多次触发或多次不触发都变得罕见,这使得游戏的运气成分大大降低,在DOTA2一个有那么多带几率的技能的世界中增加了一致性。在游戏中,PRD很难被玩家利用,虽然他只是一个理论上会根据多次A小兵时没有触发效果而在下一次攻击中增加重击和致命一击的几率,但是在实际中是很难利用起来的.当然,在小鸡的测试中,通过A小兵增加概率是可行的,
测试实例:
白牛的推几率是17%,在小鸡测试的过程中,基本上处于7-10次才能触发的频率。共计15分钟的不断测试中,只试过两次连续触发,5次以内成功的次数相当的少,几率测试15次,能在5次平A内触发推的只有4次测试。也就是说,可以直观的看到伪随机是存在的,想要无限推在现在的叠加机制之下是几乎不存在的。而后续测试中,小鸡通过A兵后再A傀儡的办法,成功的让A傀儡的几率提升到30%-40%这个区间,即A7-8下小兵后(期间没有触发推)再去A傀儡,基本A两三下就能触发推。从测试中可以看到,这个伪随机的机制完全是可利用的。
但要注意一点的是,如果这个实例根本就不可能触发效果,那么触发几率不会增加,也就是说,一个英雄攻击建筑不会增加他下一次攻击触发的致命一击几率,因为致命一击对建筑无效。
除了伤害格挡的装备,在游戏中列出来的几率都是理论值,这个理论值会稍微比实际几率要高,在以下wiki大神整合的表格中,P(T)表示理论几率,P(A)表示实际几率,C是PRD常数,最大N值是根据C × N会超过1的性质得到的最大N值(也就是一定会触发的次数),平均N值是N的期望值,也就是N和概率的乘积之和,SD是N的标准差,一个用来衡量数据的离散程度,使用的是大家熟知的公式,标准差越低,几率就越一致,为了作对比,SDt表示真随机分布中N的标准差,使用N从1到264的简单公式,显然,他们都比PRD要高,这就是PRD相对于真随机分布更能避免极端情况发生的依据。
由于这些基于百分比的物品从使用真随机分布改为了使用伪随机分布(PRD),物品与类似的基于百分比的技能之间的叠加几乎是相加的。
为了解释这一情况,我们可以想象一下一个英雄有两个大炮时,由于一个大炮的有效暴击几率为30%,由于使用PRD,第一次攻击出现暴击的几率大约为11.9%,第二次大约为23.8%,每一次攻击都会增加致命一击的几率,直到第9次攻击,因为此时必定会出现暴击。拥有第二个大炮时,每一次不出现暴击的攻击都会增加这两个大炮下一次攻击出现暴击的几率。但是,一旦这两个大炮的其中一个出现暴击时,另一个没有出现致命一击的大炮PRD计数器不会被重置,因此会继续增加下一次出现暴击的几率。从总体上来看,如果继续增加英雄拥有大炮的数量,出现致命一击的几率处于几乎加法叠加的状态。
因此,拥有两个大炮提供大约60%几率出现暴击,拥有三个大炮提供大约90%几率出现暴击,拥有四个大炮时提供每次攻击都几乎必定的暴击。虽然叠加情况是几乎加法叠加的,但是比较罕见的情况是所有大炮在同一次攻击中都出现暴击时,所有大炮下一次攻击出现暴击的几率都会降到最低,因此下一次攻击出现暴击就比较困难了。
测试实例:
测试中,小鸡用AM带大炮进行了测试。1大炮时触发几率平均在平A2-4下触发一次,即25%-50%,接近30%。双大炮时基本1-2下触发,即50%-100%。三大炮时平A30下,只有四下没有暴击。四大炮时平A30下,只有1下未暴击。六大炮时三次30下测试中,加起来只有1次未暴击。
测试画面
闪避和伤害格挡的叠加规则与致命一击的相同,因为他们都是遵循伪随机分布的。这也能解释为什么两个圆盾看上去会比只有一个的时候更好,就是因为虽然格挡的伤害量不叠加,但是格挡的几率叠加,使得格挡伤害的有效几率几乎变成了100%。与致命一击类似,当同一次攻击出现多个伤害格挡的时候,只有格挡数值最高的生效。
二、伪独立叠加
如下机制使用伪独立叠加:
-
伤害格挡
-
致命一击
-
闪避
-
其他使用伪随机分布的技能或物品:
之后小鸡还会做一些其他叠加的测试,例如PA与大炮、各技能叠加之类,敬请期待哦~
资料来源:DOTA2wiki,小篱,百度,DOTA2官方资料