サイコロ5個対10個の勝率

ここではキングボンビーに勝ちたいでやったサイコロ5個と10個の出目の和の勝負について,5個の方が勝つ確率の計算法を簡潔に書いておきます.

$d_{n, k}$ でサイコロを $n$ 個振ったときに $k$ が出る場合の数を表すとすれば,$n=1$ のとき \[ d_{1, k}= \begin{cases} 1 & \text{if $k=1, 2, 3, 4, 5, 6$},\\ 0 & \text{otherwise}, \end{cases} \] $n=2, 3, 4, \dots$ のとき \[ d_{n, k}=d_{n-1, k-1}+d_{n-1, k-2}+d_{n-1, k-3}+d_{n-1, k-4}+d_{n-1, k-5}+d_{n-1, k-6} \] となります.この漸化式は,「$n$ 個振って和が $k$ になるのは,$n-1$ 個振った和が $k-1$ でさらにもう1個が1だった場合,$n-1$ 個振った和が $k-2$ でさらにもう1個が2だった場合,……,$n-1$ 個振った和が $k-6$ でさらにもう1個が6だった場合,が全てだから,これらの場合の数を全て足せばよい」と考えて導出されます.

この漸化式により必要な $d_{n, k}$ を求めたとすると,サイコロを $n$ 個振ったときに $k$ が出る確率は $\displaystyle\frac{d_{n, k}}{6^n}$,$k$ 以下が出る確率は $\displaystyle\sum_{i=n}^k \frac{d_{n, i}}{6^n}$ で与えられます.したがってキングボンビーに勝てる確率は,10個の和が5個の和未満になる場合の確率を全て足し合わせることで \[ \sum_{k=11}^{30} \frac{d_{5, k}}{6^5}\left(\sum_{i=10}^{k-1} \frac{d_{10, i}}{6^{10}}\right) =\frac{1}{6^{15}}\sum_{k=11}^{30} d_{5, k}\left(\sum_{i=10}^{k-1} d_{10, i}\right) \] となることがわかります.Python スクリプトを書くなどして実際に $d_{n, k}$ を計算してみると,このPDFファイルのように求まります.これを利用すると \[ 6^{15}=470184984576, \] \[ \sum_{k=11}^{30} d_{5, k}\left(\sum_{i=10}^{k-1} d_{10, i}\right)=1312234960 \] より,$\displaystyle\frac{1312234960}{470184984576}=0.00279089\dots$ と確率が求まります.

ここで出てきた漸化式は,より簡単な \[ c_{n, k}=c_{n-1, k-1}+c_{n-1, k} \] の一般化であると考えられます.よく知られている通り,これは「1つ上の行にある隣り合う2つの数を足し合わせよ」というパスカルの三角形の定義式(二項係数が満たす漸化式)です.パスカルの三角形は $(1+x)^n$ を展開したときの $x^k$ の係数を並べたものですが,同様に考えるとサイコロを $n$ 個振ったときの出目の和が $k$ になる場合の数 $d_{n, k}$ は $(x+x^2+x^3+x^4+x^5+x^6)^n$ を展開したときの $x^k$ の係数であることがわかります.このことと多項定理を使うと, \[ d_{n, k}=\sum_{\substack{i_1+i_2+i_3+i_4+i_5+i_6=n\\ i_1+2i_2+3i_3+4i_4+5i_5+6i_6=k}}\frac{n!}{i_1!i_2!i_3!i_4!i_5!i_6!} \] を得ます.ただし,和は $\sum$ の下に書いてある2つの条件式を満たす全ての非負整数の組 $(i_1, i_2, i_3, i_4, i_5, i_6)$ についてとります.

この周辺の話題について述べている論文として,例えば Fahssi の arXiv:1202.0228 があります.