Sunteți pe pagina 1din 11

REELE PETRI P/T CU SALTURI

O reea Petri P/T cu salturi , abreviat JPTN, este o pereche = (N, R), unde N este o reea
Petri i R este o relaie binar pe mulimea marcrilor lui N, numit mulimea salturilor
(spontane) reelei . n cele ce urmeaz mulimea de salturi R a oricrei reele Petri cu salturi se
presupune a fi recursiv, adic pentru orice pereche de marcri (M, M) putem decide efectiv
dac aparine sau nu lui R.
O reea Petri cu salturi marcat, abreviat mJPTN, este o pereche = (N, R, M
0
), unde
(N, R) este o reea Petri cu salturi, iar M
0
, numit i marcarea iniial a lui , este o marcare a
(N, R).
Fie = (N, R) o reea Petri cu salturi. Perechile (M, M) R sunt salturile reelei . Dac
mulimea salturilor reelei este finit, atunci spunem ca este reea Petri cu salturi finit
(FJPTN).
Comportamentul reelei este dat de aa-numita regul de j-tranziie, care const n:
Regula de j-aplicabilitate: o tranziie t este j-posibil la marcarea M, abreviat M[t
,j
,
dac i numai dac exist o marcare M
1
astfel nct M R
*
M
1
[t
N
(N fiind reeaua de
baz a lui i R
*
nchiderea reflexiv i tranzitiv a relaiei R).
Regula de j-calcul: dac M[t
,j
atunci marcarea M este j-produs prin apariia
tranziiei t la marcarea M, abreviat M[t
,j
M, dac i numai dac exist dou marcri
M
1
, M
2
astfel nct M R
*
M
1
[t
N
M
2
R
*
M.
Notaia [.
,j
va fi simplificat la [.
j
atunci cnd este subneleas din context.
Noiunile de j-secven de tranziie i marcare j-accesibil sunt definite similar ca cele
pentru reele Petri.
Mulimea tuturor marcrilor j-accesibile ale unei reele marcate si este notat prin RS()
sau prin [M
0

,j
.
Marcarea M este acoperibil n dac exist o marcare M [M
0

,j
astfel nct M M.
GRADE DE CONCUREN PENTRU REELE PETRI P/T

Definiie 1: Fie o N = (P, T, F, W) o reea Petri i M o marcare arbitrar a lui N.
T T se numete mulimea tranziiilor concurent posibile la marcarea M (sau un
pas posibil la marcarea M) dac



.
T T se numete mulimea tuturor tranziiilor concurent posibile la marcarea
M (pas maximal la M) dac T este pas posibil la M i pentru t T - T, T {t} nu
este pas posibil la M.(nu exista nici o alta tranzitie n reea care sa fie posibil la M).
Notaii 1: Fie N = (P, T, F, W) o reea Petri i M o marcare a reelei N.
1. Notm cu T(M) mulimea tuturor tranziiilor posibile la marcarea M.
T(M) = {t T |


M}.
2. Notm cu CT(M) mulimea tuturor submulimilor tranziiilor concurent posibile la M.
CT(M) = {T T |



}.
3. Notm cu MCT(M) mulimea tuturor submulimilor maximale de tranziii concurent
posibile la marcarea M.
MCT(M) = {T T | T este pas maximal la marcarea M}.
Exemplu 1:

Pentru reeaua de mai sus este uor de vzut c submulimile T={T0, T1, T2, T3} i T={T0,
T1, T4} sunt pai maximali la marcarea iniial a reelei, ba mai mult, acestea sunt singurele.
T(1, 1, 3, 0, 0) = {T0, T1, T2, T3, T4};
CT(1, 1, 3, 0, 0) = { {T}, {T}, {T, T} };
MCT(1, l, 3, 0, 0, 0) = {T, T}.
Definiie 2: Fie N o reea Petri i M o marcare arbitrar a reelei N. Gradul de concuren la
marcarea M a unei reele N este definit prin:
d(N, M) = max{|T| | T MCT(M)}.
Definiie 3: Fie = (N, M
0
) o reea Petri marcat.
Gradul inferior de concuren a reelei este definit prin:
d
-
( ) = min{ d(, M) | M [M
0

}.
Gradul superior de concuren a reelei este definit prin:
d
+
( ) = max{ d(, M) | M [M
0

}.
Observaie 1: Direct de la definiii avem:
1. 0 d
-
( ) d
+
( ) .
2. Gradul inferior de concuren al unei reele , d
-
( ), reprezint numrul minim de
tranziii concurent posibile la orice marcare accesibil a reelei , i are proprietatea c
exist cel puin o marcare accesibil M [M
0

, astfel nct exist d


-
( ) tranziii
concurent posibile la M.
3. Gradul superior de concuren al unei reele , d
+
( ), reprezint numrul maxim de
tranziii concurent posibile la orice marcare accesibil a reelei , i are proprietatea c
exist cel puin o marcare accesibil M [M
0

, astfel nct exist d


+
( ) tranziii
concurent posibile la M.
Definiie 4: Fie = (N, M
0
) o reea Petri marcat. Dac d
-
() = d
+
(), atunci notm acest
numr cu d() ( d() = d
-
() = d
+
() ), i l numim gradul de concuren a reelei .
Exemplu 2:

Pentru reeaua Petri marcat reprezentat mai sus, se observ cu uurin c pasul T0 este
posibil la orice marcare accesibil, i.e. T0 T(M), pentru orice M [M
0

, ceea ce nseamn c
gradul inferior de concuren a reelei este cel puin 1: d
-
() 1. Fie M
1
marcarea produs prin
aplicarea tranziiei T1 la marcarea iniial, i.e. M
0
[T1

M
1
; M
0
= (2, 1, 0, 0, 0) i
M
1
= (1, 0, 0, 1, 0). Ct timp T0 este singura tranziie posibil la M
1
, i.e. T(M
1
) = {T0}, avem
d(, M
1
) = 1 i d
-
() = 1. Mai mult de att, este uor de observat c tranziia T1 poate apare cel
mult o singur dat n orice secven de tranziie de la marcarea iniial, i c tranziia T2 apare
de asemenea cel mult o dat i numai dup apariia lui T1. Acest lucru nseamn c mulimea T =
{T0, T1, T2} nu poate fi un pas al oricrei marcri accesibile, deci d
+
( ) < 3. Att timp ct
submulimea T = { T0, T1} este singurul pas maximal la marcarea M
0
, i.e. MCT(M
0
) = {T},
avem d(, M
0
) = 2. Astfel, gradul superior de concuren este d
+
() = 2.
Teorema 1: Gradul de concuren la o marcare, d(N, M), este calculabil pentru orice reea
Petri N i pentru orice marcare M.
Algoritmul de calcul al gradului de concuren la o marcare a unei reele Petri:
procedure grad-de-concuren-la-o-marcare(N: reea Petri, M: marcare)
{
for(i = n; i 0; i--) //unde n = |T|
{
//considerm toate submulimile lui T cu i elemente
Pentru fiecare T T cu |T| = i
{
o M =

; //M este cea mai mic marcare la care T este concurent


posibil
o Dac M M atunci STOP;
}
}
STOP: d(N, M) = i;
return d(N, M);
}

Exemplu:

Pentru reeaua Petri marcat reprezentat mai sus, cu marcarea iniial M = (2, 1, 0, 0, 0)
avem T = {T0, T1, T2}, deci |T| = 3.
La primul pas, i = 3 cosiderm submulimile de 3 tranziii ale mulimii de tranziii T, deci
T={T0, T1, T2}. Cea mai mic marcare la care T este concurent posibil este M = (1,1,1,1,0).
Aceasta nu este M, deci se trece la pasul urmtor, adic la submulimile de 2 tranziii ale lui T:
T={T0, T1}, T={T0, T2}, respectiv T={T1, T2}.
Pentru T={T0, T1} cea mai mic marcare la care este posibil este M = (1, 1, 0, 0, 0), care
este mai mic dect marcarea iniial, de unde rezult c s-a gsit gradul de concuren la
marcare M, deci d(N, M) = 2.

Algoritmul de calcul al gradului superior de concuren la o marcare a unei reele Petri:
= (N, M
0
) - reea Petri marcat ; |T| = n => d
+
( ) < n.
procedure gradul-superior-de-concuren( : reea Petri marcat)
{
for(i = n; i 0; i--) //unde n = |T|
{ //considerm toate submulimile lui T cu i elemente
Pentru fiecare T T cu |T| = i
{
o M =

; //M este cea mai mic marcare la care T este concurent


posibil
o Dac este-acoperibil(, M) atunci STOP;
}
}
STOP: d
+
( ) = i;
return d
+
( );
}
boolean function este-acoperibil ( : reea Petri marcat, M: marcare)
{
Fie () graful de acoperire minimal al reelei ;
dac (exist cel puin un nod M n () astfel nct M M)
atunci return TRUE;
altfel return FALSE;
}

Exemplu:

Graful de acoperire minimal al reelei este:

Pentru reeaua Petri marcat reprezentat mai sus, cu marcarea iniial M = (1, 0, 0, 0) avem
T = {T0, T1, T2}, deci |T| = 3.
La primul pas, i = 3 cosiderm submulimile de 3 tranziii ale mulimii de tranziii T, deci
T={T0, T1, T2}. Cea mai mic marcare la care T este concurent posibil este M = (1,1,1,1,0).
Se observ c nu exist nici un nod M n graful de acoperire pentru care M M , deci se
trece la pasul urmtor, adic la submulimile de 2 tranziii ale lui T: T={T0, T1}, T={T0, T2},
respectiv T={T1, T2}.
Pentru T={T0, T1} cea mai mic marcare la care este posibil este M = (1, 1, 0, 0).Se
observ c exist nodul M = (1, , 0, 0) n graful de acoperire pentru care M M, de unde
rezult c s-a gsit gradul superior de concuren la marcare M, deci d
+
( ) = 2.

Teorema 2: Gradul superior de concuren d
+
() este calculabil pentru orice reea Petri
marcat .
Modul de calcul al gradul inferior de concuren al unei reele Petri
Fie = (N, M
0
) o reea Petri marcat.
Dac mulimea de accesibilitate [M
0

este finit, atunci putem s calculm gradul inferior de


concuren al reelei utiliznd direct definiia: d
-
( ) = min{ d(, M) | M [M
0

}, pentru c
minimul este calculat pe o mulime finit i d(, M) este calculabil, pentru fiecare marcare M.
Dac [M
0

este infinit atunci, exist o submulime finit [M


0

a..
(*) M [M
0

, M a.. M M.
poate fi considerat ca fiind mulimea marcrilor minimale accesibile din ,
i.e. = minimal([M
0

) ={M [M
0

| M [M
0

: M > M}.
Atunci, are loc urmtoarea egalitate:
min{d(, M) | M [M
0

} = min{d(, M) | M }.
Teorema 3: Gradul inferior de concuren d
-
() e calculabil pentru orice reea Petri marcat .

GRADE DE CONCUREN PENTRU REELE PETRI CU SALTURI
O reea Petri cu salturi este o reea Petri la care se aplic o relaie binar asupra marcrii
sale. nelesul perechii (M, M) R este c reeaua poate sri spontan de la marcarea M la
marcarea M.
Exemplu1 : Considerm un sistem format dintr-un productor i un consummator, i un buffer
cu o capacitate nelimitat, utilizat pentru depozitarea produselor produse de productor i
consumate de consumator. n plus, presupunem c productorul poate lua o pauz n orice
moment, i consumatorul poate lua o pauz doar cnd buffer-ul este gol.

R = {((0, 1, 0), (0, 0, 1))}
Fie = (N, R, M
0
) reeaua cu salturi marcat reprezentat mai sus. Locaia P0 modeleaz
bufferul, traziia T0 modeleaz producerea produselor de ctre productor, i tranziia T1
modeleaz consumarea produselor de ctre consumator. Locaia P1 modeleaz starea activ a
consumatorului, i locaia P2 modeleaz starea inactiv a sa. Faptul c un consumator poate lua o
pauz doar cnd bufferul este gol, este modelat printr-un salt n aceast reea, de la marcarea
iniial M
0
= (0, 1, 0) la marcarea M
0
= (0, 0, 1), i rezumarea activitii prin tranziia T2.
Definiia 1: Fie = (N, R) o reea Petri cu salturi, N fiind reeaua Petri de baz a , i M o
marcare arbitrar a reelei. Gradul de concuren la marcarea M a reelei este definit prin:
d(, M) = max{ d(N, M) | M R
*
M}.
Definiia 2: Fie = (N, R, M
0
) o reea Petri cu salturi marcat.
1. Gradul inferior de concuren al reelei este definit astfel:
d
-
( ) = min{ d(, M) | M [M
0

,j
}
2. Gradul superior de concuren al reelei este definit astfel:
d
+
( ) = max{ d(, M) | M [M
0

,j
}
Definiia 3: Fie = (N, R, M
0
) o reea Petri cu salturi marcat. Dac d
-
() = d
+
(), atunci
notm acest numr cu d(), i.e. d() = d
-
() = d
+
(), i l numim grad de concuren al reelei .



Exemplu 2:

Notm cu M
n
, M
n
urmtoarele marcri: M
n
= (n, 1, 0), M
n
= (n, 0, 1) pentru orice n 0.
Astfel, mulimea salturilor este R = {( M
0
,M
0
)}, i este uor de observat c tranziia T0 este
posibil la orice marcare j-accesibil a reelei, tranziia T1 este posibil la orice marcare M
n
, n1,
i tranziia T2 este posibil pentru toate marcrile M
n
, n 0. Pentru aceasta, mulimea de
j-accesibilitate este [M
0

,j
= { M
n
| n 0 } { M
n
| n 0}, i graful de j-accesibilitate al reelei
, ().
Mai exact, M
0
RM
0
este singurul salt n reeaua , i T(M
0
) = { T0 }, cu M
0
[T0
N
M
1
, ceea ce
nseamn c d(N, M
0
) = 1. Pentru orice n 1 avem c T(M
n
) = { T0, T1}, cu M
n
[T0
N
M
n+1
i
M
n
[T1
N
M
n-1
; mai mult, M
n
[{T0, T1}
N
M
n
i MCT(M
n
) = {{T0, T1}}. Pentru aceasta
d(N, M
N
) = 2, n1. De asemenea, pentru n0 avem c T(M
n
) = {T0, T1}, cu
M
n
[T0
N
M
n+1
i M
n
[T2
N
M
n+1
; mai mult M
n
[{T0, T2}
N
M
n+1
i MCT(M
n
) = {{T0, T2}}.
Deci, d(N, M
N
) = 2, n0.
Acum, s calculm gradele de concuren ale reelei cu salturi . Astfel M
0
RM
0
este singurul
salt al reelei , avem c d(, M
0
) = max{ d(N, M
0
), d(N, M
0
) } = 2, d(, M
n
) = d(N, M
n
) = 2,
n1, i d(, M
n
) = d(N, M
n
) = 2, n0. Deci d( ) = d
-
( ) = d
+
( ) = 2, deci gradul de
concuren al reelei este 2.
Notm gradul de concuren inferior, respectiv superior al reelei cu d
-
( N) = 1, respective
d
+
(N) = 2; mai mult, d(N) este nedefinit i mulimea de accesibilitate este [M
0

N
= {M
n
| n 0}.
Mai nti de toate, s remarcm faptul c gradul de concuren la orice marcare a unei reele
Petri cu salturi poate fi calculat dac are proprietatea c {M | M R
*
M} este finit, pentru
orice marcare M. Observm faptul c orice reea cu salturi finit are aceast proprietate. Datorit
acestui fapt avem urmtorul rezultat:
Teorema 1: Gradul de concuren la o marcare, d(, M), este calculabil pentru orice reea Petri
cu salturi finit i pentru orice marcare M.
Algoritmul pentru calcularea gradului superior de concuren la o marcare a unei reele Petri
se comport similar i pentru o reea Petri marcat cu salturi finit, pentru c problema acoperirii
este decidabil pentru reele Petri cu salturi finite marcate. Ca i consecin, avem urmtorul
rezultat:
Teorema 2: Gradul superior de concuren d
+
() este calculabil pentru orice reea Petri cu
salturi finit marcat .
Calculul gradului de concuren inferior al unei reele Petri cu salturi finit marcat:
Fie = (N, R, M
0
) o reea Petri cu salturi finit marcat.
Dac mulimea de accesibilitate [M
0

,j
este finit, atunci putem calcula gradul inferior de
concuren a reelei utiliznd direct definiia d
-
( ) = min{ d(, M) | M [M
0

,j
}, pentru c
minimul este calculabil pe o mulime finit i d(, M) este calculabil, pentru orice marcare M.
Dac mulimea de accesibilitate [M
0

,j
este infinit. Atunci, exist o submulime [M
0

,j
astfel nct
(*) M [M
0

,j
, M astfel nct MM.
Mai mult dect att, noi putem considera ca fiind mulimea marcrilor accesibile minimale
ale reelei , i.e.
= {M [M
0

,j
| M [M
0

,j
{M}:M>M }.
Atunci, avem urmtorul rezultat:
Propoziia 1: Urmtoarea egalitate are loc:
min{ d(, M) | M [M
0

,j
} = min{ d(, M) | M }.
Modul de construcie al lui :
Fie = (N, R, M
0
) o reea Petri cu salturi marcat finit, cu R :
R = {(M
i
, M
i
) | 1 i n}, n 1 a.. M
i
[M
0

,j
.
i asociem reelei urmtoarele reele Petri marcate:

0
= (N, M
0
) i
i
= (N, M
i
), 1 i n,
este mulimea marcrilor minimal accesibile ale
i
, 1 i n. Aceast mulime este finit
i avem: = {M | M - {M} : M > M}, unde = {M
i
| 1 i n}.
Deci, att timp ct M
i
, 1 i n sunt calculabile, mulimea este calculabil.
Teorema 3: Gradul inferior de concuren d
-
( ) este calculabil pentru orice reea Petri cu
salturi finit marcat .