Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций Моделирование систем.doc
Скачиваний:
52
Добавлен:
15.04.2019
Размер:
1.38 Mб
Скачать

5.4.Моделирование случайных воздействий на системы

Моделирование случайных событий. Произошло или нет событие A? Чтобы ответить на этот вопрос, надо знать вероятность p события A. Разыграем случайное число R от 0 до 1, и если оно оказалось меньше p, будем считать, что событие произошло, а если больше p — не произошло.

Какое из нескольких событий появилось? Пусть события несовместны и образуют полную группу. Тогда сумма вероятностей равна единице. Разделим интервал на k участков длины . На какой из участков попало число R — то событие и появилось.

Моделирование непрерывных случайных величин. Если случайная величина X дискретна, т.е. имеет значения с вероятностями , то, очевидно, случай сводится к предыдущему. Если случайная величина непрерывна? Чтобы разыграть ее значение, достаточно осуществить следующую процедуру: перейти от плотности вероятности к функции распределения по формуле

(5.1)

затем найти для функции F обратную ей функцию . Затем разыграть случайное число R от 0 до 1 и взять от него эту обратную функцию:

.

Можно доказать (принимаем без доказательства), что полученное значение X имеет как раз нужное нам распределение f(x).

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

В соответствии с (5.1) имеем

где — случайное число, имеющее равномерное распределение в интервале от 0 до 1. Откуда

Так как величина также имеет равномерное распределение на отрезке от 0 до 1, то выражение для может быть записано другим способом:

Этот метод получения случайных чисел имеет ограниченную сферу применения, что объясняется следующими обстоятельствами:

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

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

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

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

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