1+1=0の数学を用いた擬似乱数の研究

研究の概要

擬似乱数とは、コンピュータによって決まった手順(プログラム)で作ったものにも関わらず、あたかもサイコロを振ってできたような、でたらめに見える数列のことです。統計学や物理学、金融工学、社会科学のシミュレーションで使われるほか、ゲームやAIなど身近な技術にも広く利用されています。
これまでコンピュータの発達に様々な擬似乱数生成法が提唱されて、計算結果の信頼性が変わったり、計算が速くなって省エネルギーにつながるなどの発展を遂げています。擬似乱数を使ったシミュレーションの代表例であるモンテカルロ法では大量の乱数を使うため、速く、偏りの少ない乱数を作れるかが重要になります。

一方で、コンピュータは基本的に「決まった計算」しかできません。そのため、決定的な計算からでたらめに見える数列を作り、その性質を確かめて安全に使う工夫が必要になります。私は代数学と統計学の立場から、擬似乱数生成法の性能評価や、より便利に使うための方法を研究しています。

研究の特色

代数学は数や方程式を対象とする研究分野で、擬似乱数研究では有限体と呼ばれる数学的構造を利用することが一般的です。特に重要なのが0と1のみからなる2元体で、「1+1=0」と定義することで加減乗除を自由に行える世界ができます(「1+1=1」とする数学もあって、実用面では論理回路などで広く応用されています)。19世紀前半に発見された有限体の理論は現代の電子計算機と相性がとても良く、数多くの理論や計算手法が研究されています。

シミュレーションの信頼性を保つためには、擬似乱数の統計的評価も不可欠です。過去に偏りが発見された生成法よりも優れたものを提唱するために、百を超える統計的検定を使って十分に吟味することで実用に供されます。計算機の発達でシミューション規模が大きくなり続けるなか、これまでは問題とならなかった微妙な偏りをも検出することが要求されており、現在でも絶えず新しい統計的検定やその性能向上が図られており、新たな生成法・評価法が絶えず提唱されています。

研究の魅力

擬似乱数の研究は、理論と実験を行き来しながら進められるところが魅力です。プログラムを書けばすぐに大量の乱数を作って試せますし、うまくいかないときは理論に立ち返ってその原因を確かめることができます。理論と実験結果が一致したときには、数学の持つ抽象性の威力を感じることができます。

研究成果が数学以外の分野で使われる点も擬似乱数研究の特徴です。目立たないけれど重要な基礎研究として、安全で便利な方法が見つかると、さまざまな研究を下支えできます。特別な装置がなくても、紙と鉛筆、そしてパソコンがあれば研究を進められる点も、この分野に入りやすい理由の一つです。

今後の展望

計算機の発展に伴って、近年は「巨大な内部状態を持つ方式」だけでなく「小さくて高速な方式」も注目されています。しかし大規模シミュレーションで安心して使うには、弱点がないかを丁寧に調べ、なぜ良い性質が得られるのかを理解しておく必要があります。数値計算で広く用いられるNumPyではPCGと呼ばれる方式が標準で利用されていますが、理論的な解析はまだまだ不十分です。さらに、統計的検定に合格していても安心とは限りません。見た目は非常にランダムでも、単純な規則が潜んでいることがあります。たとえば JavaScriptで使われる標準擬似乱数xorshift128+では、3次元に点を並べると特定の位置に点が集まることがあり、その仕組みが数学的に解析されています。私は、代数学の視点で目に見えにくい規則性を検出し、統計学の視点で実際の利用場面の安全性を確かめることで、安心して大規模シミュレーションに使える乱数生成法と評価法に貢献したいと考えています。

この研究を志望する方へのメッセージ

乱数の研究は少しマニアックに見えるかもしれませんが、代数学・幾何学・解析学・確率統計学など、幅広い数学が交差する楽しい分野です。さらに工学的な視点も欠かせず、高校の「情報I」で学ぶ2進数やコンピュータの仕組み、シミュレーションなどで学ぶ内容はそのまま研究の入口にもなっています。高校で学ぶことが、最先端の研究につながることをぜひ実感してほしいと思います。

大学院生の頃、指導教員から「数学は高くて裾野が広い学問だから、あなた程度の人でも必ず新しいことをする余地が残されている」と励まされた(?)ことがあります。結果を一つ出すだけでも長くて苦しい道のりですが、数学のような普遍的・抽象的な学問だからこそ、社会を確実に支える研究につながると実感しています。多くの方にこの分野へ興味を持ってもらえることを期待しています。