サンクトペテルブルクのパラドックス

[] [] []


・コイントスを表が出るまで続けて、

 トスが続いた回数kに応じて2k-1円の賞金がもらえる。

 このゲームの1回の参加料がいくらまでなら損しないだろうか?

 答えは、参加料がいくら高くても損しない

・もしゲームの回数が1000回と決まっていたら、

 1回の参加料が5円未満なら損しない可能性が高い。

この問題も「確率・統計であばくギャンブルのからくり(谷岡一郎)」という本に載っていた。参加料に対して損得を見積もるには、期待値を計算するのが普通である。例えば、Loto 6は参加料200円に対して期待値が90円と計算できる。

等級

条件

確率

賞金[]

確率×賞金

1

6個全て一致

1 / 6,096,454

100,000,000

16

2

5個が一致し残り1個が

ボーナス数字に一致

6 / 6,096,454

15,000,000

15

3

5個が一致

216 / 6,096,454

500000

18

4

4個が一致

9,990 / 6,096,454

9,500

16

5

3個が一致

155,400 / 6,096,454

1,000

25

 

期待値[]

90

一般に主催者の取り分があるから期待値は100%より低く、Loto 6のような宝くじは50%以下とかなり低く設定されている。それでも買う人がいるのは、確率と賞金のバランスがうまく設計されているということだろう。

冒頭のゲームは、参加料を決めるのに期待値を使う方法が通用しない例になっている。なぜなら賞金額の発生確率は次表のとおり

賞金[]

1

2

2k-1

確率

1/2

1/4

1/2k

だから、期待値を計算すると

と無限大になってしまうからである。つまり参加料が何万円何億円であっても、ゲームを何度も繰り返せば必ず得をするという不思議なことになる。この問題は「サンクトペテルブルクのパラドックス(St. Petersburg Paradox)」という名前で知られているらしい。

◇◇

このゲームのずるいところは無限に繰り返せる点にある。もし有限回とするとゲームの回数と賞金の関係は次のように計算できる。(この計算は「The so-called Petersburg Paradox (Steinhaus 1949)」によっている) まず、賞金額の数列を、発生確率を満たすように作ってみると、1円を2回おき、2円を4回おき、4円を8回おき...に置いていけばよい。

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 ...

賞金額

の数列

 1     1     1     1     1     1     1     1   ...

 1  2  1     1  2  1     1  2  1     1  2  1   ...

 1  2  1  4  1  2  1     1  2  1  4  1  2  1   ...

 1  2  1  4  1  2  1  8  1  2  1  4  1  2  1   ...

 1  2  1  4  1  2  1  8  1  2  1  4  1  2  1 16 ...

ここでゲームをN=2n回で打ち切ることにすると、賞金総額/回数は

になる。つまりゲーム回数Nを大きくすれば必ず賞金総額/回数=log2(N)/2が参加料を上回れるというわけである。

◇◇◇

実際にコイントスをしたらどうなるか、PC上の乱数でやってみた。ゲームをn回したときの賞金総額Sumをゲームの回数nで割ってそれをグラフにした。

'Excel VBAのプログラム

Sub Main()

Dim nGame, n As Long    ' ゲームの回数

Dim k As Integer        ' トスの回数

nGame = 32000

Sum = 0

For n = 1 To nGame

    k = 1

    Randomize         ' 乱数の種をタイマから取得

    Do While (Rnd < 0.5) ' 0以上1未満の乱数

        k = k + 1

    Loop

    Sum = Sum + 2 ^ (k - 1)

    Range("A1").Offset(n, 0) = n

    Range("A1").Offset(n, 1) = Sum / n

Next n

End Sub

おおむね期待値どおりに増加していくときもあるが、

ときどき大きく跳ね上がっては期待値まで減っていくときもあり、結構ギャンブル性が高い。

◇◇◇◇

例えば1回の参加料1円として、賞金総額/参加料総額を5倍にしようとすると平均1000回のゲームが必要。ゲーム1回あたりの平均トス数は

だから、2000回のトスが必要で大変である。


[] [] []