目次
・破産の確率
所持金: -
5分後…
破産の確率
\[ 賭け事の定式化\]
1回ごとの勝率が \( p \) で固定されているゲームをする。
ゲームに1回勝つと \( w \) 貰えて、1回負けると \( s \) 払うとする。
始めの所持金を \( B \) とし、所持金が \( G \) 以上になる(目標到達)か、0になる(破産)までゲームを続ける。
ゲームを \( n \) 回行ったとき、目標達成している確率、破産している確率、まだゲームが途中である確率をそれぞれ求めよ。
1回ごとの勝率が固定されているゲームというのは、例えば冒頭にあったサイコロの目を当てるゲームでずっと同じ賭け方をする場合などです。
他にも、カジノのルーレット、パチンコ(法解釈的にはギャンブルではないですが)など、大抵のギャンブルは賭け方を固定した場合上の例に当てはまります。
パチンコなどは途中で確率変動が起こることもありますが、ゲームの全工程を平均化すれば当たる確率は固定されています。
カジノのディーラーの玉の投げ方の癖を見抜く、パチンコなら玉の打ち方に工夫をするなど、ギャンブラー自身の実力によるところもあるかもしれませんが、
そういった部分は一定(ゲームの最中にギャンブラーは成長しない)とします。
上の問題を手で解いて、ゲームを \( n \) 回行ったときのそれぞれの場合の確率を求めるのは難しいため、コンピュータを用いたシミュレーションを行いました。 具体的には、プログラミング言語 JavaScript の Math.random() 関数を使い、0以上1以下のランダムな数(乱数)を発生させ、この乱数が \( p \) より小さいとき勝ち、\( p \) 以上のとき負けとして、 100000人がゲームに挑戦した場合を \( n \leq 15000 \) の範囲でシミュレートしました。
このようなシミュレーションで問題の確率を近似的にでも求められるとする根拠は、大数の弱法則にあります。 例えば、ゲームを \( n \) 回行ったとき、目標達成している確率を \( g(n) \) とおき、この事象に確率変数 \( X_1 = 1 \) を対応させます。 逆に、ゲームを \( n \) 回行ったとき、目標達成していない確率は \( 1 - g(n) \) となり、この事象には確率変数 \( X_2 = 0 \) を対応させます。 すると、この確率変数の期待値 \( E(X) \) は、 \[ E(X) = 1 \cdot g(n) + 0 \cdot \left( 1 - g(n) \right) = g(n) \] となり、期待値は \( g(n) \) に等しくなります。 一方、大数の弱法則により、確率変数の平均値、すなわちゲームを \( n \) 回行ったとき目標達成している人数をゲームの参加者数で割ったものは、ゲームの参加者数が大きくなればなるほど期待値に近づいていきます。 そのため、シミュレーションで得られる確率変数の平均値を計算すれば \( g(n) \) の近似値が求められるというわけです。破産の確率、まだゲームが途中である確率についても同様の考え方になります。
下にこの問題のシミュレータを用意しました。
上の問題を手で解いて、ゲームを \( n \) 回行ったときのそれぞれの場合の確率を求めるのは難しいため、コンピュータを用いたシミュレーションを行いました。 具体的には、プログラミング言語 JavaScript の Math.random() 関数を使い、0以上1以下のランダムな数(乱数)を発生させ、この乱数が \( p \) より小さいとき勝ち、\( p \) 以上のとき負けとして、 100000人がゲームに挑戦した場合を \( n \leq 15000 \) の範囲でシミュレートしました。
このようなシミュレーションで問題の確率を近似的にでも求められるとする根拠は、大数の弱法則にあります。 例えば、ゲームを \( n \) 回行ったとき、目標達成している確率を \( g(n) \) とおき、この事象に確率変数 \( X_1 = 1 \) を対応させます。 逆に、ゲームを \( n \) 回行ったとき、目標達成していない確率は \( 1 - g(n) \) となり、この事象には確率変数 \( X_2 = 0 \) を対応させます。 すると、この確率変数の期待値 \( E(X) \) は、 \[ E(X) = 1 \cdot g(n) + 0 \cdot \left( 1 - g(n) \right) = g(n) \] となり、期待値は \( g(n) \) に等しくなります。 一方、大数の弱法則により、確率変数の平均値、すなわちゲームを \( n \) 回行ったとき目標達成している人数をゲームの参加者数で割ったものは、ゲームの参加者数が大きくなればなるほど期待値に近づいていきます。 そのため、シミュレーションで得られる確率変数の平均値を計算すれば \( g(n) \) の近似値が求められるというわけです。破産の確率、まだゲームが途中である確率についても同様の考え方になります。
下にこの問題のシミュレータを用意しました。
(回数, 目標到達, 破産, 続行中) = (x, x, x, x)
シミュレータの使い方
[1] パラメータ \( p \) 、\( w \) 、\( s \) 、\( B \) 、\( G \) の値を入力します。
[2] 「計算」ボタンを押してシミュレーション開始。
[3] グラフの色が付いている部分をクリックすると、クリックした箇所におけるゲームの回数、目標到達した人の割合、破産した人の割合、まだゲームが途中の人(続行中)の割合がグラフの上に表示されます。
※四捨五入の関係で目標到達、破産、続行中の合計が100%にならないことがあります。
[1] パラメータ \( p \) 、\( w \) 、\( s \) 、\( B \) 、\( G \) の値を入力します。
[2] 「計算」ボタンを押してシミュレーション開始。
[3] グラフの色が付いている部分をクリックすると、クリックした箇所におけるゲームの回数、目標到達した人の割合、破産した人の割合、まだゲームが途中の人(続行中)の割合がグラフの上に表示されます。
※四捨五入の関係で目標到達、破産、続行中の合計が100%にならないことがあります。
冒頭のミニゲーム「サイノメ」では難易度別に始めの所持金 \( B \) が異なっていて、イージーでは70、ノーマルでは50、ハードでは30でゲームスタートします。
賭け目を3つ選んだ場合、勝つ確率は \[ p = \frac{3}{6} = \frac{1}{2}\] となり、
この場合、賭け金 \( s \) とゲームに勝つときに貰える \( w \) は等しくしてあります。\( s = w = 1 \)
としたとき、この問題は一般的に「ギャンブラーの破産問題」と呼ばれる数学の有名な問題と等しくなり、この場合の破産確率は次式で表されることが知られています。
\[ 1 - \frac{B}{G}\]
「サイノメ」では所持金が100となったときにゲームクリア、つまり \( G = 100 \) なので、難易度別の破産確率はイージーでは0.3、ノーマルでは0.5、ハードでは0.7になります。
参考:
[1] ギャンブラーの破産問題(破産の確率)、https://examist.jp/mathematics/probability/hasan-kakuritu/、2023年11月26日閲覧