Обработка данных
Основные задачи анализа процессов обработки, решаемые с использованием сетей Петри
В процессе функционирования сети Петри некоторые ее места могут накапливать неограниченное число фишек. Примером такого места может служить место в сети на рис.8.6. Если интерпретировать места как
накопители (буферы) данных, сигналов или деталей в моделируемых системах, то естественно потребовать, чтобы при любом варианте функционирования этих систем не происходило переполнение накопителей, которые в реальных ситуациях имеют конечную, фиксированную емкость. Следующие понятия формализуют такие требования.
Определение. Место в сети Петри называется ограниченным, если существует число , такое что для любой достижимой в сети разметки справедливо неравенство . Сеть называется ограниченной сетью, если любое ее место ограничено.
Ясно, что множество достижимых разметок конечно, если и только если - ограниченная сеть. В сети на рис.8.6 места , и ограничены, так как каждое из них может содержать не более одной фишки. В то же время место не ограничено, и поэтому эта сеть не является ограниченной.
Определение. Место называется безопасным, если для всякой достижимой разметки выполняется неравенство ; соответственно, сеть безопасна, если все ее места безопасны.
Любая достижимая в безопасной сети разметка представляет собой вектор из 0 и 1. Сеть, показанная на рис.8.6, не является безопасной.
Родственным понятиям ограниченной и безопасной сети Петри является понятие консервативной, или сохраняющей, сети.
Определение. Сеть, в которой сумма фишек во всех ее местах остается постоянной в процессе работы сети, то есть
называется сохраняющей (консервативной).
Условие сохранения числа фишек в сети - это очень сильное ограничение. Например, из него немедленно следует, что число входов в каждый переход должно равняться числу выходов (с учетом кратности). Если бы это было не так, запуск перехода изменил бы число фишек в сети.
Часто фишки в сети Петри моделируют различные ресурсы. Однако взаимно однозначного соответствия между фишками и ресурсами нет. Фишка может представлять как один ресурс, так и несколько ресурсов сразу. Во втором случае фишка может использоваться для создания кратных фишек (по одной на ресурс) путем запуска перехода с большим числом выходов, чем входов. Поэтому определение свойства сохраняемости сети целесообразно сделать более общим, заменив простую сумму фишек на сумму с весами. Фишкам, не являющимся важными, можно присвоить нулевой вес; другим фишкам можно присвоить весы 1, 2, 3 или любое другое положительное число.
Определение. Сеть Петри называется сохраняющей (консервативной) по отношению к вектору весов , где - число мест в сети, если
( 8.6) |
Сохраняющая сеть Петри является сохраняющей по отношению к вектору весов . Следует исключить из рассмотрения нулевой вектор весов, поскольку все сети являются сохраняющими по отношению к нулевому вектору весов.
Переходы в сетях Петри, как правило, моделируют некоторые действия (события), которые могут совершаться в реальных процессах обработки. Поэтому вопросы, касающиеся возможности срабатывания тех или иных переходов, представляют интерес при анализе сетей Петри.
Переход в сети может сработать при определенных условиях, связанных с разметкой его входных мест. Может оказаться, что для некоторого перехода условие его срабатывания никогда не выполняется, как бы ни функционировала сеть. Такой переход - лишний в сети, его можно исключить без ущерба для работы сети. Может случиться также, что после некоторой последовательности срабатываний переходов сети и соответствующих изменений ее разметки некоторые переходы, в том числе те, которые уже срабатывали, больше никогда не сработают, какие бы варианты достижимых в сети разметок не возникали. Это означает, что в моделируемых системах могут появляться ситуации, тупиковые для некоторых событий. Например, в операционных системах подобные случаи происходят при взаимных блокировках процессов (deadlocks) при недоступности требуемых ресурсов. Таким образом, переходы в сети Петри могут обладать различной активностью, и их можно разбить на категории по уровню активности.
Уровень 0: переход обладает активностью уровня 0 и называется мертвым, если он никогда не может быть запущен.
Уровень 1: переход обладает активностью уровня 1 и называется потенциально живым, если существует такая разметка , что разрешен в . Уровень 2: переход обладает активностью уровня 2, если для всякого целого существует последовательность запусков, в которой присутствует по крайней мере раз.
Уровень 3: переход обладает активностью уровня 3, если существует бесконечная последовательность запусков, в которой присутствует неограниченно часто.
Уровень 4: переход обладает активностью уровня 4 и называется живым, если для всякой переход является потенциально живым для сети Петри с начальной маркировкой .
Сеть Петри называется живой, если все ее переходы являются живыми.
В качестве примера, иллюстрирующего уровни активности, рассмотрим сеть Петри на рис.8.8. Переход не может быть запущен никогда; он мертвый. Переход можно запустить только один раз; он обладает активностью уровня 1. Переход может быть запущен произвольное число раз, но это число зависит от числа запусков перехода . Если мы хотим запустить пять раз, мы запускаем пять раз , затем и после этого пять раз . Однако, как только запустится ( должен быть запущен до того, как будет запущен ), число возможных запусков станет фиксированным. Следовательно, обладает активностью уровня 2, но не уровня 3. С другой стороны, переход можно запускать бесконечное число раз, и поэтому он обладает активностью уровня 3, но не уровня 4, поскольку, как только запустится , переход больше запустить будет нельзя.
Многие прикладные задачи анализа систем и процессов в терминах сетей Петри могут быть сформулированы как задача о достижимости заданной разметки сети. Эта разметка может соответствовать целевому состоянию, в которое желательно перевести систему или процесс, или наоборот, описывать состояние, попадания в которое лучше избежать (аварийное, убыточное и т.п.). Важность задачи о достижимости заключается также в том, что к ней сводятся некоторые другие задачи анализа сетей Петри.
Формально задача о достижимости состоит в следующем: для сети Петри с начальной разметкой и заданной разметки установить справедливость включения . Иными словами, требуется выяснить, существует ли допустимая последовательность срабатываний переходов , переводящая сеть Петри из начальной разметки в заданную разметку , то есть .
Близкой по смыслу к задаче о достижимости является задача о покрываемости. Она заключается в том, чтобы для данной сети Петри с начальной маркировкой и заданной маркировки определить, существует ли такая достижимая маркировка , что .
Напомним, что отношение истинно, если каждый элемент маркировки не меньше соответствующего элемента маркировки .