Опубликован: 19.11.2012 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский университет "Высшая Школа Экономики"
Лекция 8:

Обработка данных

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

Основные задачи анализа процессов обработки, решаемые с использованием сетей Петри

В процессе функционирования сети Петри некоторые ее места могут накапливать неограниченное число фишек. Примером такого места может служить место р_2 в сети на рис.8.6. Если интерпретировать места как

Граф разметок сети Петри

Рис. 8.7. Граф разметок сети Петри

накопители (буферы) данных, сигналов или деталей в моделируемых системах, то естественно потребовать, чтобы при любом варианте функционирования этих систем не происходило переполнение накопителей, которые в реальных ситуациях имеют конечную, фиксированную емкость. Следующие понятия формализуют такие требования.

Определение. Место р в сети Петри N=(Р, Т, F, Ф, М_0) называется ограниченным, если существует число n, такое что для любой достижимой в сети разметки М справедливо неравенство М(р)< n. Сеть N называется ограниченной сетью, если любое ее место ограничено.

Ясно, что множество достижимых разметок R(N) конечно, если и только если N - ограниченная сеть. В сети на рис.8.6 места р_1, и р_3 ограничены, так как каждое из них может содержать не более одной фишки. В то же время место р_2 не ограничено, и поэтому эта сеть не является ограниченной.

Определение. Место р называется безопасным, если для всякой достижимой разметки M \in R(N) выполняется неравенство М(р)<1; соответственно, сеть безопасна, если все ее места безопасны.

Любая достижимая в безопасной сети разметка представляет собой вектор из 0 и 1. Сеть, показанная на рис.8.6, не является безопасной.

Родственным понятиям ограниченной и безопасной сети Петри является понятие консервативной, или сохраняющей, сети.

Определение. Сеть, в которой сумма фишек во всех ее местах остается постоянной в процессе работы сети, то есть

\sum_{p \in P}M_1(p)=\sum_{p \in P}M_2(p),\\
\forall M_1, M_2 \in R(N)

называется сохраняющей (консервативной).

Условие сохранения числа фишек в сети - это очень сильное ограничение. Например, из него немедленно следует, что число входов в каждый переход должно равняться числу выходов (с учетом кратности). Если бы это было не так, запуск перехода изменил бы число фишек в сети.

Часто фишки в сети Петри моделируют различные ресурсы. Однако взаимно однозначного соответствия между фишками и ресурсами нет. Фишка может представлять как один ресурс, так и несколько ресурсов сразу. Во втором случае фишка может использоваться для создания кратных фишек (по одной на ресурс) путем запуска перехода с большим числом выходов, чем входов. Поэтому определение свойства сохраняемости сети целесообразно сделать более общим, заменив простую сумму фишек на сумму с весами. Фишкам, не являющимся важными, можно присвоить нулевой вес; другим фишкам можно присвоить весы 1, 2, 3 или любое другое положительное число.

Определение. Сеть Петри называется сохраняющей (консервативной) по отношению к вектору весов \аlpha=(\alpha_1, \alpha_2, \dots, \alpha_n), где n - число мест в сети, если

\sum_{i=1}^n \alpha_i*M_1(p_1)=\sum_{i=1}^n \alpha_1*M_2(p_1) \; \forall M_1, M_2 \in R(N) ( 8.6)

Сохраняющая сеть Петри является сохраняющей по отношению к вектору весов (1, 1, \dots , 1). Следует исключить из рассмотрения нулевой вектор весов, поскольку все сети являются сохраняющими по отношению к нулевому вектору весов.

Переходы в сетях Петри, как правило, моделируют некоторые действия (события), которые могут совершаться в реальных процессах обработки. Поэтому вопросы, касающиеся возможности срабатывания тех или иных переходов, представляют интерес при анализе сетей Петри.

Переход в сети может сработать при определенных условиях, связанных с разметкой его входных мест. Может оказаться, что для некоторого перехода условие его срабатывания никогда не выполняется, как бы ни функционировала сеть. Такой переход - лишний в сети, его можно исключить без ущерба для работы сети. Может случиться также, что после некоторой последовательности срабатываний переходов сети и соответствующих изменений ее разметки некоторые переходы, в том числе те, которые уже срабатывали, больше никогда не сработают, какие бы варианты достижимых в сети разметок не возникали. Это означает, что в моделируемых системах могут появляться ситуации, тупиковые для некоторых событий. Например, в операционных системах подобные случаи происходят при взаимных блокировках процессов (deadlocks) при недоступности требуемых ресурсов. Таким образом, переходы в сети Петри могут обладать различной активностью, и их можно разбить на категории по уровню активности.

Уровень 0: переход t обладает активностью уровня 0 и называется мертвым, если он никогда не может быть запущен.

Уровень 1: переход t обладает активностью уровня 1 и называется потенциально живым, если существует такая разметка M' \in R(N,M_0), что t разрешен в M'. Уровень 2: переход t обладает активностью уровня 2, если для всякого целого n существует последовательность запусков, в которой t присутствует по крайней мере n раз.

Уровень 3: переход t обладает активностью уровня 3, если существует бесконечная последовательность запусков, в которой t присутствует неограниченно часто.

Уровень 4: переход t обладает активностью уровня 4 и называется живым, если для всякой M' \in R(N,M_0) переход t является потенциально живым для сети Петри N с начальной маркировкой M'.

Сеть Петри называется живой, если все ее переходы являются живыми.

В качестве примера, иллюстрирующего уровни активности, рассмотрим сеть Петри на рис.8.8. Переход t_0 не может быть запущен никогда; он мертвый. Переход t_1 можно запустить только один раз; он обладает активностью уровня 1. Переход t_2 может быть запущен произвольное число раз, но это число зависит от числа запусков перехода t_3. Если мы хотим запустить t_2 пять раз, мы запускаем пять раз t_3, затем t_1 и после этого пять раз t_2. Однако, как только запустится t_1 (t_1 должен быть запущен до того, как будет запущен t_2), число возможных запусков t_2 станет фиксированным. Следовательно, t_2 обладает активностью уровня 2, но не уровня 3. С другой стороны, переход t_3 можно запускать бесконечное число раз, и поэтому он обладает активностью уровня 3, но не уровня 4, поскольку, как только запустится t_1, переход t_3 больше запустить будет нельзя.

Сеть Петри, иллюстрирующая различные уровни активности переходов

Рис. 8.8. Сеть Петри, иллюстрирующая различные уровни активности переходов

Многие прикладные задачи анализа систем и процессов в терминах сетей Петри могут быть сформулированы как задача о достижимости заданной разметки сети. Эта разметка может соответствовать целевому состоянию, в которое желательно перевести систему или процесс, или наоборот, описывать состояние, попадания в которое лучше избежать (аварийное, убыточное и т.п.). Важность задачи о достижимости заключается также в том, что к ней сводятся некоторые другие задачи анализа сетей Петри.

Формально задача о достижимости состоит в следующем: для сети Петри N с начальной разметкой M_0 и заданной разметки M установить справедливость включения M \in R(N,M_0). Иными словами, требуется выяснить, существует ли допустимая последовательность срабатываний переходов \tau =t_{i_1}, t_{i_2} \dots t_{i_k}, переводящая сеть Петри из начальной разметки M_0 в заданную разметку M, то есть М_0^{\tau} \triangleright М.

Близкой по смыслу к задаче о достижимости является задача о покрываемости. Она заключается в том, чтобы для данной сети Петри N с начальной маркировкой M_0 и заданной маркировки M определить, существует ли такая достижимая маркировка M' \in R(N,M_0), что M' \ge M.

Напомним, что отношение M' \ge M истинно, если каждый элемент маркировки M' не меньше соответствующего элемента маркировки M.

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Фахруддин хемракулыев
Фахруддин хемракулыев
Шерхон Давлатов
Шерхон Давлатов

Почему тесты (1,2,3..) не работают. Хочу пройти тест но не получается

Сергей Мазаватов
Сергей Мазаватов
Россия
Лали Лесных
Лали Лесных
Россия, г. Санкт-Петербург