Научная статья на тему 'АЛГОРИТМ ПОСТРОЕНИЯ ДЕРЕВА ДОСТИЖИМОСТИ ДЛЯ СТОХАСТИЧЕСКИХ СЕТЕЙ ПЕТРИ'

АЛГОРИТМ ПОСТРОЕНИЯ ДЕРЕВА ДОСТИЖИМОСТИ ДЛЯ СТОХАСТИЧЕСКИХ СЕТЕЙ ПЕТРИ Текст научной статьи по специальности «Математика»

CC BY
538
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИРОВАНИЕ / СТОХАСТИЧЕСКИЕ СЕТИ ПЕТРИ / ДЕРЕВО ДОСТИЖИМОСТИ

Аннотация научной статьи по математике, автор научной работы — Звягин Д.С.

Описываются основные определения дерева достижимости сетей Петри. Также рассматриваются различные примеры стохастических сетей Петри, в которых после выставления начальных маркировок в первых позициях определяются значения во всех остальных позициях. Показаны примеры определения маркировок при помощи высчитывания вектора диагональной свертки. Для каждого примера стохастической сети Петри проводится анализ данной сети. Данный анализ необходим для различных распределительных систем и процессов, особенно на заключительном этапе. Основными методами анализа являются дерево достижимости и матричные уравнения. Рассматривается один из таких методов анализа сетей Петри. С использованием дерева достижимости можно проанализировать, выявить и исправить сбои в процессах, которые могут произойти при наличии тупиковых состояний и при неправильной последовательности срабатывания переходов. Исходя из рассмотренных примеров предлагается обобщенный алгоритм построения дерева достижимости для стохастических сетей Петри. Предложенный алгоритм построения дерева достижимости стохастических сетей Петри можно применять для всех сетей как с конечным, так и с бесконечным множеством достижимости. Данный алгоритм будет являться полезным инструментом при анализе стохастических сетей Петри

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHM FOR CONSTRUCTING A REACHABILITY TREE FOR STOCHASTIC PETRI NETS

The article describes the basic definitions of the reachability tree of Petri nets. It also considers various examples of stochastic Petri nets, in which, after setting the initial markings in the first positions, the values in all other positions are determined. The work shows examples of determining markings by calculating the vector of the diagonal convolution. Each example of a stochastic Petri net is analyzed. This analysis is necessary for various distribution systems and processes, especially in the final stage. The main analysis methods are reachability tree and matrix equations. I consider one of such methods for analyzing Petri nets. Using the reachability tree, you can analyze, identify, and correct process failures that can occur when there are deadlocks and when transitions are fired incorrectly. Based on the examples considered, I propose a generalized algorithm for constructing a reachability tree for stochastic Petri nets. The proposed algorithm for constructing the reachability tree of stochastic Petri nets can be applied to all nets with both finite and infinite reachability sets. This algorithm will be a useful tool for analyzing stochastic Petri nets

Текст научной работы на тему «АЛГОРИТМ ПОСТРОЕНИЯ ДЕРЕВА ДОСТИЖИМОСТИ ДЛЯ СТОХАСТИЧЕСКИХ СЕТЕЙ ПЕТРИ»

DOI 10.36622^Ти.2020.16.6.005 УДК 51-7

АЛГОРИТМ ПОСТРОЕНИЯ ДЕРЕВА ДОСТИЖИМОСТИ ДЛЯ СТОХАСТИЧЕСКИХ

СЕТЕЙ ПЕТРИ

Д.С.Звягин

Воронежский институт МВД России, г. Воронеж, Россия

Аннотация: описываются основные определения дерева достижимости сетей Петри. Также рассматриваются различные примеры стохастических сетей Петри, в которых после выставления начальных маркировок в первых позициях определяются значения во всех остальных позициях. Показаны примеры определения маркировок при помощи высчитывания вектора диагональной свертки. Для каждого примера стохастической сети Петри проводится анализ данной сети. Данный анализ необходим для различных распределительных систем и процессов, особенно на заключительном этапе. Основными методами анализа являются дерево достижимости и матричные уравнения. Рассматривается один из таких методов анализа сетей Петри. С использованием дерева достижимости можно проанализировать, выявить и исправить сбои в процессах, которые могут произойти при наличии тупиковых состояний и при неправильной последовательности срабатывания переходов. Исходя из рассмотренных примеров предлагается обобщенный алгоритм построения дерева достижимости для стохастических сетей Петри. Предложенный алгоритм построения дерева достижимости стохастических сетей Петри можно применять для всех сетей как с конечным, так и с бесконечным множеством достижимости. Данный алгоритм будет являться полезным инструментом при анализе стохастических сетей Петри

Ключевые слова: моделирование, стохастические сети Петри, дерево достижимости

Введение

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

Постановка задачи

При анализе различных стохастических сетей Петри можно столкнуться с тупиковыми

© Звягин Д.С., 2020

состояниями, при которых невозможна работа системы. Для выявления таких проблем будет использоваться дерево достижимости, которое позволит показать все возможные переходы сети из одного состояния в другое. Для удобства построения такого дерева для стохастических сетей необходимо разработать алгоритм, рассмотрев различные примеры. Доказательством работоспособности данного алгоритма должна являться невозможность создания новых граничных вершин.

Решение

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

Определение 1. Граничные вершины -новые необработанные вершины, которые после обработки становятся внутренними, терминальными или дублирующими.

Определение 2. Внутренние вершины -обработанные граничные вершины, расположенные внутри дерева и не являющиеся терминальными или дублирующими.

Определение 3. Дублирующие вершины -обработанные граничные вершины, маркировки которых совпадают с ранее встречающимися в дереве вершинами.

Определение 4. Терминальные вершины -обработанные граничные вершины, в которых нет разрешенных переходов.

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

Пример 1.

Р1

№) =

Рис. 1. Пример стохастической сети Петри

Пусть начальная маркировка будет: 0,2

0,8

После срабатывания перехода Т1 маркировка позиции Рг имеет следующий вид:

№) = 5(^В(Р1),Т1) =

0,2 0,8

(1)

Дерево достижимости для данной сети выглядит так:

0,2 0,8

1

0,2 0,8

Рис. 2. Дерево достижимости стохастической сети Петри, приведенной из рис. 1

В данном случае алгоритм построения дерева достижимости останавливается, так как обе вершины являются дублирующими.

Пример 2. Р1

Р2

Рис. 3. Пример стохастической сети Петри

Начальная маркировка: [^(РО = №) =

0,2 0,8

Для наглядности данную модель можно изобразить следующим образом:

Р2

Р1

Р1

Рис. 4. Пример модели стохастической сети Петри

После первого срабатывания перехода маркировки позиций Рг и Р2 имеют следующий вид:

№) =

0,2 0,8

, Г(Р2) =

0,2 0,8

(2)

После второго срабатывания перехода маркировка позиций Рг и Р2 имеют следующий вид:

Г (Рг) =

0,2 0,8

(3)

а маркировка выходной позиции Д5(Р2) перехода Т-1 равна вектору диагональной свертки вектора [^(Рг) и вектора [3, 4]:

где

гт = ||г0 г1 ... гк\\1 (4) к = #(Р2,0(Т1)) = 1; (5)

г* = Г1 = Е1=1М£(Р1)] = 0,8; (6)

г0 = 1 - гк = 1 - 0,8 = 0,2. (7)

Окончательно: г

т _

0,2 0,8

. Определим

матрицу Грама векторов [^(Рг) и г. №(Р2),г)= 0,2

0,8 0,04 0,16 0,16 0,64

х||0,2 0,8|| =

(8)

Вектор диагональной свертки

г)) в данном случае будет равен: 0,04

^(С(^(Р2),г)) =

0,32 0,64

(9)

Таким образом, маркировка позиции Р2 после второго срабатывания перехода :

Г(Р2) = di(G(\is(P2),r)) =

0,04 0,32 0,64

(10)

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

Г (Pi) =

. (11)

0,008

0,2 ) = 0,0384

0,8 ' ц ( 2) 0,384 0,512

Как видно, размерность маркировки позиции Д5(Р2) после третьего срабатывания перехода Т-1 равна 3, и с последующими срабатываниями перехода данная размерность будет увеличиваться. Маркировку данной позиции

при построении дерева достижимости будем обозначать символом да (бесконечность).

Определение 5. Бесконечность да - бесконечная размерность маркировки, получающаяся из циклов одной и той же позиции.

Если же при многократном срабатывании другого перехода этой же позиции размерность уменьшается и стремится к 0, то маркировку данной позиции будем обозначать да-.

Исходя из расчетов, приведенных выше, видно, что нулевая компонента маркировки Ро^г) после каждого срабатывания перехода Т1 уменьшается (1; 0,2; 0,04; 0,008), то есть вероятность отсутствия фишек в позиции увеличивается (рис. 5).

1,2 @ 1

§ 0,8

с

S

§ 0,6

«

§ 0,4

£ и

ё 0,2

к

0

T1(0)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

T1(1)

U,UU8 0,0010 0,00032

T1(2) T1(3) T1(4) T1(5)

Срабатывание перехода

Рис. 5. Распределение значения компоненты М-о(Р2) при последовательном срабатывании перехода Т1

Дерево достижимости для данной сети выглядит так:

10,2

(р|,||1 iD

0

0,2 0,8

0,2 0,8

,1

I,

В этой начальной маркировке разрешены два перехода и Т2. Для того, чтобы найти все множества достижимости, первоначально необходимо определить новые вершины в дереве для маркировок, получаемых при срабатывании перехода Тг и Т2 (рис. 8).

Рис. 6. Дерево достижимости стохастической сети Петри, приведенной из рис. 3

В данном случае построение дерева достижимости останавливается, так как две нижние вершины являются дублирующими.

Пример 3.

Начальная маркировка: ns(Pi) =

№) = Ш, №з) =

Рис. 7. Пример модели стохастической сети Петри

0,2 0,8

При срабатывании перехода 7^ получаем

л 0,2

следующую маркировку: Ц4Р1) =

При срабатывании перехода Т2 получаем:

№2) =

0,2 0,8

0,8

, №з) =

0,21| ||0,21

■ \|1\1)

№) = Ш, №) =

,\ши|1\1)

0,2 0,8

Ц5(Р3) =

0,2 0,8

(|1|,

10,2 м 110,2

10,81М10,8

Рис. 8. Первый этап построения дерева достижимости стохастической сети Петри, приведенной из рис. 7

На втором этапе необходимо рассмотреть все маркировки, достижимые из вышеописанных маркировок.

Из маркировки (

0,2 0,2

0,8 , 0,8

, ||1||) мож-

но запустить два перехода: 7^ и Т2.

При срабатывании перехода 7^ маркировки позиций Рг и Р3 остаются неизменными, а маркировка позиции Р2 вычисляется при помощи определения вектора диагональной свертки &(С(^(Р2),г)):

0,04

Г(Р2) = ^(С(^(Р2),г)) =

0,32 0,64

(12)

При срабатывании перехода Т2 маркиров-

0,2

ка позиций Рг = ||1|| и Р3 =

0,8

а марки-

ровка позиции Р2 вычисляется при помощи определения вектора диагональной свертки г)), аналогично вышеописанным вычислениям:

Г(Р2) = ^(С(^(Р2),г)) =

0,21 0,81

10,21 Ю,81

.Ы)

/ \

0,21 0,81

0,0411

0,32У,|1|) 0,6411

0,04 (|1|, II0,32 110,64

Из маркировки (||1||,

0,2 0,2

0,8 , 0,8

) мож-

но запустить только переход Г3. При срабатывании перехода Т3 маркировка позиций = ||1|| и Р2 = ||1||, а маркировка позиции Р3 вычисляется при помощи определения вектора диагональной свертки ^г(С(ц5(Р3),г)):

0,36

Ц5(Р3)= ^(С(^(Р3),г)) =

0,64

. (14)

В итоге, на втором этапе получаем следующую маркировку:

- при срабатывании перехода Тг: [^(РО = 0,04

, ц5(Р2) = 0,32 , ц5(Р3) = |1И; 0,64

- при срабатывании перехода Т2: [^(РО = 0,04

0,2 0,8

Ц5(Р2) =

0,32 0,64

, №з) =

0,2 0,8

- при срабатывании перехода Т3: [^(РО =

. М1И, М1М)

(|1|,

10,21 1

0,2 0,8

0,2 0,8

СИП, М1М, N0,14

Рис. 9. Второй этап построения дерева достижимости стохастической сети Петри, приведенной из рис. 7

37

На третьем этапе необходимо рассмотреть все маркировки, достижимые из вышеописанных маркировок.

0,04

11/

Из маркировки (

0,2 0,8

0,32 0,64

,1|1||)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

можно запустить два перехода: Т1 и Т2.

При срабатывании перехода 7^ маркировки позиций Рг и Р3 остаются неизменными, а маркировка позиции Р2 вычисляется при помощи определения вектора диагональной

0,2

свертки di(G(yLs(P2),r)): hs(Pl) =

№2) =

0,008 0,096 0,384 0,512

0,8

№з) =

При срабатывании перехода Т2 маркировки позиций равны: hs(Pl) = ||1||, цЧ^г) = 0,008

0,096 0,384 0,512

0,8

Из маркировки (| |1| |,

0,04 0,32 0,64

0,2 0,8

)

можно запустить только переход Г3.

При срабатывании перехода Г3 маркировки позиций равны: hs(Pl) = ||1||, HS(P2) =

0,36 0,64

, №з) = Из маркировки (||1||, ||1||,

0,744 0,256

0,36 0,64

) невоз-

можно запустить ни один из переходов, то есть данная вершина является терминальной.

0,21 0,81

10,21 m,8l

,11111)

111||,111||)

(111||,

10,2 м и 0,2

Ю,811, II0,8

Рис. 10. Третий этап построения дерева достижимости стохастической сети Петри, приведенной из рис. 7

Рассматривая дерево достижимости данной стохастической сети Петри дальше, можно заметить, что срабатывание перехода 7^ будет бесконечным. При увеличении срабатывания перехода 7^ увеличивается количество срабатываний Г3 после срабатывания перехода Т2 (ТгТ2Г3Т3,Т1Т2Т3Т3Т3 ...). При срабатывании переходов Г1Г1.Г1 размерность маркировки позиции Р2 увеличивается и стремится к бесконечности: г(Ц5(Р3)) ^ от. Рассматривая вет-

ви дерева достижимости

^зТг, ТгТ2Т3Т3Т3 ... после срабатывания переходов Г3, нулевая компонента позиции Р3 стремится к 1: До(^з) ^ 1.

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

Пусть х - граничная вершина дерева, которую необходимо обработать.

1. Если в дереве имеется другая вершина, не являющаяся граничной и имеющая такую же маркировку, как и у вершины х, то такая вершина является дублирующей.

2. Если из маркировки вершины х не доступен ни один из переходов, то такая вершина является терминальной.

3. При разрешенном переходе Гг из вершины х можно создать вершину у, тогда маркировка данной вершины определяется следующим образом:

a) Если размерность маркировки одной из позиции вершины х равна бесконечности, то размерность маркировки этой же позиции вершины у также будет равна бесконечности.

b) Если на пути от начальной вершины к х существует вершина г, для которой размерность маркировок всех позиций меньше, чем размерность маркировок всех позиций х, и

7\

(QHlllll)

Заключение

Предложенный алгоритм построения дерева достижимости стохастических сетей Петри можно применять для всех сетей как с конечным, так и с бесконечным множеством достижимости. Данный алгоритм будет являться полезным инструментом при анализе стохастических сетей Петри. В дальнейшем для удобства анализа алгоритм построения дерева достижимости можно применить для исследования и моделирования процесса производства судебной почерковедческой экспертизы [5].

размерность маркировки определенной позиции меньше, чем размерность маркировки этой же позиции х после срабатывания перехода, то назначается значение размерности маркировки позиции х = от.

c) Если размерности маркировок позиций не меняются, но значение вероятностей нулевых компонент увеличивается, т.е. До№) ^ 1, то такая маркировка обозначается символом £, что соответствует единичной.

d) В противном случае маркировка позиций вершин равна вектору диагональной свертки ^г(С(ц5(Рг),г)).

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

Литература

1. Питерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984. 264 с.

2. Котов В.Е. Сети Петри. М.: Наука. Главная редакция физико-математической литературы, 1984. 160 с.

3. Звягин Д.С. Моделирование процесса производства судебной почерковедческой экспертизы с использованием стохастических сетей Петри // Вестник Воронежского института МВД России. 2020. № 2. С. 154-163.

4. Лескин А.А., Мальцев П.А., Спиридонов А.М. Сети Петри в моделировании и управлении. Л.: Наука, 1989. 133 с.

5. Пьянков О.В., Звягин Д.С. Моделирование процесса производства судебной почерковедческой экспертизы при помощи сетей Петри // Вестник Воронежского института МВД России. 2020. № 1. С. 57-64.

(||o8l|,llilUlill)

(Е1И11111)

шНР )

I

(llilMKlb

I

(ШнЛ-£)

(llill,

|0,2|| и0,2

10,8N ' II0,8

amumiQl)

Рис. 11. Дерево достижимости стохастической сети Петри, приведенной из рис. 7

Поступила 23.09.2020; принята к публикации 18.12.2020 39

Информация об авторах

Звягин Данил Сергеевич - преподаватель кафедры информационной безопасности, Воронежский институт МВД России (394065, Россия, г. Воронеж, проспект Патриотов, 53), e-mail: danil_exp@mail.ru, тел. 8-920-215-21-55

ALGORITHM FOR CONSTRUCTING A REACHABILITY TREE FOR STOCHASTIC

PETRI NETS

D.S. Zvyagin

Voronezh Institute of the Ministry of Internal Affairs of Russia, Voronezh, Russia

Abstract: the article describes the basic definitions of the reachability tree of Petri nets. It also considers various examples of stochastic Petri nets, in which, after setting the initial markings in the first positions, the values in all other positions are determined. The work shows examples of determining markings by calculating the vector of the diagonal convolution. Each example of a stochastic Petri net is analyzed. This analysis is necessary for various distribution systems and processes, especially in the final stage. The main analysis methods are reachability tree and matrix equations. I consider one of such methods for analyzing Petri nets. Using the reachability tree, you can analyze, identify, and correct process failures that can occur when there are deadlocks and when transitions are fired incorrectly. Based on the examples considered, I propose a generalized algorithm for constructing a reachability tree for stochastic Petri nets. The proposed algorithm for constructing the reachability tree of stochastic Petri nets can be applied to all nets with both finite and infinite reachability sets. This algorithm will be a useful tool for analyzing stochastic Petri nets

Key words: modeling, stochastic Petri nets, reachability tree

References

1. Peterson J. "The theory of Petri nets and modeling of systems", Moscow, Mir, 1984, 264 p.

2. Kotov V.E. "Petri nets" ("Seti Petri"), Moscow, Nauka, 1984, 160 p.

3. Zvyagin D.S. "Modeling the production process of forensic handwriting expertise using stochastic Petri nets", Bulletin of Voronezh Institute of the Ministry of Internal Affairs of Russia (Vestnik Voronezhskogo instituta MVD Rossii), 2020, no. 2, pp. 154163.

4. Leskin A.A., Mal'tsev P.A., Spiridonov A.M. "Petri nets in modeling and control" ("Seti Petri v modelirovanii i uprav-lenii"), Leningrad, Nauka, 1989, 133 p.

5. P'yankov O.V., Zvyagin D.S. "Modeling the production process of forensic handwriting expertise using Petri nets", Bulletin of Voronezh Institute of the Ministry of Internal Affairs of Russia (Vestnik Voronezhskogo instituta MVD Rossii), 2020, no. 1, pp. 57-64.

Submitted 23.09.2020; revised 18.12.2020 Information about the author

Danil S. Zvyagin, Assistant Professor, Voronezh Institute of the Ministry of Internal Affairs of Russia (53 Patriotov Avenue, Voronezh 394065, Russia), e-mail: danil_exp@mail.ru, tel. +7-920-215-21-55

i Надоели баннеры? Вы всегда можете отключить рекламу.