最終更新:2012-03-29 (木) 14:20:03 (4405d)  

メルセンヌ・ツイスタ
Top / メルセンヌ・ツイスタ

http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

Mersenne Twister とは?

Mersenne Twister(以下MT)は、松本眞 ・西村拓士(アルファベット順)により1996年から1997年に渡って 開発された疑似乱数生成アルゴリズムです。(2002年1月に 初期化ルーチンを改善しました。) MTは次の様な特徴を持っています。

従来の様々な生成法の欠点を考慮して設計されています。

  • プログラムはCで実装されている
  • 従来にない長周期, 高次元均等分布を持ちます。 (周期が2^19937-1で、623次元超立方体の中に 均等に分布することが証明されています。)
  • 生成速度がかなり速い。 (処理系にもよりますが、パイプライン処理やキャッシュメモリ のあるシステムでは、Cの標準ライブラリのrand()より高速なこと もあります。なお、開発当時にはcokus版はrand()より4倍程度高速 でしたが、その後ANSI-Cのrand()がLCG?法からLagged Fibonacci法?に 変更されたこともあり、2002年現在randMTの速度差はあまりありません。)
  • メモリ効率が良い。 (32ビット以上のマシン用に設計されたmt19937.cは、624ワードの ワーキングメモリを消費するだけです。1ワードは32ビット長とします。

改良

  • SFMT?