4.2.2. Матричные уравнения

Второй подход к анализу сетей Петри основан на матричном представлении сетей Петри. Альтернативным по отношению к определению сети Петри в виде (Р, Т, I, О) является определение двух матриц D~ и D+, представляющих входную и выходную функции. (Они эквивалентны функциям F и В определения Хэка сетей Петри, см. разд. 2.6.) Каждая матрица имеет m строк (по одной на переход) и п столбцов (по одному на позицию). Определим D~[f, t] = = #(/?,-,   a D+ [/, t] = Щрь О (tj)). D~ определяет входы в

переходы, D+ — выходы.

Матричная форма определения сети Петри (Р, Т, D~, D+) эквивалентна стандартной форме, используемой нами, но позволяет дать определения в терминах векторов и матриц. Пусть e[j] — т-вектор, содержащий нули везде, за исключением j-ii компоненты. Переход tj представляется m-вектором е[/]2).

Теперь переход tj в маркировке ц разрешен, если ц > е[/] • D~, а результат запуска перехода tj в маркировке ц, записывается как

где D = D+ — D~ — составная матрица изменений.

Тогда для последовательности запусков переходов а = tjjj,

... t= имеем

Ik

Вектор f(a) = е[Д] + ef/2] + ... + e[jh] называется вектором запусков последовательности элемент вектора /(а), f(a)j — это число запусков перехода tt в последовательности — ... /|ft. Вектор запусков, следовательно, является вектором с неотрицательными целыми компонентами. (Вектор f(a) — это отображение Париха последовательности [229].)

Для того чтобы показать полезность такого матричного подхода к сетям Петри, рассмотрим, например, задачу сохранения: является ли данная маркированная сеть Петри сохраняющей? Для того чтобы показать сохранение, необходимо найти (ненулевой) вектор взвешивания, для которого взвешенная сумма по всем достижимым маркировкам постоянна. Пусть w — п У. 1 — вектор-столбец. Тогда, если р — начальная маркировка, ар' — произвольная достижимая маркировка, необходимо, чтобы р • w = р' • w. Теперь, поскольку р' достижима, существует последовательность запусков переходов а, которая переводит сеть из р в р.'. Поэтому

Следовательно, р • хю = р' • w = (р -1- /(а) • D) • ш = р- ш + + /(а) • D ’ w, поэтому /(а) • D • w = 0.

Поскольку это должно быть верно для всех f(a), имеем

Таким образом, сеть Петри является сохраняющей тогда и только тогда, когда существует такой положительный вектор хю, что D • w = 0. Это обеспечивает простой алгоритм проверки сохранения, а также позволяет получать вектор взвешивания w.

Развитая матричная теория сетей ^Петри является инструментом для решения проблемы достижимости. Предположим, что маркировка р' достижима из маркировки р. Тогда существует последовательность (возможно, пустая) запусков переходов с, которая приводит из р к р'. Это означает, что f(a) является неотрицательным целым решением следующего матричного уравнения для х:

Следовательно, если р' достижима из р, тогда уравнение (4-1) имеет решение в неотрицательных целых; если'уравнение (4-1) не имеет решения, тогда р' недостижима из р.

Рассмотрим, например, маркированную сеть Петри на рис. 4.26. Матрицы D~ и D+ имеют вид:

а матрица D:

В начальной маркировке [і = (1, 0, 1, 0) переход t3 разрешен и приводит к маркировке р/, где

Последовательность о = t3t2t3t2ti представляется вектором запусков /(о) = (1. 2, 2) и получает маркировку ju':

Для определения того, является ли маркировка (I, 8, 0, 1) достижимой из маркировки (1,0, 1, 0), имеем уравнение

которое имеет решение х = (0, 4, 5). Это соответствует последовательности а =

Далее мы можем показать, что маркировка (1, 7, 0, 1) недостижима из маркировки (1, 0, 1, 0), поскольку матричное уравнение

не имеет решения.

Матричный подход к анализу сетей Петри очень перспективен, но имеет и некоторые трудности. Заметим прежде всего, что матрица D сама по себе не полностью отражает структуру сети Петри. Переходы, имеющие как входы, так и выходы из одной позиции (петли), представляются соответствующими элементами матриц D~ и D r, но затем взаимно уничтожаются в матрице D = D+ — D~. Это отражено в предыдущем примере позицией /;, и переходом tt.

Другая проблема — это отсутствие информации о последовательности в векторе запуска. Рассмотрим сеть Петри на рис. 4.27. Предположим, мы хотим определить, является ли маркировка (0, 0, 0, 0, 1) достижимой из (1, 0, 0, 0, 0). Тогда имеем уравнение

Это уравнение не имеет однозначного решения, но сводится к множеству решений {a jf(o) = (1, х2, хе— 1, 2х6, хе — 1, х6)}. Оно

определяет взаимосвязь между запусками переходов. Если положим хе = 1 и х2 = 1, то /(о) = (1, 1, 0, 2, 0, 1), но этому вектору запуска соответствуют как последовательность 44444. так и последовательность 44444- Следовательно, хотя и известно число запусков переходов, порядок их запуска неизвестен.

Еще одна трудность заключается в том, что решение уравнения (4-1) является необходимым для достижимости, но недостаточным. Рассмотрим простую сеть Петри, приведенную на рис. 4.28. Если мы хотим определить, является ли (О, 0, 0, 1) достижимым из (1, 0, 0, 0), необходимо решить уравнение

Это уравнение имеет решение f(a) = (1, 1), соответствующее двум последовательностям: ttt2 и Ltt. Но ни одна из этих двух последовательностей переходов невозможна, поскольку в (1,0, 0, 0) ни tu ни 4 не разрешены. Таким образом, решения уравнения (4-1) недостаточно для доказательства достижимости.

Возможность недействительных решений уравнения (4-1) (решений, которые не соответствуют возможным последовательностям переходов) стала причиной только ограниченного исследования матричного представления сетей Петри. Лучшее исследование этого подхода проведено Муратой [206, 208, 209].