Сети Петри
Сети Петри — аппарат для моделирования динамических дискретных систем (преимущественно асинхронных параллельных процессов).
Сеть Петри определяется как четверка , где
и
— конечные множества узлов и переходов,
и
— множества входных и выходных функций.
Другими словами, сеть Петри представляет собой двудольный ориентированный граф, в котором узлам соответствуют вершины, изображаемые кружками, а переходам — вершины, изображаемые утолщенными черточками; функциям соответствуют дуги, направленные от узла к переходам, а функциям
— от переходов к позициям.
В сетях Петри вводятся объекты двух типов:
Ø динамические — изображаются маркерами внутри узлов;
Ø статические — им соответствуют узлы сети Петри.
Распределение маркеров по узлам называют маркировкой. Маркеры могут перемещаться в сети. Каждое изменение маркировки называют событием, причем каждое событие связано с определенным переходом. Считается, что события происходят мгновенно и разновременно при выполнении некоторых условий.
Каждому условию в сети Петри соответствует определеннай узел. Совершению события соответствует срабатывание (возбуждение или запуск) перехода, при котором маркеры из входных узлов этого перехода перемещаются в выходные узлы. Последовательность событий образует моделируемый процесс.
Правила срабатывания переходов (рис. 1), конкретизируют следующим образом:
а) переход срабатывает, если для каждого из его входных узлов выполняется условие , где
— число маркеров в
-м входном узле,
— число дуг, идущих от
-го узла к переходу;
б) при срабатывании перехода число маркеров в -м входном узле уменьшается на
, а в
-м выходном узле увеличивается на
, где
— число дуг, связывающих переход с
-м узлом.
На рис. 1 показан пример распределения маркеров по узлам перед срабатыванием, эту маркировку записывают в виде (2,2,3,1). После срабатывания перехода маркировка становится иной: (1,0,1,4).
![]() |
Рис. 1. Фрагмент сети Петри
Можно вводить ряд дополнительных правил и условий в алгоритмы моделирования, получая ту или иную разновидность сетей Петри. Так, прежде всего полезно ввести модельное время, чтобы моделировать не только последовательность событий, но и их привязку ко времени. Это осуществляется приданием переходам веса — продолжительности (задержки) срабатывания, которую можно определять, используя задаваемый при этом алгоритм. Полученную модель называют временной сетью Петри.
Если задержки являются случайными величинами, то сеть называют стохастической сетью Петри. В стохастических сетях возможно введение вероятностей срабатывания возбужденных переходов. Так, на рис. 2 представлен фрагмент сети Петри, иллюстрирующий конфликтную ситуацию — маркер в узле может запустить либо переход
, либо переход
. В стохастической сети предусматривается вероятностный выбор срабатывающего перехода в таких ситуациях.
![]() |
Рис. 2. Конфликтная ситуация
Если задержки определяются как функции некоторых аргументов, которыми могут быть количества маркеров в каких-либо узлах, состояния некоторых переходов и т.п., то имеем функциональную сеть Петри.
Во многих задачах динамические объекты могут быть нескольких типов, и для каждого типа нужно вводить свои алгоритмы поведения в сети. В этом случае каждый маркер должен иметь хотя бы один параметр, обозначающий тип маркера. Такой параметр обычно называют цветом; цвет можно использовать как аргумент в функциональных сетях. Сеть при этом называют цветной сетью Петри.
Среди других разновидностей сетей Петри следует упомянуть ингибиторные сети Петри, характеризующиеся тем, что в них возможны запрещающие (ингибиторные) дуги. Наличие маркера во входном узле, связанном с переходом ингибиторной дугой, означает запрещение срабатывания перехода.