研究紀要第38号 学習指導に関する研究 - 070/081page

[検索] [目次] [PDF] [前] [次]

(解) 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=10

V)乗算式合同法

初期値:xo
乗算式合同法

〔式の意味〕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 乗算合同式による乱数作成実習

 乱数発生のプログラミングに際し留意すべきこ


[検索] [目次] [PDF] [前] [次]

掲載情報の著作権は福島県教育センターに帰属します。
福島県教育センターの許諾を受けて福島県教育委員会が加工・掲載しています。