Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички / PetriNets.doc
Скачиваний:
59
Добавлен:
28.06.2014
Размер:
2.09 Mб
Скачать
    1. Анализ поведения сетей Петри.

      1. Достижимость маркировок.

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

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

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

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

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

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

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

      1. Активность переходов.

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

    1. Примеры.

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

Пример 1.

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

Пример 2.

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

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

Пример 3.

На рис. 7 изображена сеть Петри, моделирующая систему, известную как «задача о волке, козле и капусте», которую должен решить лодочник.

Как перевезти на другой берег реки всех троих, если в лодку с собой лодочник может брать не более одного «пассажира», а, с другой стороны, нельзя оставлять без присмотра волка вместе с козлом и козла вместе с капустой?

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

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

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

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

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

и .

Пример 4.

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

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

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

Соседние файлы в папке Методички