オカルト×科学
乱数の哲学:擬似乱数、夢ロトくんの物理カオス、そして量子乱数の境界
サイコロ、コンピュータの乱数関数、そして43個の球がぶつかり合う抽せん機。私たちはこの三つを同じ「ランダム」という言葉で呼びます。しかし、その中身はまったく違います。一つは周期を持つ計算、一つは測れない初期値、一つは宇宙の側の不確定性です。この記事は、当サイトのシミュレーターが実装している乱数と物理を出発点に、人間が「完全な偶然」をどう定義し、どう実装してきたかを追います。
「ランダム」と呼ばれている三つの別物
「ランダム」には少なくとも三つの意味があります。第一は統計的な意味で、出力の列に偏りや相関が見つからないこと。第二は予測の意味で、過去の出力からも装置の中身からも次の値を言い当てられないこと。第三は存在論的な意味で、決まった答えがそもそも存在しないこと。古典力学の理想化では、サイコロの運動は初期状態と力で決まります。それでも実際の予測は難しく、公平さは形状や振り方にも左右されます。この説明だけで出目の等確率性が保証されるわけではありません。
この三つの区別を持たないまま「ロトの抽せんはランダムか」と問うと、答えは必ず混乱します。抽せん機について確かめたいのは、番号の偏り、予測可能な規則、装置の管理方法です。出力の検定だけで宇宙の決定論・非決定論まで判定することはできません。逆に、コンピュータの乱数は第三どころか第二すら満たさない場合があります。順に見ていきます。
出典・データ:夢ロトくん:技術仕様・参考値
擬似乱数:決定論の塊が偶然を作れないパラドックス
コンピュータの乱数関数は、内部状態を決められた式で更新し、その一部を出力する仕組みです。同じ状態から始めれば、同じ列が同じ順で出ます。だから「擬似」乱数と呼びます。代表格のメルセンヌ・ツイスタ(MT19937)は、624個の32ビット整数で保持する内部状態(配列は19,968ビット、周期を定める有効状態は19,937ビット)を持ち、周期は 2¹⁹⁹³⁷−1、およそ10⁶⁰⁰¹という天文学的な長さです。宇宙の年齢の間に毎秒何兆回引いても、一周しません。
MT19937 の周期 = 2¹⁹⁹³⁷ − 1 ≈ 4.3 × 10⁶⁰⁰¹ / 内部状態 = 624 × 32 ビット
しかし周期の長さと予測不能性は別です。MT19937 は出力から内部状態を逆算できる構造(出力の調律変換が可逆)で、連続した624個の出力を観測すれば、以後の出力は100%予測できます。多くの統計用途で使われても、内部状態を復元できる生成器は暗号用途の予測耐性を持ちません。だから暗号や賭博の乱数には使えず、そのために出力から状態を逆算できないよう設計された暗号論的擬似乱数(ChaCha20 など)が別に存在します。
夢ロトくんの乱数は、もっと小さい
当サイトのシミュレーターが球の初期配置に使う乱数は mulberry32 という32ビット状態の生成器で、周期は 2³²、約43億です。MT19937 より桁違いに短く、これは意図的です。同じシードから同じ配置を必ず再現できることが目的であり、暗号的な強さは要らないからです。シードそのものは抽せんごとにブラウザの Crypto API(OSのエントロピーを源にする暗号論的乱数)から取ります。「再現できる決定論」と「予測できない種」を、役割で分けています。
ここに擬似乱数の本質があります。コンピュータは命令を正確に実行する機械であり、正確さは決定論と同義です。決定論的な機械は、自分の中から偶然を作れません。作れるのは、偶然に見える長い列だけです。偶然そのものが要るときは、機械の外、つまり物理の側から種を取ってくるしかありません。
出典・データ:夢ロトくん:技術仕様・参考値 / Rapier:決定論性の条件(英語)
抽せん機という古典物理カオス
夢ロトくんのシミュレーターは、43個の球(半径25 mm、質量14.09 g)を、反発係数0.52、摩擦係数0.32、空気密度1.225 kg/m³ の設定で、1/240秒刻みのニュートン力学で計算します。ここに乱数は一切入りません。初期配置を決めたあとは、運動方程式と接触の式だけで最後の6個が決まります。実際、同じシード・同じ設定・同じ操作なら、同じ6個が毎回出ます。
決定論的な運動でも、初期状態のわずかな違いが大きく育つと予測は難しくなります。これが「初期値鋭敏性」です。ただし、予測しにくいことと、各組が等確率であることは別に検証する必要があります。硬い球が球にぶつかるとき、衝突点のわずかな角度のずれは、次の衝突までに球の直径に対する飛行距離の比だけ拡大されます。誤差が衝突1回あたり数倍に増える系では、誤差の大きさは衝突回数に対して指数関数的に育ちます。この増幅の速さを表す量がリャプノフ指数で、正の値を持つ系をカオスと呼びます。
誤差(n回衝突後) ≈ 誤差(初期) × k ⁿ (k:衝突1回あたりの増幅率、カオスでは k > 1)
| 初期誤差 | 例 | 必要な衝突回数 |
|---|---|---|
| 10⁻⁴ m | 0.1 mm、置き方の違い | 約6回 |
| 10⁻¹⁰ m | 分子の熱運動のスケール | 約18回 |
| 10⁻³⁵ m | プランク長 | 約75回 |
表は、誤差が毎回3倍になると仮定した計算例です。実機の増幅率や衝突回数は測定しておらず、微小なずれが何秒で別の当せん番号になるかを示す実測値ではありません。位置の誤差が球の直径に達しても、それだけで出目どうしが統計的に独立になったとはいえません。予測性能を主張するには、装置の測定値と、事前に固定した予測方法の検証が必要です。
シミュレーターの側にも同じ性質が現れます。当サイトの技術資料は、三角関数の実装が異なる JavaScript 環境どうしでの完全一致を未検証と記しています。浮動小数点の最下位ビットの差、およそ10⁻¹⁶ の相対誤差が、数百回の衝突を経て別の6個になりうるからです。決定論的でありながら、環境が違えば結果が違う。カオスとはそういう性質です。
物理装置だから安全、ではない
物理装置でも、混ぜ方、球の形状や重さ、取り出し方によって偏りが生じる可能性があります。透明な容器から球が見えることは、すべての球の条件が等しい証明にはなりません。装置の点検と、出力の統計検定は役割が違います。当サイトの反復率や連続回重複の検定も、調べた偏りを見つける手段であり、未検出の偏りや不正がないことまで保証しません。
出典・データ:夢ロトくん:技術仕様・参考値 / Rapier:決定論性の条件(英語) / 集計方法とデータの範囲
量子乱数と、その認証の前提
量子測定は乱数を作る物理的な資源になります。ただし、検出器の偏りや外部の雑音を含む生の出力が、そのまま一様な乱数になるとは限りません。装置の条件を確認し、出力から利用できるランダム性を評価・抽出する工程が必要です。
2018年のベル実験では、超光速の信号がないことと測定設定を独立に選べることなどの前提を置き、ほぼ一様な1,024ビットを生成しました。「どんな隠れた変数でも否定した」「光速の制約だけで無条件に保証した」という結論ではありません。装置の隔離や統計上の誤差も認証の条件に含まれます。
乱数の質と、抽せんへの信頼
この実験の認証を、市販の量子乱数チップすべてに当てはめることはできません。利用する装置ごとに、何を測定し、どの仮定で出力を評価したかを確認する必要があります。
球を使う抽せんでは、混ざって取り出される過程を観客が見られます。これは運営を理解しやすくする要素ですが、見えることだけでは公平さの証明になりません。物理方式でも電子方式でも、出力の性質と、装置・プログラムを管理する手続きをそれぞれ確認する必要があります。
出典・データ:Bierhorst et al. (2018):ベル実験による乱数の認証とその前提(英語) / NIST:2018年の量子乱数実験(英語)
当てるためではなく、カオスを見るために
三つの方式は、予測の難しさと検証の前提が異なります。擬似乱数は内部状態とアルゴリズムから列が決まり、暗号用と統計用でも性質が違います。抽せん機の出目は観測と運動のモデルだけでは予測しにくく、偏りはデータから調べます。量子乱数の認証も明示した物理的・統計的な前提のもとで行います。どの方式も、仕組みの名前だけで品質を決められるものではありません。
当サイトのシミュレーターは、この二番目の性質を体験するための道具です。同じシードで同じ結果が出ることを確かめ、シードを変えたときに運動や出目がどう変わるかを観察する。これは初期条件と運動の関係を考える体験で、実機の増幅率を測る実験ではありません。未来の当せん番号を教えてくれる道具ではありません。そこに詰まっているのは、ニュートン力学という完全に決定論的な規則から、人間の知りうる範囲を超えた出力が生まれる、その過程の美しさです。
偶然とは、宇宙が答えを持っていないことではなく、宇宙が答えを持っていても、私たちがそれを読めないことです。抽せん機は、その読めなさを目に見える形にした装置です。
出典・データ:夢ロトくん:技術仕様・参考値
