平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

擬似乱数

メルセンヌ・ツイスターが(日本人が考案したこともあってか)有名だけど、もちろん他にもいろいろある。

WELL Random number generator(WELLRNG)
メルセンヌ・ツイスターと同様の長周期ジェネレータで、MTより(各種性質が)よいとされる。MTの松本眞教授もかかわってる。http://www.iro.umontreal.ca/~panneton/WELLRNG.html
ラグ付フィボナッチ法
加算だとALFG、乗算だとMLFG。 http://ja.wikipedia.org/wiki/Lagged_Fibonacci_%E6%B3%95
KISS generator(KISS99)
マーサグリアの手法。KISSはKeep It Simple Stupidのこと。後述するJKISSのように派生アルゴリズムもいろいろある。
Xorshift
同じくマーサグリアの手法。MTやWELLほど周期は長くないが高速。http://ja.wikipedia.org/wiki/Xorshift

なんで突然擬似乱数なのかというと、MonoのRandomクラスの実装が変わったという話を見たから。http://spouliot.wordpress.com/2013/09/23/random-changes/
そこで「JKISS」としてリンクされていたこのPDFがおもしろかった。http://www0.cs.ucl.ac.uk/staff/d.jones/GoodPracticeRNG.pdf つまるところMonoの新しいRandomクラスは、Jones氏による改良版KISSアルゴリズムを使っているということらしい。