Location : Home > Languages > Perl > Package
Title : Math::Random::MT
Toolbox Logo

名称

 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 の条件の下で配布される。


[注釈]

 このモジュールが作成された時点からは松本氏と西村氏の所属が変わっており、原論文の参照先と参考資料のリンクがたどれないので、このページ作成時点で最新のリンク先に変更している。

Toolbox Logo
Updated : 2007/05/04