- •Конспект лекций По дисциплине «Моделирование систем» Содержание
- •1.Системы и моделирование
- •1.1.Система как предмет моделирования
- •1.2.Модели
- •1.3.Математическое моделирование
- •2.Математические схемы моделирования систем
- •2.1.Основные подходы к построению математических моделей систем
- •2.2.Задачи теории массового обслуживания
- •2.3.Поток заявок. Время обслуживания
- •2.4.Простейшие смо и их характеристики
- •3.Этапы машинного моделирования систем
- •3.1.Построение концептуальной модели системы и ее формализация
- •3.2.Алгоритмизация модели системы и ее машинная реализация
- •3.3.Получение и интерпретация результатов моделирования системы
- •4.Принципы имитационного моделирования сложных систем
- •4.1.Понятие модельного времени
- •4.2.Способы имитации
- •4.3.Моделирующий алгоритм
- •5.Моделирование случайных факторов
- •5.1.Принципы моделирования случайных элементов
- •5.2.Требования к генератору случайных чисел
- •5.3.Методы построения программных датчиков бсв
- •5.4.Моделирование случайных воздействий на системы
- •6.Программные средства моделирования систем
- •6.1.Машинная реализация имитационных моделей
- •6.2.Классификация языков моделирования
- •6.3.Средства языков моделирования
- •7.Язык и система моделирования gpss
- •7.1.Транзакты
- •7.2.Списки
- •Процедура просмотра списка текущих событий:
- •7.3.Устройства
- •7.4.Многокнальные устройства (мку)
- •7.5.Логические ключи
- •7.6.Очереди и регистраторы очередей
- •7.7.Таблицы
- •7.8.Ячейки (Сохраняемые величины)
- •7.9.Матрицы
- •7.10.Функции
- •7.11.Переменные
- •8.Обработка результатов имитационного моделирования
- •8.1.Точечные оценки неизвестных параметров
- •8.2.Статистические методы обработки
- •8.3.Задачи обработки результатов моделирования
- •9.Планирование имитационных экспериментов
- •9.1.Общие принципы и задачи планирования экспериментов
- •9.2.Планирование экспериментов по исследованию систем методами дисперсионного анализа
- •10 Тактическое планирование машинных экспериментов с моделями систем
- •10.1 Стратегии запуска
- •10.1.1 Задание начальных условий
- •10.1.2 Процедуры отсечения
- •10.2 Определение объема имитационных экспериментов
- •9.3.Методы понижения дисперсии
- •Дополняющая выборка
- •Общие потоки случайных чисел
- •Использование априорной информации
- •Использование управляющих переменных
- •9.4.Правила остановки
- •10.Планирование экспериментов по оптимизации систем
- •10.1.Общие положения
- •10.2.Метод крутого восхождения
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, то выражение для может быть записано другим способом:
Этот метод получения случайных чисел имеет ограниченную сферу применения, что объясняется следующими обстоятельствами:
для многих законов распределения, встречающихся в практических задачах моделирования, интеграл не берется, т.е. приходится прибегать к численным методам, что увеличивает затраты машинного времени на получение каждого случайного числа;
даже для случаев, когда интеграл берется в конечном виде, получаются формулы, содержащие действия логарифмирования, извлечения корня и т.д., которые выполняются с помощью стандартных подпрограмм ЭВМ, содержащих много исходных операций (сложения, умножения и т.п.), что также резко увеличивает затраты машинного времени на получение каждого случайного числа.
Поэтому в практике моделирования систем часто пользуются приближенными способами преобразования случайных чисел, которые можно классифицировать следующим образом: универсальные (например, основанный на кусочной аппроксимации функции плотности) способы, с помощью которых можно получать случайные числа с законом распределения любого вида; неуниверсальные (например, на основе предельных теорем вероятности) способы, пригодные для получения случайных чисел с конкретным законом распределения.
К счастью, для всех основных распределений, не имеющих явного представления обратной функции, разработаны специальные методы генерации. Применяемые в Pascal (Simulation) методы получения случайных выборок из наиболее часто используемых распределений будут рассмотрены далее.
Рассмотренные выше способы имитации случайных факторов являются далеко не полным перечнем способов моделирования различных возможных случайных ситуаций, возникающих в сложных системах; они наиболее характерны для рассматриваемого класса систем.