Location : Home > Languages > Perl > Package Title : Math::Random::MT |
![]() |
Math::Random::MT - メルセンヌ・ツイスター法で乱数生成
use Math::Random::MT; $gen = Math::Random::MT->new($seed); # または... $gen = Math::Random::MT->new(@seed); print $gen->rand(3);
または
use Math::Random::MT qw(srand rand); # これで srand 及び rand はいつものように振舞う
メルセンヌ・ツイスター(The Mersenne Twister)は松本眞と西村拓士によって開発された擬似乱数生成器である。詳細は彼らの論文 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf に記されている。
本モジュールは2つのインタフェースを持ち、上記概要で示したもので、以下のような関数を定義している。
new($seed)
符号なし32ビット整数の種を基に新しいジェネレータを生成する。
new(@seed)
符号なし32ビット整数の種の配列(上限は624)を基に新しいジェネレータを生成する。
rand($num)
Perl に組み込まれている rand( ) と同じように振る舞い、 [0, $num) の区間の一様分布乱数を返す。($num のデフォルト値 1 である。)
srand($seed)
これはモジュールの機能の代替インタフェースである。Perl に組み込まれている srand( ) と同じように振る舞う。このインタフェースを使うときには、rand( ) に依存して最初に呼び出すよりも srand( ) を明示的に呼び出すことが推奨される。
Abhijit Menon-Sen, <ams@wiw.org>
Copyright 2001 Abhijit Menon-Sen. All rights reserved.
本ソフトウェアは the Artistic License http://ams.wiw.org/code/artistic.txt の条件の下で配布される。
[注釈]
このモジュールが作成された時点からは松本氏と西村氏の所属が変わっており、原論文の参照先と参考資料のリンクがたどれないので、このページ作成時点で最新のリンク先に変更している。
![]() |
Updated : 2007/05/04 |