東京カジノプロジェクト:ルーレットは短期決戦ほどパフォーマンスが良い

いきなりハナシが脱線するのであるが、東京カジノプロジェクトのためにちょっとだけプログラム言語をなんとかしようと思ったのだが、RubyPerlも環境を作るのがあまりにめんどくさくて発狂した。というかサイコロ1個振るだけでなんでこんなに面倒な思いをしなければならないのか。
そういえばはてブで「あいつら永久にVIMのセットアップしてるぞ」とか言われていたが、なるほど納得である。

というわけでExcel VBAでひとまずルーレットのシミュを作った。

閑話休題

Q チップが1000枚ある。これをルーレットで手っ取り早く2000枚にするにはどうすれば良いか

という場合。赤でも黒でも奇数でも偶数でもいいから2倍に1000枚賭ける、というのは無難な回答である。これを「2倍に10枚ずつかける」というのは全然ダメというのは感覚ではわかるところなのであるが、ちゃんとした計算式で「ダメ」と証明する方法がわからない。誰か確率に強い人教えて。

というわけで計算式がたてられないのでシミュを回したわけであるが、

f:id:ninosan:20150413222816p:plain

10枚ずつbetを1000ゲーム、それを50回繰り返したが、50回とも2000枚に到達することはなかった。そればかりかチップは基本減る一方であった。機械割97.297%なので当たり前であるが。これを一発1000枚勝負なら18/37で即2000枚である。
しかしこれも機械割97.297%である。これの違いを証明したいのだが(以下永久ループ)

とりあえず言えることはルーレットのコツは短期決戦である。長引くほど機械割97.297%に近づいていくので一点36倍も覚悟するのが必要だ。
さて、VBAの書き方もわかったところで次はブラックジャックの正式な機械割である。いや正式とは言えないか。大量試行によるシミュレーションである。
ベーシックストラテジーでひたすら機械的に消化するだけなので全然難しくはない。カードが4セットだか6セットを作るのが面倒なくらいだろう。