УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ТК
Отчет по лабораторной работе №4-5
Получение на ЭВМ равномерно распределенных
псевдослучайных чисел
Выполнили: студенты гр.Т28-319
Андреяшкин И.В.
Сивокобыленко О.В.
Плюхин В.В.
Проверила: Валеева Г.Р.
УФА 2003
Цель работы - изучение методов получения на ЭВМ равномерно распреде-ленных псевдослучайных чисел и тестов проверки их качества.
Метод середины произведения
Метод состоит в том, что два 2n-значных числа перемножаются и средние 2n цифр этого произведения принимаются в качестве следующего числа последовательности. Таким образом, если
хi1 = 0, a1 a2 a2n,
хi = 0, b1 b2 b2n,
то для получения числа хi+1 необходимо перемножить хi1 и хi
хi1 хi = 0, c1 c2 c4n,
а затем отобрать средние 2n цифр этого произведения
хi+1 = 0, cn+1 cn+2 c3n.
Данному методу соответствует рекуррентное соотношение
хi+1 = D [ 102n Ц [ 103n хi хi-1 ] ] ( 3 )
при заданных двух начальных числах х0 и х1.
Мультипликативный метод
Для машинной реализации наиболее удобна версия М = pg, где p - число цифр в системе счисления, принятой в ЭВМ, а g - число бит в машинном слове.
Алгоритм построения последовательности для двоичной машины М = 2g сво-дится к выполнению следующих операций:
1) выбрать в качестве Х0 произвольное нечетное число;
2) вычислить коэффициент = 8t 3, где t - любое целое положительное число;
3) найти произведение Х0, содержащее не более 2g значащих разрядов;
4) взять g младших разрядов в качестве первого числа последовательности Х1, а остальные отбросить;
5) определить дробь х1 = Х1 / 2g из интервала ( 0, 1 );
6) присвоить Х0 = Х1;
7) вернуться к пункту 3.
Тесты проверки случайности
На практике обычно применяют два теста проверки случайности: тест проверки серий и тест проверки частот и пар.
Тест проверки серий предусматривает разбиение случайных цифр в исследуемой последовательности на элементы двух родов - первого и второго.
Серией называется любой отрезок последовательности цифр, состоящий из следующих друг за другом элементов одного и того же рода. Например, если в последовательности цифр
1, 2, ,k k + 1, k + 2, ,k + k ++ 1, k++2, ,s
серия 1-го серия 2-го серия 1-го
рода длины k рода длины рода длины s - k -
1 2 k k + 1, k + 1 k + 2 k + и k + k ++ 1 s, то цифры 1, 2, ,k образуют серию первого рода длины k, цифры k + 1, k + 2, ,k + образуют серию второго рода длины и цифры k ++ 1, k++ 2, ,s также обра-зуют серию первого рода длины s - k -. Иногда для удобства элементы серий первого рода обозначают знаками ( минус ), а второго рода - знаками + ( плюс ). В этом случае рассматриваемая последовательность будет иметь такой вид:
+ + +
k минусов плюсов s - k - минусов
Подсчитаем количество серий второго рода длины в последовательности псевдослучайных цифр 1, 2, ,N. Пусть = 1, 2, , m и - количество серий второго рода с m + 1 ( они объединяются в одну группу ). Обозначим общее количество серий через
= + + + + .
Величина с m степенями свободы вычисляется по формуле:
( 11 )
где