導(dǎo) 五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬如下: 四千字警告! 這次內(nèi)容上來說確實承接上文,也是建模,但是也和生靈身材模板那個沒什么關(guān)系,是上一篇的拓展,主要針對于當(dāng)時尚未解決的幾個...

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬如下:

四千字警告!

這次內(nèi)容上來說確實承接上文,也是建模,但是也和生靈身材模板那個沒什么關(guān)系,是上一篇的拓展,主要針對于當(dāng)時尚未解決的幾個發(fā)展方向做出一些小小的研究。

(原先的生靈身材模板還是會更新的……吧?,只是還是會鴿一些0.0)

(好吧,這話我自己說著都沒信心hhhh)

好了,在看今天的正題之前,我們先來看一下十幾天前我新接的私活:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

當(dāng)然條件給錯了,實際是九張一費生靈,不過這無傷大雅,只是參數(shù)上的改變罷了。

那么我們來嚴肅的思考下這個問題,上文我們解決了單核心卡的開局上手率問題,而這次的私活本質(zhì)上是多核心卡在特定回合前上手率的問題,這就需要我們解決上次留下來的三個小尾巴:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

這也就是我們今天的正題:多核心卡在過牌期望內(nèi)的上手率模擬。

(說是模擬好像有些不太恰當(dāng),更準確的說應(yīng)該是仿真,也就是造假hhhh)

原先的假設(shè)就不多談了,有興趣的話可以翻一下,那么根據(jù)原先的小尾巴,我們按解決順序提出一些基本的假設(shè):

1. 后續(xù)抽牌不考慮如【斜月秘技】、【袁天罡】這種非常規(guī)的隨機抽牌。僅以能被觸發(fā)驚變的標準作為后續(xù)的抽牌模擬。

2. 多種核心卡的同時上手率問題,在某種核心卡手上超量的情況下可以予以換掉,比如說要算ABCD四種核心卡的上手率問題,后手可以換三張,手里有ABCABC,需要換其中三張ABC去找D。同時不考慮先手核心卡種類超過五張,后手換核心卡種類超過四張的情況,這也就保證開局一定會換牌并換滿先后手的二三張。

(不過一般卡組核心卡也很難超過四種吧……)

3. 核心卡不單指一張卡,可適用于同定位卡,比如九張一費怪可以算作A類核心卡,六張二費怪可以算作B類核心卡,這時A類核心卡的數(shù)量就是9,B類就是6,不一定指滿編最多三張的單卡。

柿子撿軟的捏,我們先來解決比較簡單的尾巴2,也就是單核心卡在特定回合前的上手率問題吧。

在假設(shè)1的條件下,我們實際就可以把整個對局中的手牌分成兩個階段,開局換牌階段與后續(xù)抽牌階段。

開局換牌階段的計算方法我就不多贅述了,有興趣的話可以參考。

而這個后續(xù)抽牌階段因為不考慮非常規(guī)的隨機抽牌,也就是說我們一般是能給出一個過牌期望m,m∈N+,如果m為0的話就相當(dāng)于不存在后續(xù)抽牌這個階段了。

那么此時這個后續(xù)抽牌階段的計算就相當(dāng)于在過牌期望m的一次排列組合,在牌庫數(shù)量為n,核心卡數(shù)量為k,先手換牌情況下至少上手一張核心卡為事件B1,可得:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

嗯……可能公式看起來有點復(fù)雜,但原理還是很簡單的吧?

至于正向計算事件B1,則會變得比較復(fù)雜,需要分別計算正好一張核心卡的情況(也就是事件B2),正好兩張核心卡的情況,正好三張核心卡的情況……這里的計算量就會爆炸增長,我們需要盡量避免這種令人頭痛的事情發(fā)生。

也就是說,單核心卡在特定回合前上手率的問題我們已經(jīng)簡化成了以過牌期望的形式進行分步排列組合解決,同理可以根據(jù)上次的帖子算出來過牌期望為m的情況下至少x張核心卡上手率,這個原理是一樣的,只是原先的一次排列組合變成了兩次,我就不多贅述了。

那么帶入具體數(shù)據(jù),我們可以算出來40張牌庫,【百鬼夜行·稀】數(shù)量為3,在三跳四修的回合過牌期望為5的情況下,四費能準時打出百鬼的概率:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

(這里的后續(xù)過牌數(shù)量是算回合自動抽牌的,也就是說先手在三跳四修回合會總共自動抽到3張牌,這期間再抽兩張牌就達到了5的期望,如果是后手,那只用再額外抽一張牌就夠了,對于土系來說應(yīng)該還是比較簡單的吧?)

小尾巴2,解決。

事實上兩次排列組合是不是感覺還是比較麻煩?至少對于多種核心卡的多張上手率來說,分類討論的數(shù)量直接指數(shù)增長,那么有沒有簡單些的近似計算呢?

(當(dāng)然這里指的不是求導(dǎo)或者泰勒那種的近似計算hhhh)

能否將兩次排列組合換成一次呢?

思考一下,如果開局完全不換牌的話,那么其實整體就是一個排列組合,相當(dāng)于不斷從卡牌數(shù)量為n的牌庫中進行一次次不放回的抽牌,只是換牌的這個動作使得有兩次抽牌放回了,去掉這兩次的話這完全可以簡化為一次簡單的排列組合。

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

當(dāng)然,這會造成一定的誤差,畢竟先手情況一個是n張牌進行6次不放回抽牌和2次放回抽牌,一個是n+2張牌中進行8次不放回抽牌,誤差是肯定存在的,近似計算結(jié)果會比精確算出來的概率要小一點點。

我們帶入具體數(shù)據(jù)看看,在40張牌庫中核心卡數(shù)量為3,上手至少一張的概率用精確方法和近似方法算一下:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

是不是感覺還能接受?而且這里還是影響最大的開局換牌部分,如果有后續(xù)抽牌部分的話兩種結(jié)果會更為接近一些。

小尾巴3,解決。

那么最后就是多核心卡的上手率問題。

首先我們來看一個錯誤的例子:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

近似計算的話就相當(dāng)于和n相關(guān)的都變成n+2就行,后手就是n+3。

我們帶入具體值,牌庫數(shù)量為40,【定海神珠】數(shù)量為3,【平等王】數(shù)量為3,開局手上有珠子且有平等的概率就是:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

看上去是不是很合理?

然而這里實際有涉及重復(fù)計算某些特殊的情況。

我們來看另一個實際問題,看完這個大致就明白了:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

當(dāng)m=0時,算的就是開局六張+換牌兩張的A、B兩類核心卡上手概率,不考慮后續(xù)抽牌階段,這里是算的精確值,如果是后手,將所有8改為9即可。

當(dāng)m>0時,算的就是加上后續(xù)抽牌期望為m,這里因為兩次排列組合分類討論較為復(fù)雜,只能用近似方式計算,先手將所有n改為n+2即可,后手將所有8改為9,n改為n+3即可。

帶入具體值吧,牌庫數(shù)量為40,【定海神珠】數(shù)量為3,【平等王】數(shù)量為3,開局手上有珠子有平等的概率就是:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

近似計算的誤差在10%左右,還可以接受的吧?

至于能否直接近似成單核心卡上手率冪的形式……由于篇幅原因我就不細說了,結(jié)論是在多種核心卡數(shù)量相等且其和不超過6+m的過牌期望時是可以的,具體效果還不錯,會比精確值稍高一點點,但誤差和近似計算差不太多,后手這方面甚至更好一些,但就是條件局限性比較大,兩個條件一旦不滿足其一結(jié)果都會有較為明顯的誤差。

小尾巴1,解決。

好的,那么我們終于可以開始著手解決一開頭的私活了,想不到就這么過去了一周多的時間……

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

這里我們適當(dāng)簡化一下問題,將核心卡歸納為4種,一費生靈為A類共計9張,二費生靈為B類(這里我們先將獨角獸等價為靈珠,后續(xù)再進行處理)共計6張,鐵扇公主為C類共計3張,亂劍和飛火流星為D類共計6張。

盤絲火本身是沒有過牌卡的,前期要鋪場也不會用門派技能,那么在三跳四這個回合先手過牌數(shù)量就為3,后手就為4,這里是很確定的,甚至用不上期望這個詞。

因為三費本身可選情況有兩種,我們就要分類討論出兩種情況:

第一種是在三費下鐵扇公主,這就相當(dāng)于手牌中A類核心卡1張,B類核心卡一張,C類核心卡一張,D類核心卡一張。

(因為3費出鐵扇,所以2費出靈珠和獨角獸差別都不大了,靈珠也享受不到收益的,就都歸為B類好了)

第二種是在三費2+1,這就相當(dāng)于A類核心卡兩張,B類核心卡兩張,C類核心卡0張,D類核心卡一張。

(注意這里C類一定是0張,不然根據(jù)加法原理與第一種有重復(fù)計算部分)

當(dāng)然呢這里我們與原問題有一些出入,首先是不能保證牌序的問題,比如同樣是ABCD各一張,但是三跳四修那個回合一費怪才來,肯定是與實際情況不符,但是在這個模型當(dāng)中會被納入可行解(記為第一個偏高情況)。還有就是第二種情況中沒有排除掉B類核心卡上手的全是獨角獸(記為第二個偏高情況),所以實際計算值我個人認為會偏高一些。

那么帶入具體值進行計算,可得:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

我們將這個結(jié)果記為P(H),將真實概率記為P(T),將以下情況帶來的結(jié)果記為P(L):

B類核心卡數(shù)量變更為4,刪去兩張獨角獸,這樣能保證第一種情況下鐵扇時靈珠與獨角獸同樣沒差,但第二種情況只要上手兩張核心卡,就一定會有至少一張靈珠。

這么做的話能保證原先兩個偏高情況中的第二個被糾正了,但是也因為核心卡數(shù)量與實際不符,會導(dǎo)致結(jié)果明顯偏低。

讓我們代入具體值計算一下:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

這里我們也能初步得出一個結(jié)論:

P(H)> P(T)> P(L)。

事實上還有一種方法進行近似,就是將B類核心卡數(shù)量改為5,這樣第二個偏高情況只有正好上手兩張B類核心卡且均為獨角獸才會屬于不符合實際但被納入可行解的范圍,這個概率是非常小的,將這個結(jié)果記為P(S),我個人覺得P(S)會更接近于真實概率P(T):

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

至于考慮到牌序帶來的影響會比較復(fù)雜,可以用隨機數(shù)模擬序列的方式來求精確解,但我這里還是決定根據(jù)上下限和個人經(jīng)驗給出一定的近似值(主要還是拖太久了,趕緊解決了吧hhhh)。

第一個偏高情況是由牌序引起的問題,砍期望能保證某卡在提前幾個回合上手,但是砍期望也就意味著默認少抽了一次牌,會使得總體結(jié)果繼續(xù)下降,而且下降量很多,我腦測一下在有9張一費和6張二費的情況下,一二三費完全倒序來牌概率不大,所以我個人認為期望為2的會比較接近真實概率P(T),同時帶入核心卡數(shù)量為6計算一下:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

和之前的P(S)差不太多,對于本來抽牌數(shù)量就少還少換一張的先手來說砍一點期望會比后手影響更大一些,正常。

所以綜上所述,我們得出結(jié)論:

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

打出如此combo的先手概率大致在0.45附近,后手概率在0.6附近。

好的!那么到止為止本次水帖的正文部分已經(jīng)基本結(jié)束了,我們來總結(jié)一下具體做了些什么吧:

1. 單核心卡在特定回合前的上手率通過過牌期望的形式解決了問題。

2. 開局換牌階段和后續(xù)抽牌階段統(tǒng)一簡化為一次排列組合進行近似計算。

3. 多核心卡的核心上手率使用排列組合的加法原理解決了問題。

4. 綜合利用上面三種方法解決實際私活提出的問題,并不嚴謹,還有提升空間,但是個人覺得誤差不大(意思就是懶得再做了hhhh)

那么在這里其實絕大多數(shù)上手率問題都能通過這個框架來進行解決了,但我們還是有一些小尾巴沒有收尾(怎么這么多尾巴0.0),算是做下一次的更新預(yù)告了:

1. 正向計算和反向計算值其實是不一樣的,換牌也有獨有的海崖式算法。

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

五行師【卡牌建模計劃】多核心卡的過牌期望內(nèi)上手率模擬

2. 馬三刑三還是馬二刑三還是馬三刑二?基于馬刑問題的上手率模擬與構(gòu)筑研究。

3. 潛龍出海的生靈結(jié)算優(yōu)先級真的是從左到右嗎?為什么感覺傀儡師總是第一個觸發(fā)?

(好吧,第三個問題應(yīng)該不在下一期的【卡牌建模計劃】更新中,應(yīng)該算是水晶的【機制講堂】或者【bug講堂】里面的,湊個數(shù)吧。短時間內(nèi)預(yù)計還會有一個和韋師傅聯(lián)合開發(fā)的因緣卡組攻略更新)

怎么感覺每次解決了一個問題,就冒出了更多的更復(fù)雜的問題……

可惡,下機!