
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ТК
Отчет по лабораторной работе №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 )
где