Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Получение на ЭВМ равномерно распределенных псевдослучайных чисел. Отчет.doc
Скачиваний:
39
Добавлен:
25.05.2014
Размер:
162.3 Кб
Скачать

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра ТК

Отчет по лабораторной работе №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, ,kk + 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 )

где