研究紀要第38号 学習指導に関する研究 - 070/081page
(解) x≡7+6 (mod 12) x=1
x≡3+12 (mod 12) x=3
2≡x+5 (mod 12) x=9
6≡x+8 (mod 12) x=10V)乗算式合同法
〔式の意味〕Rにxiをかけ,その結果をMで割りその余りをxi+1とする。
計算機では,xiに初期値が入ってできた乱数xi+1をxiに入れる。以上をくり返す。
〔例〕(1)式に初期値xo=32868,R=3125
M=104を入れると下表の通りになる。
i R・xi xi+1 0
1
2
3
4
5
:
:
9
10
102334464
13941072
3347855
54231165
3638295
:
:
26882784
8694432 32768
4464
1072
7855
1165
8295
:
:
2784
4432この場合の周期は,P=5・104−2=500となるので,上表のi=500になると,1回目にもどる。すなわち同じ乱数がくり返される。
W)乗算合同法の条件
IBM社「データ処理技術」(1959)によれば乗算式合同法は,次のような手順と条件のもとで使うのがよいとされている。よいというのは,プログラムの簡便さ,計算機の負担の軽さ,処理速度が速いなどのことである。
(1) 1語がbビットの2進演算計算機の場合
@初期値xoとして正の奇数
A定数Rとして2になるべく近く
R=8t±3(tは正の整数)
を満たすものを選ぶ。
B次の計算をくり返す
xi+1≡R・xi(mod 2b)
R・xiは処理後2ビットとなり,その下のbビットをxi+1に当てる。
(その際,計算機によっては,負の符号がついたり,オーバフローとして扱われたり,エラーになったりする場合があるから注意をすること)
Cこれによってxiの系列は
1から2b−1の間に一様に分布する正の整数の一様分布乱数が求まる。
(通常これを0から2bの一様分布乱数といっていることが多い)
D一様分布乱数列の周期Pは
P=2b−2となる。(2) 1語がdディジット(桁)の10進演算機の場合
@初期値xoとして,2および5で割りきれない正の整数を選ぶ。
A定数Rとして 10d/2になるべく近く
R=200t±r(tは正の整数)
を満たすものを選ぶ。ただし
r=3,11,13,19,21,27,29,37,53,59,61,67,69,77,83,91
のうちから1つ選ぶものとする。
B次の計算をくり返す。
xi+1≡R・xi(mod 10d)
R・xiは2dディット(桁)になる。
そのd桁をxi+1とする。
(計算機によっては若干の注意が必要である。)
Cこれによってxiの系列は
1から10d−1の間に一様に分布する整数の一様分布乱数が求まる。
D一様分布乱数の周期Pは
P=5・10d-2となる。4 乗算合同式による乱数作成実習
乱数発生のプログラミングに際し留意すべきこ