1d100点満点中の1d10点って大体何点?
知らん。
きっかけ
身内のDiscordでの会話で出た発言
条件設定
1dN: N面ダイスを1個振ること。起こりうる事象は$${\{1\}, \{2\}, … \{N\}}$$であり、これらは同様に確からしい。
a点満点中のb点について、$${a,b}$$の大小関係に関わらず得点率は$${\frac{b}{a}}$$点と計算される。(例: 5点満点中の10点の場合、得点率は$${\frac{10}{5} = 2}$$)
考える
期待値について
2つのダイスは独立であるため、確率変数を$${X}$$とすると、
$$
P(X) = \frac{1}{1000} (X = \frac{1}{1}, \frac{2}{1}, …, \frac{10}{1}, \frac{1}{2}, …,\frac{9}{100}, \frac{10}{100})
$$
となる。よって、期待値$${{E[X]}}$$は有効桁4桁として、
$$
\begin{array}{}
E[X] &=& P(\frac{1}{1})\frac{1}{1}+P(\frac{2}{1})\frac{2}{1}+…+P(\frac{10}{1})\frac{10}{1}+P(\frac{1}{2})\frac{1}{2}+…+P(\frac{9}{100})\frac{9}{100}+P(\frac{10}{100})\frac{10}{100} \\
&=& P(X)(1+2+…+10)(\frac{1}{1}+\frac{1}{2}+…+\frac{1}{100}) \\
&=& \displaystyle\frac{55}{1000}\displaystyle\sum_{i=1}^{100}\frac{1}{i} \\
&\sim& 0.2853
\end{array}
$$
よって、1d100点満点中の1d10点を100点満点に換算したときの期待値は、おおよそ28.53点となる。
分布
以下のコードでヒストグラムを描画し分布を確かめる。おおまかに分かればいいのでPythonの計算誤差は無視する。
import matplotlib as mlp
res = [i/j for i in range(1,11) for j in range(1,101)]
mlp.pyplot.hist(res, bins=100, range=(0,10)) #range:{(0,10),(0,1),(1,10)}
全体の分布(得点率0~10)
![](https://assets.st-note.com/img/1662996072133-WVq9WLq1dq.png?width=800?width=800)
得点率0~1
![](https://assets.st-note.com/img/1662996253939-eWqYq3oo12.png?width=800?width=800)
得点率1~10
![](https://assets.st-note.com/img/1662996468824-91DRYiUt02.png?width=800?width=800)
得点率の期待値は0.2853だったが実際には得点率0.2を切るものが大半である。上振れの値に夢を魅せられているだけで、実際にこれを適用した場合は期待値に対して低い得点率となることが分かる。
(おまけ)一般化された期待値
1dM点満点中の1dN点の期待値$${E[X_{(M,N)}]}$$について考える。同様に計算して、
$$
\begin{array}{}
E[X_{(M,N)}] &=& P(X)(1+2+…+N)(\frac{1}{1}+\frac{1}{2}+…+\frac{1}{M}) \\
&=& \displaystyle\frac{1}{NM}\frac{N(N+1)}{2}\displaystyle\sum_{i=1}^{M}\frac{1}{i} \\
&=& \displaystyle\frac{N+1}{2M}\displaystyle\sum_{i=1}^{M}\frac{1}{i}
\end{array}
$$
このままでも計算はできるが、これを愚直計算すると$${M!}$$を計算させられて嫌な気持ちになるのでいい感じに近似する。$${\sum_{i=1}^{M}\frac{1}{i}}$$に注目すると、
$$
\displaystyle1+\int_{1}^{M}\frac{1}{x+1}dx < \sum_{i=1}^{M}\frac{1}{i} < 1+\int_{1}^{M}\frac{1}{x}dx
$$
となる。
![](https://assets.st-note.com/img/1662998314901-pI4sGOPB9u.png?width=1200)
(参考: https://www.desmos.com/calculator/sd1i6wnzel)
よって期待値$${E[X_{(M,N)}]}$$は、
$$
\begin{array}{}
&&\displaystyle\frac{N+1}{2M}\left(1+\int_1^M\frac{1}{x+1}dx\right) &<& E[X_{(M,N)}] &<& \displaystyle\frac{N+1}{2M}\left(1+\int_1^M\frac{1}{x}dx\right)\\
&\Rarr& \displaystyle\frac{N+1}{2M}\left(1+[\ln(x+1)]_1^M\right) &<& E[X_{(M,N)}] &<& \displaystyle\frac{N+1}{2M}\left(1+[\ln(x)]_1^M\right) \\
\\
&\Rarr& \displaystyle\frac{N+1}{2M}\left(1+\ln(M+1)-\ln(2)\right) &<& E[X_{(M,N)}] &<& \displaystyle\frac{N+1}{2M}\left(1+\ln(M)\right)
\end{array}
$$
の範囲となる。この近似によって、期待値を誤差$${\frac{1+N}{2M}\log(2)}$$未満で求められる。例えば、$${E[X_{(100,10)}]}$$は有効桁4桁で、
$$
0.2707 < E[X_{(100,10)}] < 0.3083
$$
となる。
おしまい。
この記事が気に入ったらサポートをしてみませんか?