- •Рецензенты:
- •Содержание
- •Введение
- •1. Системный подход к задаче моделирования
- •1.1. Определение системы
- •1.2. Концептуальное определение модели
- •1.3. Классификация моделей
- •1.4. Теоретико-множественное задание моделей
- •Контрольные задания
- •2. Модели диhамичеcкиx cиcтем
- •2.1. Фоpмализация
- •2.2.1. Примеры моделей в виде дифференциальных уравнений.
- •2.3. Инеpционные модели
- •2.4. Модели на оcнове пеpедаточныx функций
- •2.5. Конечные автоматы
- •Контрольные задания
- •3. Моделирование cтоxаcтичеcких объектов
- •3.4. Примеры моделирования cлучайныx объектов
- •3.5. Методы моделирования cлучайныx фактоpов
- •3.6. Проверочные тесты
- •3.7. Имитация cлучайныx cобытий
- •3.8. Имитация непрерывных случайных величин
- •3.9. Фикcация и обpаботка pезультатов моделиpования
- •3.10. Количеcтво pеализаций опытов при имитационном моделированиии
- •Контрольные задания
- •Библиографический список
- •Моделиpоваhие при проектировании информационно-управляющих
3.7. Имитация cлучайныx cобытий
Пусть
события S1,
S2,...,
Sm
образуют полную группу несовместимых
событий, каждое из которых может произойти
с вероятностью Рi,
причем
.
Это означает, что в результате одного
опыта может произойти лишь одно из
событий S1,
S2,...,
Sm.
Рассмотрим метод и алгоритм имитации
данных случайных событий.
Разбиваем отрезок [0,1] на m частей длиной Р1, Р2,..., Рm, при этом точки деления отрезка имеют следующие координаты:
,
как это показано на рис. 3.19.
Рис. 3.19
Имитация осуществляется следующим образом. Пусть теперь Х — очередное число от датчика псевдослучайных, квазиравномерно распределенных чисел, который далее для упрощения будем называть генератором случайных чисел.
Если число генератора Аk-1Х<Аk, то считаем, что произошло событие Sk. Действительно
Р(Sk)=Р(Ak-1<Х<Ak)=Ak‑Ak-1=Рk.
Алгоритм имитации несовместимых событий S1, S2,..., Sm, образующих полную группу, рассмотрим для случая m=5. Схема алгоритма приведена на рис. 3.20.
Рис. 3.20
На каждом такте моделирования случайное число Х сравнивается со значениями А1, А2, А3, А4, А5 в блоках 4, 6, 8, 10 соответственно.
Если случайное число ХА1, то произошло событие S1 и содержимое счетчика K[1] увеличивается на единицу. Если случайное число ХА2, то произошло событие S2 и содержимое счетчика K[2] увеличивается на единицу и т.д. События S1, S2,..., Sm могут образовывать неполную группу несовместимых событий. Если событие Si происходит с вероятностью Рi, то для этих событий
.
Для
имитации событий S1,
S2,...,
Sm,
образовывающих неполную группу,
необходимо ввести дополнительное
событие S0,
с которым связано непоявление ни одного
из вышеперечисленных событий. Вероятность
события S0
определится по формуле
.
После введения события S0
имитация неполной группы событий
осуществляется по аналогии с рассмотренной
выше имитацией событий, образующих
полную группу несовместимых событий.
Рассмотрим ситуацию, когда осуществляется имитация зависимых событий. Событие В будет зависеть от события А, если после наступления события А событие В может произойти с условной вероятностью Р(В/А).
Метод и алгоритм имитации рассмотрим на примере.
Пусть события S1, S2, S3, S4 образуют полную группу независимых событий. Если происходит событие S1, то с вероятностью Р(U1/ S1)=Р11 может произойти событие U1. Если происходит событие S2, то с вероятностью Р(H1/S2)=Р12 может произойти событие H1 и с вероятностью Р(H2/S2)=Р22 может произойти событие H2, причем события H1 и H2 образуют полную группу событий. Если происходит событие S4, то с вероятностью Р(D1/S4)=Р14 может произойти событие D1.
На рис. 3.21 приведен граф событий.
Рис. 3.21
На рис. 3.22 приведена схема алгоритма имитации рассмотренной системы случайных событий.
После генерации случайного числа Х (см. блок 3) в блоке 4 проверяется условие появления события А1.
Рис. 3.22
Если событие А1 произошло, то содержимое счетчика KS[1] увеличивается на единицу (см. блок 5) и генерируется случайное число Х (см. блок 6). В блоке 7 проверяется условие появления события U1. Если событие U1 произошло, то содержимое счетчика KU[1] увеличивается на единицу (см. блок 8). Если событие А1 не произошло, то в алгоритме выполняется переход от блока 4 к блоку 9 и проверяется условие появления события А2. Если событие А2 произошло, то содержимое счетчика KS[2] увеличивается на единицу (см. блок 10) и генерируется случайное число Х (см. блок 11).
В блоке 12 проверяется условие появления события H1. Если событие H1 произошло, то содержимое счетчика KH[1] увеличивается на единицу (см. блок 13). Если событие H1 не произошло, то считается, что произошло событие H2, так как события H1 и H2 составляют полную группу. Содержимое счетчика KH[2] увеличивается на единицу (см. блок 14).
Если событие А2 не произошло, то в алгоритме выполняется переход от блока 9 к блоку 15 и проверяется условие появления события А3. Если событие А3 произошло, то содержимое счетчика KS[3] увеличивается на единицу (см. блок 16).
Если событие А3 не произошло, то считается, что произошло событие А4. Содержимое счетчика KS[4] увеличивается на единицу (см. блок 17) и генерируется случайное число Х (см. блок 18). В блоке 19 проверяется условие появления события D1. Если событие D1 произошло, то содержимое счетчика KD[1] увеличивается на единицу (см. блок 20). В блоке 21 осуществляется контроль выполнения цикла по переменной N.
