Теорема - Задача достижимости сводится к задаче активности
Теорема Задача достижимости сводится к задаче активности.
Для доказательства основного утверждения раздела покажем следующее.
Теорема 5.6. Задача активности одного перехода сводится к задаче достижимости.
Доказательство того, что задача активности одного перехода сводима к задаче достижимости, опирается на проверку достижимости любой из конечного множества максимальных пассивных для tj подмаркировок. Сеть Петри не активна для перехода tj тогда и только тогда, когда достижима некоторая маркировка, в которой переход tj не запускаем и не может стать запускаемым. Маркировка такого вида называется пассивной для tj. Для любой маркировки μ можно проверить, является ли она пассивной для tj, построением дерева достижимости с корнем μ и проверкой, можно ли
где-либо в дереве запустить переход tj. Если нельзя, то μ массивна для tj. Проверка активности tj в таком случае требует проверки достижимости какой-либо пассивной для tj маркировки.
В общем случае, однако, может существовать бесконечное число пассивных для tj маркировок и бесконечное множество маркировок, в котором находятся пассивные для tj маркировки. Заметив два свойства, сведем множество маркировок, которые необходимо проверить для достижимости, к конечному числу. Во-первых, если маркировка μ пассивна для tj, то и любая маркировка μ' μ пассивна для tj. (Любая последовательность запусков, возможная из μ', возможна также из μ, поэтому если μ' может привести к запуску tj , то это может и μ.) Во-вторых, маркировки некоторых позиций не будут влиять на пассивность для tj данной маркировки, поэтому маркировки этих позиций являются «несущественными», они могут быть произвольными. Заимствуя прием из построения дерева достижимости, заменим «несущественные» компоненты на ω, показывая, что в этих позициях может быть произвольно большое число фишек, не влияющих на пассивность маркировки для tj. Теперь, поскольку любая μ'
μ пассивна для tj, если μ пассивна для tj, нам не нужно рассматривать позиции pi с μ(pi)=. Это означает, что мы применяем задачу достижимости подмаркировки с P’ = Pi |μ(Pi)
ω}
Рассмотрим в качестве примера сеть Петри на рис. 5.7. Маркировки (2, 0), (1, 0), (0, 0), (0, 1), (0, 2), (0, 3),... являются пассивными для t2 , но их можно представить конечным образом множеством {(2, 0), (1, 0), (0, ω)}.
Рекомендуемые материалы
Хэк показал, что для сети Петри С существует такое конечное множество Dt маркировок (расширенных, т. е. включающих ω), что С активна тогда и только тогда, когда никакая маркировка из Dt недостижима. Если маркировка из Dt содержит ω, тогда подразумевается достижимость подмаркировки.
Более того, Dt можно эффективно вычислять. Поскольку Dt конечно, не- ω -компоненты имеют верхнюю границу b. Граница b определяется как такое наименьшее число, что если пассивна для tj любая маркировка μ, такая, что μ(pi) b + 1 для всех pi то является пассивной для tj и подмаркировка μ', такая, что μ'(pi) = μ(pi), если μ(рi) < b, и μ'(pi) = ω, если μ(рi) = b + 1. При таком определении b можно построить Dt следующим образом.
Вычислить b. Начать с b = 0, увеличивать b до тех пор, пока не окажется, что b удовлетворяет описанному определению границы. Проверка каждого b требует проверки всех (b + 2)n маркировок с компонентами, меньшими или равными b+1.
Вычислить Dt проверкой всех маркировок и подмаркировок с компонентами, не превышающими b или равными ω. Dt — это множество пассивных для tj маркировок из множества (b + 2)n маркировок.
Построив Dt, можно рассматривать задачу достижимости подмаркировки для каждого элемента Dt. Если какой-либо элемент Dt достижим из начальной маркировки, сеть Петри неактивна, если же никакой элемент Dt недостижим - сеть Петри активна.
Существует несколько вариантов задачи о чтении/записи , однако основная структура их остается неизменной. Имеются процессы двух типов: процессы чтения и процессы записи. Все процессы совместно используют общий файл или переменную или элемент данных. Процессы чтения не изменяют объект в отличие от процессов записи. Таким образом, процессы записи должны взаимно исключать все другие процессы чтения и записи, в то время как несколько процессов чтения могут иметь доступ к разделяемым данным одновременно. Задача состоит в определении структуры управления, которая не приведет к тупику и не допустит нарушения критерия взаимного исключения.
Лекция "Насосная эксплуатация скважин" также может быть Вам полезна.
На рис. 3.33 иллюстрируется решение задачи в том случае, когда количество процессов чтения ограничено величиной n. Если в системе количество процессов чтения не ограничено, то только n процессов могут выполняться в одно и то же время.
Проблема возникает в том случае, если количество процессов чтения не ограничено и мы хотим предоставить возможность не
ограниченному количеству процессов читать одновременно.
В этом случае можно утверждать, что возникает необходимость хранения количества читающих процессов. При инициализации каждого процесса чтения в счетчик добавляется единица, а по окончании процесса единица
вычитается. Это легко моделируется позицией, в которой количество фишек равно количеству процессов чтения. Однако, для того, чтобы предоставить процессу записи возможность приступить к записи, необходимо, чтобы счетчик был нулевым, т. е. соответствующая позиция была бы пустой. В сетях Петри нет механизма, который бы осуществлял проверку на нуль неограниченной позиции [1]К Таким образом, оказывается, что задача о чтении/записи с неограниченным числом процессов чтения не может быть решена с помощью сетей Петри. Это первый случай, когда мы столкнулись с тем, что сети Петри не способны моделировать все системы.