3. Метод кусочной аппроксимации
Существуют
различные приближенные приемы моделирования случайных величин: численное решение
уравнения
относительно
при
использовании метода нелинейного преобразования, обратного функции
распределения; замена непрерывных распределений соответствующими дискретными
распределениями, для которых можно указать достаточно простые моделирующие
алгоритмы, и другие приемы [10, 23]. Среди них универсальным и наиболее простым
является метод кусочной аппроксимации, предложенный Н. П. Бусленко [11].
Сущность
этого метода состоит в следующем. Пусть требуется получить случайную величину
с функцией плотности
. Предположим, что
область возможных значений величины
ограничена интервалом
(неограниченное распределение
можно приближенно заменить ограниченным). Разобьем интервал
на
достаточно малых интервалов
, так, чтобы
распределение заданной случайной величины в пределах этих интервалов можно было
довольно точно аппроксимировать каким-нибудь простым распределением, например равномерным,
трапецеидальным и т. д. В дальнейшем рассмотрим кусочную аппроксимацию
равномерным распределением (рис. 1.3).
Пусть
— вероятность попадания
случайной величины
в
каждый из интервалов
.
Получать реализации величины
с кусочно-равномерным распределением
можно, очевидно, в соответствии со следующей схемой преобразования случайных
чисел: 1) случайным образом с вероятностью
выбирается интервал
; 2) формируется реализация
случайной величины,
равномерно распределенной в интервале
; 3) искомая реализация
получается по формуле
.
Случайный
выбор интервала
с
вероятностью
означает,
по существу, моделирование дискретной случайной величины, принимающей
значений
, с вероятностью
каждое, что можно
сделать достаточно просто [11]. Интервал
разбивается на
интервалов
длиной
каждый. Из датчика случайных
равномерно распределенных в интервале (0, 1) чисел выбирается некоторая
реализация
. Путем
последовательного сравнения
с
определяется тот интервал
, в котором оказывается
.
Рис. 1.3.
В основу
этого процесса положен очевидный факт: вероятность попадания равномерно
распределенной в интервале
случайной величины в некоторый подинтервал
равна длине
этого подинтервала. Рассмотренный выше процесс представляет интерес не только
как составной элемент метода кусочной аппроксимации, он широко используется в
качестве алгоритма для моделирования дискретных случайных величин и случайных
событий [10, 11].
Для
моделирования случайных величин методом кусочной аппроксимации наиболее удобно
при машинной реализации выбирать вероятности попадания во все интервалы
одинаковыми
, а число
таким, что
, где
— целое число, меньше
или равное количеству двоичных разрядов чисел, вырабатываемых датчиком
случайных чисел [10, 11]. В этом случае величины
должны быть выбраны такими, чтобы
.
При
равенстве вероятностей
для случайного выбора индекса
можно использовать
первые
разрядов
числа, извлекаемого из датчика равномерно распределенных случайных чисел.
Используя
рассмотренный прием, приходим к следующему способу преобразования равномерно
распределенных случайных чисел в случайные числа с заданным законом
распределения.
Из
датчика равномерно распределенных в интервале (0, 1) случайных чисел
извлекается пара реализаций
. Первые
разрядов числа
используются для нахождения
адресов ячеек, в которых хранятся величины
и
, а затем по формуле
получается реализация
случайной величины
с заданным законом
распределения. Такой алгоритм является довольно экономичным по количеству
требуемых операций, которое не зависит от числа
, т. е. не зависит от точности кусочной
аппроксимации. Однако с увеличением точности аппроксимации возрастает
количество ячеек памяти, требуемое для хранения величин
,
, что является недостатком рассмотренного
метода, в особенности при больших
.