口袋妖怪日月乱数孵闪原理科普
首先。日月孵蛋的随机过程是使用一组完全固定的随机数组,他们顺序完全固定,每个人初始的位置是不一样的,但是一旦你找到了你的位置,那么一切都彻底不随机了。七代乱数就靠这个机制。产生蛋的时候,从现在的位置拉一组数字(帧),用它来进行计算。这里盗一下大神的图。
产生蛋的时候,3ds先抽出一个数,来选定性别,然后扔掉这个数,再往后拿一个数来决定性格,以此类推。数字都是随机的数字,但是位置不一样决定了一个蛋的20到30帧数字的处理方式和决定的意义不同。
当你拒绝一个蛋的时候,为了不让你的命运完全固定,3ds扔掉现在的1帧。这也就是127个鲤鱼王的方法的原理所在,通过连续127帧的性格所对应的随机数的奇偶来确定你的seed的具体位置。这个位置一旦你找到了以后基本上就不会丢掉了。因为一旦你找到了,即使你丢失了当前seed位置,从之前一个你已知的seed大概估一下过了多少帧,你随便孵一个蛋根据性格和个体很容易就可以找回位置。因为从某一个已知的seed开始的几十万帧不会出现重复的完全相同的蛋的情况,所以很容易找回位置。
那么开始解释闪光。当一个随机数用来判断是否闪光时,它除以4096的余数跟你的训练师的闪值相同时就会闪。在没有闪符和异国的时候,就只判定一次,那么很明显这个蛋判定的这一次相同就闪,不同就不闪,概率就在1/4000。当有闪符或者异国的时候在闪光这一栏取一个随机数算一下,如果不一样,就再取一个再算一下。这样多算八次。粗略的算出现闪的概率就是之前的八倍左右。也就是粗略的看,平均500个蛋会出一个闪。
那么为什么乱数孵闪效率高很多呢?
我们换一个角度看。一个随机数,除以4096之后余数跟你的训练师闪值相同的概率,很容易算,就是1/4096.也就是说,平均下来每4096帧就会出现这样的一帧,他除以4096之后跟你的TSV相同。那么如果这一帧出现在了一个蛋判断闪光的那几行,这个蛋就闪了。是不是每次出现这么一个闪数之后都会出现一个蛋闪呢?不是。假设平均一个蛋要消费掉30帧,这个数字只有落在闪光那几行,才会闪,也就是说,平均4096帧出一个闪数,出了以后8/30的概率会出现闪蛋,22/30的概率这个数字出现在性格或者是个体那些地方了,这个闪数就被流水孵蛋错过了。也就是说平均4096帧可以出8/30个蛋闪,流水孵。这个数据和之前的1/500基本是一致的。
而如果我已经通过乱数预知了一切了呢?简单。我看到有闪数出现了,我通过拒绝蛋调整帧的位置,就可以不让这个闪数被跳过。也就是说4096帧中平均出1帧是闪数,出了之后我就能闪。4096帧以30帧一个蛋计算,130个蛋一个闪。
粗略的计算可以知道,当你孵足够多的蛋之后,通过乱数计算调整可以孵出三倍到四倍流水的蛋。
本质上来说,日月乱数是将被跳过的闪数找出来并且通过微调帧位将他们的位置调整到闪光判定的位置,从而将原本流水孵蛋不闪的蛋变成闪。
有一些误解,类似于偶尔跳过几个蛋可以减少你的闪数被跳过的概率。如果你什么都不知道随手跳一跳,概率是没有任何变化的。信息才会改变概率。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述