Достижимость и покрываемость сетей Петри
Достижимость и покрываемость сетей Петри. Пример.
Большинство задач, к которым мы до сих пор обращались, касаются достижимых маркировок. Задача достижимости является, по-видимому, наиболее простой (для формулировки).
Определение 4.5. Задача достижимости. Для данной сети Петри С с маркировкой μ и маркировки μ’ определить: μ' R(C, μ)?
Задача достижимости, быть может, основная задача анализа сетей Петри; многие другие задачи анализа можно сформулировать в терминах задачи достижимости. Например, для сети Петри с рис. 4.6 тупик может возникнуть, если достижимым является состояние (0, 1, 0, 0, 0, 0, 1, 0).
На рис. 4.8 показана сеть Петри, цель которой заключается в решении задачи о взаимном исключении, — предполагается, что позиции p4 и р9 будут взаимно исключающими. Мы хотим знать, является ли какое-либо состояние с μ(р4) 1 и μ(p9)
1 достижимым. Эта задача аналогична достижимости, но несколько отличается; она называется задачей покрываемости. Маркировка
μ "покрывает маркировку μ,, если μ" μ'.
Определение Задача покрываемости. Для данной сети Петри С с начальной маркировкой μ и маркировки μ.' определить, существует ли такая достижимая маркировка μ" R(C, μ), что μ"
μ'.
Рекомендуемые материалы
В других возможных задачах типа достижимости могло бы игнорироваться содержимое некоторых позиций и приниматься во внимание сравнение или покрытие содержимого нескольких важных позиций. Например, в сети Петри на рис. 4.8 наш интерес ограничен позициями р4 и р9 — маркировка остальных позиций не важна. Таким образом, мы можем рассматривать достижимость и покрываемость «по модулю» множества позиций. Эти задачи называются задачами достижимости подмаркировки и покрываемости подмаркировки.
Их можно еще более усложнить требованием, определить достижимость и покрываемость для множества маркировок, придя к задачам достижимости множества и покрываемости множества. Однако, если множество конечно, задачи можно решить обычно многократным решением задач достижимости и покрываемости для одной маркировки.
Последняя задача, которую можно решить с помощью дерева достижимости, — задача покрываемости. В задаче покрываемости мы хотим для данной маркировки μ' определить, достижима ли маркировка μ" μ'. Данная задача решается проверкой дерева достижимости. Строим для начальной маркировки μ дерево достижимости. Затем ищем любую вершину х с μ[х]
μ'. Если такой вершины не существует, маркировка р' не покрывается никакой достижимой маркировкой; если она найдена, μ[х] дает достижимую Маркировку, покрывающую μ'.
Если Вам понравилась эта лекция, то понравится и эта - Вторая часть.
Путь от корня к покрывающей маркировке определяет последовательность переходов, которые приводят из начальной маркировки к покрывающей маркировке, а маркировка, связанная с этой вершиной, определяет покрывающую маркировку. Символ (о вновь должен рассматриваться как обозначение бесконечного множества значений. Если компонента покрывающей маркировки — μ , то в пути от корня к покрывающей маркировке имеется «цикл». Для увеличения соответствующей компоненты с тем, чтобы она была не меньше, чем в данной маркировке, необходимо достаточное число раз повторить этот цикл.
Заметим, что, если несколько компонент покрывающей маркировки равны w, между изменениями маркировки, получающимися в результате прохождения циклов, возможна взаимосвязь. Рассмотрим сеть Петри на рис. 4.18 и ее дерево достижимости, показанное на рис. 4.19. Согласно проведенному анализу, маркировка (0, 14, 1, 7) покрывается в множестве достижимости. Путь, порождающий покрывающую маркировку, состоит из некоторого числа переходов t1, за которыми следует переход t2, после которого уже следует некоторое число переходов t3. Задача заключается в определении того, сколько раз нужно запустить переходы t1 и t3. Так как мы хотим иметь в позиции р1 14 фишек, a t1 помещает в р2 одну фишку, попытаемся
выполнить 14 t1. Однако нам необходимо выполнить 7t3, а каждый запуск t3 удаляет из р2 фишку, поэтому в действительности необходимо выполнить не менее 21 t1 затем t2 и после этого не менее 7t3 (выполнить t3 такое число раз, чтобы в позиции р2 осталось не менее 14 фишек). Карп и Миллер предложили алгоритм, определяющий минимальное число запусков переходов, необходимых для покрытия дайной маркировки.