Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сети Петри.doc
Скачиваний:
78
Добавлен:
28.06.2014
Размер:
1.17 Mб
Скачать

Анализ поведения сетей Петри

Одной из основных задач анализа поведения сетей Петри является задача достижимости маркировок. Из всех возможных вариантов задач такого типа обычно выделяют нижеследующие:

  • задача достижимости отдельной маркировки – для заданной маркировкивыполняется?

  • задача достижимости подмаркировки – для заданной маркировкии заданного подмножества позицийсуществует ли маркировка, такая что?

  • задача достижимости нулевой маркировки – достижима ли маркировка , такая что, т.е.?

  • задача достижимости маркировки, нулевой в одной позиции – достижима ли для заданной позициимаркировка, такая что, т.е.?

Известно, что эти задачи могут быть сведены одна к другой, то есть все они логически эквивалентны, хотя и являются, в общем случае, только полуразрешимыми. Для доказательства их эквивалентности были построены следующие сведéния:

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

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

Пример 1.

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

Пример 2.

На рис. 4 представлена модель системы из двух одновременно работающих конвейеров, в которой на первом и втором, на втором и третьем, и т.д. используются инструменты, общие для двух конвейеров, что вносит дополнительные ограничения на перемещение деталей в этих конвейерах. Рабочие места в конвейерах 1 и 2 представлены в моделирующей сети, соответственно, позициями «свободно» («занято»): и. Позицияпредставляет склад «заготовок»; в начальной маркировке в этой позициифишек ( – количество заготовок), а позицияпредставляет склад «готовых изделий». Позициипредставляют совместно используемые двумя конвейерами инструменты, соответственно, на первом и втором рабочем месте, на втором и третьем, и т.д. Завершение работы конвейеров соответствуют маркировке, в которой эта позиция содержитфишек.Эта сеть, как и сеть на рис. 1, тоже является безопасной.

Пример 3.

На рис. 5 изображена сеть Петри, моделирующая систему, известную как «задача о волке, козле и капусте», которую должен решить лодочник: как перевезти на другой берег реки всех троих, если в лодку с собой лодочник может брать не более одного «пассажира», а, с другой стороны, нельзя оставлять без присмотра волка вместе с козлом и козла вместе с капустой?

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

Переходы обозначают следующие события:

–переезд лодочника с левого берега на правый (с правого на левый), соответственно, без пассажиров, с волком, с козлом и с капустой;

–волк съедает козла, козел съедает капусту на левом берегу (на правом берегу), пока лодочник находится на правом берегу (на левом берегу).

Формально задача состоит в том, чтобы выяснить, существуют ли такая история достижения маркировки «все находятся на правом берегу», что во всех промежуточных маркировках невозможно срабатывание переходов . Известно, что эта задача имеет решение, которое легко может быть получено в результате построения дерева достижимости для рассматриваемой сети Петри:.

Пример 4.

На рис. 6 изображена модель решения задачи об «обедающих философах». Позиция представляет комнату, в которой философы ведут свои философские споры. В начальной маркировке в этой позиции находитсяфишек ( – количество философов). Рядом находится столовая, в середине которой стоит круглый стол. Вокруг стола расположено кресел, перед каждым из которых находится блюдо с рисом, а между ними лежит палочка для еды. Если кресло свободно, то любой «философствующий» философ из первой комнаты может его занять для последующего принятия пищи. Для того, чтобы начать есть, необходимы две палочки, которые занявший кресло философ может взять, соответственно, только справа и слева от своего блюда с рисом. Поев, философ возвращает палочки на свои прежние места, покидает кресло и возвращается в первую комнату для продолжения философских споров.

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

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