
Вопрос №11 Конечные разметки сети
Одна из основных проблем в теории сетей Петри - задача о конечности функционирования сети (о достижении тупиковой разметки, “смертельные объятия” и т.д.).
Суть проблемы состоит в ответе на вопрос для данной конкретной сети - существует ли такая последовательность срабатывания переходов, которая приводит сеть к тупиковой разметке (т.е. разметке, при которой ни один переход не может сработать)?
Если обратиться к рис.3 - очевидно, что последовательность P2,P2,P2,P2 (т.е. четыре подряд срабатывания перехода P2) делают дальнейшее срабатывание любого перехода в данной сети - невозможным. Желающие могут найти и другие последовательности срабатывания переходов, приводящих к такому результату.
Более того, анализ сети позволяет утверждать, что эта сеть всегда приходит к тупиковой разметке. Это математическое утверждение (теорема!) может быть строго доказано.
Заметим, что хотя рассматриваемая сеть обязательно останавливается, т.е. достигает тупиковой разметки, но сами эти тупиковые разметки могут быть различны.
Например, утверждение: “ сеть на рис.3 всегда останавливается, когда все фишки собраны в позиции V2” - справедливо.
А похожее утверждение: “ сеть на рис.3 всегда останавливается, причем все фишки собраны в позиции V2” - не верно.
Свойство достижения конечной разметки присуще далеко не всем сетям. Например, на рис.4 приведен пример сети всегда приходящей к тупиковой разметке, на рис.5 - сеть никогда не “попадает в тупик”, на рис. 6 - сеть, которая может остановиться, а может и нет.
Ограниченность сети Петри
Другое направление исследования функционирования сети Петри связано с изменением количества фишек в конкретной или произвольной позиции в процессе функционирования сети.
Под ограниченностью понимают свойство сети не допускать превышения количества фишек в конкретной или произвольной позиции некоторого фиксированного числа.
Если ни в одной позиции сети при любой последовательности срабатываний переходов количество фишек не превышает некоторого K, то такую сеть называют K-ограниченной.
Например, сеть на рис.7 является ограниченной - при любом срабатывании сети количество фишек в любой позиции не превысит 1. Заметим, что само функционирование этой сети - бесконечно. Т.е. у данной сети отсутствует тупиковая разметка.
Так же не достигается тупиковая разметка сети на рис.8. Однако эта сеть не является ограниченной - количество фишек в любой позиции может увеличиваться бесконечно.
Вопрос №12
Сети Петри можно использовать для моделирования систем распределения ресурсов. Например, сеть Петри может моделировать запросы распределения и освобождения устройств ввода-вывода в вычислительной системе. В этих системах некоторые функции могут представлять ресурсы. Группа из трех построчно печатающих устройств представляется позицией, имеющей в начальной маркировке три фишки. Запрос построчно-печатающего устройства - это переход, для которого данная позиция является входной; затем устройство освобождается переходом, для которого позиция построчно печатающих устройств является выходной.
Сети Петри такого типа должны обладать свойством живучести или сохранения. Для этого фишки, представляющие ресурсы, не должны создаваться или уничтожаться, общее число фишек в сети должно оставаться постоянным.
Определение.
Сеть Петри С = (Р, Т, I, О) с начальной маркировкой m называется строго сохраняющей, если для всех m'принадлежащих R(C, m):
Строгое сохранение требует, чтобы число входов в каждый переход должно равняться числу выходов |I(tj)| = |O(tj)|. Если это условие не будет выполняться, то запуск перехода изменил бы число фишек в сети.
Рассмотрим график сети Петри (рисунок 1), которая не является строго сохраняющей.
Рис.1.
Сеть Петри, не являющаяся строго
сохраняющей
В этой сети запуск перехода t1 или t2 уменьшает число фишек на 1, а запуск переходов t3 или t4 добавит фишку к маркировке. Эту сеть можно преобразовать в сеть строго сохраняющую (рисунок 2).
Рис.2.
Строго сохраняющая сеть Петри
Сеть Петри должна сохранять ресурсы, которые она моделирует. Однако взаимно однозначного соответствия между фишками и ресурсами нет.
Фишка может представлять собой один программный счетчик или какой-нибудь другой элемент или несколько ресурсов сразу. В этом случае фишка используется для создания кратных фишек путем запуска перехода с большим числом выходов, чем входов.
В общем случае следует определить взвешивание фишек. Взвешенная сумма для всех маркировок должна быть постоянной. Фишкам, не являющимся важными, можно присвоить вес 0; другим фишкам можно присвоить веса 1, 2, 3 или другое целое число. Фишка определяется ее позицией в сети. Следовательно, веса связаны с каждой позицией сети.
Вектор взвешивания w = (w1, w2, ..., wn) определяет вес wi для каждой позиции pi, принадлежащей Р.
Определение.
Сеть Петри С = (P, T, I, O) с начальной маркировкой m называется сохраняющей по отношению к вектору взвешивания w, где w = (w1, w2, ..., wn), при n = | P |, wi > 0, если для всех m', принадлежащих R(C, m):
Строго сохраняющая сеть Петри является сохраняющей по отношению к вектору взвешивания (1, 1, ..., 1). Все сети Петри являются сохраняющими по отношению к вектору взвешивания (0, 0, ..., 0).