【LoveLive SIF】雙分復(fù)讀機(jī)技能得分精算與復(fù)讀單位強(qiáng)度排序
????????上節(jié)課(https://www.bilibili.com/read/cv8916897),我們闡述了復(fù)讀機(jī)的具體作用機(jī)制,各種會(huì)減弱復(fù)讀機(jī)實(shí)際表現(xiàn)的情況,以及如何合理選卡來盡量減少這些情況。這節(jié)課我們將繼續(xù)學(xué)習(xí)如何對(duì)雙分復(fù)讀機(jī)的技能得分進(jìn)行精算,以及基于該結(jié)果對(duì)不同N的復(fù)讀單位進(jìn)行強(qiáng)度排序。
????????為什么選擇雙分復(fù)讀機(jī)而不是常規(guī)復(fù)讀機(jī)呢,是因?yàn)殡p分復(fù)讀機(jī)里面沒有概率up,每一輪前l(fā)vup發(fā)動(dòng)次數(shù)是固定的,也沒和分卡搶buff的存在。概率up可以搶lvup的buff,搶走后又可以影響lvup和其他卡的概率,而且概率up不是一直按固定N發(fā)動(dòng),也有近半會(huì)按照固定時(shí)間間隔連續(xù)發(fā)動(dòng)。插入了概率up的常規(guī)復(fù)讀隊(duì)過于復(fù)雜,我感覺除了靠LLH用蒙特卡洛方法模擬,沒有更好的方法了。
????????好了,我們開始吧~

????????上節(jié)課,為了探究復(fù)讀卡組中不同卡的相互作用以及作用順序,筆者做了一個(gè)復(fù)讀N統(tǒng)計(jì)器,如下所示:

輸入?yún)^(qū):只需手動(dòng)輸入輸入?yún)^(qū)的黃色格子,分別代表第一張Lvup、第二張Lvup、復(fù)讀單位的N數(shù),然后黃色下面的格子會(huì)按照倍數(shù)往下自動(dòng)填充。
匯總區(qū):會(huì)自動(dòng)將輸入?yún)^(qū)的結(jié)果匯總到一起,左邊一欄是相應(yīng)的N數(shù),右邊是什么技能觸發(fā)了(1、2代表第1、2張Lvup,3代表復(fù)讀)。輸入?yún)^(qū)很長,到好幾千N,不過匯總區(qū)只會(huì)匯總前999N,多余的不會(huì)進(jìn)入?yún)R總區(qū)。匯總區(qū)按N的先后排序,如果多個(gè)技能同N發(fā)動(dòng),則按321的倒序來排。
統(tǒng)計(jì)區(qū):將匯總區(qū)的結(jié)果進(jìn)行統(tǒng)計(jì)。通過數(shù)“3”的數(shù)量得到復(fù)讀發(fā)動(dòng)次數(shù),兩個(gè)“3”之間1和2的數(shù)量得到復(fù)讀前l(fā)vup發(fā)動(dòng)次數(shù);并且同時(shí)統(tǒng)計(jì)得到2個(gè)lvup或任意lvup與復(fù)讀之間同n或相隔1n的次數(shù)并統(tǒng)計(jì)。發(fā)動(dòng)次數(shù)指滿足條件的次數(shù),并不一定真的發(fā)動(dòng)。
????????值得說明的是,如果兩張Lvup同N發(fā)動(dòng),則僅記一次。如果Lvup和復(fù)讀發(fā)生撞車,以Lvup墊底獲得buff,即之前的buff還是給分卡,該Lvup的buff給下一輪來計(jì)算。例如112-168N這一段,記為:

????????同N發(fā)動(dòng)的多個(gè)技能按照3-1倒序排,1和2如果同N只記一次。因此112-140這輪Lvup發(fā)動(dòng)了一次(1和2同N),140-168這段Lvup發(fā)動(dòng)了三次。168N同時(shí)發(fā)生的Lvup則會(huì)延給下一輪計(jì)算。這個(gè)計(jì)算順序與Lvup墊底獲得buff的機(jī)制相同,利于復(fù)讀機(jī)發(fā)揮,這也是為什么匯總時(shí)同N按照倒序排序。
????????輸入是自動(dòng)表格做的,匯總和統(tǒng)計(jì)是vba做的,需要雙擊任意單元格后更新,我代碼寫的很亂就不放了(折騰了好幾個(gè)二維數(shù)組倒來倒去)……
????????至此,我們得到了復(fù)讀隊(duì)在一首999N的歌中,總共有幾輪,每一輪前有幾次Lvup,有幾次撞車的具體數(shù)據(jù)。然而這些數(shù)據(jù)只是“滿足了相應(yīng)技能發(fā)動(dòng)條件”,具體是否發(fā)動(dòng)取決于技能的發(fā)動(dòng)率。因此,下一節(jié)我們將繼續(xù)計(jì)算各技能的發(fā)動(dòng)率。????

二、Lvup實(shí)際概率與每輪實(shí)際被buff次數(shù)的期望值
????????Lvup總共有20-24、26N共6張。同一個(gè)N的Lvup卡可能有不止一張,但它們的發(fā)動(dòng)率和提升等級(jí)都是完全相同的。復(fù)讀卡同理,整理得下表方便調(diào)用:

????????一個(gè)復(fù)讀隊(duì)中,有兩張不同Lvup,發(fā)動(dòng)率也不同。如果一輪復(fù)讀前Lvup發(fā)動(dòng)2次,那很好算;如果發(fā)動(dòng)3次,到底是aba還是bab,會(huì)影響具體概率,而之前寫的統(tǒng)計(jì)器并沒有統(tǒng)計(jì)那么細(xì)。所以為了計(jì)算方便,我們?nèi)蓮坙vup概率的幾何均數(shù),簡化為對(duì)一張卡重復(fù)三次進(jìn)行計(jì)算。如果發(fā)動(dòng)1次或4次同理。
????????由于Lvup疊兩次到16級(jí),2次以上沒有意義,所以我們只統(tǒng)計(jì)0次數(shù)量、1次數(shù)量、2次及以上數(shù)量。可以excel直接調(diào)用二項(xiàng)分布函數(shù),不過這比較簡單,我們也可以直接算0次((1-p)^n)和1次(p*(1-p)^(n-1)*n)后,再用1減就是2次及以上:

????????然后,我們分別把復(fù)讀前Lvup發(fā)動(dòng)1-4次的次數(shù),乘以后面的概率,再縱向相加,得到實(shí)際發(fā)動(dòng)2次及以上、1次、0次的輪數(shù)的期望值。這一步全部由自動(dòng)表格完成。

三、計(jì)算雙分發(fā)動(dòng)概率,制作最大加分卡表
將23-30N單次加分量最大的分卡信息匯總到下表方便調(diào)用:

分卡選擇與下表一致。部分N出了單次加分量更大的分卡,不過我還是按下表來。

根據(jù)表中分卡概率計(jì)算雙分卡全部發(fā)動(dòng)、只發(fā)動(dòng)1張、全不發(fā)動(dòng)的概率:


四、具體得分計(jì)算
????????我們把整個(gè)得分拆成兩個(gè)完備事件組:一是lvup實(shí)際發(fā)動(dòng)0次、1次、2級(jí)及以上;二是雙分全部發(fā)動(dòng)、發(fā)動(dòng)1張、發(fā)動(dòng)0張。然后對(duì)這3*3=9種情況計(jì)算后相加就得到了我們想要的得分。lvup實(shí)際發(fā)動(dòng)次數(shù)的具體輪數(shù)的期望值我們已經(jīng)得到,接下來就是算兩者互相作用的時(shí)候的具體得分。

整理得:

????????我們看該輪得分的最后一個(gè)格子。如果該輪Lvup沒有發(fā)動(dòng),雙分也沒有發(fā)動(dòng),但復(fù)讀機(jī)發(fā)動(dòng)了。全隊(duì)沒有其他可以搶lvup的卡了,所以這是復(fù)讀大概率復(fù)讀到上一輪的分卡,我們需要加權(quán)上去:即
20.031/35*(0.4489*55860+0.4422*51745) +12.167/35*(0.4489*37018.5+0.4422*32903.5) +2.802/35*(0.4489*20369.25+0.4422*16254.25+0.1089*0) =39588。于是,我們得到了最后一個(gè)格子的值,填上去:

????????我們上一次加權(quán)最后一個(gè)格子的時(shí)候,計(jì)算最后一項(xiàng)2.802/35*(……)時(shí),把自己當(dāng)成0計(jì)算的,現(xiàn)在這個(gè)格子有數(shù)據(jù)了,我們用新的數(shù)據(jù)再迭代一次:

????????原則上我們還可以繼續(xù)迭代,不過第二次迭代的增量已經(jīng)很小了,再迭沒啥意義了,所以我們到此為止。最后,把三塊加起來,乘以2.5倍爆分寶石,就得到了雙分復(fù)讀的技能得分,整理得:

計(jì)算表格總覽:

????????上述計(jì)算過程都有自動(dòng)公式,如果黃色輸入?yún)^(qū)的N數(shù)更換后,具體概率數(shù)據(jù)都會(huì)直接根據(jù)右側(cè)的表格直接調(diào)用,不用手打。只要輸入黃色區(qū)后,雙擊任意單元格就可以直接得到最終數(shù)據(jù)。
????????所以,20-24-28的復(fù)讀機(jī),999N曲目得分是349w。可見,其中單lvup、無lvup也占了不少強(qiáng)度。前人對(duì)復(fù)讀機(jī)得分進(jìn)行理論計(jì)算,往往局限于16級(jí)分卡的N數(shù)、最大加分量、概率,估算出的具體分值和實(shí)際情況相差甚遠(yuǎn),均以失敗告終。實(shí)際上,即使28-30N的長沖程復(fù)讀機(jī),也有近1/3輪數(shù)無法被buff到16級(jí),只能buff到12級(jí)或僅8級(jí);而23-26N的12級(jí)和8級(jí)的輪數(shù)占比會(huì)更高,雖然總輪數(shù)多,但平均每一輪的復(fù)讀效率低。這在估算得分時(shí)是不能忽視的。

五、誤差分析
這套計(jì)算方法不可避免的會(huì)有局限性:
1.???? ? 默認(rèn)撞車后lvup墊底:實(shí)際情況是1:1,優(yōu)先時(shí)非常影響得分,墊底則不影響。本計(jì)算僅取墊底。→有利有弊
2.???? ? 因程序設(shè)計(jì)所故,以兩張lvup幾何均數(shù)計(jì)算,而不是分開單獨(dú)算。這在兩張lvupN接近時(shí)問題不大,較遠(yuǎn)時(shí)可能會(huì)高估得分。(例如20和26N,20發(fā)動(dòng)頻率更高,在三次時(shí)20-26-20次數(shù)要比26-20-26更多,直接用幾何均數(shù)估計(jì)會(huì)略微偏高)→高估→將在第六節(jié)中予以校正。
3.???? ? 兩張lvup同幀發(fā)動(dòng)仍然以幾何均數(shù)計(jì)算發(fā)動(dòng)率,而沒算第二張額外增加的發(fā)動(dòng)率。(例如兩張同幀發(fā)動(dòng),幾何均數(shù)為0.8,則該次實(shí)際發(fā)動(dòng)概率仍然以0.8算,實(shí)際應(yīng)該是0.96。雖然同時(shí)發(fā)動(dòng)效果不疊加,但改幀發(fā)動(dòng)概率是增加的)→低估。
4.???? ? 沒考慮曲目中的雙押。全部按無雙押處理。→高估
5.???? ? 單雙Lvup輪空當(dāng)做本輪白費(fèi):實(shí)際上如果一輪中l(wèi)vup發(fā)動(dòng)后再輪空,會(huì)略微增加下一輪+16級(jí)的概率,這部分沒有計(jì)算。→低估 →將在第六節(jié)中予以校正。

六、誤差校正
????????經(jīng)核算 ,誤差5非常影響最終得分,不能忽視。如果一輪中l(wèi)vup發(fā)動(dòng)后再輪空,會(huì)略微增加下一輪+16級(jí)的概率。低N復(fù)讀機(jī)沖程短,復(fù)讀效率低(指更多比例的輪數(shù)沒法被buff到+8級(jí),只能+4或根本不加),因?yàn)榕涮追挚òl(fā)動(dòng)概率大多不如高N的分卡,更容易產(chǎn)生輪空。誤差5指本輪lvup叫了但輪空了,就會(huì)提高下一輪+4及+8的概率,但之前的計(jì)算予以無視。因此忽視這一部分之后,將嚴(yán)重低估低N復(fù)讀機(jī)的得分。
????????我們先對(duì)誤差2進(jìn)行校正,因?yàn)檫@比較容易:如果20N和26N的Lvup,一輪前滿足發(fā)動(dòng)條件2次仍然以幾何均數(shù)計(jì)算,1次或3次采用加權(quán)幾何均數(shù)計(jì)算。加權(quán)幾何均數(shù)為20N發(fā)動(dòng)概率的26次方,乘以26N概率的20次方,然后大家一起開46次方;其他N數(shù)同理。
????????誤差5的校正有點(diǎn)復(fù)雜,如下圖所示。大致思路是算出Lvup發(fā)動(dòng)2次,但輪空的輪數(shù)期望值,然后用Lvup >2/1/0 次的輪數(shù)/總輪數(shù)估算下一輪被Lvup各次的概率分別是多少。如果是2以上,則沒有任何用處,無需校正;如果是1,則需要將相應(yīng)輪數(shù)從Lvup1次扣除,加到2次上;0次同理。然后同樣方法計(jì)算Lvup發(fā)動(dòng)1次的后續(xù)。下表計(jì)算過程主要看紅字和藍(lán)字,灰字表示與校正無關(guān),紫色是總結(jié)。


七、雙分復(fù)讀單位強(qiáng)度排序及理論計(jì)算實(shí)際表現(xiàn)驗(yàn)證
????????我們基于該方法,固定某個(gè)N,通過反復(fù)嘗試試出最佳Lvup組合,獲得各個(gè)復(fù)讀單位的最高分,并LLH實(shí)際模擬該組合,查看兩者是否一致:
(雖然Lvup和復(fù)讀同N不影響刷分,但我還是避免這種組合)

????????由于我們需要對(duì)不同N數(shù)復(fù)讀單位之間橫向比較,曲目是999N,恰好被27整除,如果以此得分來比較其他不能整除的復(fù)讀單位則會(huì)不公平。因此我們引入校正理論得分的概念,計(jì)算公式為實(shí)際理論得分/實(shí)際發(fā)動(dòng)輪數(shù)(例如38)*帶小數(shù)的發(fā)動(dòng)輪數(shù)(例如38.42)。從上表來看,無論是否有+10%的概率加成,排行都是30>29>27>28=26=25>24>23>20。劃等號(hào)的幾者表現(xiàn)十分接近,沒有本質(zhì)差別。
????????再看和LLH模擬的差值,會(huì)發(fā)現(xiàn),本理論計(jì)算方法,比LLH模擬普遍高估。從誤差分析來看,這部分高估可能來自撞車機(jī)制的不同,以及未考慮雙押。我們假設(shè)這部分高估主要來自Lvup和復(fù)讀單位的撞車機(jī)制處理不同導(dǎo)致,LLH為一半墊底一半優(yōu)先,而本表格理論計(jì)算為全墊底。我們計(jì)算得出每一種組合的加權(quán)撞車數(shù)(直接撞車數(shù)+相隔1N的次數(shù)/4,因?yàn)殡p押大致占所有Note的1/4),將加權(quán)撞車數(shù)除以總輪數(shù)得到撞車影響的百分比(同樣撞了5輪,23N的5輪和30N的5輪相差的分值截然不同,因此我們用撞的輪數(shù)除以總輪數(shù)來消除這一影響,變量設(shè)為b);將表格與LLH相比高估的分值除以表格理論得分,得到差值百分比(變量設(shè)為a),兩者行線性回歸:

????????可見,兩者高度線性相關(guān),R方=0.9,可以解釋為,高估部分的90%均由于撞車機(jī)制處理不同而導(dǎo)致。將線性回歸的擬合結(jié)果反過來校正表格的理論得分后,更換相應(yīng)Lvup和復(fù)讀單位后,只要?jiǎng)e撞的太狠,得到的“擬合的LLH模擬得分”,與LLH的模擬得分幾乎一致。因此使用本表格理論計(jì)算雙分復(fù)讀機(jī)得分結(jié)果可靠,且可用于Lvup的具體選卡參考。

八、一些發(fā)現(xiàn)&總結(jié)
????????通過這些計(jì)算,有一些有趣的發(fā)現(xiàn):本表格的理論計(jì)算和LLH并不完全一致。例如30N,本表得出的最佳Lvup組合是21+26,而LLH是23+26;實(shí)際上,因?yàn)?strong>23+26的加權(quán)撞車數(shù)更少,導(dǎo)致了LLH模擬更優(yōu),本表格僅考慮撞車墊底的情形,所以產(chǎn)生了不同;同理,由于30N質(zhì)因數(shù)多,在搭配上不如質(zhì)數(shù)的29或3的3次方的27,更容易撞車,LLH模擬的實(shí)際表現(xiàn)比表格差很多(約390-399w之間,表格是409w);以及25N復(fù)讀機(jī)LLH模擬略強(qiáng)于28N,也是因?yàn)?strong>25N的撞車比例更小,比28N更容易搭配。25,26,28三者差不多,26底卡難以獲??;28由于上述原因?qū)е聦?shí)際表現(xiàn)可能不如25,這也可以解釋為什么分榜上25N的多。
????????單分的常規(guī)復(fù)讀機(jī)由于插入了概率up,無法理論計(jì)算,只能通過直接LLH模擬獲得。要排序的話,感覺就是堆工作量,lvup卡排列組合一下15種組合,概率up選32N善(不一定最強(qiáng),但至少能位于中上,能有代表性),分卡是最高分固定的,曲子也固定一個(gè)(櫻拜或妮可不理),屬性手動(dòng)設(shè)為1,觀察指標(biāo)設(shè)為1%或10%得分,模擬8*15次結(jié)果就出來了。
????????不過我覺得雙分不強(qiáng),單分也強(qiáng)不到哪里去,兩者應(yīng)該是一致的,這個(gè)也可以為單分復(fù)讀強(qiáng)度排序提供參考。

全文到此結(jié)束,歡迎評(píng)論,指正,探討~
