パチスロ当たり確率シミュレーター
PHPでパチンコ、パチスロなどの当たり確率などを比較シミュレーション(設定1と設定6などの同時比較も可能)
まえがき
こういったシミュレーションを行えるサイトはいくつかありますが、実際のロジックなどが分からず、またなんだか若干あやしいところが多いという印象だったので、PHPプログラマとしてPHPで「完全確率」を意識したちゃんとしたものを一度作ってみようということで制作し、誰かの役に立つかも?ってことで公開しました。(※PHPとはC言語をベースとしたプログラミング言語です)
自分自身20代前半はほぼ毎日のようにパチスロをしていました。元々ちょっと理屈っぽいところがあるので「波」だとか「引き」だとかいう漠然としたオカルト的な言葉が嫌いでした。ただ実際には勝てていなかったのが現実です。一度会社を辞め、スロットで食っていこうと本気で考えましたが(笑)、1ヶ月毎日朝から晩まで打ち続けてトータル+3万程度ってことがあって、自分には無理と感じ諦めましたw。
その頃ひょんなことから設定打ち(打ち子)のバイトを定期的にやるようになり(あまりおおっぴろげに言うことではありませんが事実です。確実に存在します)、毎回設定6を打っているので貴重なデータが取れ、収支や確率も1日、2日では当然偏るけど数十日分程度のデータで理論値に近いデータとなることもあらためて実感した。
ただ周りの台は設定1(さくらが入ってる島は全台1でした)とかでも一時的には爆発するので設定1を高設定と勘違いして打ち続ける人ばかり。(まぁそう思わんとやってられないんだけど)で、朝から晩まで打ち続けて結局負けるってことになる。
そんな「波」や不確実性に振り回されるのが嫌になり、27歳頃にきっぱり辞めた。(今でも年に一回くらい暇つぶしでやることはありますが)
これはあくまでも遊びで作ったパチンコ、パチスロなど当たり確率を自分ができうる限り、知りうる限りで実機に近づけた、また「完全確率」を意識したシミュレーションです。(もっと良い方法があるかもですが)
パチンコ、パチスロのシステムとまったく同じではないかもしれないけど、結局は「プログラム」を使った「ランダム」である限り、限りなく近い結果になると思われます。
ただ今回はパチスロを想定したものです。それなりに興味深い結果が出たので誰かしらの参考になれば幸いです。本当は辞めたいんだけど依存してしまい生活にも支障が出てしまっている人などの辞めるきっかけになれば尚うれしいです。(「確率なんて実際はこんなに偏るんだから短時間じゃ分かるはずがない」的な)
とにかく確率はいかに波があるかを検証するものです。1日単位だとかなりの波があることが分かります。
乱数の発生方法
乱数の発生方法(乱数発生器)が実機は具体的にどういった処理をしているのか調べてみたが詳しくは分からなかったので、「完全確率」をより高次元で実現するにはどのように発生させるのが良いかってことが一つの課題だったけど、できる限り実機に近く、かつ「ランダム」な数を抽出する方法を考える必要がありました。
どうせやるなら、また公開するのであればできる限り妥協はしたくありませんので。単純にランダム関数を使ってしまうと、所詮プログラムは「時間」を利用してるので、毎回同じ時間間隔で抽選を行うと当然規則的な結果(実際にはPCの処理能力の問題もあるのでばらつくが)になってしまう。
※要するに「規則的」な処理ではなく、実際に人間がレバーを叩くような「不規則的」な処理を実装する必要があるということですね。
で、とりあえず処理は超重くなるけど実機により近いよう1ループ(回転))毎に1~65536の中から設定毎の確率に合わせた当たり数分の乱数(実際には擬似乱数)を都度発生(PHPのmt_rand関数)させ配列に格納、その配列をループさせ固定値とマッチング(パチスロで言うレバー叩いた瞬間)&一致した時の回転数、確率を出力する処理を行った(のでとても重いです)。
1日1万回転、30日ではほぼ理論上の値と一致するので計算は合っているでしょう。同じ「ランダム」(完全確率)である以上結局は実機も本プログラムも同じような結果になるだろうと思う。(所詮はパチンコもパチスロも実機はプログラムを使用しているので)
※usleepでマイクロ秒単位のランダム一時停止も実装したがさらに重い&無しでも十分ランダムな値となると考え排除しました。
(このほうがより良いんじゃね?って方がいたらこっそり教えて下さいw)
ギャンブル、確率に対する個人的意見
以下考えは主観がかなり強いので適当に聞き流して下さいw。「ギャンブル」に関する価値観は人ぞれぞれで、自分も知らないことはたくさんあります。これらを議論する意味も、する気もありませんので悪しからず・・。
とにかく言えることは「やめ時なんてものはない!」(機種によってはある)、「とりあえず100ゲーム以内は当たりやすいからやってみよう」、「ハマったから次は絶対出る!」(ストック系は除くけど同じく絶対ではない。が、おいしいゲーム数のみをピンポイントで狙えば機械割は高い。けど実際美味しい台はそんなに落ちてませんよねw)、「やたらこの台は少ないゲーム数で連チャンするから高設定だ!」(もちろん高設定ほど連チャンする可能性は高いです)というのはまったくの迷信だということが分かると思います。(1日単位では残念ながら正確な設定など分かりません。設定6なら分かることもあるかもですがそんなに座れませんよね?実際。)
ただし、現代のスロットは複雑化されているので、4号機時代のシンプルなものを想定しています。もちろん確率の概念自体はすべてのものに当てはまると思う。(確か法的に決まりがあって使用するプログラムには制限があるようです)
とにかく重要な事は「確率は偏るのが普通であり、1日とか短いスパンで収束するものでもない」(※子役も然りです)ということを認識して決して忘れてはいけないということかなと。(分かってる人からしたら当たり前だろって話ですが、パチスロにハマってる人の多くはよく理解していない方が多いと感じます)
またそもそも確率通りに出ないような台をパチンコ屋が入れると思いますか?そんなん怖くて入れられませんよね。経営者の立場になればわかると思います。(遠隔は無いものと想定してます。パチスロは遠隔がほぼ無いと思います)
パチンコ、スロットで勝つか負けるかは、結局は設定(パチンコの場合は釘なので千円あたりの回転数かな)と試行数に完全に依存するということになります。当たり前ですが高設定をひたすらぶん回す以外にありません。でも残念ながら設定は公表していない限り1日単位程度ではなかなか分かりません・・・ので結局は「運」次第という結論に至ると思います。(細かい攻略法(技術介入など)的なものはここでは無視します。仮に機械割101%で生活できますか?)
あぁもちろん「趣味」や「娯楽」としてやってるって方は気にしなくてOKです(笑)それ自体にとやかく言うつもりはまったく無いです。ただ金かかるし精神衛生上、身体的にもあまり好ましいとは思えませんが・・・完全に本人の自由です。
出来る限り実機に近い形にしたかったので少々重い処理になってしまったけど、実質1分程度です。これを人がやるとなると約12時間×30日かかることになります(笑)
シミュレーター設定(デフォルトは「アイムジャグラー」の設定6と設定1)
以下任意の値に変更可能です。入力後「この内容で結果を表示する」を押して下さい。
デフォルトは「アイムジャグラー」(単独ボーナス無視)の設定6と設定1の公式ボーナス出現率です。まぁ現実的に設定6なんて座る機会はほぼ無いと思いますが・・・)
シミュレーター実行結果
※100ゲーム以内(連チャン)はオレンジ、1000ゲーム以上のはまりは赤で表示
実際にはリプレイ、子役があるのですべての当たりゲーム数で+@のゲーム数となりますが今回は無視します。こうやって見ると100ゲーム内(連チャン)は偏ってるようにも見えます。が、まったく関係ありません。(逆に言うと確率はそういうもんなんです)
あくまでも毎回同じ確率で当たり判定を行っているに過ぎません。
自分に都合の良いように解釈するのは自由ですが意味がありません。現実を直視しましょう。同様にハマったからと言って出るわけでもありません。もちろん設定6でも1000以上ハマることもありますし、設定1で1ゲーム連チャンすることだって当然あります。あくまでもそれは「許容範囲」であって、また同時に「結果」でしかありません。