メルセンヌ・ツイスター法の受賞

たまには(自称)科学者らしく,学会誌でも読もうと電車で雑誌を見ていたら,こんなサーベイ論文がありました.
Gaussian random number generators

Gaussian random number generators

ACM Computing Surveys (CSUR) Volume 39 , Issue 4 (2007)

Authors
David B. Thomas Imperial College
Wayne Luk Imperial College
Philip H.W. Leong The Chinese University of Hong Kong and Imperial College
John D. Villasenor University of California, Los Angeles


ABSTRACT

Rapid generation of high quality Gaussian random numbers is a key capability for simulations across a wide range of disciplines. Advances in computing have brought the power to conduct simulations with very large numbers of random numbers and with it, the challenge of meeting increasingly stringent requirements on the quality of Gaussian random number generators (GRNG). This article describes the algorithms underlying various GRNGs, compares their computational requirements, and examines the quality of the random numbers with emphasis on the behaviour in the tail region of the Gaussian probability density function.

私もマルコフ連鎖モンテカルロ法やランダムウォーク,もしくはそもそも初期値を(準乱数ではなく)乱数で選ぶ実用的な数値シミュレーションをやっているので,乱数の生成法には興味がありました.このサーベイ論文の中でも,日本人の名前がありました.

Matsumoto, M. and Nishimura, T. 1998. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8, 1 (Jan.), 3--30.

そう,メルセンヌ・ツイスター法の論文です.
Mersenne Twister: A random number generator (since 1997/10)
その松本眞さんが,喜ばしいことに賞を受賞なさったそうです.
http://www.jsps.go.jp/jsps-prize/ichiran_4rd/15_matsumoto.html

授賞理由
「実用上ほぼ理想的な乱数発生法の開発」
(Development of Practically Ideal Random Number Generator)
 松本眞氏はメルセンヌ・ツイスター(MT)法と呼ばれる乱数発生法を共同研究者と開発した。これは、623個の32ビット長データを、同じ組み合わせが出ないように6002桁もの大きな素数メルセンヌ素数)を周期として入れ替えることにより、乱数を高速に発生させる方法であり、世界標準の乱数発生法として科学技術分野でのさまざまな研究に広く応用されている。

松本さんは,世界の論文誌,並びに国内でも一般向けに「数理科学誌」に執筆したり,上記のWebページでコードを公開したりと,メルセンヌ・ツイスター法の普及に努めた功績は大きいと思います.

なお,以前も書きましたが,マルコフ連鎖モンテカルロ法(MCMC)を用いたパーティクル・フィルタによる人物位置追跡を実装した際に,メルセンヌ・ツイスターを使って乱数を発生させ,ボックス・ミュラー法を用いて正規乱数に変換するプログラムを作ったので,

お願い:使う時にemailを一通下されば、今後の改良のはげみになります。
どんなささいな問題点でも、見つけ次第御連絡下さい。

という文に基づいてメールを書いたのですが,お返事はありませんでした.
いえ,別に御返事を求めていたわけじゃないので,良いのですが.

メルセンヌ・ツイスターによる乱数発生のC言語のプログラムは,例えば松本さんの以下のページから入手できます.
SIMD-oriented Fast Mersenne Twister (SFMT)

SFMTは2006年に、 松本眞教授とその指導学生の 斎藤睦夫によって、 開発された新しいタイプのメルセンヌ・ツイスタです。アルゴリズム はMCQMC 2006 で報告されました。 MCQMC2006 の会議録に論文が掲載される予定です。 (文献情報は、松本先生の 関連論文のページを参照してください。) SFMTは線形フィードバックシフトレジスタ擬似乱数生成器で、 一度に128ビットの擬似乱数を生成するようになっています。 SFMTは最近のCPUの多段階パイプラインやSIMD といった並列処理能力を考慮して設計されています。 32ビットおよび64ビットさらに倍精度浮動小数点での出力もサポートしています。

私も画像からの顔認識,動画像からの人物行動認識,ブラックホールのシミュレーション,惑星の起動シミュレーション,果てはネットワークの混雑シミュレーションやらセキュリティ破りシミュレーション等に使わせて頂きましたが,いずれも良好な結果が得られております.松本先生には感謝致します.