Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Пучкова ( на печать).doc
Скачиваний:
24
Добавлен:
24.09.2019
Размер:
701.95 Кб
Скачать

Получение случайных чисел с заданным законом распределения

Псевдослучайные числа могут быть использованы в качестве исходного материала для моделирования любых вероятностных объектов (случайные события и связанные с ними процессы).

Пусть, например, событие А имеет вероятность Р(А), тогда процедура его моделирования с помощью равномерно распределенных в интервале (0, 1) чисел производится так:

  1. Выбирается очередное случайное число xi.

  2. Проверкой неравенства xi Р(А) устанавливается принадлежность этого числа отрезку [0, Р(А)]. Если неравенство выполнено, то говорят, что событие А наступило, в противном случае – не наступило.

Аналогично выглядит процедура моделирования на ЭВМ дискретной случайной величины с заданным законом распределения:

Разобьем интервал (0, 1) на n интервалов, длины которых выберем равными р1, р2, …, рn.

Координаты точек

Моделирование сводится к следующему: для получения очередного значения Z вырабатывается очередное xi и при попадании его в j-ый интервал считается, что Z приняло значение Zj.

Все разнообразие методов получения случайных чисел можно разделить на 2 группы: точные и приближенные методы.

Пусть равномерно распределенная в интервале (0, 1) величина X получается из случайной величины Y с помощью неслучайной функции (y), тогда очевидно неравенство:

.

Выражая левую и правую части через соответствующие плотности распределения и учитывая, что f(x)=1, получаем:

.

Учитывая далее, что по определению , где а – произвольное число, F(y) – интегральная функция распределения случайной величины Y. Кроме того, очевидно, что F(a)=0.

Найдем окончательно вид функции (y) = F(y), совпадающее с интегральным законом. Для получения очередного значения yi случайной величины Y, распределенной в интервале (a, b) с законом распределения f(y) соответствующего значению xi необходимо решить уравнение:

(1).

Пример. Пусть необходимо получить случайные числа с последовательным законом распределения, т.е. используя соотношение (1), имеем:

Можно привести другие примеры использования выражения (1). Однако, подобная методика находит ограниченное применение благодаря двум обстоятельствам:

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

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

Рассмотрим один из универсальных приближенных способов.

Пусть закон распределения случайной величины Y, предложенной для моделирования, задан функцией плотности f(y), возможные значения которой в интервале (a, b). Если этот интервал с бесконечными границами, то целесообразно перейти к усеченному распределению, оставив лишь существенную часть.

Представим f(y) на участке (a, b) в виде кусочно-постоянной функции, т.е. разобьем (a, b) на n интервалов и будем считать f(y) на каждом интервале постоянной, тогда случайную величину Y можно представить в виде: Y=ak + Xk, т.е. на каждом участке (ak, ak+1) величина Xk считается распределенной равномерно (см. рисунок).

Чтобы аппроксимировать f(y) наиболее удобным способом целесообразно разбить (a, b) на интервалы таким образом, чтобы вероятность попадания случайной величины Y в любой интервал (ak, ak+1) была постоянной, т.е. не зависела от номера интервала k. Для вычисления пользуются следующим соотношением: , где n – количество интервалов обычно принимаемое равным 2m, где m – целое положительное число.

Процедура моделирования предполагает следующее:

  1. Выбирается случайное равномерно распределенное число xi.

  2. С помощью xi выбирается интервал (ak, ak+1).

  3. Берется следующее равномерно распределенное число xi+1 и масштабируется с целью приведения к интервалу (ak, ak+1), т.е. xi+1 становится случайной величиной, равномерно распределенной в интервале (ak, ak+1). Случайное число yi с требуемым законом распределения находится по формуле: yi = ak + xi+1 (ak+1 - ak).

Рассмотрим процесс выборки интервала (ak+1 - ak)с помощью xi. Случайное число xi получается на ЭВМ в виде последовательности 0 и 1. Если m – разрядность двоичного числа, то всего чисел будет 2m и каждому интервалу (ak+1 - ak) можно поставить в соответствие только одно двоичное число, что значительно упрощает процедуру выбора интервала (ak+1 - ak).

Для реализации данного метода на ЭВМ требуется небольшое количество операций, причем число операций не зависит от точности аппроксимации, т.е. от количества интервалов n. Точность аппроксимации (количество n) влияет только на размеры участка памяти, куда помещается таблица закодированных значений ak. Этот способ находит широкое распространение в практике имитационного моделирования.