Итак, снова модель марковского процесса представим в виде графа, в котором состояния (вершины) связаны между собой связями (переходами из i-го состояния в j-е состояние), см. рис. 33.10.
Рис. 33.10. Пример графа марковского процесса с непрерывным временем
Теперь каждый переход характеризуется плотностью вероятности перехода λij. По определению:
При этом плотность понимают как распределение вероятности во времени.
Переход из i-го состояния в j-е происходит в случайные моменты времени, которые определяются интенсивностью перехода λij.
К интенсивности переходов (здесь это понятие совпадает по смыслу с распределением плотности вероятности по времени t) переходят, когда процесс непрерывный, то есть, распределен во времени.
С интенсивностью потока (а переходы — это поток событий) мы уже научились работать в лекции 28. Зная интенсивность λij появления событий, порождаемых потоком, можно сымитировать случайный интервал между двумя событиями в этом потоке.
где τij — интервал времени между нахождением системы в i-ом и j-ом состоянии.
Далее, очевидно, система из любого i-го состояния может перейти в одно из нескольких состояний j, j + 1, j + 2, …, связанных с ним переходами λij, λij + 1, λij + 2, ….
В j-е состояние она перейдет через τij; в (j + 1)-е состояние она перейдет через τij + 1; в (j + 2)-е состояние она перейдет через τij + 2 и т. д.
Ясно, что система может перейти из i-го состояния только в одно из этих состояний, причем в то, переход в которое наступит раньше.
Поэтому из последовательности времен: τij, τij + 1, τij + 2 и т. д. надо выбрать минимальное и определить индекс j, указывающий, в какое именно состояние произойдет переход.
Пример. Моделирование работы станка. Промоделируем работу станка (см. рис. 33.10), который может находиться в следующих состояниях: S0 — станок исправен, свободен (простой); S1 — станок исправен, занят (обработка); S2 — станок исправен, замена инструмента (переналадка) λ02 < λ21; S3 — станок неисправен, идет ремонт λ13 < λ30.
Зададим значения параметров λ, используя экспериментальные данные, получаемые в производственных условиях: λ01 — поток на обработку (без переналадки); λ10 — поток обслуживания; λ13 — поток отказов оборудования; λ30 — поток восстановлений.
Реализация будет иметь следующий вид (см. рис. 33.11).
Рис. 33.11. Пример моделирования непрерывного марковского процесса с визуализацией на временной диаграмме (желтым цветом указаны запрещенные, синим — реализовавшиеся состояния)
В частности, из рис. 33.11 видно, что реализовавшаяся цепь выглядит так: S0—S1—S0—… Переходы произошли в следующие моменты времени: T0—T1—T2—T3—…, где T0 = 0, T1 = τ01, T2 = τ01 + τ10.
Задача. Поскольку модель строят для того, чтобы на ней можно было решить задачу, ответ которой до этого был для нас совсем не очевиден (см. лекцию 01), то сформулируем такую задачу к данному примеру. Определить долю времени в течение суток, которую занимает простой станка (посчитать по рисунку) Tср = (T + T + T + T )/N.
Алгоритм имитации будет иметь следующий вид (см. рис. 33.12).
Рис. 33.12. Блок-схема алгоритма моделирования непрерывного марковского процесса на примере имитации работы станка
Очень часто аппарат марковских процессов используется при моделировании компьютерных игр, действий компьютерных героев.
33. Лекция 34. Фиксация и обработка статистических результатов
В лекции 21 мы подробно познакомились со схемой статистического компьютерного эксперимента. В лекциях 21—26 мы рассмотрели практическую реализацию всех основных блоков (см. рис. 21.3) этой схемы. Сейчас важно научиться организовывать работу последних двух блоков — блок вычисления статистических характеристик (БВСХ) и блок оценки достоверности статистических результатов (БОД).
Итак, рассмотрим, как следует фиксировать статистические величины в результате эксперимента, чтобы получить надежную информацию о свойствах моделируемого объекта. Напомним, что обобщенными характеристиками случайного процесса или явления являются средние величины.