Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №1(full)

.pdf
Скачиваний:
11
Добавлен:
12.04.2015
Размер:
207.05 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Юго-Западный государственный университет»

(ЮЗГУ)

Кафедра вычислительной техники.

УТВЕРЖДАЮ Первый проректор —

проректор по учебной работе

_________ Е.А. Кудряшов «____»____________2011 г.

ПОЛУЧЕНИЕ НА ЭВМ РАВНОМЕРНО РАСПРЕДЕЛЁННЫХ ПСЕВОДСЛУЧАЙНЫХ ЧИСЕЛ.

Методические указания к лабораторным занятиям по дисциплине «Моделирование» для студентов направления подготовки 230101.62

Курск 2011

УДК 621.(076.1)

Составитель: Шеин В.В.

Рецензент:

Кандидат технических наук, доцент Чернецкая И.Е.

Получение на ЭВМ равномерно распределённых псевдослучайных чисел: методические указания к лабораторным

занятиям по дисциплине «Моделирование» / Юго-Зап. гос. ун-т; сост.: В.В. Шеин, Курск, 2011. 14 с.: табл. 2, прилож. 2. Библиогр. с. 12.

Содержат сведения по вопросам генерации псеводслучайных чисел при помощи ЭВМ. Указывается порядок выполнения лабораторной работы, подходы к решению поставленных задач и правила оформления лабораторной работы.

Методические указания соответствуют требованиям программы, утвержденной учебно-методическим объединением по направлению подготовки «Информатика и вычислительная техника».

Предназначены для студентов, обучающихся по направлению подготовки 230101.62.

Текст печатается в авторской редакции

Подписано в печать ________. Формат 60×84 1/16. Бумага офсетная.

Усл. печ. л. _____. Уч.-изд. л______. Тираж ___ экз. Заказ

_____. Бесплатно.

Юго-Западный государственный университет.

305040, г. Курск, ул. 50 лет Октября, 94.

2

1 ЦЕЛЬ РАБОТЫ

Изучение методов получения на ЭВМ равномерно распределенных псевдослучайных чисел и тестирования их качества.

2 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

При моделировании систем на ЭВМ программная имитация случайных воздействий любой сложности сводится к генерированию некоторых стандартных (базовых ) процессов и к их последующему функциональному преобразованию. Таким базовым процессом является последовательность чисел { xi } = x0 , x1 ,K, xN ,

представляющих собой реализации независимых, равномерно

распределенных

на

интервале

(

0,1

случайных

величин

 

 

 

)

 

 

{εi } = ε0 1 ,KN .

Но

на ЭВМ невозможно

получить

идеальную

последовательность случайных чисел потому, что на ней можно оперировать только с конечным множеством чисел. Кроме того, для получения значений x случайной величины ε используются формулы (алгоритмы). Поэтому такие последовательности, являющиеся по своей сути детерминированными, называются псевдослучайными.

Наибольшее применение в практике моделирования на ЭВМ для генерации последовательностей псевдослучайных чисел находят

алгоритмы вида

 

xi+1 = Φ(xi ) ,

(1)

представляющие собой рекуррентные соотношения первого порядка, для которых начальное число x0 и постоянные параметры заданы.

Рассмотрим некоторые процедуры получения последовательностей равномерно распределенных псевдослучайных чисел.

2.1 Метод серединных квадратов

Пусть имеется 2n -разрядное число, меньшее 1 xi = 0, a1 , a2 ,K, a2n .

Возведем его в квадрат

xi 2 = 0,b1,b2 ,K,b4n ,

а затем отберем средние 2n разрядов, которые и будут являться очередным числом псевдослучайной последовательности

xi+1 = 0,bn+1,bn+2 ,K,b3n .

3

Этому методу соответствует рекуррентное соотношение

x

= Д[10−2n Ц[103т x 2

]] ,

(2)

i+1

i

 

 

где Д[·] и Ц [·] означают соответственно дробную и целую часть числа в квадратных скобках.

Недостаток метода - наличие корреляции между числами последовательности, а в ряде случаев случайность вообще может отсутствовать. Кроме того, при некоторых i* может наблюдаться вырождение последовательности, т.е. xi = 0 при i ³ i* .

2.2 Метод середины произведения

Метод является модификацией метода серединных квадратов и состоит в том, что два 2n -значных числа перемножаются и средние 2n цифр этого произведения принимаются в качестве следующего числа последовательности. Таким образом, если

xi−1 = 0, a1 , a2 ,K, a2n ; xi = 0,b1 ,b2 ,K,b2n ,

то для получения числа хi+1 необходимо перемножить xi−1

и xi

 

xi−1 × xi = 0, c1 ,c2 ,K, c4n ,

 

 

а затем отобрать средние 2n цифр этого произведения

 

 

xi+1 = 0, cn+1, cn+2 ,K, c3n .

 

 

Данному методу соответствует рекуррентное соотношение

x

= Д[10−2n Ц[103n x × x

]],

(3)

i+1

i i−1

 

 

при заданных двух начальных числах х0 и х1.

Несмотря на то, что данный метод также имеет тенденцию к вырождению, но обеспечивает лучшее качество псевдослучайных чисел, чем у чисел, полученных с помощью метода серединных квадратов.

2.3 Мультипликативный метод

Широкое применение для получения последовательностей псевдослучайных равномерно распределенных чисел получили конгруэнтные процедуры генерации, которые могут быть реализованы мультипликативным либо смешанным методом. Конгруэнтные процедуры являются чисто детерминированными, т.к. описываются в виде рекуррентного соотношения, когда функция (1) имеет вид

X i = λ X i + μ (mod M ) ,

(4)

4

где X i , λ , μ , M - неотрицательные целые числа.

 

Раскрывая (2),

получим

 

X i

= λi X 0 + (λi −1) μ (λ −1)(mod M ) .

(5)

Если задано начальное значение X 0 , множитель λ и аддитивная константа μ , то (5) однозначно определяет последовательность целых

чисел { X i } ,

составленную

из остатков

от деления

на

M ,

членов

последовательности

{

λi X

0

+ μ

(

)

(

}

 

 

 

 

 

 

 

 

 

 

 

 

 

λi −1

λ −1) .

 

 

 

Таким образом,

 

для

 

любого i ³ 1 справедливо

неравенство

X i M . По

целым

 

числам

 

последовательности

{ X i }

можно

построить последовательность {xi } = { X i

M }

рациональных чисел из

единичного интервала

(

)

 

 

 

 

 

 

 

 

 

 

0,1 .

 

 

 

 

 

 

 

 

 

Мультипликативный

 

метод

задает

последовательность

неотрицательных целых

чисел

{ X i } ,

не превосходящих

M , по

формуле

 

 

 

X i+1 = λ X i (mod M ) ,

 

 

 

 

 

 

 

 

 

 

 

(6)

т.е. это частный случай (4) при μ = 0.

 

 

 

 

 

 

Для машинной реализации наиболее удобна версия M = pg , где

p - число цифр в системе счисления,

принятой в ЭВМ, а g - число

бит в машинном слове.

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм построения последовательности для двоичной

машины M = 2g

сводится к выполнению следующих операций:

выбрать в качестве X 0 произвольное нечетное число;

вычислить

коэффициент

λ = 8t ± 3, где t -

любое целое

положительное число;

 

 

найти произведение λ X 0 ,

содержащее не более

2g значащих

разрядов;

 

 

 

взять g младших разрядов в качестве первого числа последовательности X1 , а остальные отбросить;

определить дробь x1 = X1 2g из интервала (0,1) ;

присвоить X 0 = X1 ; вернуться к пункту 3.

В настоящее время библиотеки стандартных программ ЭВМ для вычисления последовательностей равномерно распределенных

5

P{η X i }

случайных чисел основаны на конгруэнтных процедурах. Последовательность, полученная по мультипликативному методу, хорошо удовлетворяет статистическим критериям проверки качества.

2.4 Методы проверки качества псевдослучайных чисел с равномерным законом распределения

Методы (в дальнейшем, тесты) проверки качества псевдослучайных чисел делятся на три группы:

·тесты проверки «случайности» последовательности псевдослучайных чисел;

·тесты проверки равномерности закона распределения;

·тесты проверки независимости последовательности. Первые два теста основываются на статистических критериях

согласия, из которых наиболее употребительным является статистический критерий согласия χ 2 (Пирсона).

Пусть имеется η - случайная величина, о законе распределения которой выдвигается некоторая гипотеза, X - множество возможных значений η . Разобьем X на m попарно непересекающихся множеств X1 , X 2 ,K, X m таких, что:

= pi > 0 при j = 1, 2,K, m , p1 + p2 + K + pm = P{η X } = 1.

Выберем N независимых значений η12 ,KN и обозначим через ν j количество значений η Î X j . Очевидно, что математическое

 

 

 

 

 

= N × p j .

 

ожидание ν j равно N × p j , т.е. M ν j

 

В качестве меры

отклонения

всех ν j

от N × p j

величина

 

 

 

 

 

 

 

 

 

ν

 

- N × p

2

 

 

m

 

j ) .

 

χ 2 =

(

j

N × p j

 

 

j=1

 

 

 

 

При достаточно большом N величина χ 2

хорошо

закону распределения χ 2

с (m -1)

 

 

 

N

 

степенью свободы:

x

P{χ 2 < x} = k ( x)dx ,

N m 1 0

выбирается

(7)

подчиняется

(8)

где km−1 ( x) - плотность распределения χ 2 с (m -1) степенью свободы.

6

С помощью формулы (8) при заданном уровне значимости β (

обычно β = 0.95) можно определить нижнюю χн2 и верхнюю χв2 границы области возможного принятия гипотезы (доверительного интервала). Для этого нужно решить соответственно следующие уравнения:

P{χN2

< χн2 } = kr ( x)dx = β ;

(9)

 

χн2

 

P{χN2

< χв2 } = kr ( x)dx = γ ,

(10)

 

χв2

 

где γ = 1 − β , r = m −1.

В приложении А решения уравнения

P{χN2 > x} = p ,

где х = χн2 или х = χе2

имеется таблица, в которой приведены

, p = β или p = γ .

2.4.1 Тесты проверки ²случайности²

На практике обычно применяют два теста проверки ²случайности²: тест проверки серий и тест проверки частот и пар.

Тест проверки серий предусматривает разбиение случайных цифр в исследуемой последовательности на элементы двух родов - первого и второго.

Серией называется любой отрезок последовательности цифр, состоящий из следующих друг за другом элементов одного и того же рода. Например, если в последовательности цифр

ε ,ε2 ,Kk

εk + k + ,Kk +l

εk +l+ k +l+2 ,Ks ;

14243

1442443

1442443

серия1−го рода длины k

серия 2−го рода длины l

серия1−го рода длины sk l

ε1 ¹ ε2 ¹ K ¹ εk ¹ εk +1 εk +1 = εk +2 = K = εk +l εk +l ¹ εk +l+1 ¹ K ¹ ε s ,

то цифры ε12 ,Kk образуют серию первого рода длины k , цифры

εk +1 k +2 ,Kk +l

образуют серию второго рода длины l и цифры

εk +l+1k +l+2 ,Ks

также образуют серию первого рода длины s k l .

Иногда для удобства элементы серий первого рода обозначают знаками «-» ( минус ), а второго рода - знаками «+» ( плюс ). В этом случае рассматриваемая последовательность будет иметь такой вид:

- -K - + +K + - -K - .

14243

14243

14243

k минусов

l плюсов

sk l минусов

7

Подсчитаем количество zl серий второго рода длины l в

последовательности

псевдослучайных цифр ε12 ,KN . Пусть

l = 1, 2,K, m и

-

количество серий второго рода с l ³ m +1 (они

zm+1

объединяются в одну группу). Обозначим общее количество серий через z = z1 + z2 +K + zm + zm¢ +1 .

Величина χ

2 с m степенями свободы вычисляется по формуле:

 

 

z

 

( z

 

- p z )2

 

( z¢

 

 

z )2

 

 

 

 

m

 

+

- p¢

 

 

 

χz2 =

 

l

l

m+1

p¢

m+1

,

(11)

 

 

 

l=1

 

 

p z

 

 

z

 

 

где p = 9 ×10l , p¢

 

 

 

l

 

 

m+1

 

 

 

 

= 10m.

 

 

 

 

 

 

 

 

l

m+1

 

 

 

 

 

 

 

 

 

 

Если, с заданным уровнем значимости β , значение χ 2

попадает

 

 

 

 

 

 

 

 

 

 

 

z

 

в доверительный интервал, то тест проверки серий удовлетворяется. В практике встречается также другая разновидность теста

проверки серий, когда к элементам серий первого рода относят цифры, меньшие 0.5, а к элементам серий второго рода - не меньшие

0.5.

 

 

 

 

 

 

 

 

ε12 ,KN (

При достаточно большом объеме выборки

практически при N ³ 20 )

и уровне

значимости

β = 0.95нижний

предел zн общего числа серий равен:

 

 

 

 

 

 

 

zн = 1

( N +1 -1.65

 

 

 

),

 

 

 

 

N -1

 

(12)

2

 

 

 

 

 

 

 

 

 

а нижний предел числа серий элементов первого z

н

и второго zн

 

 

 

 

 

 

 

п. р.

в. р.

родов равен:

 

( N -1.65

 

 

).

 

 

zпн. р. = zвн. р.

= 1

 

 

 

N +1

 

(13)

 

4

 

 

 

 

 

 

 

 

Максимальная длина серий не должна быть больше, чем

lmax. = 3.3(lg N +1) .

 

(14)

2.4.2 Тест проверки равномерности закона распределения

Данный тест строится на основе применения критерия согласия χ 2 . Пусть имеется выборка ε12 ,KN псевдослучайных чисел в интервале (0,1) . Интервал (0,1) изменения случайной величины ε e

разбивается на m интервалов x j , j = 1, 2,Km , очевидно, что xm = 1, а

нижняя граница первого интервала равна нулю. Обычно принимают m = 10K20 .

8

Далее

производится

определение

вероятности

p j попадания

случайной

величины ε

в

j

интервал. Для равномерного на

интервале

(0,1)

закона

распределения p j = x j

x j−1 . Затем

определяется величина ν j , j = 1, 2,Km -

число попаданий случайной

величины ε в j -й интервал и подсчитывается величина

 

 

 

 

 

m

ν

 

p

 

N

)

2

 

 

 

 

 

 

 

 

 

 

 

χN2 =

(

j

 

j

 

,

 

 

 

 

 

j=1

 

 

p j N

 

 

 

 

распределенная по

закону

χ 2

 

с

m −1

степенью

свободы. По

заданному уровню значимости β путем решения уравнений (9) и (10) (с помощью таблицы, приведенной в приложении А) можно определить нижнюю χн2 и верхнюю χв2 границы доверительного интервала. Если подсчитанное значение χN2 не попадает в доверительный интервал, то гипотезу о равномерном законе

распределения случайной величины ε

следует отвергнуть.

Дополнительно

можно

 

 

подсчитать

эмпирическое

математическое ожидание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

ε j

 

 

 

 

 

 

 

 

 

 

=

j=1

 

 

 

 

 

 

 

 

ε

 

,

 

 

 

(15)

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

и эмпирическую дисперсию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

S 2

=

1

(ε j

 

)2

 

 

ε

,

(16)

 

 

 

 

 

N −1 j=1

 

 

 

 

 

 

и сравнить их с теоретическими значениями соответственно 0.5 и 112 .

Для математического ожидания можно для заданного уровня значимости β определить также доверительный интервал:

0.5 − δ ≤

ε

≤ 0.5 + δ ,

(17)

где δ определяется из уравнения:

 

(

 

 

δ

 

) = β .

 

 

12

N

(18)

Значения интеграла

вероятностей Φ ( x)

приведены в

приложении Б.

Полезно бывает сравнить также теоретическую функцию распределения F ( x) и теоретическую плотность распределения f ( x)

9

xmax
( xmin , xmax )
F * ( x)

случайной величины ε с экспериментально полученными функцией распределения F * ( x) и гистограммой частот.

Известно, что для случайной величины, равномерно распределенной на интервале (0,1) :

0

при

x < 0

F ( x) = x

при

0 ≤ x ≤ 1;

 

при

x > 1

1

f ( x) = 1

при

0 ≤ x ≤ 1 .

0

при

x < 0, x > 1

По известной выборке из N N значений случайной величины ε экспериментальная функция распределения определяется следующим образом:

F * (x) = SN ( x) , N

где SN ( x) равно количеству значений ε < x .

Гистограмма частот, являющаяся аналогом плотности распределения, строится следующим образом. Весь интервал от наименьшего значения xmin до наибольшего значения полученной выборки случайной величины разбивается на q q равных промежутков длины h . Затем определяется число значений ν i выборки, попавших в i -ый промежуток, после чего для каждого 1 ≤ i q строится прямоугольник с основанием на i -ом промежутке и высотой vi h . Полученный чертеж называется гистограммой частот или просто гистограммой. Отметим, что при таком построении площадь i -го прямоугольника равна h(ν i h) = vi , т.е. числу значений

случайной величины, попавших в i -ый промежуток, а площадь всей гистограммы равна объему выборки.

2.4.3 Тесты проверки независимости последовательности псевдослучайных чисел

В основе этих методов лежит представление полученных псевдослучайных чисел в качестве реализации дискретного стационарного случайного процесса x (t ) .

Для количественной оценки степени некоррелированности последовательности псевдослучайных чисел ε12 ,KN применяется

10