欢迎光临散文网 会员登陆 & 注册

基于蒙特卡洛算法的明日方舟六星寻访概率分析(附表)

2022-01-31 09:02 作者:Durable01  | 我要投稿

在进行分析之前,我们先随机选个寻访卡池,阅读一下明日方舟中六星干员的寻访规则。

【浊酒澄心】寻访规则说明(节选)

★★★★★★:令[限定] \ 老鲤(占6★出率的70%)

★★★★★★:年[限定] \ 夕[限定] (在6★剩余出率【30%】中以5倍权值出率提升)

【限定寻访】说明

◆在所有【限定寻访】中,如果连续50次没有获得6星干员,则下一次获得6星干员的概率将从原本的2%提升至4%,如果该次还没有寻访到6星干员,则下一次寻访获得6星的概率由4%提升到6%。依此类推,每次提高2%获得6星干员的概率,直至达到100%时必定获得6星干员

注意:

◆任何时候在【限定寻访】中获得一位6星干员,则下一次在【限定寻访】中获得6星干员的概率将恢复到2%

◆5倍权值指在6星干员概率分布中【年[限定]/夕[限定]】的获得概率提高,而除【令[限定]/老鲤】外的其他单个6星干员的获得概率相应降低,使得【年[限定]/夕[限定]】达到其他单个6星干员(除【令[限定]/老鲤】外)获得概率的5倍。

基于以上规则,每次寻访可以简化为两步:第一步,判断寻访是否为六星;第二步,判断该六星是否为当期六星。在明日方舟的大多数寻访中,对于第二步的当期六星判断并没有保底机制。若获取到当期六星的概率是p,那么抽到的n个六星中到底有多少个当期六星实际上服从(n,p)的二项分布,对于这种情况的极大似然估计和假设检验在各大概率论与数理统计教材中均有详细讲解,此略。

但对于第一步,寻访是存在保底机制而且是递增概率型,并非截断型(如连续89发均不为六星则第90发必为六星),这对寻访概率的计算增加了很大工作量,尤其是抽取到的六星个数不为1时的情况。因此,本文采用蒙特·卡洛算法,基于随机数生成较大的样本(对于1-30个当期六星,每个数据进行10000000组实验,每组实验从初始进行到出现目标六星数目为止)并以此估计概率。

最终,我们得到了密度函数和分布函数。因篇幅有限,只对抽取1-9个六星时每个六星平均所需寻访次数的概率密度函数进行展示。

可以看到,随着寻访次数的增加,概率密度函数逐渐向正态分布靠近。由于当n>=30时,已经可以用正态分布对样本进行估计,而对n<30时采用t分布进行计算,故在本文最后会给出利用t分布进行估计的上(下)侧分位数结果。

首先看第一张图,通过简单计算可得,在10000000组寻访中,获得1个六星所需寻访次数的平均值为34.89,标准差为28.31(实际上计算1个六星所需寻访次数的平均值和标准差并不困难,平均值为34.59,标准差为20.93。为了保证结果更精确,在t分布的估计中采用该值)。随着获得六星数目的增加,平均值并没有大幅度的改动,但标准差在迅速下降,这与样本方差计算公式一致。

最终得到基于蒙特卡洛算法的上下分位数如下:

最终结果1 蒙特卡洛算法得到的上下分位数
最终结果2 t分布得到的上下分位数

由于寻访的密度函数长相奇特,在n<15时t分布会得到几乎离谱的估计结果,但随着n不断增加,t分布和蒙特卡洛方法得到结果的差距不断减小,到n=30时二者差距可以控制在1上下。

基于蒙特卡洛算法的明日方舟六星寻访概率分析(附表)的评论 (共 条)

分享到微博请遵守国家法律