31システムのシミュレーション(c++/c言語)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた この記事では、31システムの紹介と、そのシミュレーション結果を示す 31システムとは 次のような4つのセクションに分かれた、9の数字を用意 (1,1,1/2,2/4,4/8,8) 左側の数字から賭けていく。(最初なら一番左端の1) 負けた場合:一つ右側の数字に移る 勝った場合:次のセクションの一番左側の数字に移る 以下の場合、リセットする(一番左端の1から再スタート) 2連勝した場合 最後の数字の8まで到達して勝負を終えた場合   <概略図> 1→1→1→(2へ) ↓(勝ち) 2→2→(4へ) ↓ 4→4→(8へ) ↓ 8→8→(1から再スタート) ↓ (1から再スタート) 31システムの具体例 ルールだけ、説... 続きを読む

~プログラミングを勉強してみませんか?~

TechAcademy [テックアカデミー] 無料の体験講座が用意されているので、気軽に体験できます。

※私(サイト主)も無料体験講座を実際に受けてみました(→感想)

バーネット法(1326法)の検証(c++/c言語)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた この記事では、バーネット法(1326法)の紹介と、そのシミュレーション結果を示す バーネット法(1326法)とは 負けた場合:賭ける金額を1に戻す 勝った場合:1・3・2・6という数字に従って賭ける。(数字の6までいったら、再び1にする) ※最小の賭け金額をここでは1だと考える バーネット法(1326法)の具体例 ルールだけ、説明してもイメージがつかめないと思うので、具体例を挙げる。 勝敗 賭け金 累計賭け金 最終利益 × 1 1 -1 ○× 3 4 -2 ○○× 2 6 2 ○○○×(負) 6 12 0 ○○○○(勝) 6 12 6 上のテーブルを見ればわかるが、以下のような特徴がある ... 続きを読む

10万回、ひたすら賭け続けるとどうなるか?

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた ここ最近、様々なギャンブルの手法をc++でプログラミングして、シミュレーションしてみている。10万回勝負した後、どれだけのお金を持っているか?また、どれだけの確率で勝負ができずに破綻するか調べている。 例えば、マーチンゲール法(負けた時に2倍賭けする)などは、広く知られている手法である。もしも、マーチンゲール法で10万回勝負した時に、99%以上の確率で、勝負が続行できないことを以前確認した。 ※この記事の一番最後の関連記事の項目で、これまでの結果へのリンクを載せてある ふと、思った。 何も考えずに、ひたすら、最小の賭け金額を賭け続けるとどうなるか? ※いわば、比較用として、調べている ルール確認 最初の所持金は1000 勝っ... 続きを読む

グッドマン法(1235法)の検証(c++/c言語)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた この記事では、グッドマン法(1235法)の紹介と、そのシミュレーション結果を示す グッドマン法(1235法)とは 負けた場合:賭ける金額を1に戻す 勝った場合:1・2・3・5・5・5・5……という数字に従って賭ける ※最小の賭け金額をここでは1だと考える 主に払戻金が2倍の時に使われる グッドマン法(1235法)の具体例 ルールだけ、説明してもイメージがつかめないと思うので、具体例を挙げる。 勝敗 賭け金 累計賭け金 最終利益 × 1 1 -1 ○× 2 3 -1 ○○× 3 6 0 ○○○× 5 11 1 ○○○○× 5 16 6 ○○○○○× 5 21 11   上のテーブ... 続きを読む

2in1法の検証シミュレーション(c++)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた 賭け方にはいくつか種類がある。 そのうちの一つに、2in1法というのがある。 この記事では、2in1法とはなにかを説明した後、プログラムによるシミュレーション結果を示す。 2in1法とは 数列を用意する。最初は、数字の1だけ (1) 数列の左端と右端を足し合わせた数だけ賭ける ※ただし、最初は数列の中身は1つしかないので、1だけ賭ける 負けた場合:賭け金額を数列の右端に加える 勝った場合:数列の右端と左端を消す 数列の大きさが1より小さくなった場合は、ゲームをリセット。数列は(1)から再びスタートする。 ※数列の大きさが1以下だと、右端と左端を足し合わせて、賭け金額を算出するという操作ができなくなる。 ※数列は、賭けた金額を記... 続きを読む

モンテカルロ法(賭け)の欠点&改良手法の提案(c++)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた モンテカルロ法と聞くと、多くの方は、乱数を用いて数値解析する手法としてのモンテカルロシミュレーションをイメージされる人は多いと思うが、この記事で扱うのは、ギャンブルの領域において、利用される賭け方の1つであるモンテカルロ法。 ※モンテカルロ法(賭け方)は、モンテカルロシミュレーション(計算手法)使った賭け方を意味しているのではない。 この記事では、モンテカルロ法の欠点と、それを改善した手法を提案する。最後に、c++を用いてシミュレーションした結果をのせておく。 ※モンテカルロ法(賭け方)を知らない人は、モンテカルロ法の賭けシミュレーション(c++)という記事を参照してください。モンテカルロ法(賭け方)がある程度わからないとこの... 続きを読む

モンテカルロ法の賭けシミュレーション(c++)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた モンテカルロ法と聞くと、多くの方は、乱数を用いて数値解析する手法としてのモンテカルロシミュレーションをイメージされると思う。 例えば、1×1の正方形の中に、ランダムで乱数を生み出し、生み出したランダムな点と原点の距離が1以下かどうでないかで、円周率πを乱数を利用して求めるようなものが代表的だろう。 しかし、この記事で紹介するのは、そのモンテカルロシミュレーションではない。 この記事で扱うのは、ギャンブルの領域において、利用される賭け方の1つであるモンテカルロ法だ。 モンテカルロ法とはどのような賭け方であるか説明した後、c++でシミュレーションするというのが目標だ。 計算手法としてのモンテカルロシミュレーションを直接は取り扱って... 続きを読む

ココモ法の検証シミュレーション(c++/c言語)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた 賭け方にはいくつか種類がある。 そのうちの一つに、ココモ法というのがある。 この記事では、ココモ法とはなにかを説明した後、プログラムによるシミュレーション結果を示す。 ココモ法とは 最小の賭け金額(例えば、1)を自分で設定する。 負けた場合: (直前に1回だけ負けている):賭け金は、1 (直前に2回以上負けている):1つ前の勝負で賭けていたお金の分だけ、賭け金に加える ※(今回の賭け金)=(前回の賭け金)+(前々回の賭け金)に従う (直前に1回だけ負けている)場合は(前々回の賭け金)=0と考えている 勝った場合:次の勝負の賭け金を、1(最小の賭け金額)に戻す ※ココモ法は、戻り金が3倍のゲームを想定している ココモ法の具体例 ... 続きを読む

逆ダランベール法の検証(c++/c言語)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた 賭け方にはいくつか種類がある。 そのうちの一つである逆ダランベール法というのがある。 ※ダランベール法に関してはダランベール法(ピラミッド法)の検証(c++/c言語)で紹介した この記事では、逆ダランベール法とはなにかを説明して、プログラムによるシミュレーション結果を示す。 逆ダランベール法とは 最初の賭け金額を自分で設定する。 負けた場合:次の勝負の賭け金を、1減らす 勝った場合:次の勝負の賭け金を、1増やす ※ちなみにダランベール法は、逆ダランベール法での、負けた場合と勝った場合の操作を反対にする <逆ダランベール法の特徴> 勝った時は、多く賭けて、負けている時は少なく賭ける、手法といえる。 賭けるお金の変動が±1なの... 続きを読む

ダランベール法(ピラミッド法)の検証(c++/c言語)

はじめに ※目次用の記事:ギャンブルの賭け方の種類をまとめてみた 賭け方にはいくつか種類がある。 そのうちの一つであるダランベール法というのがある。 ※ダランベール法はピラミッド法ともよばれることがある この記事では、ダランベール法とはなにかを説明して、プログラムによるシミュレーション結果を示す。 ダランベール法とは 最初の賭け金額を自分で設定する。 負けた場合:次の勝負の賭け金を、1増やす 勝った場合:次の勝負の賭け金を、1減らす ※逆ダランベールという手法も存在する 逆ダランベール法は、ダランベール法と勝った時と負けた時の対応が逆になる。 負けた場合:次の勝負の賭け金を、1減らす 勝った場合:次の勝負の賭け金を、1増やす 逆ダランベール法をダランベール法として紹介しているサイトが一部見... 続きを読む