ギャンブラーの破滅とマーチンゲール法
「負けたら倍賭け」は絶対に勝てる?数学が暴くカジノ必勝法の破綻
- 1
- マーチンゲール法(負けたら次を2倍賭ける)は一見『100%勝てる』ように錯覚するが、数学的に必ず資金ショートで破産する
- 2
- 連敗する確率は低いが、連敗したときの賭け金が『指数関数的(2^n)』に爆発するため、一度の負けで全財産が消し飛ぶ
- 3
- 『ギャンブラーの破滅の定理』:有限の資金しか持たない挑戦者が無限の胴元に挑むと、勝率が50%でも破滅確率は100%に収束する
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
18世紀フランスのカジノで生まれた最古の『必勝法』。なぜ人はギャンブルや過度なレバレッジ投資で全財産を失うのか、直感と確率論のギャップを学ぶ最高の反面教師。
身につく武器・思考力
指数関数の爆発スピードの直感把握、リスクマネジメント、破産確率(確率過程)の基礎知識
実社会・ITでの活躍現場
- •FX・暗号資産のレバレッジ取引における強制ロスカット・資金管理ルール
- •保険会社・金融機関のリスク資本賦課(VaR / Value at Risk)
- •ケリー基準(破産を避けながら長期的な資産成長率を最大化する最適賭け金比率)
- •カジノの『テーブルリミット(最大ベット額規制)』の設定根拠
Layer 1 — 直感・シミュレーター
初期資金(例: 10,000円)と基本ベット額(100円)を設定して、『マーチンゲール法で1,000ゲーム一括実行』してみよう。コツコツ勝ちを積み上げるグラフが、突如として垂直落下して全財産がゼロになる瞬間を体験できます。
マーチンゲール法(倍賭け法):勝率48.6%のゲームで破産するまで何回耐えられるか?
「負けたら次は倍額を賭ければ、1回勝つだけでこれまでの負け分を全額取り返してプラス1単位になる」という必勝法の幻想。 資金が有限であるとき、連敗による指数関数的賭け金増大によって必然的に破滅を迎えます。
1回1,000円から始めるマーチンゲール法で、不運にも10連敗してしまいました。この10連敗を取り戻すために次の11回目に賭けなければならない金額はいくら?
Layer 2 — 定義・受験・証明
定義
**マーチンゲール法(Martingale strategy)**: 勝率 (カジノのルーレット等で約 )のゲームにおいて、負けるたびに賭け金を直前の2倍にしていく賭け方。
回連続で負けた後の次の賭け金は となる。 途中で1度でも勝てば、それまでの累積損失をすべて回収し、必ず最初の掛け金 分の純利益が得られる。
公式・数理モデル
証明・導出
**なぜ破産するのか(指数の罠)**: 基本ベット 1,000 円で始めた場合: - 5連敗: 次のベット 32,000 円(累積投入 63,000 円) - 10連敗: 次のベット 102.4 万円(累積投入 204.7 万円) - 15連敗: 次のベット 3,276 万円(累積投入 6,553 万円) - 20連敗: 次のベット 10.4 億円(累積投入 20.9 億円)
コイントス(勝率50%)でも、10連敗する確率は ある。1,000回もプレイすれば、ほぼ確実に一度は10連敗の波が襲ってくる。このとき必要な200万円を持っていなければ即座にゲームオーバーとなる。
**マルチンゲール停止定理**: 期待値が0またはマイナスのゲームにおいて、どのような賭け金変更戦略をとっても、最終的な期待利益をプラスに変えることはできない。
押さえておきたいポイント
- 勝率は99%に見えるが、残り1%の負けの被害額が無限大に近いため、期待値は一切増えない
- カジノには必ず『最大ベット上限(テーブルリミット)』があり、資金が無限にあっても物理的に破綻する
- 投資の世界でも『ナンピン買い(価格が下がるたび買い増す)』はマーチンゲールと同義であり、相場急変で退場する最大の原因
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
ケリー基準(Kelly Criterion)による最適資金配分アルゴリズム
ジョン・ラリー・ケリー・ジュニアがベル研究所で開発した、破産確率をゼロに抑えながら幾何平均成長率を最大化する資金配分比率計算アルゴリズム。ウォーレン・バフェットやエド・ソープも実践した。
1// マーチンゲール法シミュレーター & ケリー基準2export interface SimulationResult {3 history: number[];4 busted: boolean;5 maxDrawdown: number;6 finalBalance: number;7}89/** マーチンゲール法で n 回コイントスを実行 */10export function simulateMartingale(11 initialBankroll = 10000,12 baseBet = 100,13 winRate = 0.486, // ヨーロピアンルーレット (18/37)14 rounds = 100015): SimulationResult {16 let bankroll = initialBankroll;17 let currentBet = baseBet;18 const history: number[] = [bankroll];19 let busted = false;20 let peak = bankroll;21 let maxDrawdown = 0;2223 for (let r = 0; r < rounds; r++) {24 if (bankroll < currentBet) {25 busted = true;26 break;27 }2829 bankroll -= currentBet;30 const isWin = Math.random() < winRate;3132 if (isWin) {33 bankroll += currentBet * 2;34 currentBet = baseBet; // 勝ったら基準額にリセット35 } else {36 currentBet *= 2; // 負けたら倍プッシュ37 }3839 if (bankroll > peak) peak = bankroll;40 const dd = peak - bankroll;41 if (dd > maxDrawdown) maxDrawdown = dd;4243 history.push(bankroll);44 }4546 return {47 history,48 busted,49 maxDrawdown,50 finalBalance: bankroll,51 };52}5354/** ケリー基準による最適ベット比率 f* = (b*p - q) / b */55export function calculateKellyFraction(winRate: number, odds = 1.0): number {56 const p = winRate;57 const q = 1 - winRate;58 const f = (odds * p - q) / odds;59 return Math.max(0, f); // 負なら賭けてはいけない60}
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元