Sunteți pe pagina 1din 7

Reţele Petri discrete

O Reţea Petri (RP) este un model de tip graf bipartit şi orientat, alcătuit din două
categorii de noduri distincte: poziţii şi tranziţii. Aceste noduri sunt unite prin arce orientate,
care nu conectează niciodată între ele poziţii cu poziţii, sau tranziţii cu tranziţii. Deci,
obligatoriu, de-a lungul unui traseu, într-o Reţea Petri trebuie să existe o alternantă între
poziţiile şi tranziţiile conectate.
Din punct de vedere graphic, într-o RP discretă care modelează un sistem cu
evenimente discrete, poziţiile sunt reprezentate prin cercuri, iar tranziţiile prin bare
(dreptunghiuri) orizontale, sau vertical (Fig.1)

poziţie

w arc orientat
T
tranziţie

Fig. 1 Explicativă la reprezentarea unei Reţele Petri discrete

Arcele reţelei sunt etichetate cu ponderile lor (valori întregi pozitive); un arc cu
ponderea w (Fig. 1) poate fi privit ca o mulţime de w arce paralele, fiecare dintre acestea având
pondere unitară ( w = 1). In reprezentările grafice uzuale, etichetele pentru pondere unitară se
omit (nu se mai inscripţionează lângă arcele respective).
Un marcaj, sau o stare atribuie fiecărei poziţii P din reţea un număr întreg, mai mare
sau egal cu zero ( k  0). Dacă un marcaj atribuie unei poziţii P a reţelei marcajul k  0, se
spune că poziţia P este marcată cu k jetoane. Din punct de vedere grafic, în cercul corespunzător
pozitiei P a modelului se vor plasa k puncte. Dacă marcajul aferent poziţiei P este nul, în
interiorul cercului prin care se reprezintă poziţia P nu se inscripţionează nimic (Fig. 2).

P P
Poziţia P marcată cu Poziţia P cu marcaj
2 jetoane M(P)=2 nul M(P)=0

T T

Fig. 2 Explicativă la reprezentarea marcajului într-o Reţea Petri discretă

Orice marcaj M al reţelei este un vector n- dimensional, unde n reprezintă numărul


tuturor poziţiilor reţelei.
𝐌𝑡 = [ M(P1 ), M(P2 ), M(P3 ), ....., M(Pn ) ]𝑡
Componentele acestui vector reprezintă marcajele poziţiilor reţelei.
De exemplu M(P3) este cea de-a treia componentă a vectorului M şi reprezintă marcajul
poziţiei P3 a reţelei.

1
In problemele de modelare ce utilizează conceptele de condiţii şi evenimente, poziţiile
reprezintă (prin marcajul lor) condiţii necesare de evoluţie într-o altă stare a sistemului
reprezentat, iar tranziţiile modelează evenimentele externe sistemului care pot determina
evoluţia acestuia, atunci când condiţiile necesare pentru această evoluţie sunt îndeplinite. In
acest context, prezenţa unui jeton într-o poziţie, trebuie înţeleasă ca valoare logică „ adevărat”
pentru condiţia asociată respectivei poziţii.
Aspectele prezentate anterior pot fi formalizate matematic prin următoarea definiţie:
O Reţea Petri discretă este un ansamblu RP = ( P, T, F, W, M0), în care:
P = { P1, P2, P3, .....Pn} este mulţimea finită a poziţiilor reţelei;
T = { T1, T2, T3, ..., Tm} – mulţimea finită a tranziţiilor;
F  ( P  T )  ( T  P) – mulţimea arcelor reţelei, conectate între poziţii şi tranziţii (
P  T ) şi între tranziţii şi poziţii ( T  P );
W: F → { 1, 2, 3, ....} funcţia de ponderare a arcelor, care asociază fiecărui arc o pondere
reprezentată printr-un număr întreg strict pozitiv;
M0 : P → { 0, 1, 2, 3, ....} funcţia marcajului iniţial, care asociază fiecărei poziţii a
reţelei un număr de jetoane, reprezentat printr-un număr întreg pozitiv)
Componentele vectorului marcajului iniţial al reţelei are ca elemente marcajele
iniţiale ale celor n poziţii ale reţelei: 𝑀0𝑡 = [ 𝑀0 (𝑃1 ), 𝑀0 (𝑃2 ), 𝑀0 (𝑃3 ), . . . . . , 𝑀0 (𝑃𝑛 ) ]𝑡

Observaţie : Mulţimile P şi T ale retelei sunt disjuncte: P  T = {  }.


Pornind de la formalizarea matematică (1) se poate reprezenta grafic imediat o Reţea
Petri discretă; de asemenea, o reţea reprezentată grafic poate fi descrisă prin ansamblul (1),
evidenţiindu-se fiecare dintre elementele acestuia: mulţimea pozitiilor, a tranziţilor, mulţimea
arcelor de legătură etc.

Exemplul 1
Se consideră Reţeaua Petri discretă definită prin:
P = { P1, P2, P3}, T = {T}, F = {(P1, T), (P2, T)}  {(T, P3)}
W(P1, T) = 2, W(P2, T) = 1, W(T, P3) = 2
M0(P1) = 2, M0(P2) = 2, M0(P3) = 0
Reprezentarea grafică a acestei reţele este indicată în Fig.2.

2
P1
P2

2
T
2

P3

Fig. 2 Reţeaua Petri din exemplul 1

Deoarece o Reţea Petri este construită (sintetizată) ca fiind un model al unui sistem (aici
sistem cu evenimente discrete), poate fi considerată la rândul său un sistem, caracterizat
printr-o topologie (structură) şi o dinamică proprie. Topologia reţelei a fost pusă în evidenţă
prin elementele sale componente şi prin modul de legătură dintre acestea ( poziţii, tranziţii, arce
de legătură). In ceea ce priveşte dinamica, aceasta este în legătură directă cu cea a sistemului
fizic reprezentat şi este evidenţiată prin marcaj.
Marcajul unei RP are semnificaţie de stare a reţelei (a sistemului modelat) şi se poate
modifica în conformitate cu un anumit procedeu, denumit în general regula tranziţiei (validare
şi executare):
- O tranziţie T a reţelei se spune că este validată dacă fiecare poziţie de intrare P a lui T
este marcată cu cel puţin W(P, T) jetoane, unde W(P, T) este ponderea arcului de
legătură dintre poziţia P şi tranziţia T.
- O tranziţie a reţelei poate sau nu să fie executată, după cum evenimentul asociat
tranziţiei are sau nu loc.
- Executarea unei tranziţii validate T, îndepărtează W(P, T) jetoane din fiecare poziţie de
intrare P a lui T şi adaugă W(T, P) jetoane în fiecare poziţie de ieşire P a lui T, unde
W(T, P) este ponderea arcului ce leagă tranzitia T de poziţia P.
Aşadar, pentru ca sistemul reprezentat printr-o Reţea Petri discretă să evolueze într-o altă
stare este necesar să fie îndeplinite o serie de condiţii. Aceste condiţii sunt puse în evidenţă de
marcajul M al reţelei, prin care se validează unele dintre tranziţiile acesteia. Executarea
tranziţiilor validate este posibilă numai dacă evenimentul ( sau secvenţa de evenimente asociată
acestora) se produce. De exemplu, pentru ca un client aflat într-un fir de aşteptare să fie servit
este necasar ca el să fie prezent în fir. Condiţia nu este şi suficientă, deoarece serverul care
asigură deservirea clienţilor poate să nu fie disponibil, fiind ocupat cu servirea altui client, sau
fiind defect. Prin urmare, clientul aflat în curs de servire va fi servit doar când serverul este
disponibil pentru această operaţie.
Să analizăm situaţia reţelei prezentate în Fig. 1. Marcajul iniţial al reţelei din Fig. 1 indică
starea iniţială în care se găseşte sistemul reprezentat prin această reţea. Sistemul poate evolua
în alte stări dacă sunt îndeplinite condiţiile necesare şi evenimentu (evenimentele) asiciat(e)
tranziţiilor se produc. Prin urmare, să analizăm dacă sunt îndeplinite condiţiile din regula
tranziţiei şi să găsim marcajele (stările) în care reţeaua (sistemul) poate să evolueze (dacă există
astfel de stări).
- Potrivit marcajului iniţial şi regulii tranziţiei, tranziţia T este validată, deoarece
M0(P1) = 2 = W(P1, T) = 2 şi M0(P2) = 2 > 1 = W(P2, T).
- Dacă evenimentul asociat lui T se produce, atunci tranziţia se va executa şi sistemul va
comuta într-o nouă stare definită printr-un nou marcaj.

3
- Execuţia lui T îndepărtează două jetoane din poziţia P1 (deoarece W(P1, T)=2) şi un
jeton din poziţia P2 (deoarece W(P2, T)=1) şi adaugă două jetoane în poziţia de ieşire
P3, deoarece W(T, P3) = 2. Noul marcaj al reţelei este M1t = [ 0, 1, 2 ]t (Fig.3). Acest
nou marcaj al reţelei reprezintă o altă stare a sistemului modelat.

P1
P2 P1
P2
2
T 2
2 Execuţia lui T T
2
P3
P3

M0t = [ 2 2 0 ]t M1t = [ 0 1 2 ]t
Fig.3 Explicativă la evoluţia reţelei din exemplul 1

Din această stare, nu mai este posibilă nici o evoluţie a sistemului, deoarece tranziţia T
nu mai este validată şi, deci, nici executabilă. Prin urmare, chiar dacă evenimentul asociat
tranziţiei T s-ar produce, nu mai sunt îndeplinite condiţiile necesare de evoluţie într-o altă
stare (tranziţia T nu mai este validată din starea M1, deoarece M1(P1) = 0 < W(P1, T) = 2).
Sistemul modelat prin reţeaua din Fig.1 poate evolua într-o singură stare din starea iniţială
evidenţiată de marcajul iniţial din Fig.1. Dintr-o altă stare iniţială, este posibil ca sistemul să
evolueze în mai multe stări (TEMĂ – să se considere o altă stare iniţială şi să se analizeze
evoluţia sistemului)
O tranziţie fără nici o poziţie de intrare se numeşte tranziţie sursă. O astfel de ttranziţie
este necondiţionat validată (fără a fi obligatoriu să se execute, dacă evenimentul asociat
acesteia nu se produce). Executarea acestei tranziţii introduce (produce) jetoane în model
O tranziţie fără nici o poziţie de ieşire se numeşte tranziţie receptor, sau tranziţie ţintă,
iar executarea acesteia consumă jetoane, fără a produce.
Dacă o poziţie P este atât poziţie de intrare, cât şi poziţie de ieşire pentru o tranziţie T,
atunci P şi T formează o buclă autonomă (Fig.4). O Reţea Petri care nu conţine bucle autonome
se numeşte pură.
P T

Fig.4 O buclă autonomă formată din poziţia P şi tranziţia T

Intrucât executarea unei tranziţii nu consumă timp, deci executarea acesteia este
instantanee, se consideră că tranziţiile se execută numai secvenţial, adică nu se poate vorbi de
două tranziţii executate simultan (sau în paralel). De asemenea, jetoanele pot rămâne în poziţii
pentru orice durată (oricât de mare, sau oricât de mică), iar tranziţiile se execută imediat ce
sunt validate. Reţelele Petri de acest tip se numesc Reţele Petri autonome şi sunt utilizate pentru
4
a construi modele netemporizate, care permit doar investigarea proprietăţilor logice, calitative,
care nu depind de timp.
Exerciţiul 1
Se consideră Reţeaua Petri discretă din Fig.E1. Prin aplicarea regulii tranziţiei să se
determine marcajul reţelei după execuţia secvenţei de tranziţii 𝜎 = 〈𝑇1 , 𝑇2 , 𝑇3 , 𝑇4 〉

Fig. E1 Explicativă la exerciţiul 1

Reţele Petri cu capacitate finită şi infinită


Pentru regula de validare a unei tranziţii s-a presupus că fiecare poziţie a reţelei poate
conţine un număr nelimitat de jetoane. O astfel de Reţea Petri se numeşte cu capacitate infinită.
In modelarea sistemelor fizice este firesc să se considere o limită superioară a numarului de
jetoane pe care îl poate conţine fiecare poziţie. O astfel de reţea se numeşte cu capacitate finită.
Intr-o reţea cu capcitate finită, fiecărei poziţii P i se asociază capacitatea acesteia, notată K(P),
definită ca numărul maxim de jetoane ce poate fi conţinut de P.
In acest caz, pentru validarea unei tranziţii T este necesară o condiţie suplimentară care
stipulează că numărul maxim de jetoane în fiecare poziţie de ieşire P a lui T nu poate să
depăşească capacitatea poziţiei respective, K(P), atunci când T se execută.
Trebuie însă menţionat faptul că orice Reţea Petri cu capacitate finită care nu conţine bucle
elementare de genul celei ilustrate în Fig.4 se poate transforma într-o reţea cu capacitate infinită
prin regula poziţiilor complementare:
- Pentru fiecare poziţie P, se adaugă o poziţie complementară P’, al cărei marcaj iniţial
este M0(P’) = K(P) – M0(P);
- Intre fiecare tranziţie T şi unele poziţii complementare P’ se trasează arce suplimentare
(T, P’), sau (P’, T), cu ponderile W(T, P’) = W(P, T), respectiv W(P’, T) = W(T, P),
astfel încât suma jetoanelor în pozitia P şi în poziţia complementară P’ să fie egală cu
capacitatea K(P), atât înainte, cât şi dupa executarea tranziţiei T, adică să fie asigurată
îndeplinirea condiţiei: M(P) + M(P’) = K(P).
Observaţii:
1. Regula poziţiilor complementare nu adaugă tranziţii suplimentare în reţea;

5
2. Dacă reţeaua conţine bucle elementare, acestea vor fi eliminate, prin introducerea de
elemente adiţionale în reţea (poziţii şi tranziţii), fără ca dinamica reţelei să fie
modificată.

Exemplul 2
Se consideră reţeaua cu capacitate finită din Fig.5a, căreia i se aplică regula tranziţiei. Pentru
marcajul iniţial M0 = [1 0] considerat, singura tranziţie validata este T1 (tranziţie sursă). După
executarea lui T1, se obţine marcajul M1 = [2 0] şi tranziţiile T2 şi T3 devin validate. In această
situaţie, se poate executa fie T2, fie T3, executarea uneia dintre ele atrăgând invalidarea
celeilalte.
Dacă se execută T2, marcajul devine M2 = [0 0]; dacă se execută T3, marcajul devine
M3 = [0 1] etc. Urmărind executarea secvenţială a tranziţiilor, se pot găsi marcajele succesive
ale reţelei, proces decriptibil într-o manieră sintetică printr-un graf de accesibilitate (Fig.5b).

10 M0

T1
T2 T1 M1
20
P1 P2 T2 T3
2
T1 T4 T4
2 00 0 1 M3
T3 K(P2) = 1 T4 M2 T1
K(P1) = 2
M4 1 1 T4
T2
T1

21 M5

Fig.5 RP din Exemplul 2 şi graful de accesibilitate: a) Reţeaua Petri cu capacitate finită;


b) Graful de accesibilitate

In Fig. 6 este prezentată Reţeaua Petri cu capacitate infinită, rezultată prin aplicarea regulii
poziţiilor complementare modelului din Fig. 5 a.

Fig. 6 RP cu capacitate infinită corespunzătoare RP din Fig. 5.a

6
- La pasul 1 s-au adăugat poziţiile complementare P1’ şi P2’. Marcajul iniţial al acestor
poziţii este:
M0(P1’) = K(P1) – M0(P1) = 2 – 1 = 1
M0(P2’) = K(P2) – M0(P2) = 1 – 0 = 1
- La pasul 2 s-au adăugat arce noi între fiecare tranziţie care era conectată cu o poziţie cu
capacitate finită şi poziţiile complemetare P1’ şi P2’, astfel încât să se menţină aceeaşi
sumă de jetoane în fiecare pereche de poziţii Pi şi Pi’ atât înainte, cât şi după executarea
tranziţiilor ce care acestea sunt conectate.
De exemplu, în cazul lui T1, deoarece W(T1, P1) = 1, rezultă W(P1’, T1) = 1. In cazul lui T3,
avem W(T3, P1’) = W(P1, T3) = 2 şi W(P2’, T3) = W(T3, P2) = 1, întrucât executarea lui T3
îndepărtează două jetoane din P1 şi adaugă un jeton în poziţia P2.
Transformarea se încheie după ce se adaugă şi arcele noi, corespunzătoare tranziţiilor
neluate încă în discuţie (T2, respectiv T4).
Observaţie. Deoarece RP cu capacitate finită din Fig.5a este echivalentă cu RP cu
capacitate infinită din Fig.6, numărul de stări accesibile din starea iniţială este acelaşi, deci
graful de accesibilitate aferent RP cu capacitate infinită este izomorf cu cel al RP din Fig.
5a. Acest graf se poate obţine foarte uşor cu ajutorul grafului din Fig. 5 b, dacă se ţine
seama că M(P) + M(P’) = K(P) înainte şi după executarea tranziţiei, oricare ar fi poziţia P
(cu capacitate finită) a reţelei analizate. TEMA: Să se găsească graful de accesibilitate al
RP cu capacitate infinită.

OBSERVATII CURS:
1. TOPOLOGIE A SISTEMULUI SI DINAMICA
2. TIPURI DE RETELE PETRI

S-ar putea să vă placă și