公共ギャンブルに於ける乱数の生成について疑問が湧いたので調べてみた

totoBIGの件は何が問題なのか、なるべく分かりやすく説明してみる: 不倒城
http://www.toto-dream.com/press/20170220.html

ここ最近話題のtotoBIGの件、上記のBlogにおいて擬似乱数生成の仮定において精度の甘い実装になっていたということが指摘されていた。
自分も概ねそのあたりが原因ではないかと思っていました。テクニカルな面についてはこの記事の通りで不足ないと思います。

では、一方でポリティカル(要するに法律や業界規制、公安委員会や保安通信協会とのやり取りを含めて)の部分はどうかというと、上記のような問題が発生してしまっても仕方ないという状況にあるのではないかと疑問に思ったので、色々調べてみた。

totoBIG同様に乱数を利用するパチンコについて、平成18年に特許庁が取りまとめた資料。項目「2-4 抽選機能」にその言及が有る。
平成18年度 標準技術集 遊技機及びその関連技術 | 経済産業省 特許庁
調査対象技術の技術概要
2-4-2-1 乱数方式

乱数とは 、無秩序でかつ全体として出現頻度が等しい数の系列を指すが、デジパチタイプの遊技機など、図柄表示装置によって当選の可否を表示する遊技機においては、特賞等の役の当選の可否を判断するために、メイン基板内部で常に乱数をカウントしている。

乱数の生成は、ソフトウェアで行う方式(ソフト乱数方式)と、ハードウェアで行う方式(ハード乱数方式)に大別することが
出来る。また、ソフト乱数方式は、乱数のカウントが進行する形態の違いによって、プラスワン方式とプラス乱数方式に分類される。

乱数幅変更機能付き遊技機 - 特開2004−298370 | j-tokkyo

乱数発生手段10aは、例えばカウンタIC等からなり、所定の乱数幅の範囲(例えば1〜16384)でダウンカウントやインクリメントカウントすることにより、一定時間毎に一の乱数を発生させる。そして、この乱数発生手段10aで発生する乱数の上限値が乱数幅変更手段10eによって変更され、これによって抽選処理における各入賞内容の当選確率が変更されることになる(図5参照)。
ここで、乱数発生手段10aとしては、例えば、カウンタICを用いて乱数となる数字をハードで生成して取り出すハード乱数と、CPUのソフトウェアによって乱数となる数字を生成するソフト乱数とがあり、本実施形態の乱数発生手段10aは、いずれの方式であっても良く、両方式を併設することもできる。

http://law.e-gov.go.jp/htmldata/S60/S60F30301000004.html

また、警察庁生活安全局保からの通達において、遊技機についての規格解釈基準が発行されている。
平成16年5月26日警察庁丁生環発第155号

内部抽せんは、条件装置の作動等、遊技の結果に影響を及ぼすものである。出現する乱数値に偏りが出る仕組みは「当せんする機会を容易に推定することが、できる仕組み」であると解する。よって、内部抽せんが、周期が一回の遊技の結果が得られるまでの間において終了しない仕組みである等出現する乱数値に偏りが出る仕組みである場合には、当該内部抽せんの偏りが出る仕組みは、本規定に抵触する。

当り乱数を現状の初期値更新型乱数とした場合、大当り判定値には素数以外を使用してよい。

基本乱数について、乱数にあるそれぞれの値の発現方式が、乱数の数列に沿って順々に値を発現させる方式(本集で「プラスワン方式」という。)と、乱数の数列の最終値が発現したときの次の値(本集で「初期値」という。)を偶然性のある値によって定める方式(本集で「初期値更新方式」という。)を併用している等、基本乱数値を容易に推測させない方式である場合に、当たり判定データ値が素数以外であること又は複数の連続した数値であることは差し支えない。ただし、基本乱数を構成する値の総量、当たり図柄乱数を構成する値の総量等、内部抽せんに係る乱数を構成する値の総量は互いに素であるか、又は当該乱数における一の値の発現から次の値の発現までの時間間隔が互いに素でなければならない。

ソフトのみで更新する当り乱数(カウンタ)は1割り込み毎に+1更新するカウンタとすること。

基本乱数にあるそれぞれの値の発現方式がプラスワン方式であることは、別表第三(2)ハ(ニ)の規定に適合する方式である限り差し支えない。

当り判定に、プログラムより高速でカウンタを更新するハード乱数を使用してよい。

基本乱数にあるそれぞれの値の発現方式がプラスワン方式であること等、当該基本乱数にあるそれぞれの値の発現が規則的である方式であっても、別表第三(2)ハ(ニ)の規定に適合する方式である限り差し支えない。

技術上の規格解釈基準について - 警察庁

別表第三 不正な改造その他の変更を防止するための遊技機の構造に係る技術上の規格」関係
(2)ハ(ニ)

内部抽せんは、条件装置の作動等、遊技の結果に影響を及ぼすものである。出現する乱数値に偏りが出る仕組みは、「当せんする機会を容易に推定することができる仕組み」であると解する。よって、内部抽せんが、周期が1回の遊技の結果が得られるまでの間において終了しない仕組みである等出現する乱数値に偏りが出る仕組みである場合には、当該内部抽せんの偏りが出る仕組みは、本規定に抵触する。

また、気になってJ-PlatPatで「乱数」をキーワードに含む特許を調べたところ、遊技機もしくはパチンコで登録された乱数に関する特許は1994年が初の出願となっていた。

上記のように警察の解釈や特許の状況を見るに、状況証拠での判断となるが(保安通信協会の内規など一部資料には簡単にアクセスできなかったため)、乱数の取り扱いに関しては規定があるものの、乱数そのものの生成方式の制約ついて言及はなく、生成方式固有の偏りについてもまた言及がない(乱数生成後の処理による偏りについての言及は有る)ということがわかった。

このような状況下においてtotoBIGのようなシステムを作る場合(もちろんパチンコとは別の話し合いが有ると考えられるが)、技術仕様を満たしていれば合法であり、たとえ実装上の擬似乱数において今回のような事象が発生したとしても、誰にも否はないと判断せざるを得ない。

ただ、この状況をこのままにしておくかどうかについてはまさに政治的判断が必要で、正しい改善方法としては法律もしくは省庁からの通達において、乱数生成については真性乱数を利用することを明記するしかないと思わる。
(もちろん真性乱数とは何か、真性乱数発生器の検査は誰がやるかなど新たな利権は生まれそうだが…)

話は飛ぶが、真性乱数発生器も昔に比べるとだいぶお手頃になったと思う。一個くらい買って遊んでみたい。

https://www.argocorp.com/compo/IDQ/IDQ.html?gclid=CjwKEAiAxKrFBRDm25f60OegtwwSJABgEC-Z9kVdWT6LkAIGRqEhL6L1SbyVtNltMX4v4jO66klNhhoC_Ovw_wcB