Разыгрывание дискретных случайных величин. Разыгрывание дискретных и непрерывных случайных величин Разыгрывание дискретной случайной величины

ЛАБОРАТОРНАЯ РАБОТА ММ- 03

РАЗЫГРЫВАНИЕ ДИСКРЕТНЫХ И НЕПРЕРЫВНЫХ СВ

Цель работы: изучение и программная реализация методов разыгрывания дискретных и непрерывных СВ

ВОПРОСЫ ДЛЯ ИЗУЧЕНИЯ ПО КОНСПЕКТУ ЛЕКЦИЙ:

1. Дискретные случайные величины и их характеристики.

2. Разыгрывание полной группы случайных событий.

3. Разыгрывание непрерывной случайной величины методом обратной функции.

4. Выбор случайного направления в пространстве.

5. Стандартное нормальное распределение и его пересчет для заданных параметров.

6. Метод полярных координат для разыгрывания нормального распределения.

ЗАДАЧА 1. Сформулировать (письменно) правило разыгрывания значений дискретной СВ, закон распределения которой задан в виде таблицы. Составить подпрограмму-функцию для разыгрывания значений СВ с использованием БСВ, получаемых от подпрограммы ГСЧ. Разыграть 50 значений СВ и вывести их на экран.

Где N – номер варианта.

ЗАДАЧА 2. Дана функция плотности распределения f(x) непрерывной случайной величины X.

В отчете записать формулы и вычисление следующих величин:

А) константу нормировки;

Б) функцию распределения F(x);

В) математическое ожидание M(X);

Г) дисперсию D(X);

Д) формулу для разыгрывания значений СВ по методу обратной функции.

Составить подпрограмму-функцию для разыгрывания заданной СВ и получить 1000 значений этой СВ.

Построить гистограмму распределения полученных чисел по 20 отрезкам.

ЗАДАЧА 3. Составить процедуру, позволяющую разыграть параметры случайного направления в пространстве. Разыграть 100 случайных направлений в пространстве.

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

Письменный отчет по лабораторной работе должен содержать:

1) Название и цель работы, группу, фамилию и номер варианта студента;

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

Отлаженные программные файлы сдаются вместе с письменным отчетом.

ПРИЛОЖЕНИЕ

Варианты плотности распределения непрерывной СВ

Вар-т

Плотность распределения СВ

Вар-т

Плотность распределения СВ

Из всех случайных величин проще всего разыгрывать (моделировать) равномерно распределенную величину . Рассмотрим, как это делается.

Возьмем какое-то устройство, на выходе которого с вероятностью могут появляться цифры 0 или 1; появление той или другой цифры должно быть случайным. Таким устройством может быть бросаемая монета, игральная кость (четно - 0, нечетно - 1) или специальный генератор, основанный на подсчете числа радиоактивных распадов или всплесков радиошума за определенное время (четно или нечетно).

Запишем у как двоичную дробь и на место последовательных разрядов будем ставить цифры, выдаваемые генератором: например, . Поскольку в первом разряде с равной вероятностью могут стоять 0 или 1, это число с равной вероятностью лежит в левой или правой половине отрезка . Поскольку во втором разряде тоже 0 и 1 равновероятны, число с равной вероятностью лежит в каждой половине этих половин и т. д. Значит, двоичная дробь со случайными цифрами действительно с равной вероятностью принимает любое значение на отрезке

Строго говоря, разыграть можно только конечное количество разрядов k. Поэтому распределение будет не вполне требуемым; математическое ожидание окажется меньше 1/2 на величину (ибо значение возможно, а значение невозможно). Чтобы этот фактор не сказывался, следует брать многоразрядные числа; правда, в методе статистических испытаний точность ответа обычно не бывает выше 0,1% -103, а условие дает что на современных ЭВМ перевыполнено с большим запасом.

Псевдослучайные числа. Реальные генераторы случайных чисел не свободны от систематических ошибок: несимметричность монеты, дрейф нуля и т. д. Поэтому качество выдаваемых ими чисел проверяют специальными тестами. Простейший тест - вычисление для каждого разряда частоты появления нуля; если частота заметно отлична от 1/2, то имеется систематическая ошибка, а если она слишком близка к 1/2, то числа не случайные - есть какая-то закономерность. Более сложные тесты - это вычисление коэффициентов корреляции последовательных чисел

или групп разрядов внутри числа; эти коэффициенты должны быть близкими к нулю.

Если какая-то последовательность чисел удовлетворяет этим тестам, то ее можно использовать в расчетах по методу статистических испытаний, не интересуясь ее происхождением.

Разработаны алгоритмы построения таких последовательностей; символически их записывают рекуррентными формулами

Такие числа называют псевдослучайными и вычисляют на ЭВМ. Это обычно удобнее, чем использование специальных генераторов. Но для каждого алгоритма есть свое предельное число членов последовательности, которое можно использовать в расчетах; при большем числе членов теряется случайный характер чисел, например - обнаруживается периодичность.

Первый алгоритм получения псевдослучайных чисел был предложен Нейманом. Возьмем число из цифр (для определенности десятичных) и возведем его в квадрат. У квадрата оставим средних цифр, откинув последних и (или ) первых. Полученное число снова возведем в квадрат и т. д. Значения получаются умножением этих чисел на Например, положим и выберем начальное число 46; тогда получим

Но распределение чисел Неймана недостаточно равномерно (преобладают значения что хорошо видно на приведенном примере), и сейчас их редко употребляют.

Наиболее употребителен сейчас несложный и неплохой алгоритм, связанный с выделением дробной части произведения

где А - очень большая константа (фигурная скобка обозначает дробную часть числа). Качество псевдослучайных чисел сильно зависит от выбора величины А: это число в двоичной записи должно иметь достаточно «случайный» хотя его последний разряд следует брать единицей. Величина слабо влияет на качество последовательности, но было отмечено, что некоторые значения оказываются неудачными.

При помощи экспериментов и теоретического анализа исследованы и рекомендуются такие значения: для БЭСМ-4; для БЭСМ-6. Для некоторых американских ЭВМ рекомендуются и эти цифры связаны с количеством разрядов в мантиссе и порядке числа, поэтому для каждого типа ЭВМ они свои.

Замечание 1. В принципе формулы типа (54) могут давать очень длинные хорошие последовательности, если записывать их в нерекуррентном виде и все умножения выполнять без округления. Обычное округление на ЭВМ ухудшает качество псевдослучайных чисел, но тем не менее до членов последовательности обычно годятся.

Замечание 2. Качество последовательности улучшается, если ввести в алгоритм (54) небольшие случайные возмущения; например, после нормализации числа полезно засылать в последние двоичные разряды его мантиссы двоичный порядок числа

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

Произвольное распределение. Для разыгрывания случайной величины с неравномерным распределением можно воспользоваться формулой (52). Разыграем у и определим из равенства

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


Сущность метода Монте-Карло состоит в следующем: требуется найти значение а некоторой изучаемой величины. С этой целью выбирают такую случайную величину Х, математическое ожидание которой равно а: М(Х)=а.

Практически же поступают так: вычисляют (разыгрывают) n возможных значений x i случайной величины Х, находят их среднее арифметическое

И принимают в качестве оценки (приближенного значения) а* искомого числа а. Таким образом, для применения метода Монте-Карло необходимо уметь разыгрывать случайную величину.

Пусть требуется разыграть дискретную случайную величину Х, т.е. вычислить последовательность ее возможных значений х i (i=1,2, …), зная закон распределения Х. Введем обозначения: R- непрерывная случайная величина, распределенная равномерно в интервале (0,1); r i (j=1,2,…) – случайные числа (возможные значения R).

Правило: Для того чтобы разыграть дискретную случайную величину Х, заданную законом распределения

Х х 1 х 2 … х n

P p 1 p 2 … p n

1. Разбить интервал (0,1) оси or на n частичных интервалов:

Δ 1 =(0;р 1), Δ 2 =(р 1 ; р 1+ р 2), …, Δ n = (р 1 +р 2 +…+р n -1 ; 1).

2.Выбрать случайное число r j . Если r j попало в частичный интервал Δ i , то разыгрываемая величина приняла возможное значение х i . .

Разыгрывание полной группы событий

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

Правило: Для того чтобы разыграть испытания, в каждом из которых наступает одно из событий А 1, А 2, …, А n полной группы, вероятности которых р 1, р 2 , …, р n известны, достаточно разыграть дискретную величину Х со следующим законом распределения:

P p 1 p 2 … p n

Если в испытании величина Х приняла возможное значение x i =i, то наступило событие А i .

Разыгрывание непрерывной случайной величины

Известна функция распределения F непрерывной случайной величины Х. Требуется разыграть Х, т.е. вычислить последовательность возможных значений х i (i=1,2, …).

А. Метод обратных функций. Правило 1. х i непрерывной случайной величины Х, зная ее функцию распределения F, надо выбрать случайное число r i , приравнять его функции распределения и решить относительно х i полученное уравнение F(х i) = r i .



Если известна плотность вероятности f(x), то используют правило 2.

Правило 2. Для того чтобы разыграть возможное значение х i непрерывной случайной величины Х, зная ее плотность вероятности f, надо выбрать случайное число r i и решить относительно х i уравнение

или уравнение

где а – наименьшее конечное возможное значение Х.

Б. Метод суперпозиции. Правило 3. Для того чтобы разыграть возможное значение случайной величины Х, функция распределения которой

F(x) = C 1 F 1 (x)+C 2 F 2 (x)+…+C n F n (x),

где F k (x) – функции распределения (k=1, 2, …, n), С k >0, С i +С 2 +…+С n =1, надо выбрать два независимых случайных числа r 1 и r 2 и по случайному числу r 1 разыгрывать возможное значение вспомогательной дискретной случайной величины Z (по правилу 1):

p C 1 C 2 … C n

Если окажется, что Z=k, то решают относительно х уравнение F k (x) = r 2 .

Замечание 1. Если задана плотность вероятности непрерывной случайной величины Х в виде

f(x)=C 1 f 1 (x)+C 2 f 2 (x)+…+C n f n (x),

где f k – плотности вероятностей, коэффициенты С k положительны, их сумма равна единице и если окажется, что Z=k, то решают (по правилу 2) относительно х i относительно или уравнение



Приближенное разыгрывание нормальной случайной величины

Правило. Для того чтобы приближенно разыграть возможное значение х i нормальной случайной величины Х с параметрами а=0 и σ=1, надо сложить 12 независимых случайных чисел и из полученной суммы вычесть 6:

Замечание . Если требуется приближенно разыграть нормальную случайную величину Z с математическим ожиданием а и средним квадратическим отклонением σ, то, разыграв возможное значение х i по приведенному выше правилу, находят искомое возможное значение по формуле: z i =σx i +a.

Обозначим равномерно распределенную СВ в интервале (0, 1) через R, а ее возможные значения (случайные числа) - r j .

Разобьем интервал }