モデル化とシミュレーションでは,乱数を扱う場面が多くなると思います.ここでは乱数について整理します.乱数の生成には,物理乱数,算術乱数,乱数サイコロ,乱数表などの利用があります.
数式処理ソフトは独自のアルゴリズムで乱数を生成しているようです.ここではまず,シミュレーションで頻繁に使用する一様乱数生成の関数を紹介します. おもに表計算のEXCELについて述べましょう.
次のEXCELのコマンドをMathematicaで実現しています。
*EXCELで乱数列を作るには,セルのコピ-を行う.
次に、一様乱数以外のいろいろな分布に従う乱数(指数乱数,正規乱数など)の生成法について述べます.ある確率分布が与えられたとします.(確率分布
pi や f(x) )
人数 |
累積確率Pi |
0 |
0.7 |
1 |
0.9 |
2 |
1 |
このことをもとに,例えば10枚のカ-ドや1から10までの一様乱数を利用するとよいです.
ある窓口に,単位時間に平均 2人のポアソン分布に従って客が来る場合,到着間隔は指数分布
に従い、累積確率 F[t] は積分で求まります.
このグラフは次のようになります.
このグラフを利用して指数分布に従う乱数を生成するには,y 軸を [0,1) の一様乱数 r とみて,
を t について解けばよい.(逆関数)
よって,1-r を r に置き換えて指数乱数を求める関数が得られます.
これが指数乱数を与える関数で, r は [0,1)
の一様乱数です.
メニュ−[ツ−ル] → [分析ツ−ル]を選択後, [乱数発生] を利用することも便利です.