趣味の数学とプログラム。楽しい数学の世界へようこそ!

ギャンブラーの破産問題

ギャンブラーが、次のルールでゲームをするとします。

ルール
  • 最初の持ち点は\(n\)ポイント、目標を\(N\)ポイントとする
  • 1ゲームごとに、勝てば+1ポイント、負ければー1ポイント
  • 勝つ確率を\(p\)とする \((0\lt p \lt 1)\)
  • 0ポイント(破産)になるか、\(N\)ポイント(成功)になるまでゲームを続ける

ギャンブラーが破産する確率を求めます。

\(n\)ポイントのときの破産の確率を\(a_n\)とすると
2回目以降は、確率\(p\)で\((n+1)\)ポイント、確率\(1-p\)で\((n-1)\)ポイントの状態から、ゲームを続けることになるので
\(  a_n = p a_n{}_+{}_1 + (1-p) a_n{}_-{}_1\)    \((1\leq n\leq N-1)\)

三項間漸化式の特定方程式は、\(px^2 – x + (1-p) = 0\) なので、解は\(x=1\)と、\(\large{\frac{1-p}{p}}\)

  • \(p =\large{\frac{1}{2}}\)のとき
    解は、\(a_n=A + nB\)から、\(a_0=1\) \( a_N=0\)を満たす\(A\)、\(B\)を求めると\(A = 1\) \(B=\large{-\frac{1}{N}}\)
    \(a_n=1-\large{\frac{n}{N}}\)
  • \(p \neq\large{\frac{1}{2}}\)のとき、
    解は、\(a_n=A + r^n B\)  \((r=\large{\frac{1-p}{p}})\)から、\(a_0=1\) \( a_N=0\)を満たす\(A\)、\(B\)を求めると\(A = \large{\frac{r^N}{r^N-1}}\)  \(B = \large{\frac{-1}{r^N-1}}\)
    \(a_n=\large{\frac{r^N-r^n}{r^N-1}}\)
    勝率が1/2以上のときには、破産確率が0に近づき、1/2以下なら破産確率は1に近づきます。

このうち勝率1/2の場合をPythonでシミュレーションしてみました。持ち点10ポイント、目標20ポイントとします。

 

破産か成功に行き着くまでのゲーム回数はまちまちですが、結果は破産確率\(0.5\)と計算どおりでした。(\(1-\large{\frac{10}{20}}\normalsize{=0.5}\))

最初のポイントが5ポイントのときには、シミュレーションで\(0.74\)
(計算では\(1-\large{\frac{5}{20}}\normalsize{=0.75}\))
最初のポイントが15ポイントのときには、シミュレーションで\(0.26\)
(計算では\(1-\large{\frac{15}{20}}\normalsize{=0.26}\))

動きがおもしろいので、グラフにしてみました。それぞれ、5ポイントスタート、10ポイントスタート、15ポイントスタートです。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です