Динамика сетей Петри в пространстве состояний. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Динамика сетей Петри в пространстве состояний.



 

Динамика сети описывается следующим рекуррентным уравнением:

 

Mk = Mk-1+A*Uk, k=1, 2, 3,…. (5.1)

 

Для вычисления управляющего вектора Uk необходимо определить те переходы tj, которые срабатывают при маркировании Mk-1. Если tj срабатывает, то uj=1 и произведение A*Uk даёт число меток, добавляемых в позицию P i в каждом такте.

Условие срабатывания перехода tj и выработки uj=1 представляется логическим уравнением:

 

i [m(P i) ≥ I(t j,P i)] (u j =1), (5.2)

 

которое управляет действиями tj.

Для генерирования диаграммы состояний сети Петри достаточно использовать (5.1), (5.2). В теории сетей Петри иногда исходят из того, что не указывают порядок срабатывания переходов, если вектор U задаёт возбуждение нескольких из них в одном и том же такте k. Так в примере при построении дерева достижимости в состоянии M0 вектор управления U1*=(1,0,1), что указывает на возбуждение первого и третьего переходов. При срабатывании t1 сеть перейдёт в состояние M1=(0,1,1,1), при t3 в состояние M5=(2,2,0,0). Однако, если следовать (5.1), то диаграмма состояний сети имеет вид рис. 5.22в. Итак, если полагать, что все возбуждённые переходы срабатывают вместе, то динамику сети можно представить уравнением (5.1). Если исходить из того, что возбуждённые переходы могут срабатывать только порознь, то уравнение состояний сети будет иметь
в)
б)
a)
другой вид.

 

  P             P             t        
t             t             P          
    -1                                  
A:     -1 -1     I:             O:          
                                       
                                       

 

I: T x P → {0,1} - функция следования;

O: P x T → {0,1} - функция предшествования.

 

Рис. 5.22. Построение диаграммы состояний сети

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

Свободное движение сети. В реальных ВС имеется вполне определённый способ управления сменой состояний и присутствует такой фактор как время, что позволяет уточнить уравнение (5.2). Если времена срабатывания переходов одинаковы, то динамика системы моделируется уравнениями (5.1), (5.2), поскольку такая сеть является синхронной. Этих уравнений недостаточно для моделирования асинхронных процессов, для которых времена срабатывания различны.

В этом случае процедуру продвижения меток в сети следует производить в асинхронном времени, введя в модель часы. Если в синхронных системах достаточно вести отсчёт тактов, то в асинхронных необходимо в каждом из тактов определять момент наступления очередного. Интервал времени между тактами k и k +1 определяется временем наступления срабатывания одновременно одного или нескольких переходов.

Вынужденное движение сети. Уравнение (5.1) отражает свободное движение сети из начального состояния M0. Вынужденное движение сети определяется вектором-функцией W(t), компоненты которого Wi(t) описывают приход меток в позиции Pi во времени; W(t) может задаваться в моменты дискретного времени k, наступление которых устанавливается моментами переключения состояния сети или внутренними часами.

Уравнение вынужденного движения сети Петри имеет вид:

 

Mk = Mk-1+A*Uk + Wk (5.3)

 

Таким образом, введённая здесь последовательность Wk описывает внешний источник меток, представленных входной лентой.

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

Последовательность Wk предназначена для отображения взаимодействий в структурированных сетях, она может отображать последовательные наборы данных, управляющих команд и т. д. Очевидно, что в любом состоянии системы компоненты вектора маркировки не могут быть отрицательными, то есть Mk≥0, Vk. Учитывая последнее, из (5.1) получаем Mk-1+A*Uk≥0.

Последовательность маркирований (5.1) можно выразить через начальную маркировку M0 и вектор счёта срабатываний:

 

S = { }; j = 1, 2, 3, …, m. (5.4)

Элемент sj указывает, какое число раз срабатывает переход t в последовательности маркирований, ведущей от M0 к Мк.

Учитывая уравнение (5.4), из выражения (5.1) получаем:

 

Mk = M0 + A*S. (5.5)

 

Введя вектор изменения маркирования ΔM = Mk – M0, из уравнения (6) получим:

 

A*S = ΔM. (5.6)

 

К нахождению решений данного уравнения сводятся различные задачи практики. Все его возможные решения можно получить одним из методов решения задач целочисленного программирования.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 224; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.148.102.90 (0.006 с.)