メルストのあんスタコラボでコラボユニットコンプする期待値を計算してみた※まだ途中

8年半ぶりの更新……
書きたい記事がTwitterに投稿するには複雑すぎたから仕方ないね。

本題

メルストとあんスタ のコラボ第3弾かぁ……
前回のコラボの時、コラボスカウトで「☆4をn人引いたときにコラボユニットをコンプしている確率」を計算したら、大学レベルの確率・漸化式・行列の知識をフル動員することになって面白かったんだよな。

今回の新コラボユニットはスキル進化できる☆5として実装される予感がするからアレだけど、「復刻コラボスカウトでコラボユニットコンプするまでどれだけ引けばいいか」を計算してみたいと思う。

前提

復刻コラボスカウトでは、☆4出現時、コラボユニット4人の誰かを必ず獲得、10連スカウト時、☆4以上1体確定となっている。
ここで「☆4以上1体確定」とは、9体は単発と同じ☆4出現率で、残りの1体は「1-[☆5の確率]」で☆4が出現するとする。

変数定義

 p_{mn} :10連で n 人引いたとき、コラボユニットを m 人所持している確率
 q_{mn} :10連を n 回引いたとき、コラボユニットを m 人所持している確率
 r :単発で☆4を引ける確率(0.0558)
 s :単発で☆5を引ける確率(0.03)

 p_{mn} を漸化式で表す

コラボユニットをまだ持っていない状態から始めるとする。

まず1人目。

復刻コラボ10連の1人目で☆4を引く確率はr
これは必ずまだ持っていないコラボユニットである。
よって

p_{11}=r

また、1人目で☆4を引かなかった確率p_{01}

p_{01}=1-r

2人目。

復刻コラボ10連の2人目時点を考える。

2人とも☆4でなければ所持人数は0人。
「1人目が☆4で、2人目が☆4以外または既存☆4」または「1人目が☆4以外で、2人目が☆4」なら所持人数は1人。
1人目が☆4で、2人目が新規☆4なら所持人数は2人。


それぞれ計算すると

 \begin{cases}p_{02}=\left(1-r\right)p_{01}\\p_{12}=rp_{01}+\left(1-\frac{3}{4}r\right)p_{11}\\p_{22}=\frac{3}{4}rp_{11}\end{cases}

3人目。

一般にn人目で所持人数m人になる確率p_{mn}n-1人目でm人の確率×n人目で新規☆4を引かない確率とn-1人目でm-1人の確率×n人目で新規☆4を引く確率の和で計算できる。3人目の場合は以下

\begin{cases}p_{03}=\left(1-r\right)p_{02}\\p_{13}=rp_{02}+\left(1-\frac{3}{4}r\right)p_{12}\\p_{23}=\frac{3}{4}rp_{12}+\left(1-\frac{2}{4}r\right)p_{22}\\p_{33}=\frac{2}{4}rp_{22}\end{cases}

4人目。

同様にして復刻コラボ10連の4人目時点では

\begin{cases}p_{04}=\left(1-r\right)p_{03}\\p_{14}=rp_{03}+\left(1-\frac{3}{4}r\right)p_{13}\\p_{24}=\frac{3}{4}rp_{13}+\left(1-\frac{2}{4}r\right)p_{23}\\p_{34}=\frac{2}{4}rp_{23}+\left(1-\frac{1}{4}r\right)p_{33}\\p_{44}=\frac{1}{4}rp_{33}\end{cases}

5人目。

同様にして復刻コラボ10連の5人目時点では

 \begin{cases}p_{05}=\left(1-r\right)p_{04}\\p_{15}=rp_{04}+\left(1-\frac{3}{4}r\right)p_{13}\\p_{25}=\frac{3}{4}rp_{14}+\left(1-\frac{2}{4}r\right)p_{24}\\p_{35}=\frac{2}{4}rp_{24}+\left(1-\frac{1}{4}r\right)p_{34}\\p_{45}=\frac{1}{4}rp_{34}+p_{44}\end{cases}


これは列ベクトルp_nに行列Aを左からかけた形で表せる。

\left(\begin{array}{c}p_{05}\\p_{15}\\p_{25}\\p_{35}\\p_{45}\\\end{array}\right)=\left(\begin{matrix}1-r&0&0&0&0\\r&1-\frac{3}{4}r&0&0&0\\0&\frac{3}{4}r&1-\frac{2}{4}r&0&0\\0&0&\frac{2}{4}r&1-\frac{1}{4}r&0\\0&0&0&\frac{1}{4}r&1\end{matrix}\right)\left(\begin{array}{c}p_{04}\\p_{14}\\p_{24}\\p_{34}\\p_{44}\\\end{array}\right)

ここで

\overrightarrow{p_{n}}=\left(\begin{array}{c}p_{n0}\\p_{n1}\\p_{n2}\\p_{n3}\\p_{n4}\\\end{array}\right),A=\left(\begin{matrix}1-r&0&0&0&0\\r&1-\frac{3}{4}r&0&0&0\\0&\frac{3}{4}r&1-\frac{2}{4}r&0&0\\0&0&\frac{2}{4}r&1-\frac{1}{4}r&0\\0&0&0&\frac{1}{4}r&1\end{matrix}\right)

とすると

 \overrightarrow{p_5}=A\overrightarrow{p_4}

一般化

初期値p_0=\left(\begin{array}{c}1\\0\\0\\0\\0\end{array}\right) とすると 0\lt n\lt 10のとき
\overrightarrow{p_n}=A\overrightarrow{p_{n-1}}が成り立つ。

10人目の場合

 n=10のときは単発で☆5を引ける確率sを使ったAではない行列をかけることになる。
これをA'とする。

\left(\begin{array}{c}p_{0,10}\\p_{1,10}\\p_{2,10}\\p_{3,10}\\p_{4,10}\\\end{array}\right)=\left(\begin{matrix}s&0&0&0&0\\1-s&\frac{1}{4}\left(1+3s\right)&0&0&0\\0&\frac{1}{4}\left(3-3s\right)&\frac{1}{4}\left(2+2s\right)&0&0\\0&0&\frac{1}{4}\left(2-2s\right)&\frac{1}{4}\left(3+s\right)&0\\0&0&0&\frac{1}{4}\left(1-s\right)&1\end{matrix}\right)\left(\begin{array}{c}p_{0,9}\\p_{1,9}\\p_{2,9}\\p_{3,9}\\p_{4,9}\\\end{array}\right)

このとき

A'=\left(\begin{matrix}s&0&0&0&0\\1-s&\frac{1}{4}\left(1+3s\right)&0&0&0\\0&\frac{1}{4}\left(3-3s\right)&\frac{1}{4}\left(2+2s\right)&0&0\\0&0&\frac{1}{4}\left(2-2s\right)&\frac{1}{4}\left(3+s\right)&0\\0&0&0&\frac{1}{4}\left(1-s\right)&1\end{matrix}\right)

10連を引いたときにコラボユニットを所持できている確率は
初期値 p_0に対して、\overrightarrow{p_{10}}=A'A^{9}\overrightarrow{p_0}となる。