サンクトペテルブルクのパラドックスを高校数学で考察してみた。
1 サンクトペテルブルクのパラドックス
コインを表が出るまで投げ続ける。1回目に表が出たら1円、
1回目は裏、2回目に表が出たら2円、
2回目まで裏、3回目に表が出たら4円、
3回目まで裏、4回目に表が出たら8円、
$n - 1$回目まで裏、$n$回目に表が出たら$2^{n - 1}$円の賞金がもらえる。
期待値$W = \displaystyle \sum_{k = 1}^{\infty} \left( \dfrac{1}{2^k} \cdot 2^{k - 1} \right) = \dfrac{1}{2} + \dfrac{1}{2} + \dfrac{1}{2} + \dfrac{1}{2} + \cdots = \infty$
期待値が無限大に発散するので、参加費がいくら高くてもこのギャンブルに参加した方がよいという結論になってしまうというパラドックスである。
2 賞金は90%の確率で何円以下になるか?
このギャンブルでは、奇跡的に延々と裏が出た後に表が出れば大金を得られるけれど、ほとんどの場合、数回裏が出た後に表が出て数円~数十円もらえるだけだろう。これを高校数学で確認してみたい。
$n$回目に表が出る確率を$p_n = \left( \dfrac{1}{2} \right)^n$とおく。
1回目に表が出る確率は$\dfrac{1}{2}$、2回目に表が出る確率は$\dfrac{1}{4}$、3回目に表が出る確率は$\dfrac{1}{8}$、・・・・・・
$\dfrac{1}{2} + \dfrac{1}{4} + \dfrac{1}{8} + \cdots \geq 0.99$となるときの$n$を求めたい。
$S_n = \dfrac{\dfrac{1}{2}\left\{ 1 - \left( \dfrac{1}{2} \right) ^n \right\}}{1- \dfrac{1}{2}} = \dfrac{\dfrac{1}{2}\left( 1 - \dfrac{1}{2^n} \right)}{\dfrac{1}{2}} = 1 - \dfrac{1}{2^n} \geq 0.9$
$0.1 \geq \dfrac{1}{2^n}$
$1 \geq \dfrac{10}{2^n}$
$2^n \geq 10$
よって、$n \geq 4$
$n = 4$のとき、賞金は$2^{4 - 1} = 2^3 = 8$(円)
ちなみに、$n = 4$までの期待値を計算すると、$\dfrac{1}{2} \times 4 = \dfrac{4}{2} = 2$(円)
3 賞金は99%の確率で何円以下になるか?
$S_n \geq 0.99$
$1 - \dfrac{1}{2^n} \geq 0.99$
$0.01 \geq \dfrac{1}{2^n}$
$1 \geq \dfrac{100}{2^n}$
$2^n \geq 100$
よって、$n \geq 7$
$n = 7$のとき、賞金は$2^{7 - 1} = 2^6 = 64$(円)
ちなみに、$n = 7$までの期待値を計算すると、$\dfrac{1}{2} \times 7 = \dfrac{7}{2} = 3.5$(円)
4 賞金は99.9%の確率で何円以下になるか?
$S_n \geq 0.999$$1 - \dfrac{1}{2^n} \geq 0.999$
$0.001 \geq \dfrac{1}{2^n}$
$1 \geq \dfrac{1000}{2^n}$
$2^n \geq 1000$
よって、$n \geq 10$
$n = 10$のとき、賞金は$2^{10 - 1} = 2^9 = 512$(円)
ちなみに、$n = 10$までの期待値を計算すると、$\dfrac{1}{2} \times 10 = \dfrac{10}{2} = 5$(円)
5 賞金は99.99%の確率で何円以下になるか?
$S_n \geq 0.9999$$1 - \dfrac{1}{2^n} \geq 0.9999$
$0.0001 \geq \dfrac{1}{2^n}$
$1 \geq \dfrac{10000}{2^n}$
$2^n \geq 10000$
よって、$n \geq 14$
$n = 14$のとき、賞金は$2^{14 - 1} = 2^{13} = 8192$(円)
ちなみに、$n = 14$までの期待値を計算すると、$\dfrac{1}{2} \times 14 = \dfrac{14}{2} = 7.5$(円)
6 確率の低いギャンブル
確率の低いギャンブルは、ある程度の回数参加しないとまず当たらない。たとえば$\dfrac{1}{100}$の確率で100万円が当たるギャンブルの場合、1回参加しただけではほとんど当たらないだろう。
ちなみに期待値は$100 \times \dfrac{1}{100} = 1$(万円)
Excel VBAに1~1000回、このギャンブルをさせてみると、
Option Explicit Sub keisan() Dim i As Long, n As Long Dim c As Integer Dim M As Long, TM As Long For n = 1 To 1000 TM = 0 For i = 1 To n M = 0 Randomize c = Int(100 * Rnd + 1) If c = 100 Then M = 100 End If TM = TM + M Next i Cells(n, 3).Value = TM / n Next n End Sub
100人の参加者に1~1000回、このギャンブルをさせてみると(100人の平均値)、
Option Explicit Sub keisan() Dim i As Long, j As Long, n As Long Dim c As Integer Dim M As Long, TM As Long, TTM As Long For n = 1 To 1000 TTM = 0 For j = 1 To 100 TM = 0 For i = 1 To n M = 0 Randomize c = Int(100 * Rnd + 1) If c = 100 Then M = 100 End If TM = TM + M Next i TTM = TTM + TM Next j Cells(n, 3).Value = (TTM / 100) / n Next n End Sub
7 参考
・サンクトペテルブルクのギャンブルの参加費が、本当に$\log_2 n$になるのかExcel VBAで検証してみた。:https://tanakah17191928.blogspot.com/2023/10/log2-nexcel-vba.html