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

Второй подход к анализу сетей Петри основан на матричном представлении сетей Петри. Альтернативным по отношению к определению сети Петри в виде (Р, Т, I, О) является определение двух матриц D и D +, представляющих входную и выходную функции. Каждая матрица имеет m строк (по одной на переход) и n столбцов (по одному на позицию). Определим D [j, i] = #(pi, I(tj)), a D + [j, i] = #(pi, O(tj)). D определяет входы в переходы, D + – выходы.

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

Теперь переход tj в маркировке μ разрешен, если μ ≥ e[j] · D , а результат запуска перехода tj в маркировке μ записывается как

δ(μ, tj) = μ – e[j] · D + e[j] · D+ = μ + e[j] · (– D + D+ ) = μ + e[j] · D,

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

Тогда для последовательности запусков переходов σ = tj1 tj2 ... tjk имеем

δ(μ, σ) = δ(μ, tj1 tj2 ... tjk ) = μ + e[j1] · D + e[j2] · D + … + e[jk] · D =

= μ + (e[j1] · D + e[j2] · D + … + e[jk] ) · D = μ + f(σ) · D.

Вектор f(σ) = e[j1] · D + e[j2] · D + … + e[jk] называется вектором запусков последовательности tj1 tj2 ... tjk . Тогда i-й элемент вектора f(σ), f(σ)i – это число запусков перехода ti в последовательности tj1 tj2 ... tjk . Вектор запусков, следовательно, является вектором с неотрицательными целыми компонентами. (Вектор f(σ) – это отображение Пaрихa последовательности .)

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

μ' = δ(μ, σ) = μ + f(σ) · D.

Следовательно, μ · w = μ' · w = (μ + f(σ) · Dw = μ · w + f(σ) · D · w, поэтому f(σ) · D · w = 0.

Поскольку это должно быть верно для всех f(σ), имеем D · w = 0.

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

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

μ' = μ + x · D. (*)

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

ПРИМЕР: Рассмотрим маркированную сеть Петри на рис. 3.17.

Рис. 3.16. Маркированная сеть Петри Рис. 3.17. Сеть Петри

Матрицы D, D + и D имеют вид:

, , .

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

μ' = (1, 0, 1, 0) + (0, 0, 1) · = (1, 0, 1, 0) + (0, 0, –1, 1) = (1, 0, 0, 1).

Последовательность σ = t3t2t3t2t1 представляется вектором запусков f(σ) = (1, 2, 2) и получает маркировку μ':

= (1, 0, 1, 0) + (1, 2, 2) · = (1, 0, 1, 0) + (0, 3, –1, 0) = (1, 3, 0, 0).

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

(1, 8, 0, 1) = (1,0, 1, 0) + х · , (0, 8, –1, 1) = х · ,

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

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

(1, 7, 0, 1) = (1,0, 1, 0) + х · , (0, 7, –1, 1) = х ·

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

Упражнения

1. Построить матрицы D, D + и D сети Петри с рис.3.6, рис.3.11, рис. 3.13.

2. Для сети Петри с рис.3.6 определить вектор запусков последовательности t1t1t1t2t3t3 и определить по формуле соответствующую маркировку μ'.

3. Для сети Петри С=(Р, Т, I, О), P = {p1, p2, p3}, T = {t1, t2}, I(t1) = {p1, p3}, I(t2) = {p2}, O(t1) = {p2}, O(t2) = { p1, p3} с начальной маркировкой μ = (1, 0, 1) проверить свойство сохранения.

4. Для сети Петри из упражнения 3 с начальной маркировкой μ = (5, 0, 10) проверить по формуле достижимость маркировок μ' = (0, 5, 5), μ'' = (1, 1, 1).

 








Дата добавления: 2016-04-11; просмотров: 1380;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.