見出し画像

ポアソン到着とパチンコ台-何回回せば当たるのか?

たまに見ている江頭さんのYoutube channelでパチンコ台を打つ回がありました。

パチンコのルールについて解説がありまして、ルーレットが当たる確率は1/99だということでした。動画の途中で、何回連続で外れているかを示す回転数が出てきて、これが200回を超えているという話になりました(18分40秒あたり)。

さて、1/99の確率でルーレットを回し続けて、200回以上当たらない確率はどれくらいになるのでしょうか。

この問題は、ポアソン到着と呼ばれるモデルで説明することができます。

ソースコードで確かめてみます。

import numpy as np
import random
import matplotlib.pyplot as plt
from matplotlib.ticker import (AutoMinorLocator, MultipleLocator)
len_hit = []

random.seed(0)
for i in range(10000):
    step = 1
    while True:
        if random.random() > 1/99:
            step += 1
        else:
            break
    len_hit.append(step)

# draw histogram
plt.hist(len_hit, bins=300, density=True)
plt.xlabel('Rotation steps')
plt.ylabel('Probability')
plt.show()

# getting data of the histogram
fig, ax = plt.subplots(figsize=(10, 8))
ax.set_xlim(0, 1000)
ax.set_ylim(0, 1)
ax.xaxis.set_major_locator(MultipleLocator(100))
ax.yaxis.set_major_locator(MultipleLocator(0.1))
count, bins_count = np.histogram(len_hit, bins=300)  
pdf = count / sum(count)
cdf = np.cumsum(pdf)
plt.plot(bins_count[1:], cdf, color="red", label="CDF")
plt.xlabel('Rotation steps')
plt.ylabel('Cumulative probability')
plt.grid(True)
plt.show()

結果はこのようになります。

N回の回転目で当たる確率

実は「当たるまでの回転数」のピークはかなり早いところに出てくることが分かります。
この図から「N回回転するまでに当たる確率」が計算できます。

N回回転するまでに当たる確率

これを見ると、100回転までに当たる確率は約65%となります。実は200回転しても、当たる確率は85%程度であることが分かります。みなさんの直感や経験則とあっていたでしょうか?

注意点として、この計算は確変の要素は考慮されていませんし、実際の当たる確率はポアソン過程ではない可能性があります。