Метод k-моделирования. МЕТОД К-моделирования. 3. каузальное моделирование популяций
Скачать 2.74 Mb.
|
8. Сети Петри8.1. Автоматная сетьВернёмся к графу переходов вероятностного автомата или марковского процесса. В методе динамики средних мы рассматривали такой граф только для одного элемента системы. Мы приписывали вес равный вероятности или интенсивности перехода каждой дуге графа и этого было достаточно для написания дифференциальных уравнений динамики системы. Запишем в каждую вершину qi число элементов Ni, находящихся в нём. Вектор, приписывающий число каждой вершине, называется маркировкой Mt = {Ni(t) | i=1..n}, а граф переходов с заданной маркировкой – это автоматная сеть. Такую сеть мы уже использовали для анализа марковских систем и систем массового обслуживания методом динамики средних. Автоматная сеть позволяет наглядно изобразить полное состояние однородного ансамбля автоматов, но недостаточна для изображения взаимодействий в сложной системе. Следующий шаг в моделировании сложных систем сделан в сетях Петри. 8.2. Каноническая сеть ПетриСеть Петри позволяет изобразить не только полное состояние сложной системы, но и зависимости переходов (qi qj) от состояний других элементов, точнее от маркировки этих «воздействующих» на переход элементов. С этой целью необходимо ввести в сеть ещё один класс вершин, соответствующих переходам. Переходу ставится в соответствие правило исполнения. Сеть Петри C – ориентированный двудольный граф C = G(QD, E), т.е. граф с двумя типами вершин Q и D, а множество дуг E (QD)(DQ). Вершины из множества Q = {q1,q2,…,qn} называются позициями и обозначаются символом O (кружок), вершины из множества D = {d1, d2, …, dm} называются переходами и обозначаются символом ▌(черта). Дуги допустимы только между позициями и переходами: (позиция переход) или (переход позиция). Обозначим: Е – множество дуг, *dj – множество входных позиций для перехода dj (множество позиций, из которых есть дуги в переход dj), dj* – множество выходных позиций перехода dj. В общем случае между позициями и переходами может быть несколько дуг. Сеть Петри C – это мультиграф. Чтобы отобразить множественность дуг, каждой паре (qi, dj) и (dj, qk) ставится в соответствие натуральное число – вес дуги kij или kjk. Это соответствие задают функции предшествованияIn и следования Out. Функции In и Out отражают связи между событиями и условиями и изображаются матрицами инциденции. Строкам матриц инциденции соответствуют позиции, столбцам – переходы. Элементы матриц In и Out равны весам дуг kij и kjk. Функция In(dj) – вектор-столбец, отображающий веса kij всех дуг, исходящих из позиций qi *dj и идущих в переход dj. Функция Out(dj) – вектор-столбец, отображающий веса kjk всех дуг, исходящих из перехода dj и идущих в позицию qk dj*. По умолчанию величины kij и kjk, т.е. веса всех дуг равны 1. Переходы сети Петри соответствуют событиям, происходящим в системе, позиции соответствуют условиям наступления этих событий. На Рис. 8.1. изображена сеть Петри с пятью позициями, двумя переходами и матрицами инциденции In и Out. Позиции: Q ={q1, q2, q3, q4, q5} Переходы: D = {d1, d2} Входные множества для переходов: *d1 = {q1, q2}, *d2 = {q3} Выходные множества для переходов: d1* ={q3}, d2* = {q4, q5} Дуги из Q в D: E1 = {(q1, d1), (q2, d1), (q3, d2)} Дуги из D в Q: E2 = {(d1, q3), (d2, q4), (d2, q5)} Веса дуг показаны и на графе Рис. 8.1., и в матрицах инциденции In иOut. 8.3. Маркировка Cетей ПетриОпределение Cети Петри позволяет описать статические свойства моделируемой системы, взаимосвязь событий и условий. Для описания динамики вводится функция маркировки M: Q N,где N – множество целых неотрицательных чисел. Маркировка любого подмножества A Q обозначается M(A) и называется частичной. В частности, маркировка входа и выхода в переход dj обозначаются как M(*dj) и M(dj*), соответственно. Наглядно маркировка изображается точками внутри позиции как показано на Рис. 8.2. Точки называются фишками или маркерами. Таким образом, с помощью функции M позиции сети помечаются целыми неотрицательными числами. Сеть Петри с маркировкой называется размеченной или маркированной. В дальнейшем маркировка сети Петри будет рассматриваться как вектор M = <M(q1), M(q2), …, M(qn)> = <N1, N2, …, Nn>. 8.4. Функционирование сети ПетриСеть Петри функционирует, переходя от маркировки к маркировке. Последовательность маркирокок называется историей сети Петри C. Начальная маркировка обозначается M0, а сеть Петри C с начальной маркировкой M0 задаётся парой <C, M0>. Смена маркировок происходит в результате срабатывания (запуска) одного из переходов. Переход срабатывает только в том случае, если он разрешен (возбужден). Переход dj разрешен, если для всякой входной позиции qi выполняется условие M(qi) kij, где kij – число дуг из позиции qiв переход dj. У разрешенного перехода каждая дуга, входящая в переход, обеспечена фишками в соответствующей входной позиции. Лишние фишки не влияют на запуск. Переход запускается удалением фишек из его входных позиций и образованием новых фишек в его выходных позициях. Запуск перехода меняет маркировку сети Петри. В результате получается новая маркировка M1, которая определяется следующим образом. Пусть срабатывает переход dj, тогда для всякой входной вершины qi M1(qi) = M(qi) – kij для всякой выходной вершины ql M1(ql) = M(ql) + kjl где kij– число дуг между qi и dj, т.е. k(qi, dj); kjl – число дуг между dj и ql, т.е. k(dj, ql). Если вершина qi является и входной, и выходной для перехода dj и kij = kjl, то ее маркировка, очевидно, не меняется. В этом случае говорят, что пара (qi, dj) образует петлю. На Рис. 8.2.(а) изображена сеть Петри с начальной маркировкой M0 = (1, 1, 0, 0, 0). В этой маркировке разрешен переход d1. После его срабатывания получается маркировка M1 = (0, 0, 1, 0, 0) (Рис. 8.2. (б)) и переход d2 становится разрешенным. Срабатывание перехода d2 ведет к маркировке M2 = (0, 0, 0, 1, 1) (Рис. 8.2. (в)). Смена маркировки M на M1 обозначается M dj > M1. Размеченные сети Петри позволяют описать события произвольной длительности, при этом отображается только порядок следования событий. Выполнение сети начинается при ее начальной маркировке M0 и проходит через последовательность маркировок, т.е. имеет историю. Историй может быть множество в зависимости от порядка срабатываний переходов. Таким образом, Сеть Петри с начальной маркировкой определяет структуру причинно‑следственных связей в дискретной системе и всевозможные варианты развития параллельных процессов в ней. Для правильного понимания динамики сети Петри важны следующие три предположения о её функционировании. Разрешенный переход не может находиться в этом состоянии бесконечно долго, он обязательно сработает через какое-то конечное время. В обычных сетях Петри это время предполагается случайной величиной. Это предположение вытекает как из физической природы моделируемых систем, так и из соображений «экономии мышления». Зачем вводить переход, который никогда не срабатывает? Переход срабатывает мгновенно, что отражает дискретность поведения моделируемой системы с дискретными событиями. В каждый данный момент может сработать только один переход. Иными словами, поток событий и способ исполнения в сети Петри ординарен. Это предположение адекватно только в том случае, когда исполнитель переходов в системе всего один. Например, это процессор для операционной системы. Ординарность потока событий упрощает моделирование процессов в системах и соответствующих сетях Петри. Это предположение позволяет изображать динамику сети Петри в виде графа исполнения G(M,V), где M– множество маркировок, V– множество дуг, изображающих переходы от маркировки к маркировке. В общем случае ординарность может и не соответствовать природе моделируемой системы. Заметим, наконец, что сеть Петри может функционировать как в дискретном, так и в непрерывном времени. Наиболее сильное и сомнительное условие, принятое в обоих случаях – ординарность потока событий в сети Петри, когда разрешённые переходы срабатывают по одному. 8.5. Представления сети ПетриРанее были использованы два способа представления сетей Петри: двудольный граф и матрицы инциденции. Правила функционирования сети Петри позволяют ввести подстановочное представление сети Петри, задающее причинно-следственную структуру параллельного процесса в сложной системе и, главное, удобное для ввода в компьютер. Каждому переходу dj в сети Петри, ставится в соответствие подстановка следующего вида: dj: M(*dj) In(dj) M(*dj) – In(dj), M(dj*) + Out(dj), j = 1, 2,…, m где левая часть задаёт условие срабатывания перехода dj, а правая – новую частичную маркировку согласно правилам функционирования сети Петри. Особенно просто выглядит подстановочное представление для ординарных сетей, у которых все kij = 1. Тогда маркировки M(*dj), M(dj*) изменяются только на 1 и подстановка, имеет вид dj: M(*dj) 1 M(*dj) – 1, M(dj*) +1 где единичный вектор 1 вычитается из всех входных маркеров и прибавляется ко всем выходным маркерам перехода dj. В силу тривиальности условия срабатывания и вычисления новой маркировки, подстановка di для ординарной сети Петри допускает более компактный вид: di: In (di) Out(di). Пример 8: На рис. 8.3. показаны различные представления одной и той же сети Петри: а) Двудольный граф сети Петри б) Матричное представление сети Петри в) Система подстановок сети Петри г) Компактная запись в виде подстановок произведений имен qi на kij, причем kij = 1 не пишется, а kij 1 изображается либо как коэффициент, либо, как степень. 8.6. Применение аппарата сетей ПетриСети Петри применяются для моделирования систем, в которых можно выделить дискретное множество событий и условия выполнения и окончания этих событий. Они допускают произвольную интерпретацию элементов модели, что обеспечило их широкое применение. С помощью сетей Петри разрабатывают аппаратное и программное обеспечение ЭВМ, моделируют физические, социальные, биологические системы. Сети Петри используются при разработке систем управления. Существует подход, когда весь процесс проектирования ведется в терминах сетей Петри, а затем производится анализ полученной сети и доказательство корректности проектируемой системы. |