【3/2ベット法の嘘をあばく】ルーレットをPythonで百万回してみた結果を公開

2024年5月18日

Photo by Marcos Paulo Prado on Unsplash

◆仕事や勉強の息抜きに。。。

3/2ベット法とは?

3/2ベット法とは日本ではあまり知られていませんが、海外では3/2 Roulette StrategyまたはPloppy 3-2 Roulette Strategyと呼ばれているルーレットの有名な必勝法です。

これはルーレットのテーブル配置の偏りを利用して、より多くの利益を得ようという考え方です。

 

基本にあるのはオッズが2倍の赤/黒ベットと、オッズが3倍のカラムベットを同時に1つずつベットするやり方です。

そして赤/黒ベットには15ドルを、カラムベットには10ドルをベットします。

(必ずしも15ドルと10ドルである必要はなく、赤/黒ベットにカラムベットの1.5の金額をベットします)

 

この時、各カラムに赤と黒が同数あればどこにベットしても期待値は同じですが、面白いことに次のような偏りがあります。

 

一番下のカラムでは赤と黒が同数になっていますね。

このように偏りがなければ、赤/黒ベットで赤にベットしても黒にベットしても、どれかが当たる確率

24÷3765%

になります。

 

ところが、それ以外のカラムでは赤と黒の数に偏りがあるため、(真ん中のカラムと赤)または(一番上のカラムと黒)の組み合わせでベットすることにより、どれかが当たる確率が5%上昇して70%になります。

26÷3770%

 

この5%の差により、長期的に見るとプレーヤーに有利になりますよというのが3/2ベット法の考え方です。

 

Pythonコード

なるほど、こんな偏りがあるのなら利用しない手はない、これは有利な方法に違いない

と思いますね。

そこで、いつものようにPythonで百万回の賭けを行うシミュレーションをしてみました。

100ドルの資金を200ドルまで増やす試みを百万回行って、200ドルまで増やせた勝率と、各ベットにおいて当たる確率の平均を求めるプログラムを下記のようにコーディングしました。

import pandas as pd
import random

def play(onhand, target):
    logs = pd.DataFrame()
    while onhand >= red_bet + middle_bet and onhand < target: #手持ち資金が足りなくなるか目標金額にになるまで繰り返し
        win_lose = 0
        _outcome = random.randint(0, 36) #0から36の整数の乱数を生成
        if _outcome in red_only: #2列目以外の赤の場合
            outcome = 'A'
        elif _outcome in middle_only: #2列目の黒の場合
            outcome = 'B'
        elif _outcome in red_and_middle: #2列目の赤の場合
            outcome = 'C'
        else:
            outcome ='Z'
        if outcome == 'A': #2列目以外の赤の場合
            onhand += red_bet - middle_bet #手持ち金を増やす
            win_lose = 1
        elif outcome == 'B': #2列目の黒の場合
            onhand += 2 * middle_bet - red_bet #手持ち金を増やす
            win_lose = 1
        elif outcome == 'C': #2列目の赤の場合
            onhand += 2 * middle_bet + red_bet #手持ち金を増やす
            win_lose = 1
        else: #外れの場合
            onhand -= red_bet + middle_bet #手持ち金を減らす
            win_lose = 0
        log = pd.DataFrame([onhand, win_lose]).T
        logs = pd.concat([logs, log], axis = 0)
    return logs

ini_onhand = 100 #初期資金
ini_target = 200 #目標金額
red_bet = 15 #赤のベット額
middle_bet = 10 #ミドルカラムのベット額

red_only = [1, 3, 7, 9, 12, 16, 18, 19, 21, 25, 27, 30, 34, 36] #2列目以外の赤
middle_only = [2, 8, 11, 17, 20, 26, 29, 35] #2列目の黒
red_and_middle = [5, 14, 23, 32] #2列目の赤

final_amounts = []
win_lose_list = []
for i in range(1000000):
    data = play(ini_onhand, ini_target) #1ゲーム当りの手持ち金推移を取得
    final_amount = data.iloc[-1, 0] #最終金額を取得
    final_amounts.append(final_amount) #最終金額をリスト化
    win_lose_list.extend(data.iloc[:, 1].to_list()) #当たり/外れの結果をリスト化

wins = [i for i in final_amounts if i > red_bet + middle_bet] #目標金額を達成した回だけを抽出
win_rate = len(wins) / len(final_amounts) #目標金額に達した勝率を算出
bingo_rate = sum(win_lose_list) / len(win_lose_list) #当たりの割合を抽出
win_rate, bingo_rate

 

シミュレーション結果

結果はこのようになりました。

(0.351826, 0.7026625390814063)

 

200ドルまで増やせたのは百万回中351,826だけ、勝率にすると35.2%でした。

100ドルを200ドルに増やす賭けを赤/黒ベットでやった時に勝率は43.3%ダズンベットでやった時の勝率は44.8%でした。

ルーレットをやるなら赤/黒ベットよりダズンベットを選ぶべき数学的理由

 

これよりも随分と低い勝率になりました。

ルーレットというのはゼロがある分、ハウスアドバンテージ(カジノ側が有利)になるため、賭けの回数が多くなるほどプレーヤーに不利になります。

そのためベット額は大きい方が勝率は上がります。

ベット額の大小によりルーレットで勝ち逃げできる確率は変わってくるのか?

 

そこでベット額を上げて、赤に30ドル真ん中のカラムに20ドルをベットする勝負を百万回行うシミュレーションも行ってみましょう。

結果はこのようになりました。

(0.360676, 0.7024359374394439)

 

1ポイントだけ勝率が上がりました。

では赤に45ドル真ん中のカラムに30ドルをベットする場合はどうでしょうか?

次のようになりました。

(0.306157, 0.702127380616342)

 

逆に5ポイントほど勝率が下がりました。

これは1回の賭けで外れた時の損失額が75ドルになるため、最初の賭けで外れると、2回目は資金不足で賭けができなくなってしまうためです。

3/2ベット法は外れた場合の損失額が大きいが故に、あまりベット額を大きくしすぎるとすぐに資金不足に陥ってしまうため、ほどほどのベット額にしないとかえって勝率を下げてしまうのです。

従って3/2ベット法の勝率は、赤/黒ベットやカラムベット(ダズンベットと同じ)を単独でやる場合の勝率に勝てないことがわかります。

 

考察

このように3/2ベット法は全く効果がないばかりか、かえって勝率を大きく下げるイカサマ必勝法だということがわかります。

このイカサマ必勝法は3つのカラムのうち2つのカラムに赤と黒の偏りがあることをアドバンテージにしようという考え方でしたが、残り1つの偏りがないカラムにベットした場合の勝率はどうなるのでしょうか?

イカサマ必勝法といえども、これよりはマシな勝率になることが予想されます。

ところが結果は予想に反したものになりました。

(0.370834, 0.648603625469557)

 

これは赤に15ドル、一番下の偏りがないカラムに10ドルをベットした時の結果です。

偏りがある真ん中のカラムに賭けた時の勝率より2ポイント勝率が上がっています

各ベットにおいてどれかが当たる確率は、偏りのある真ん中のカラムにベットした時が70%、偏りのない一番したのカラムにベットした時が65%というように、ほぼ理論値に一致しています。

にも拘わらず、偏りのアドバンテージを利用する方が200ドルまで増やせる勝率がかえって下がってしまうのはなぜなのでしょうか?

 

その理由はそれぞれの期待値を計算してみればわかります。

 

 

このように偏りのアドバンテージを利用する場合も方が、外れて賭金25ドルが没収されてしまう確率は低いものの、期待値として見れば同じです。

だとすれば勝率も同じになるような気もしますが、ここで効いてくるのが賭けの回数です。

 

偏りのアドバンテージを利用する場合は当てて5ドルだけ利益が増える確率22/37もあるのに対して、偏りのアドバンテージを利用しない場合は同じ確率が18/37しかありません。

一方で、利益が35ドル増えたり25ドル減ったりする確率は、偏りのアドバンテージを利用する場合の方が低くなります。

これは言い方を変えると、偏りのアドバンテージを利用する場合にはコツコツと貯める機会が多く、大きく貯めたり大きく擦ったりする機会が少ないとも言えます。

すると賭けの回数が増え、ハウスアドバンテージにより負ける確率が上がってしまうのです。

ベット額の大小によりルーレットで勝ち逃げできる確率は変わってくるのか?

実際、偏りのアドバンテージを利用する場合の平均賭け回数は28で、そうでない場合は22でした。

 

まとめ

3/2ベット法、またの名をPloppy 3-2 Roulette Strategyは、カラムの中の赤と黒の数の偏りを利用して勝率を上げる方法だが、全く効果がないばかりか、偏りのないカラムに賭ける方がまだマシな勝率になる。

赤/黒ベットカラムベットを単独でする方が勝率は高い。

 

他にこんなイカサマ必勝法もあります。

【98.48%法の嘘をあばく】Pythonで百万回シミュレーションしてみた結果を公開