Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Формальное определение CPN






    Раскрашенная сеть Петри CPN- это кортеж

    CPN = {Θ, Σ, P, T, A, N, C, G, E, I}. (2.13)

    Рассмотрим элементы определения (2.13).

    1. Θ = {θ = 0, 1, 2, …} – множество дискретных моментов времени (шагов), в которые происходит функционирование сети. Номер шага есть переменная целого типа:

    var teta: Integer;

    2. Σ – конечное множество непустых типов, называемое цветами. Типы имеют общее название color и задаются аналогично тому, как это принято в языках программирования.

    Например:

    type colorI = Integer; - целый тип;

    type colorP = product U * I; - прямое произведение типов.

    При описании переменных, используемых в сети, указывают их принадлежность к типу, например:

    Var x: colorU; vari: colorI; varj: colorP.

    В последнем примере переменная j состоит из пары элементов j=(jU, jI), где элемент jU принадлежит типу colorU, а jI – типу color I.

    3. P – конечное множество позиций. Это множество может быть представлено перечисляемым типом:

    Type P=(p1, p2, …, pn);

    а для работы с ним вводится переменная

    var p: P.

    С каждой позицией может быть связана определенная маркировка, которая учитывает наличие различных типов ресурсов. Маркировка позиции p Є P представляет собой мультимножество, например, следующего вида:

    m (p)=(1`x, 2`, 1`j).

    Здесь х, i, j - переменные указанных в п. 2 цветовых типов, определяющие различные виды ресурсов, а цифры, стоящие перед кавычками – количество фишек соотвествующего типа в позиции р Є Р.

    Совокупность маркировок всех позиций называется маркировкой сети.

    М = {т(р,), т(р2),.. .т(рп)}.

     

    В языке Паскаль мультимножество, определяющее маркировку позиции, может быть представлено, напримертипом - множество, состоящим из записей вида

    type m — record

    i: Integer; x: colorU end;

    Операции над мультимножествами можно определить соответствующими процедурами. Аналогично определяется мультимножество, задающее маркировку сети.

    4. Т - конечное множество переходов, которое представить перечисляемым типом

    type T - (tl, t2,..., tm);

    и соответствующей переменной:

    var t: T.

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

    5. А - конечное множество дуг, связывающих между собой позиции и переходы. В отличие от обыкновенных сетей Петри, где дуги задаются матрицами инцидентности F р и Ft, а на языкеCPN ML указываются все дуги с помощью выражения вида р to t и t to p. где рЄ Р, t Є T. Такая нотация введена для того, чтобы можно было пару элементов pi, tj соединить несколькими дугами с различными свойствами.

    В этих выражениях первый элемент указывает начало дуги, второй – конец дуги.

    Множество А имеет следующую структуру:

    А = {a1, a2, …ap},

    где дуги аk Є А определяются одним из видов выражений

    ak = pi to tj или ak = tj to pi, pi Є P, tj Є T,

    Поскольку дуги имеют два вида: от позиции к переходу (p to t) и от перехода к позиции (t to p), то множество А можно представить в виде суммы непересекающихся множеств:

    A = Ap At, Ap At = Ø,

    Где множество Ap содержит элементы вида p to t, а множество At – элементы вида t to p.

    Как и в случае обыкновенных сетей Петри, элементы множеств P, T, A не пересекаются:

    P T = P A = T A = Ø.

    6. N(a) – узловая функция, которая для каждой дуги a Є A указывает ее исходный и конечный узел. Формально соответствует выражение s to d. Здесь s – имя узла, от которого начинается дуга, d – имя узла, где она заканчивается. Рассмотрим один из способов задания этой функции. Каждая дуга может быть представлена в виде записи. Дуга типа pi to tj задаются записью

    Type AP= record (2.14)

    p: P; t: T end;

    Дуги типа tj to pi задаются аналогично:

    Type AT=record (2.15)

    t: T p: P; end;

    Множества дуг Ap и At могут быть представлены перечисляемыми типами:

    Type AP=(ap1, ap2, …, apk); (2.16)

    Type AT=(at1, at2, …, atk);

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

    Var ap: AP; var at: AT;

    7. C(p) – цветовая функция, определяющая множество типовцветов, разрещенных для каждой позиции. Например, запись

     

     

    colorU if p Î {p1, p2, p4},

    C(p) =

    colorI otherwise

     

    означает, что цвета типа U разрешены для позиций p1, p2, p4, а цвета типа I разрешены для всех остальных позиций из Р.

    8. G(t) - блокировочная (спусковая) функция, описывающая дополнительные условия, которые должны быть выполнены для срабатывания перехода t Є T. Эта функция представляет собой предикат, составленный из переменных принадлежащих типов цветов Σ. Например, функции

    x = q if t = t1,

    G(t)=

    true otherwise

     

    Принимает истинное значение для перехода ti, если переменная x = q, а во всех остальных случаях она ложь. Таким образом, для того, чтобы было разрешено срабатывание перехода ti, требуется выполнение дополнительного условия x = q на входной дуге к ti. Если эта функция не определена, то по умолчания предполагается истинной.

    9. Е(а) – функция, задающая выражения на дугах a Є А.Эта функция для каждой дуги a определяет мультимножество, состоящее из элементов, описанных в множестве цветов Σ. Мы будем говорить, что это мультимножество помечает дугу. Введение в CPN функции Е(а) является развитием понятия кратности дуг в формализме обыкновенных СП.

    Рассмотрим примеры задания функции Е(а).

    Е(а1) = 2’е

    - дуга а} помечается двумя фишками типа е;

    Е(а2) = case x of p => 2’e | q => 1’e

    - дуга а2 помечается двумя фишками типа e, если переменная x=pи одной фишкой типа e, если x=q.

    Е(а3) = if x=p then 1’e else empty

    - дуга а3 помечается одной фишкой типа e, если x=p, иначе не помечается.

    Е(а4) = if x=q hten 1’(q? i + 1) else empty

    - дуга а4 помечается одной фишкой типа Р (см. пример в п.2), если х=q и не помечается в противном случае.

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

    9. I(p) – функция инициализации сети CPN. Эта функция по аналогии с обыкновенными СП задает начальную маркировку (разметку) сети М0, т.е. для каждой позиции р Є Р указывает цветовое мультимножество, обозначаемое m0(p).

    Например, m0(p1) = 3’e; m0(p2)=2’(p, 0); m0(p3)=Ø – начальные маркировки позиций;

    М0 ={3’e; 2’(p, 0); Ø } – начальная маркировка сети.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.