N88-BASICでサンクトペテルブルクのパラドックス (1回目)
2022/8/15(月)
N88-BASICでサンクトペテルブルクのパラドックス (1回目)
サンクトペテルブルクのパラドックス
(The sankt petersburg paradox)
とは
確率1/2のコインを表がでるまで投げるゲームで
1回目で表が出れば1円 … 確率1/2
2回目で表が出れば2円 … 確率1/4
3回目で表が出れば4円 … 確率1/8
i回目で表が出れば2i-1 円… 確率1/2i
がもらえるとすると
このゲームの期待値Eは
E = 1×1/2 + 2×1/4 + … + 2i-1×1/2i …
= 1/2 + 1/2 + … + 1/2 + …
= ∞ 円
となり、1回1万円でもやった方が得?
しかし、実際には損する確率が高い?
という矛盾が生じるというパラドックスです
はじめに
このゲームには、いろいろな考察があると思いますが
期待値Eは1回のゲームの期待値なので
ここでは、1回だけ行ったときを考えたいと思います
科学では極端な実験値を除いで平均を出す事があります
ここでは極端な場合を除いて感覚と合う期待値Eの
計算を試みます
例(極端な場合を除くと)
平均年収1億円の100人の村があるとします
99人が100万円で1人が99億100万円です
この場合極端な1人を除いた、平均100万の
方が感覚に合います
つまり極端な例が入ると感覚からズレるという事です
考察
このゲームの期待値Eを、起こる確率がq未満
の場合を除いで計算してみます
期待値Eは
E = 1×1/2 + 2×1/4 + … + (2i-1×1/2i) + …
(各回数の確率1/2i < q になれば足さない)
1/2i < q となる直前のiをnとしてnを求める
E = Σ(2i-1×1/2i) = Σ1/2 (i = 1~n, n = ∞)
= n(1/2)
ここでnは、(1/2)n ≧ q となる最大の自然数なので
log(1/2)n ≧ log(q)
nlog(1/2) ≧ log(q)
n ≦ log(q)/log(1/2) … log(1/2) < 0より
ガウス記号[a]=aを超えない最大の整数を使用して
n = [log(q)/log(1/2)]
(1/2は0.5としても良い)
結論
q = これより低い確率を無視する
n = [log(q)/log(1/2)] … (コインは最大n回まで投げる)
p(n) = (1/2)n … (上記の確率)
E = n(1/2) … (その時の期待値)
q = 1兆分の1より小さい確率を無視した時の
計算値は、期待値E = 19.5円
39回投げる(38回連続で裏が出る)場合まで
入れてこの値段です
現実に起こりえると思える確率の範囲では
期待値E=数十円程度にしかなりません
1回100円でもほぼ損をするという
直観に近い値を計算することが出来ました
VL-BASICでは扱える指数の範囲が大きいので
q = 10-293 で計算するとE = 486.5円でした
(973-1回連続で裏がでる場合まで計算してあります)
(N88-BASIC,NL,XL-BASICではOver flowになります)
NL-BASICとblg~.zip(sank001.bas)は
以下のリンクからダウンロードできます
N88-BASICでサンクトペテルブルクのパラドックス (1回目)
サンクトペテルブルクのパラドックス
(The sankt petersburg paradox)
とは
確率1/2のコインを表がでるまで投げるゲームで
1回目で表が出れば1円 … 確率1/2
2回目で表が出れば2円 … 確率1/4
3回目で表が出れば4円 … 確率1/8
i回目で表が出れば2i-1 円… 確率1/2i
がもらえるとすると
このゲームの期待値Eは
E = 1×1/2 + 2×1/4 + … + 2i-1×1/2i …
= 1/2 + 1/2 + … + 1/2 + …
= ∞ 円
となり、1回1万円でもやった方が得?
しかし、実際には損する確率が高い?
という矛盾が生じるというパラドックスです
はじめに
このゲームには、いろいろな考察があると思いますが
期待値Eは1回のゲームの期待値なので
ここでは、1回だけ行ったときを考えたいと思います
科学では極端な実験値を除いで平均を出す事があります
ここでは極端な場合を除いて感覚と合う期待値Eの
計算を試みます
例(極端な場合を除くと)
平均年収1億円の100人の村があるとします
99人が100万円で1人が99億100万円です
この場合極端な1人を除いた、平均100万の
方が感覚に合います
つまり極端な例が入ると感覚からズレるという事です
考察
このゲームの期待値Eを、起こる確率がq未満
の場合を除いで計算してみます
期待値Eは
E = 1×1/2 + 2×1/4 + … + (2i-1×1/2i) + …
(各回数の確率1/2i < q になれば足さない)
1/2i < q となる直前のiをnとしてnを求める
E = Σ(2i-1×1/2i) = Σ1/2 (i = 1~n, n = ∞)
= n(1/2)
ここでnは、(1/2)n ≧ q となる最大の自然数なので
log(1/2)n ≧ log(q)
nlog(1/2) ≧ log(q)
n ≦ log(q)/log(1/2) … log(1/2) < 0より
ガウス記号[a]=aを超えない最大の整数を使用して
n = [log(q)/log(1/2)]
(1/2は0.5としても良い)
結論
q = これより低い確率を無視する
n = [log(q)/log(1/2)] … (コインは最大n回まで投げる)
p(n) = (1/2)n … (上記の確率)
E = n(1/2) … (その時の期待値)
q = 1兆分の1より小さい確率を無視した時の
計算値は、期待値E = 19.5円
39回投げる(38回連続で裏が出る)場合まで
入れてこの値段です
現実に起こりえると思える確率の範囲では
期待値E=数十円程度にしかなりません
1回100円でもほぼ損をするという
直観に近い値を計算することが出来ました
VL-BASICでは扱える指数の範囲が大きいので
q = 10-293 で計算するとE = 486.5円でした
(973-1回連続で裏がでる場合まで計算してあります)
(N88-BASIC,NL,XL-BASICではOver flowになります)
NL-BASICとblg~.zip(sank001.bas)は
以下のリンクからダウンロードできます