結論:モンテカルロ法はマーチンゲール法に劣る◆仕事や勉強の息抜きに。モンテカルロ法の仕組みルーレットで理論上は絶対に負けない必勝法としてマーチンゲール法があります。これをされるとカジノ側は赤字になってしまうため、テーブルリミット(1回当りのベット額の上限)を設定して際限なくベット額を上げられないようにしています。カジノ側は、マーチンゲール法を禁止はしないけれども、理論通りの結果を出させないように骨抜きにしていると言えます。モンテカルロ法は、このようなカジノの骨抜き策を巧みに回避しながら、マーチンゲール法に近い勝率を上げる手法として知られています。マーチンゲール法は負けたら次のベット額を2倍にするという単純明快な手法ですが、モンテカルロ法では数列を使って次のようにベット額を決定します。数列の初期値を(1,2,3)とするベット額は数列の最初と最後の要素を足した値とする外れたら外れた時のベット額を数列の最後尾に追加し、当たったら数列の最初と最後の要素を削除する数列の要素数が1またはゼロになったら1に戻る。その他の場合は2に戻るはじめに100ドルの所持金があるとすると次のようになります。ここでは11回の賭けを行っていて、うち5回当たって6回外していますが、次のことがわかります。連続して外さなければ、次に1回当たれば所持金を回復できる2回連続して外した場合は、次に1回当てるだけでは所持金を回復できない3回連続して外した場合は、次に2回連続当てても所持金を回復できないマーチンゲール法はどんなに連続して外しても、次に1回当てれば所持金が絶対に増えるのですが、モンテカルロ法はそうはならないのです。連続して外した場合は、同じ回数だけ当てないと所持金は増えません。当たりと外れの回数は同数にならないと所持金が減る確率が非常に高くなります。マーチンゲール法は1勝5敗でも最後に1勝が来れば所持金は増えるので、モンテカルロ法はそれに比べるとかなり弱いですね。モンテカルロ法と固定ベット法との比較それでは毎回のベット額を固定する固定ベット法と比べるとどうでしょうか?先程と同じ勝負を、毎回5ドルを賭ける固定ベット法で行った場合の所持金の推移は次のようになります。5勝6敗で通算1敗なので、最終金額は5ドル減っています。モンテカルロ法では2ドルのプラスだったため、これよりはましだと言えます。グラフで2つを比べてみましょう。モンテカルロ法では連敗している時の所持金の減りが大きくなりますが、当たれば急回復して逆転していることがわかります。ちなみに、モンテカルロ法では数列の初期値が(1,2,3)なので最初のベット額は4ドルになりますが、これは20ドルや40ドルでも構いません。数列の最初と最後の要素を足した数の何倍をベット額にするかというのを最初に決めておけば、何倍しても構わないのです。試しに2倍でモンテカルロ法を行った場合の所持金の推移を固定ベット法の場合と比べてみましょう。このように連敗中の所持金の落ち込みはより大きくなりますが、回復度合いも大きくなります。次に、逆に1/2倍してモンテカルロ法を行った場合はどうでしょうか?次のようになりました。固定ベット法の結果に近くなりました。このようにモンテカルロ法は倍率を変えることにより感度を調整できます。モンテカルロ法とマーチンゲール法との比較それでは同じ勝負をマーチンゲール法で行った時はどうなるのでしょうか?このように最終所持金はモンテカルロ法の場合と比べて多くなっています。グラフで比較してみましょう。全体に渡ってマーチンゲール法の方が勝っています。「モンテカルロ法、意味ないじゃん」と思うところですが、連敗が混んだ場合は次のようになります。これは途中で6連敗した場合の比較ですが、マーチンゲール法では途中で所持金がマイナスになり破産、ゲームオーバーになっているのに対し、モンテカルロ法では何とか踏みとどまって回復しています。このようにマーチンゲール法はほとんどの期間においてモンテカルロ法より勝るものの、連敗が混んで破産するか、テーブルリミットに引っかかり継続することができなくなるリスクがより大きい手法であることがわかります。Pythonコードオッズ2倍の赤/黒ベットで、モンテカルロ法を使って300ドルを600ドルまで増やす賭けを100,000回繰り返して、600ドルまで増やせた成功率を計算するコードです。モンテカルロ法の倍率は20倍としています。#目標金額を上回った確率を計算win_rate所持金による勝率の違いをシミュレーション固定ベット法やマーチンゲール法と比べた場合のモンテカルロ法の特徴は何となくわかりましたので、所持金によってどの手法を使うのが最適なのかをPythonシミュレーションで調べてみましょう。所持金300ドルを600ドルに増やす所持金3,000ドルを3,300ドルに増やす所持金10,000ドルを10,300ドルに増やすのそれぞれの場合について固定ベット法、マーチンゲール法、モンテカルロ法を100,000回ずつ行って勝率の平均をシミュレーションしてみました。所持金が多い方が有利というのはルーレットは金持ちほど勝つ確率が高いのか?百万回シミュレーションしてみたで見た通りで、その通りになっています。所持金がとても多い時以外は、固定ベット法が一番勝率が高くなりました。唯一、所持金がとても多い時だけマーチンゲール法が一番勝てる方法になりました。モンテカルロ法で最適倍率をチューニングこのようにモンテカルロ法はいずれの場合にも最適な手法にはなりませんでしたが、前の章で見たようにモンテカルロ法は倍率(数列の最初と最後の数を足した数の何倍をベット額とするか)により感度が変わり、勝率も変わってきます。そこで所持金が多い場合(10,000ドルを10,300ドルに増やす場合)のモンテカルロ法で倍率を5倍から50倍まで変えて勝率がどう変わるかをシミュレーションしてみました。このように倍率をチューニングしてもマーチンゲール法の95.8%には叶いませんでした。結論:モンテカルロ法はマーチンゲール法に劣るモンテカルロ法はマーチンゲール法のようにいくら連敗しても1回の当たりでそれまでの累積損が解消できるような絶対的な必勝法ではないマーチンゲール法は絶対的な必勝法であるため、カジノ側はテーブルリミットを設定して防衛しているモンテカルロ法はテーブルリミットにかかる可能性は低いが、その分、効果が中途半端でマーチンゲール法と固定ベット法のいずれにも勝つことはできない理論上は負けないマーチンゲール法ですが、実際にはテーブルリミットがあるために無敗ではありません。それどころか、マーチンゲール法が効果的である場面は限られます。興味のある方は、こちらも読んでみて下さい。「3回連続で1~12が出た。次も1~12が出る確率は1.52%しかない。...ブラックジャックの必勝法をExcelモンテカルロ法で強化学習したらこうなった。...◆キーワードで探すイチローの安打数がポアソン分布にならず正規分布になる理由を考察してみた【マルコフ連鎖】標準体重の人が太りすぎになるまで平均何年かかる?待ち行列理論を応用して10分カットが儲かる仕組みを解明してみた。計算グラフモンテカルロ積分クラスタリングカーネルトリックPythonSimPy(離散事象シミュレーション)inventorize(在庫シミュレーション)SARIMAX(時系列解析)investpy(財務データ取得)PyPDF2(PDF操作)仕事や勉強の合間の息抜きに管理人ロジギークロジスティクス業界で6か国に勤務。