メルセンヌ・ツイスタ
Boook-Mark代わりに。
メルセンヌ・ツイスタ
Mersenne Twister Home Page
とっても良く出来た擬似乱数生成ルーチン。
詳細は、和田維作氏のホームページに。
通常のC/C++コンパイラで実装されているsrand/randは、線形合同法により乱数を生成するが、例えば下位ビットに偏りがでてしまったりとか、条件によって規則性がでてしまったりとか、実際に乱数として使用するにはまずいケースが多々あるのは周知のこと。少なくとも、プロとして作る抽選関連のプログラムでは使ってはならない。
上記メルセンヌ・ツイスタは実装が簡単で速度も実用に十分耐えられるはずで、機会があれば是非実務で使ってみたい。
もちろんシビアな乱数が必要な場合は乱数生成機に頼るのが簡単で確実ではあるんだが。
でも業務系で擬似乱数生成なんてなかなか出てこないんだよなぁ...
メルセンヌ・ツイスタ
Mersenne Twister Home Page
とっても良く出来た擬似乱数生成ルーチン。
詳細は、和田維作氏のホームページに。
通常のC/C++コンパイラで実装されているsrand/randは、線形合同法により乱数を生成するが、例えば下位ビットに偏りがでてしまったりとか、条件によって規則性がでてしまったりとか、実際に乱数として使用するにはまずいケースが多々あるのは周知のこと。少なくとも、プロとして作る抽選関連のプログラムでは使ってはならない。
上記メルセンヌ・ツイスタは実装が簡単で速度も実用に十分耐えられるはずで、機会があれば是非実務で使ってみたい。
もちろんシビアな乱数が必要な場合は乱数生成機に頼るのが簡単で確実ではあるんだが。
でも業務系で擬似乱数生成なんてなかなか出てこないんだよなぁ...
スポンサーサイト