Labels

ウガンダ憲法和訳130 高認数学過去問127 ガーナ憲法和訳124 AnimeManga123 アニメまんが123 ザンビア憲法和訳119 ジンバブエ憲法和訳117 ケニア憲法和訳114 オンライン補習塾90 高認化学過去問85 ドミニカ共和国憲法和訳84 高認物理過去問83 ウルグアイ憲法和訳82 Education74 タンザニア憲法和訳74 JapaneseHistory70 ナミビア憲法和訳70 古文・漢文70 日本史70 Story69 物語69 各国憲法インデックス和訳68 マラウイ憲法和訳66 コンゴ民主共和国憲法和訳59 アンゴラ憲法和訳56 フリーランス時代55 法律和訳53 モザンビーク憲法和訳52 ペルー憲法和訳51 派遣エンジニア・設備管理技術者時代51 パラグアイ憲法和訳50 南スーダン憲法和訳50 シエラレオネ憲法和訳49 ボツワナ憲法和訳48 ホンジュラス憲法和訳47 ルワンダ憲法和訳47 メキシコ憲法和訳46 グアテマラ憲法和訳45 チリ憲法和訳45 Blog44 パナマ憲法和訳43 ChineseHistory40 ギニア憲法和訳40 中国史40 ブルンジ憲法和訳39 エルサルバドル憲法和訳38 チャド憲法和訳37 中央アフリカ憲法和訳36 コンゴ共和国憲法和訳35 スーダン憲法和訳34 ニカラグア憲法和訳33 行政書士時代33 ガボン憲法和訳29 マダガスカル憲法和訳29 WebLog27 トーゴ憲法和訳27 DragonBall26 ドラゴンボール26 第二種電工数学入門講座26 Ghibli25 Gundam25 アルゼンチン憲法和訳25 ガンダム25 ジブリ25 Game22 TarotCard22 ゲーム22 セネガル憲法和訳22 タロットカード22 健康・医療22 ベナン憲法和訳20 カメルーン憲法和訳19 論文和訳19 Alternatives18 リベリア憲法和訳18 FamousPerson15 有名人15 Dai14 WorldHistory14 ダイの大冒険14 世界史14 海運会社員時代13 JapaneseRealEstateLaw12 不動産法入門講座12 NPO職員時代11 Hokuto10 RurouniKenshin10 るろうに剣心10 不動産営業時代10 北斗の拳10 学習進度10 ココナラ8 Treemapping7 ツリーマップ7 Poetry5 叡智3
Show more

サンクトペテルブルクのギャンブルの参加費が、本当に$\log_2 n$になるのかExcel VBAで検証してみた。

1 ウィリアム・フェラーの解答

 前回、サンクトペテルブルクのパラドックスについて、ウィリアム・フェラーの解答を拝借して考察してみた。
・サンクトペテルブルクのギャンブルを世界規模で行う場合の参加費。:https://tanakah17191928.blogspot.com/2023/10/blog-post_28.html

ゲームを$n$回繰り返す場合、第$n$回目の獲得賞金を$X_n$とすると、

$\dfrac{X_1 + X_2 + \cdots + X_n}{n} = \log_2 n$

これをExcel VBAで検証してみることにした。

2 Excel VBAに1~10000回のサンクトペテルブルク・ギャンブルをさせてみた

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

    For n = 1 To 10000
        TM = 0
        For j = 1 To n
            M = 0
            i = 1
            Do
                Randomize
                c = Int(2 * Rnd)
                    If c = 1 Then
                        Exit Do
                    End If
                M = 2 ^ (i - 1)
                i = i + 1
            Loop
            TM = TM + M
        Next j
        Cells(n, 3).Value = TM / n
    Next n
End Sub
グラフにして$\log_2 n$と比較すると、【訂正箇所については、後述の追記参照】
なんか想像してたのと違う(´・ω・`)
$\dfrac{1}{2}\log_2 n$と比較すると、

3 100人の参加者に1~1000回のサンクトペテルブルク・ギャンブルをさせてみた(100人の平均値)

 100人の参加者にそれぞれ1~1000回ずつプレイさせて、回数ごとに100人の平均値を計算するという方法をプログラムで表現してみた。
Option Explicit
 
Sub keisan()
    Dim i As Long, j As Long, k 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 k = 1 To 100
            TM = 0
            For j = 1 To n
                M = 0
                i = 1
                Do
                    Randomize
                    c = Int(2 * Rnd)
                        If c = 1 Then
                            Exit Do
                        End If
                    M = 2 ^ (i - 1)
                    i = i + 1
                Loop
                TM = TM + M
            Next j
            TTM = TTM + TM
        Next k
        Cells(n, 3).Value = (TTM / 100) / n
    Next n
End Sub
グラフにして$\log_2 n$と比較すると、【訂正箇所については、後述の追記参照】
やっぱりなんか想像してたのと違う(´・ω・`)
$\dfrac{1}{2}\log_2 n$と比較すると、
プログラムに間違いがあるのか、そもそもVBAでシミュレーションすることに無理があるのか、それともこれはこれで正しいのか?
少し頭を冷やしてから再考してみたい。

4 追記:訂正箇所について

 $\log_2 n$ではなく、$\dfrac{1}{2}\log_2 n$に訂正しました。
1回目に表が出たときの賞金を1円とするか、2円とするかの違いみたいです。

Popular posts from this blog

枕中記(書き下し文)。

令和4年度第2回高認国語問5【古文】

高等学校卒業程度認定試験(高認)数学過去問解説