一様乱数の C++ での生成法を解説する.ここでいう乱数は疑似乱数のことである.疑似乱数とは,数列の計算により生成されるもので,初期値を設定することができ,初期値が同じであればいつ実行しても同じ数列が生成されるもののことを言う.これに対し,一般の乱数とは,次に生成される値が予測できない物を言う.疑似乱数は同じ初期値に対し同じ数列が生成されるため,再現性があることから,数値実験において重宝する.
以下に擬似乱数生成のための基本的なコードを記載する.6 行目で乱数の種を設定しており,この値が同じなら全く同じ乱数列となる.逆に,この値が少しでも異なれば乱数列は大きく異なる.7行目はMersenne Twister と呼ばれる乱数を生成するオブジェクトの宣言であり,8, 9行目はそれぞれ一様乱数を疑似乱数オブジェクトを使い生成するオブジェクトを宣言している.
実際に上記を実行してみれば以下の通り出力されるはずである.
2
0
0.23944
0.377517
seed を777に設定した場合は次の通り出力されるはずである.
0
1
0.200726
0.636254