3体問題

日常の数学・物理    ーー それでも地球はまわっている



(逆)パロンドのパラドックス


YouTube動画で期待値プラスの現象を説明後 すぐその場で、ヨコサワさんの相方(ひろき)さんが、 
逆の場合もできることに気付いていた。 「本当に?」と思っていましたが、どうも本当なんですね。

条件を逆にして       期待値プラス(,)   →   期待値マイナス(C)
ゲームA : 52%勝ち1ドル増   48%負け1ドル減                       ※期待値プラス
ゲームB : (所持金により変わる)
所持金が3で割れる場合    1%負け1ドル減  99%勝ち1ドル増
所持金が3で割れない場合 85%負け1ドル減 15%勝ち1ドル増     ※期待値プラス

ゲームC
: ゲームA/ゲームBをコインの裏表で決める                      ※期待値マイナス

 画像を押すと拡大

'逆パロンド ExeLVBA
Option Explicit
'★★★ 
Sub 逆GameC()
Dim 所持金 As Long, KK As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
所持金 = 0
For KK = 1 To 10000
If Rnd() < 0.5 Then
所持金 = 所持金 + 逆GameA増減          '逆GameA
Else
所持金 = 所持金 + 逆GameB増減(所持金)  '逆GameB
End If
ws.Cells(KK + 5, 9) = 所持金  '印刷
Next KK
End Sub

'★★★
Sub 逆GameB()
Dim 所持金 As Long, KK As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
所持金 = 0
For KK = 6 To 10000
所持金 = 所持金 + 逆GameB増減(所持金)
ws.Cells(KK, 8) = 所持金
Next KK
End Sub

'★★★
Sub 逆GameA()
Dim 所持金 As Long, KK As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
所持金 = 0
For KK = 6 To 10000
所持金 = 所持金 + 逆GameA増減()
ws.Cells(KK, 7) = 所持金
Next KK
End Sub

'◆◆◆
Function 逆GameB増減(所持金)
Dim 増減 As Long
If (所持金 Mod 3) = 0 Then
If Rnd() < 0.01 Then
増減 = -1  '1%減
Else
増減 = 1   '99%増
End If
ElseIf (所持金 Mod 3) <> 0 Then
If Rnd() < 0.85 Then
増減 = -1    '85%減
Else
増減 = 1   '15%増
End If
End If
逆GameB増減 = 増減
End Function

'◆◆◆
Function 逆GameA増減()
Dim 増減 As Long
If Rnd() < 0.52 Then
増減 = 1  '52%増
Else
増減 = -1 '48%減
End If
逆GameA増減 = 増減
End Function