Составители:
Рубрика:
65
модификаций метода вычетов (мультипликативный конгруэнтный
(совпадающий) метод), который в разных модификациях использует
ся в разных редакциях GPSS/H. В конце параграфа будут приведены
параметры генераторов GPSS/H. Рассмотрим этот метод подробнее.
Любое следующее число образуется на основании выражения
x
i+1
= ax
i
+ c mod m
i = 1, 2, …, (3.22)
где a, m — положительные целые числа; c — целое число.
Исторически этот генератор строился из принципа
x
n
= x
n
mod m. (3.23)
Чтобы не возникало вычислительных проблем, (3.23) можно заме
нить
x
n
= xx
n–1
mod m. (3.24)
При с = 0 как раз и получается мультипликативный конгруэнт
ный генератор и генерируемые числа U
i
= x
i
/ m. Методы проверки
случайности генерируемых чисел будут рассмотрены в п. 3.5.3. Вы
ражение (3.24) основывается на значении m = 2
k
, где k — целое чис
ло, обычно равное длине машинного слова. Любые генерируемые БСВ
характеризуются периодом повторения или циклом генератора
d = 2
k–2
при нечетном x
0
(примем это без доказательства).
В качестве примера рассмотрим генератор x
n
= 3x
n–1
mod 32 (2
5
).
При с = 0 [см. (3.22)] и а = ±3 (mod 8) период этого генератора
d = 8
5 – 2
= 8. Приняв x
0
= 1, найдем числовую последовательность,
создаваемую генератором:
x
0
= 1 00001
x
1
= 3 00011
x
2
= 9 01001
x
3
= 27 11011
x
4
=81 mod 32 (81– 2*32) =17 10001
x
5
=51 mod 32 = 19 10011
x
6
=57 mod 32 = 25 11001
x
7
= 75 mod 32 =11 11001
x
8
= 33 mod 32 = 1 00001
Последовательность повторилась, т. е. период равен 8, как и было
подсчитано, в случае четного x
0
период сокращается вдвое!
Современные ЭВМ (Pentium 1 и выше) сняли все ограничения по
быстродействию и объемам памяти, необходимым для генерации ка
чественных БСВ. Потому при выборе генератора БСВ надо руковод
ствоваться следующими правилами:
1) период повторения должен быть более миллиона;
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »