ГОСТ Р 50779.90—2014
8.1.4Во избежание неправильных результатов необходимо использовать генератор
псевдослучайных чисел, имеющий хорошие статистические свойства. Всестороннюю проверку
статистических свойств генератора осуществляют с помощью набора тестов TostUOl [17].
8.2 Примеры конкретного программного обеспечения
8.2.1 Категория поддержки 2: специальное программное обеспечение предоставляется третьей
стороной.
Рекомендуется генератор Мерсенна-Теистера. прошедший набор тестов указанных в 8.1.4 [18].
Реализации программного обеспечения доступны на многих языках, включая С , С + + . С #. Fortran 95 .
Java. Lisp . Mathematica, MATLAB. Microsoft Excel, Perl и Python [19].
8.2.2 Категория сопровождения 5: последовательная процедура разработки программного
обеспечения пользователями или третьей стороной.
8.2.2.1 Общие положения
Усовершенствованный генератор Вичмана-Хилла (п. 8.2.2.2), имеющий версии для 32-битоаых и
64-битовых компьютеров, прошедший набор тестов, указанных в 8.1.4 . имеет следующие свойства [21]:
a)компактность:
b
)его просто программировать на любом языке программирования, который поддерживает
формат чисел с плавающей точкой, и не зависит от частотной манипуляции как у некоторых
генераторов;
c)структура параметров состояния (объем информации, сохраняемой в генераторе между
обращениями к нему), а именно параметры./3и и в таблице 1 немного и их легко изменить;
d)генератор может быть использован для получения нескольких последовательностей
случайных чисел, необходимых для высокопроизводительных параллельных приложений.
8.2.2.2 Процедура генерациипсевдослучайных чисел, подчиняющихся равномерному
распределению.
Втаблице1приведенрасширенныйгенераторВичмана-Хилладлягенерации
псевдослучайных чисел из равномерного распределения R(0.1) в интервале (0.1). для 32-разрядного
компьютера.
Таблица 1 - Расширенный генератор Вичмана-Хилла псевдослучайных чисел из распределения
R(0.1) в интервале (0,1) для 32-разрядного компьютера._________________________________________
Параметры входа-выходаОписание
A, h. Ь. U
Константы
а. Ь. с. d
Выходной параметр
г
1
В качестве входных величин использованы целые числа, которые изменяются в
соответствии с процедурой. Перед первым вызовом генератора определяют
множество целых чисел между 1 и 2 147 483 647. Запрещается изменять входные
величины между вызовами генератора
Последующие значения обычно не зависят от пользователя. Эти параметрь
образуют основу, с помощью которой генерируются случайные числа. Они могут быть
представлены как глобальные переменные и. таким образом не представлены явно в
сачествепараметров
Описание
Зектор целых констант размерности 1* 4. где а = (а1. а2. аЗ. а4) и тд. задают в виде
а = (11600, 47 003. 23 000. 33 000).
Ь= (185 127.45 688. 93 368. 65 075).
с = (10379.10479.19423. 8123).
d = 2147 483 123 * (1. 1. 1. 1) + (456. 420. 300. 0).
Запрещается изменять входные величины между вызовами генератора
Описание
Псевдослучайное число из R(0.1)
Вычисления
a) Для/= 1
......
4
1) Формируют i, = а * {/,mod Ь,) - с, * Ц 1b j
2) Если ,< 0. заменяют г,на г,+ d-
b
) Формируют
н’= X», id , .
c) Формируют
Г= W- LwJ
Примечания:
1- _wj - наибольшее целое число не превышающее iv.
2 - i, mod b, - остаток отделения i, на b,.
12