はじめに
1回の試行の成功確率が$1/n$の試行があるとする。この試行を$n$回行うとき、少なくとも1回は成功する確率を$P_n$とする。このとき、$n \to \infty$のとき、$P_n\to 1-\frac{1}{e}$となる。これは、約63.2%である。この数値は工学系の過渡現象という分野の時定数という概念で頻出ではあるが、それが確率の分野に現れるのは面白い。
そこで、今回はなぜネイピア数(自然対数の底)がこんなところで出てくるのかについて調査した。また、参考として計算機を用いて$n=100$まで計算を回したときの$P_n$の推移についても調査した。
先に、計算機で計算したときの結果の概要について述べる。
まず、余事象を用いて計算した場合の結果を以下に示す。
このように、確率値は$1-\frac{1}{e}$に収束する。
一方で、0回成功する場合以外の反復試行を足し合わせた場合の結果を以下に示す。
このように、余事象と反復試行の確率の和は一致する。
確率について
事象Aが起こる確率と事象Aが起こらない確率の和は1になる。これは、全事象の確率といい、確率の(忘れがちな)最も基本的な事項の1つである。
余事象
導入
1回の試行の成功確率が$1/n$の試行があるとする。この試行を$n$回行うとき、少なくとも1回は成功する確率を$P_n$とする。このとき、$1-P_n$つまり、$n$回の試行のうち、1回も試行が成功しない確率は、$(1-\frac{1}{n})^n$である。したがって、$P_n$は以下のように表すことができる。
P_n=1-(1-\frac{1}{n})^n
参考としてプログラムを示す。
プログラム
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
n=100
i_ary=[]
P_ary=[]
for i in range(1,n+1):
P=1-(1-1/i)**i
i_ary.append(i)
P_ary.append(P)
plt.title("n回の試行のうち少なくとも1回は成功する確率(1回の試行の成功確率が1/nの場合)")
plt.plot(i_ary, P_ary, label='1-(1-1/n)^n')
plt.plot(i_ary, [1-1/math.e]*n, label='1-1/e', linestyle='--')
plt.xlabel('n')
plt.ylabel('P_n')
plt.legend()
plt.savefig("余事象での確率.png")
plt.show()
これを実行すると以下のようになる。
このグラフから分かる通り、$n$が小さいほど確率は大きくなりやすい。一方で、$n$が大きくなったとしても、$1-\frac{1}{e}$程度よりも下がることはなく、値は収束するように見える。
反復試行の確率
導入
一方で、$n$回の試行のうち$k$ 回だけ成功する反復試行の確率$P_k$以下のように示せる。
P_k=_nC_k (\frac{1}{n})^{k} (1-\frac{1}{n})^{n-k}
したがって、これの和を$k=1,2 ,\cdot \cdot \cdot ,n-1 , n$まで取ると以下のようになる。
P_n=\sum_{k=1}^{n} {P_k}=\sum_{k=1}^{n}{_nC_k (\frac{1}{n})^{k} (1-\frac{1}{n})^{n-k}}=1- _nC_0 (\frac{1}{n})^{0} (1-\frac{1}{n})^{n}=1-(1-\frac{1}{n})^n
ただし、上式最後はコンビネーションの関係式やパスカルの三角形を用いて、
証明することができる2項定理を用いた。
プログラム
参考としてプログラムを示す。階乗を求めてコンビネーションを計算している。
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
n=100
i_ary=[]
P_ary=[]
P2_ary=[]
#階乗計算
def factorial(num):
num2=1
for i in range(1,num+1):
num2=num2*i
return num2
for i in range(1,n+1):
P2=0
for k in range(1,i+1):
P2=P2+ factorial(i)/(factorial(k)*factorial(i-k))*(1/i)**k*(1-1/i)**(i-k)
#P=1-(1-1/i)**i
i_ary.append(i)
P2_ary.append(P2)
plt.title("n回の試行のうち少なくとも1回は成功する確率(1回の試行の成功確率が1/nの場合)")
plt.plot(i_ary, P2_ary, label='反復試行の足し合わせ')
plt.plot(i_ary, [1-1/math.e]*(n), label='1-1/e', linestyle='--')
plt.xlabel('n')
plt.ylabel('P_n')
plt.legend()
plt.savefig("反復試行の確率.png")
plt.show()
これを実行すると以下のようになる。
このように、余事象と反復試行の確率の和は一致する。
極限とネイピア数について
ネイピア数の定義
$(1+\frac{1}{n})^n$は$n$に対して単調に増加し、ある値よりも必ず小さくなる。つまり、上に対して有界である関数である。
詳細は以下の記事が面白いので参考にされたい。
ここで、
\lim_{n \to \infty}(1+\frac{1}{n})^n =e
となる値$e$を定義し、ネイピア数と呼ぶことにする。
ただし、ネイピア数の定義式は$n$が負に発散する場合でも成立する。
\lim_{n \to -\infty}(1+\frac{1}{n})^n =e
($e$に関する性質は以下の記事を参考にされたい。)
題意の証明
さて、本題である、以下の問題を証明したい。
1回の試行の成功確率が$1/n$の試行があるとする。この試行を$n$回行うとき、少なくとも1回は成功する確率を$P_n$とする。このとき、$n \to \infty$のとき、$P_n\to 1-\frac{1}{e}$となる。
\lim_{n\to \infty}P_n=\lim_{n\to \infty}\{1-(1-\frac{1}{n})^n\}=\lim_{n\to \infty}[1-\{(1-\frac{1}{n})^{-n}\}^{-1}]=1-e^{-1}=1-\frac{1}{e}
ゆえに、題意は示された。
まとめ
この問題の題材は、以下のようなテレビのバラエティのようである。扱っている題材は数学的には面白いと思う。
なぜなら、確率の余事象と反復試行の確率、数学3の極限の分野を効率よく復習できるからである。
なので、理系を目指す受験生は小ネタとして知っておくと受験で有利になるかもしれない。
また、計算機を用いた数値計算でも確率の収束の様子を垣間見ることができたので面白かった。将来数値計算やプログラムを学びたい方にとっても非常に有益な内容だと感じた。
参考文献