確率論で死になさい

世の中には、正規出荷品のパチスロがすべて完全確率・独立試行抽選
だと決めつけて、当然のように統計学的な結果を求めてやまない人が
多いのですが(Mも基本的にはそうですが)、それらの人を見てると
たまーに可哀相な気分になることがあります。ハマった挙げ句にバケを
連発して台を叩きまくってる人とか。

もちろん、マクロ的な統計ではその統計学上の数値に近い値が出る事が
多いと思いますが、それは結果であり、またメインのパチスロの台検査
である保通協のチェックもその結果しか見ないので、我々スロッターが
丸1日打った時に経験するようなミクロ的な統計を説明する事は出来ない
事も多々有ります。で、その説明をしようかな。というページです。ここは。

Chapter 1パチンコとは違うんですよ(前編)
Chapter 1b違うんですよは桃屋ですよ(謎)
Chapter 2バケ2連発後にハマるアルゼとベルコの謎
Chapter 3山佐の4次元ポケット
Chapter 3パチンコとは違うんですよ(後編)


■Chapter 1 パチンコとは違うんですよ。(前編)■

「そんなもん知ってるわ、ボケー」という方は良いのですが・・・。

パチンコは無限ループのカウンタを利用した判定法式を使う事を義務づけられていますが、今のパチスロは逆にこの方式は使ってはいけない事になっています。そのため、一般的にはメインコントローラのZ80上位互換チップリフレッシュレジスタを利用します。

リフレッシュレジスタとは何か?乱数生成レジスタ?いいえ、違います。(笑)
パチスロ関連のページではこれについて詳しく述べられる事はまず無いですが、知っておいて損はないので、一応書いておきます。

     リフレッシュレジスタ(以下、Rレジスタ)は7ビットレジスタです。一般に使われているDRAMというものはコンデンサで構成されているので、放っておくと放電してデータが消えてしまいます。そのため定期的に充電してやる必要があります。一度にメモリ全部の充電をすると都合が悪いので何回かに分けて充電します。その充電するメモリブロックの情報が入っているのがRレジスタです。時間に応じて値が変化する特性から、Rレジスタは乱数の発生に使われます。 一般的に互換CPUではリフレッシュ機構が違うので、Z80のものと完全互換ではありませんが、たいがいはRレジスタのフリをしています。     

そして、パチスロの場合の具体的な乱数値は以下のような生成式によって生成されます。

X[n] =( X[n-1]+R×2+1 )and Ox3FFF (某機の一例です)

nが試行回数、RはRレジスタの値です。つまり、現在の乱数値X[n]は前回の乱数値X[n-1]によって影響を受けているわけで、独立試行では有りません。ここらへんは、私も敬愛する四郎丸さんのホームページで述べられているので、ご存知の方もいらっしゃるでしょう。

で、ポイントは言うまでもなく、Ox3FFFの部分です。そう、事もあろうに、乱数の生成に定数を使っているんです。これ自体はソフト屋に言わせれば別に珍しい事ではないですが、もしこの定数部が複数用意されていたら・・・そう、乱数の偏差は意図的に(その制御プログラム通りに)操作できる事になりますね。さらに、リフレッシュレジスタの活動周期は動作クロックに影響されていて一定周期な上に、DRAMの容量は、台の生産時から廃棄時まで一定なので・・・

ついでに言うと、当たり前ですがリフレッシュレジスタの値は例えば LD A,R で一発で書き換え可能です。

で、後編では実機レベルで考えてみます。二項分布なんかでは説明できないほど同一子役の連続が顕著なアルゼや、ハマリと連チャンしかしないオリンピアの台を用いようかと思いましたが、ここはM的には妖しさ満点だと思っているメーカー「ネット」の台にしましょう。え?大東音響?ナニ物は誰でも知ってるんだから妖しくはないでしょ。(笑)


■Chapter 1b 違うんですよは桃屋ですよ(謎)■

X[n] =( X[n-1]+R×2+1 )and Ox3FFF

0x3FFFつーのは10進数では16383。0x0000を含めると16384の幅を持つので抽選ゲージの幅に等しいですね。つまり0x3FFFでand演算しているという事は、乱数値を抽選ゲージの幅に「丸めて」いるという事です。分かってると思うけど、いちおう書いとくね。

で、前回の乱数値X[n-1]を利用しているので独立試行ではないと書きましたが、これはプログラミング的には別の見方も出来ます。プログラミング経験者ならご存知だと思いますが、例えばPascalならRandom関数を使う前にRandSeed変数に任意の値を入れて、乱数系列を設定しますよね。あれ(乱数の種)と同じですな。普通は幅が小さい丸めた乱数値を種には使いませんが。

と、と言う事は・・・・?

そう、この乱数生成式は乱数系列を生み出す可能性があると言う事です。乱数系列というのは、ある数値をパラメータとして生み出される予測可能な乱数集合の事です。問題はもう1つのパラメータであるRレジ値に規則性があるかどうかにかかってきます。

Z80互換チップにはRレジスタのエミュレーションがある(フリをしている)と書きましたが、実際パチスロで使われているチップの型番が分からないので本当のところは分かりません。例えば、究極のZ80と言われるザイログのZ380では、Rレジスタはただの汎用レジスタであり、一度値を入れてしまえば書き換えるまで値は変わらないんですよ。

つーことはこの場合、完全な乱数系列が生み出されると言う事。恐ろしいですね。

しかも汎用レジスタだから、時々適当な値を入れてやれば乱数系列が切り替わってしまう。しかも予測可能だから、予め抽選ゲージにおいて、特定のRレジ値が生み出しやすい乱数値が指す値にボーナスを置いておけば、それだけでボーナスの連チャンが演出できますね。ハマリも然り。

しかもねぇ。Z80互換チップには裏レジスタを持つものも多くて、2〜4バイト程度のデータの隠し場所なんていくらでもあります。ICEのリアルタイム解析で見れないようなエグイのもカスタムチップなら可能。

まぁこのアルゴリズムだと、実際にはカスタムで一定条件でRレジスタのエミュレーションを開始・停止させるチップになるだろうけど。じゃないと、ホントにつまらなくなるから。(笑)

そう、結局行き着くところはRレジ。川崎製鉄が作ったZ80互換のKL5C8012なんかは、Rレジスタが単なるインクリメントカウンタですよ。これじゃぁ「パチンコと同じですよ」になってしまいそう。(笑)

まぁハーネス系のナニ物が現在は皆無である点を考えると、インクリメントカウンタのタイプを使ってる事は考えづらいけど。


■Chapter 2 バケ2連発後にハマるアルゼとベルコの謎 ■

・通常時、リプレイが4連続で出た= 1/7.3の4乗 = 1/2836
・アステカのBIG中、14枚役が5連続= 1/7の5乗 = 1/16807
・アレックスで10枚役が4連続= 1/11.4の4乗 = 1/16890

最近のパチスロは同一小役が異様に連続しますよね。小役の確率に高低の2つ有るからといった単純な話をしているのではありません。たとえば、アレックスを1日打てば、10枚役(常に一定確率)が4連続する事は1日に1回くらいは誰でも経験しますが、これって見ての通りすんげー確率なんですよ。何でもかんでも「完全確率だから有り得る」で済ませるような人は少なからずいますが、そこで「検証」や「考察」というプロセスを経ないで結論付ける(決め付ける)のは単なるバカです。

おっと話が逸れました。まぁこの事象が1日7000プレイの中に1回以上出現する確率となればかなり高くはなりますが、それでも毎日毎日何度も出てくるような標本ではないです。リプレイの4連続だって、1/2836という、3号機のA−C集中機の突入確率のような恐ろしい確率です。でも、これって誰でもよく経験しますよね。

これらに関して、いわゆるオカルトも含めて色々なWebページ、文献・発言を読み漁りましたが、どうにもMが納得出来るものは見つかりませんでした。

よくあるのが、パチンコで波を荒くする手法と同じく、16384の幅を持つ乱数ゲージの間に、当たりになる数値同士を近くに置いてるんじゃないかという仮定。たしかにデジパチではこれが波の演出に一役買っているようで、メーカーの技術者も認めています。

でもね、これじゃバケ(大阪ではBAR)2連発後にハマる理由にはならないんっすよ。それに同一小役の連続の説明にもならない。つーわけで、M的理論その1

花鳥風月進化論

花鳥風月って知ってます?昔、西陣というパチンコメーカーが出した連チャンデジパチで、こいつは内部では乱数値を取得する前に確率1/3の前抽選を行い、その抽選に当たった場合は前回の乱数値を採用し、外れた場合は本当の抽選を行います。つまり、1/3の確率で「前回が当たりならまた当たり、ハズレならまたハズレ」が起こります。これはプログラミング的には短いコーディングでとても素晴らしい波を演出できるアルゴリズムです。

花鳥風月の場合、常にこの抽選方式(以下、花鳥風月抽選と呼びます)でしたが、パチスロの場合これをそのまま採用すると逆にうまく波が作れない可能性も出てきます。なぜならパチスロには小役というものがあり、それ自体が波に影響を及ぼすからです。それにそのまま採用すると1G連チャンが増えて裏モノみたいになってしまいます。しかし、この花鳥風月抽選を進化させてさらに特定条件で行うとしたら?たとえば

・条件1 花鳥風月抽選モードの突入確率  1/4096
・条件2 花鳥風月抽選モードのパンク確率 1/16〜1/256
・条件3 花鳥風月抽選の前抽選の合格確率は1/16程度。
・条件4 前抽選に合格しても、採用するのは本来の抽選。(ここが花鳥風月とは決定的に違う) ただし、前抽選の合否に依存して、本来の乱数取得に使う定数のテーブル(Chapter1参照)を変更

たったこれだけで、アルゼの波はほぼ説明できるように思います。

たとえば、素で花鳥風月モードに入れば、まずハマリますね。ここでBIGを引けばいわゆる 「ハマリ後のアルゼ状態」に突入ですし、バケを引けば「バケ連発&ハマリモード維持」です。つまり、バケ2連発してハマルというのは、実際にはそれ以前からハマリに入ってるという事ですね。もちろん、花鳥風月モードは1日に1回、多くて3回程度しかならない上に、そのゲーム数も大して長くは無いので、通常時抽選を行う期間の方がはるかに長いです。

ポイントはもちろん条件4。全体像は状態モノの裏モノと似てますが、条件4のおかげで、

・抽選ゲージ自体には全く手をつけなくても良い。という事は、保通協の検定も通るし、解析されてもICEみたいなリアルタイム解析以外ならまずバレない。そして、解析しても公表通りの抽選確率が見つかるだけ。

・連チャン状態だけでなくハマリも演出できるし、本来の抽選を行う通常時の期間も長い。

という違いが生まれます。そしてこれは、B-MAXやアレックス以降のアルゼのような、小役確率のモード移行が頻繁ではない機種(メイン小役が一定確率)にはうってつけの通常小役払い出し率の波を演出する方法でもあるわけです。

以上、Mのオカルトです。(笑)
まぁオカルトといっても「朝一は電圧が低いから当たらない」とか、「鍵穴ババァ」と同レベルではないと思いますが。(爆)

なお、この文書で得た知識で貴方が損しようが得をしようが、Mには責任は有りません。自己責任で活用して下さい。Mはヤメ時の判断に使う材料の1つとして、これを実際に利用していますけどね。たとえば、閉店まで残り1時間の時にバケ3連発したら、50G回して速攻ヤメます。花鳥風月モードなので BIGを引いて状態に入っても取りきれないかもしれないし、閉店までハマリ続ける可能性も通常時より大きいと判断するからです。


■Chapter 3 山佐の4次元ポケット ■

もちっと待て。;)


■Chapter 4 パチンコとは違うんですよ(後編) ■

もちっと待て。;)