ГО С Т Р ИСО 24153— 2012
Описание алгоритма (для компьютеров, способных обрабатывать 32-битовые целые числа).
a) х,. , = 40692 х, mod 2 147 483 399;
b
)
к
= Lx,/52774J;
c) х, . , = 40692 (х ,- 52774
к)
- 3791
к\
d) если х,., < 0. то х,и = хм1 ♦ 2 147 483 399.
7.2.4 Генерируют начальное число алгоритма случайного отбора выборки, выбирая результат 7.2.2 с)
в качестве х, и затем обращаясь к формуле 7.2.3
j
раз (см. 7.2.2 е)), заменяя каждый раз х, на х„, до тех
пор. пока не будет выполнено необходимое количество обращений.
7.2.5 Заключительное значение
х,.,
на этапе 7.2.4 является случайным целым числом из интервала
от 1 до 2 147 483 398 и может быть использовано как начальное число в алгоритме отбора выборки,
описанном в 7.3 (в частности, как значение у, в 7.3.6 Ь)). Это значение сохраняют как отдельную перемен
ную и указывают в отчете.
7.3 Алгоритм генерации случайных чисел
7.3.1 Алгоритм генерации случайных чисел включает
a) сохранение массива чисел, полученных с помощью алгоритма генерации равномерно распреде
ленных случайных чисел.
b
) перестановки чисел, полученных на основе алгоритма генерации равномерно распределенных
случайных чисел.
7.3.2 Создают массив
А
из 32 элементов, который используют для сохранения выходных данных
алгоритма случайного отбора выборки.
7.3.3 Для формирования массива
А
используют следующий генератор случайных чисел.
Описание алгоритма (для компьютеров, способных обрабатывать 32-битовые целые числа):
a) х, . , = 40 014 х, mod 2 147 483 563;
b
) к =
Lx, / 53 668J;
c) х,», = 40 014 (Xj— 53 668/г) - 12 211/с;
d) если х.>, < 0. то х„, =
xhi * 2
147 483 563.
7.3.4 Инициализируют массив А, присваивая х, результат 7.1.3 или 7.2.5, и затем обращаются кгене
ратору в соответствии с 7.3.3 а) 40 раз. заменяя х, на х,*, при каждом обращении, отбрасывая первые 8
значений, а затем присваивая каждое из оставшихся в массиве 32 значений х„, в обратном порядке (т. е.
с 32-го элемента до 1-го элемента).
7.3.5 Выбирают первый элемент из массива
А
(т. е. Л[1]) в качестве значения
к.
инициализирующего
комбинированный алгоритм генерации случайных чисел.
7.3.6 Комбинированный генератор случайных чисел для генерации случайной выборки представляет
собой комбинацию линейных конгруэнтных рекуррентных соотношений и определения индекса элемента
массива
А.
Описание алгоритма:
a) х,., = 40 014 х, mod 2 147 483 563:
b) У,., = 40 692 у, mod 2 147 483 399;
c)
J = [32kf2
147 483 563J + 1:
d)
к
=
A[J]
- у,*,;
e)
A[J\
= х,.п;
О если
к<
1, то
к = к
+ 2 147 483 562.
7.3.7 Алгоритм в соответствии с 7.3.6 инициализируют путем присвоения
х,
значениях,.,, полученно
го в соответствии с 7.3.4. и присвоения у,значения в соответствии с 7.2.5. Значения х,., и у,., служат далее
значениями х, и у, для всех последующих обращений к алгоритму. Случайный индекс
J
для элемента
массива
А
вычисляют, используя значение
к
(см. 7.3.5), которому присваивают значение, равное разности
(A[J) - у^,). a A[J] заменяют на х,.Наконец, при необходимости получения положительного значения,
знак
к
меняют на противоположный.
8