Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доррер Методы моделирования дискретных систем.doc
Скачиваний:
56
Добавлен:
12.09.2019
Размер:
3.95 Mб
Скачать
      1. Инварианты сетей Петри

Структура сетей Петри может обеспечивать при работе сети постоянство некоторых функций от маркировок сети. Такие функции называют инвариантами сетей Петри. Вычисление инвариантов может оказаться полезным при исследовании свойств моделируемых систем (например, при верификации тестировании программ) [10]. '

Различают инварианты позиций и инвариантыпереходов.

Для того чтобы пояснить смысл этих терминов, введем в рассмотрение п × т -матрицу

V = ||fj tifi pj|| = (Ft)TFP,

каждый элемент которой vij = fjtifi pj показывает разность между числом поступивших фишек – f jti и числом изъятых f ijp, т.е. изменение маркировки позиции рi Є Р при срабатывании перехода t j Є Т. В силу того, что f jti -. и f ijp - целые числа, величины vij также целые. В зависимости от знака vij при срабатывании перехода t j в позиции pi число фишек либо увеличивается (vij >0), либо уменьшается (vij <0), либо остается неизменным (vij = 0).

1. Инварианты позиций. Припишем каждой позиции рi Є Р некоторый вес иi , который может принимать целочисленные значения - положительные, отрицательные нулевые. Эти веса образуют п - вектор-строку.

Рассмотрим m - вектор-строку Y = U · V и определим условия, при которых этот вектор является нулевым, т.е.

Y= Û · V = Øm , (2.10)

где Øm - m-вектор-строка, состоящая из нулей; Û - ненулевой n - вектор.

Представим матрицу V в виде п – столбца

где Vi – вектор-строка. Тогда условие (2.10) может быть представлено в виде

Отсюда следует, что условие (2.10) при Û≠0 может выполняться только в том случае, если среди строк Vi матрицы V найдутся линейные независимые строки.

Пусть для простоты имеются две такие строки с номерами k и lVk и Vi, которые соответствуют в матрице V позициям рk и р, и пусть соответствующие веса не равны нулю: uk ≠0, ul ≠0. Веса остальных позиций положим равными нулю: ui = 0 при i ≠ k, i ≠ l. В силу линейной зависимости строк k и l веса u и u можно подобрать таким образом, что

ûkVk+ûlVl=Øm;ûlvlj+ûlvlj=0,j=1,…..,m. (2.11)

Таким образом, вектор Û имеет вид

Û= [ 0,…..,0, ûk, 0,….,0,ûl,0,….0]

и в силу (2.11) обеспечивается выполнение условия (2.10).

Подсчитываем теперь приращение числа фишек в позициях рk и р l при срабатывании перехода

t Є T. Пусть до срабатывания перехода tj маркировки в позициях рk и рl были соответственно μr и μl. После срабатывания t маркировки с учетом введенных весов ûk и ûl стали равными μ’k = μk + ûkvkj, μ’lllvlj, а их сумма μ’k + μ’l = μk + ûkvkj + μl + ûlvlj = μk + μl в силу (2 11). Таким образом, сумма μk + μl при учете введенных весов позиций ûk , ûl остается постоянной при срабатывании любого перехода и равна этой сумме при начальной маркировке М 0. Построенный описанным образом вектор Û называется инвариантом позиций сети Петри.

2. Инварианты переходов. По аналогии с предыдущим разделом припишем каждому переходу tj Є T вес wi который может принимать целочисленные значения любого знака. Эти веса сведем в т - вектор-столбец

Рассмотрим п- вектор-столбец Z = V-W и условия, при которых этот вектор является нулевым, т.е.

m

Z = V · W = [V1,V2,…,Vm]· Ŵ = Σ Vjŵj = Øn, (2.12)

j=1

где Øn - п-вектор, состоящий из пулей; Ŵ- ненулевой т-вектор; V i - i-й п -столбец матрицы V.умножив веса и, и щ на постоянное число k = const, мы Аналогично сказанному выше можно убедиться в том, что условие (2.12) выполняется только в том случае, когда среди столбцов матрицы V найдутся линейно зависимые. Пусть имеются два линейно зависимых столбца с номерами р и q, которые соответствуют переходам tp и tq, и пусть соответствующие веса не равны нулю, wp≠0, wq≠0. Остальные веса положим нулевыми: wj = 0 при jр, j q . В силу линейной зависимости векторов Vр и Vq можно подобрать вeca wp и wq таким образом, чтобы выполнялось условие (2.12).

Проанализируем теперь, как будет изменяться сети при последовательном срабатывании переходов tp и tq. Пусть маркировка некоторой позиции рi до срабатывания переходов была μ.

После срабатывания tp она (с учетом веса ŵр) стала μi = μi + ŵpvip, а после срабатывания tq ( с учетом веса ŵq ) μi= μi + ŵpvipqviq = μi. Таким образом, после последнего срабатывания tp и tq получается исходная маркировка всех позиций, i= 1,……,n.

Вектор Ŵ, удовлетворяющий условию (2.12), называется инвариантом переходов.

Приведенные рассуждения легко обобщаются и на случай, когда число линейно зависимых строк (и столбцов) в матрице V больше двух. Напомним, что число линейно независимых строк матрицы V равно числу ее линейно независимых столбцов и равно рангу матрицы V, который обозначается буквой rv. Величина dv = min (n,m) - rv, называется дефектом матрицы V. Таким образом, для того чтобы можно было построить инварианты позиций и переходов сети Петри Û, Ŵ, удовлетворяющие условиям (2.10), (2.12), необходимо чтобы дефект матрицы V был больше нуля: dv > 0.

Из сказанного вытекает также, что задача нахождения инвариантов сети Петри решается неоднозначно. Так, например, умножив веса uk и ul на постоянное число k=const, мы получим другой вектор-инвариант Û’ = kÛ, который обладает теми же свойствами, что и Û.

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

n

Σμi (θ) = const, θ = 0,1,2,…..

i=1

Такая сеть Петри, как было сказано выше, называется консервативной.

Пример. Рассмотрим сеть Петри, изображенную рисунке 2.1, и составим для нее матрицу V

Легко видеть, что в этой матрице первая и третья строки линейно зависимы, причем достаточно взять веса û1= 1, û3=1, û2=0. При этом получим вектор-инвариант по позициям Û= [1,0,1], следовательно, сумма фишек в позициях р1 и р3 постоянна при срабатывании любого перехода: μ1 + μ3= const, в чем легко убедиться, проанализировав дерево маркировок на рисунке 2.2.

Рассмотрим теперь столбцы матрицы V . Мы видим, что второй и третий столбцы линейно зависимы, при этом вектор-инвариант по переходам может быть взят следующим:

Это означает, что при последовательном срабатывании переходов t2, t3 (в любом порядке) маркировка сети повторяется. Это также видно на рисунке 2.2.

Инварианты для более сложной сети Петри рассматриваются в п. 3.7.