基于蒙特卡洛算法的明日方舟六星尋訪概率分析(附表)
在進行分析之前,我們先隨機選個尋訪卡池,閱讀一下明日方舟中六星干員的尋訪規(guī)則。
【濁酒澄心】尋訪規(guī)則說明(節(jié)選)
★★★★★★:令[限定]?\?老鯉(占6★出率的70%)
★★★★★★:年[限定] \ 夕[限定]?(在6★剩余出率【30%】中以5倍權(quán)值出率提升)
【限定尋訪】說明
◆在所有【限定尋訪】中,如果連續(xù)50次沒有獲得6星干員,則下一次獲得6星干員的概率將從原本的2%提升至4%,如果該次還沒有尋訪到6星干員,則下一次尋訪獲得6星的概率由4%提升到6%。依此類推,每次提高2%獲得6星干員的概率,直至達到100%時必定獲得6星干員
注意:
◆任何時候在【限定尋訪】中獲得一位6星干員,則下一次在【限定尋訪】中獲得6星干員的概率將恢復(fù)到2%
◆5倍權(quán)值指在6星干員概率分布中【年[限定]/夕[限定]】的獲得概率提高,而除【令[限定]/老鯉】外的其他單個6星干員的獲得概率相應(yīng)降低,使得【年[限定]/夕[限定]】達到其他單個6星干員(除【令[限定]/老鯉】外)獲得概率的5倍。
基于以上規(guī)則,每次尋訪可以簡化為兩步:第一步,判斷尋訪是否為六星;第二步,判斷該六星是否為當(dāng)期六星。在明日方舟的大多數(shù)尋訪中,對于第二步的當(dāng)期六星判斷并沒有保底機制。若獲取到當(dāng)期六星的概率是p,那么抽到的n個六星中到底有多少個當(dāng)期六星實際上服從(n,p)的二項分布,對于這種情況的極大似然估計和假設(shè)檢驗在各大概率論與數(shù)理統(tǒng)計教材中均有詳細講解,此略。
但對于第一步,尋訪是存在保底機制而且是遞增概率型,并非截斷型(如連續(xù)89發(fā)均不為六星則第90發(fā)必為六星),這對尋訪概率的計算增加了很大工作量,尤其是抽取到的六星個數(shù)不為1時的情況。因此,本文采用蒙特·卡洛算法,基于隨機數(shù)生成較大的樣本(對于1-30個當(dāng)期六星,每個數(shù)據(jù)進行10000000組實驗,每組實驗從初始進行到出現(xiàn)目標(biāo)六星數(shù)目為止)并以此估計概率。
最終,我們得到了密度函數(shù)和分布函數(shù)。因篇幅有限,只對抽取1-9個六星時每個六星平均所需尋訪次數(shù)的概率密度函數(shù)進行展示。









可以看到,隨著尋訪次數(shù)的增加,概率密度函數(shù)逐漸向正態(tài)分布靠近。由于當(dāng)n>=30時,已經(jīng)可以用正態(tài)分布對樣本進行估計,而對n<30時采用t分布進行計算,故在本文最后會給出利用t分布進行估計的上(下)側(cè)分位數(shù)結(jié)果。
首先看第一張圖,通過簡單計算可得,在10000000組尋訪中,獲得1個六星所需尋訪次數(shù)的平均值為34.89,標(biāo)準(zhǔn)差為28.31(實際上計算1個六星所需尋訪次數(shù)的平均值和標(biāo)準(zhǔn)差并不困難,平均值為34.59,標(biāo)準(zhǔn)差為20.93。為了保證結(jié)果更精確,在t分布的估計中采用該值)。隨著獲得六星數(shù)目的增加,平均值并沒有大幅度的改動,但標(biāo)準(zhǔn)差在迅速下降,這與樣本方差計算公式一致。
最終得到基于蒙特卡洛算法的上下分位數(shù)如下:


由于尋訪的密度函數(shù)長相奇特,在n<15時t分布會得到幾乎離譜的估計結(jié)果,但隨著n不斷增加,t分布和蒙特卡洛方法得到結(jié)果的差距不斷減小,到n=30時二者差距可以控制在1上下。