DOTA2新版本解读:伪随机机制到底是什么

信息技术系或计算机系的学生会告诉你,计算机里没有伪随机,所谓的随机是利用一个种子套上一个公式生成的,所以我们可以根据第一个值推测下一个值。这tm还用你科普?如果所有人都不知道生成随机数的公式和种子的获取方式,这tm和真随机有什么区别?  言归正传,我们明确了“如何使用计算机生成随机数”不是我们的讨论重点,我们如何利用生成的随机数来完成对一个概率的描述才是我们要讨论的重点。  我们用计算机的“伪随机”创造了一个1-100之间的整数,其中每个整数出现的概率是均等的。现在,我们想着大炮的暴击率是25%,我们该如何利用这个1-100?  最简单的想法自然是,随机到1-25的时候判定为暴击,随机到26-100的时候判定不暴击。这就是所谓的“真随机”。如果一定要纠结于“计算机创造不出真随机”的话,请转到上一段。  问题是,这种算法会导致一种情况,那就是很可能连续暴击。这种情况下,平地三连爆的概率是1.56%,没到概率学上小概率事件的判定标准,对面脸好自己甩键盘是很正常的。  为了防止这一情况发生,我们采取概率叠加算法。原理如下:假如上一刀暴击了,那么下一刀判定1-8(实际应为8.475%,举例为整数)暴击;假如上一刀没暴击,那么下一刀的判定范围比上一刀大8。例如,自你上次暴击开始,连续3刀没暴击,那你下一刀判定1-32暴击。尽管8.475%看上去比25%少了太多,但经过期望计算后,平均暴击率与真实值出入很小。但是,这种情况大大缓解了连续暴击的威慑,使得三连爆的几率降低为0.18%,扔键盘的概率更小了。这就是所谓的“概率叠加算法”,dota2里的“伪随机”。  至于为什么称这种算法为伪随机,因为尽管两种算法都要用到基于计算机的一个随机数,概率叠加算法又将前面一次实验的结果作为参数。同时,基于计算机的伪随机数很难找到规律,但基于前一次实验结果的伪随机数规律性非常明显,这就是两种算法的区别,以及为什么我们要称后一种算法为“伪随机”而不是前一种。  至于实战中攒暴击这一说,冰蛙一定不傻,在某些条件,例如经过多少秒后或移动多少距离后计数器重置,来降低“攒暴击”对游戏的影响。当然,这段话只是基于自己的猜测,不必当真。  伪随机是否影响竞技性?肯定是不影响的。你觉得斧王断兵没怎么转所以不敢A他了,但在他没转之前谁也不知道结果是什么,所以显然是没有影响的,基于后验概率的讨论本身就是把问题引向了不同的角度。

版权声明:
作者:[db:作者]
链接:https://www.shoujiroot.com/archives/61032.html
来源:手机教程
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>