- •Лабораторная работа
- •2 Теоретические сведения
- •2.1 Метод серединных квадратов
- •2.2 Метод середины произведения
- •2.3 Мультипликативный метод
- •2.4 Методы проверки качества псевдослучайных чисел с равномерным
- •2.4.1 Тесты проверки ²случайности²
- •2.4.2 Тест проверки равномерности закона распределения
- •2.4.3 Тесты проверки независимости последовательности
- •3 Порядок выполнения работы
- •4 Содержание отчета
Лабораторная работа
Получение на ЭВМ равномерно распределенных
псевдослучайных чисел
1 Цель работы - изучение методов получения на ЭВМ равномерно распреде-ленных псевдослучайных чисел и тестов проверки их качества.
2 Теоретические сведения
При моделировании систем на ЭВМ программная имитация случайных воз-действий любой сложности сводится к генерированию некоторых стандартных ( базовых ) процессов и к их последующему функциональному преобразованию. Таким базовым процессом является последовательность чисел {хi} = х0, х1, ¼, хN, представляющих собой реализации независимых, равномерно распределенных на интервале ( 0, 1 ) случайных величин { ei } = e0, e1, ¼, eN. Но на ЭВМ невозможно получить идеальную последовательность случайных чисел потому, что на ней можно оперировать только с конечным множеством чисел. Кроме того, для полу-чения значений х случайной величины e используются формулы ( алгоритмы ). Поэтому такие последовательности, являющиеся по своей сути детерминированны-ми, называются псевдослучайными.
Наибольшее применение в практике моделирования на ЭВМ для генерации последовательностей псевдослучайных чисел находят алгоритмы вида
хi+1 = F ( хi ), ( 1 )
представляющие собой рекуррентные соотношения первого порядка, для которых начальное число х0 и постоянные параметры заданы.
Рассмотрим некоторые процедуры получения последовательностей равномер-но распределенных псевдослучайных чисел.
2.1 Метод серединных квадратов
Пусть имеется 2n-разрядное число, меньшее 1
хi = 0, a1 a2 ¼ a2n.
Возведем его в квадрат
хi2 = 0, b1 b2 ¼ b4n,
а затем отберем средние 2n разрядов, которые и будут являться очередным чис-лом псевдослучайной последовательности
хi+1 = 0, bn+1 bn+2 ¼ b3n.
Этому методу соответствует рекуррентное соотношение
хi+1 = D [ 10-2n Ц [ 103n хi2 ] ], ( 2 )
где D [ × ] и Ц [ × ] означают соответственно дробную и целую часть числа в квадратных скобках.
Недостаток метода - наличие корреляции между числами последовательности, а в ряде случаев случайность вообще может отсутствовать. Кроме того, при не-которых i* может наблюдаться вырождение последовательности, т.е. хi = 0 при
i ³ i*.
2.2 Метод середины произведения
Метод является модификацией метода серединных квадратов и состоит в том, что два 2n-значных числа перемножаются и средние 2n цифр этого произведения принимаются в качестве следующего числа последовательности. Таким образом, если
хi-1 = 0, a1 a2 ¼ a2n,
хi = 0, b1 b2 ¼ b2n,
то для получения числа хi+1 необходимо перемножить хi-1 и хi
хi-1 × хi = 0, c1 c2 ¼ c4n,
а затем отобрать средние 2n цифр этого произведения
хi+1 = 0, cn+1 cn+2 ¼ c3n.
Данному методу соответствует рекуррентное соотношение
хi+1 = D [ 10-2n Ц [ 103n хi × хi-1 ] ] ( 3 )
при заданных двух начальных числах х0 и х1.
Несмотря на то, что данный метод также имеет тенденцию к вырождению, но обеспечивает лучшее качество псевдослучайных чисел, чем у чисел, получен-ных с помощью метода серединных квадратов.