暴雪游戏推荐

暗黑3中异常状态几率事件的猜测和分析

时间:2012-08-06 00:00 作者:Nostalgia 手机订阅 神评论

新闻导语

从这两个现象,我得到了暗黑3中异常状态之间并非是之前普遍认为的互为独立事件,而是必然不为相互独立事件。

  之前发了一篇分析全控吐血流的数据贴,但是其中的一些计算基础遭到质疑,于是乎便有了写这篇帖子的想法。

  首先这篇帖子的核心,产生于这样一个现象,即当我在做异常状态触发测试的时候,发现:

  情形a:当两种或多种(我自己测试只遇到过2种异常同时触发,但是由于多种异常同时触发的几率很低,而我的测试样本只有1500次,容量并不足,所以不能排除会有超过两种异常同时被触发的可能性存在。)异常状态同时触发时,屏幕效果上能够正确的显示多种状态同时生效,但实际的状态生效时间,却并不叠加。

  情形b:当一个异常状态被触发,在触发周期中如果另外一个异常状态被触发,则第二个状态会覆盖第一个状态生效,而并非在第一个状态正常周期结束后,紧接第二个状态周期。

  用游戏中的现象,简单的描述即,

  情形a,当目盲和晕眩在一次攻击中同时发生时,这个异常状态的持续时间只为这两个状态中的其中之一,而不是这两个状态持续时间之和,也不是这两个状态分别计算持续时间.

  情形b,当一个怪物被晕眩时,你再次攻击这个怪物,如果触发了冻结,那么这个冻结效果就会打断怪物的晕眩效果,而冻结效果的持续时间不受晕眩效果剩余时间的影响。

  从这两个现象,我得到了暗黑3中异常状态之间并非是之前普遍认为的互为独立事件,而是必然不为相互独立事件。

  在进行分析之前,让我先来解释以下什么是独立事件,什么是互斥事件。具体数理上的定义,baidu维基都很详细,我就不做赘述了,我要说明的,是一些容易被忽视的细节。

  当两个事件独立时,就说明这两个事件之间互相不发生影响。这里的不发生影响,不仅仅在于概率上无联系,而且在于效果上不冲突。举例来说,假如致盲效果,与冻结效果相互独立,假设致盲的几率为5%,冻结的几率为10%。那么在持续一小时的高速攻击中,致盲持续的事件,也应近似的为一小时的5%,而冻结的持续事件,为10%。(之所以强调高速攻击,只是为了尽可能大的提高样本容量,这样概率的分布才更加贴近本身发生的概率)但是请注意,致盲与冻结发生的总时间并不为5%+10%,而是总时间必然低于15%,因为致盲实际生效的持续时间必然低于5%,冻结实际生效的持续时间必然低于10%,因为在致盲的同时,依然有被冻结的可能性。换句话说,就是这两个特效生效的时间,有可能重叠。

  当两个事件互斥时,情况就不相同了。沿用上文所说的概率,在一个小时连续高速的攻击中,致盲实际的生效持续时间必然趋近于5%,而冻结实际生效的持续时间必然趋近于10%,而总的异常状态,必然趋近于15%。因为在致盲周期内,不会触发冻结,而在冻结周期内,不会触发致盲。这两个特效的生效时间互相不重叠。

  由于情形a的存在,不符合当两个事件互为独立时,单一状态的持续时间分别统计,所以会出现当事件ab同时发生时,事件a的发生概率被事件b的发生概率所替换.当事件a的概率远小于事件b时,便会导致事件a的持续时间大于自身表现的概率.

  由于情形b的存在,不符合当两个事件互为独立时,单一状态的持续时间趋近于自身概率,因为后续的状态会打断前一状态的持续时间.从而缩短前一状态的总生效时间.导致被取代的状态生效时间(注意并非实际生效时间,而是显示的生效时间)小于自身表现的概率.

  到这里,就能总结出游戏中出现的现象,与当异常状态为相互独立事件时所应该表现的现象不符,故此推断异常状态并非相互独立.

  现在,再让我们看看如果异常状态为相互独立,或者互斥,对装备系统会造成那些影响.

  假设两套装备如下:

  a,当人物装备5件分别增加3%几率的异常状态装备

  b,当人物装备3件分别增加5%几率的异常状态装备

  当异常状态为相互独立事件时,

  套装a单位时间内实际的不受控制时间为0.97^5=0.8587

  套装b单位时间内实际的不受控制时间为0.95^3=0.8573

  当异常状态为互斥事件时,

  套装a单位时间内实际的不受控制时间为1-0.03x5=0.85

  套装b单位时间内实际的不受控制时间为1-0.05x3=0.85

  换句话说,如果异常状态为相互独立事件,那么当你装备5件3%异常状态的装备时,得到的控制概率,小于装备3件5%异常状态的装备.这显然是与暴雪简化装备数据显示系统的初衷相违背的,因为装备显示的数据,和实际使用的效果是脱节的.

  但是当异常状态为互斥事件时,这个矛盾就不存在了.

  这姑且算作装备特效互斥这个论断的论据1.

  接下来,再来检验当装备特效互斥时,能否解释本文开头出现的两种情形.(这也是很多人认为异常状态不可能为互斥的根本原因)

  情形a,当状态a,b同时被触发时,实际的生效时间为状态ab中的一个,则可认为未生效的另一状态未被触发.但是既然如此,为何屏幕上会跳出两种状态,而非仅仅只有生效的那一种状态呢?

  在这里我有个小猜测来解释这个现象,因为状态生效的时间是一组范围随机变量,如果当ab事件同时触发,按照互斥事件的原则,仅考虑其中一组状态,那么就必须对所有异常状态设置一组优先级排列,比如冻结效果>眩晕效果>目盲效果,当冻结与目盲同时触发时,仅选择冻结效果为生效效果,其余效果忽略,本次事件不计入样本空间.这样做的结果,会导致优先度高的效果,总的持续时间大于自身表现的概率,即援引前文描述的优先级排列下,实际冻结的效果优于眩晕的效果优于目盲的效果.虽然总的异常状态持续时间不变,但是各异常状态的生效时间与装备描述不符.

  所以我设想,可能还存在这样一个判定,即当两种以上的异常状态同时生效时,分辨检测各状态的生效时间,取其随机变量最大值为持续时间,其余效果因为同样参与了对这个持续时间的判定,所以依然被显示,但是只有实际生效的那个状态被计入发生概率,其余未通过判定的状态不计入自身的样本容量.这样就可以很好的解决这个矛盾.这也就能很好的解释情形a了.

  情形b即为互斥事件的表现,勿需多言.

相关阅读:暗黑3