Documente Academic
Documente Profesional
Documente Cultură
reţelei.
Uzual, în teoria reţelelor Petri, elementele mulţimii S se numesc
S-elemente iar cele ale mulţimii T, T-elemente.
S-elementele unei reţele N = (S, T, F) vor desemna stări
atomice, iar T-elementele, paşi atomici. Relaţia de flux F surprinde
legătura dintre stări (atomice) şi paşi (atomici).
Atunci când mulţimile S şi T vor fi finite, şi de dimensiuni
rezonabile, vom recurge la reprezentări grafice ale reţelelor. Astfel, S-
elementele vor fi reprezentate prin cercuri, T-elementele prin pătrate,
1
iar relaţia de flux F va fi reprezentată prin arce de la x la y ori de câte
ori (x, y) F.
Figura 1.1.1
Constatăm că reţelele Petri sunt grafuri bipartite şi, reciproc,
orice graf bipartit poate fi gândit ca fiind o reţea Petri.
•x = { y X N | { y, x ) F} ,
x• = { y X N | ( x , y ) F} ,
•x• = •xx•,
•
X = { •x| x X } ,
X• = { x•| x X } ,
•
X• = • XX • ,
x va fi numită premulţimea lui x (X), iar x X , postmulţi-mea
X
lui x (X).
x
y şi x y conduc la x = y.
Exemplul 1.1.2. Reţeaua Petri din Figura 1.1.2(a) este simplă dar nu
este pură, cea din Figura 1.1.2(b) este pură dar nu este simplă, iar
reţeaua din Figura 1.1.2(c) este simplă şi pură. Toate cele trei reţele
considerate sunt finite şi nu au elemente izolate.
Figura 1.1.2
bijecţie h : S1 T1 S2 T2 ce satisface:
(1) (s)(sS1, h ( s ) S 2 ) ;
(2) ((x,y))((x,y)F1 (h(x),h(y))F2).
Funcţia h se numeşte izomorfism de reţele Petri.
s1
Figura 1.1.3
Atunci când suntem interesaţi a pune în evidenţă şi bijecţia h ce
h
Observaţia 1.1.1. N1 N2 . Proprietatea (1) din definiţia precedentă
Fie conduce la
(t)(t T1 h(t) T2)
Modelarea sistemelor prin reţele Petri presupune parcurgerea a cel puţin
două etape:
E1 : stabilirea structurii statice a sistemului;
E2 : stabilirea regulii de comportare dinamică a sistemului.
Prima etapă are ca obiectiv principal stabilirea componentelor pasive
(stări, stări atomice), stabilirea componentelor active (tranziţii, tranziţii
atomice) şi, stabilirea inter-relaţiilor dintre acestea (dependenţe cauzale
etc). Reţelele Petri îşi găsesc locul aici. S-elementele modelează
componentele pasive, T-elementele modelează componentele active, iar
F surprinde inter-relaţiile dintre ele. Am putea spune deci:
reţeaua Petri = structura statică a sistemului.
Să ne îndreptăm atenţia asupra celei de a doua etape, stabilirea
regulii de comportare dinamică a sistemului. Aceasta este însă în
strânsă legătură cu modul de rezolvare a primei etape şi cu modul de
definire a noţiunii de stare a sistemului. Putem desprinde astfel două
direcţii majore:
• dacă presupunem că S-elementele reprezintă condiţii atomice
Notaţia 2.1.1.
(1) Reţelele Petri considerate în acest capitol vor fi numite reţele
notăm
c e , dacă:
(a) e c ;
(b) e c .
(3) Dacă evenimentul e este posibil la cazul c, atunci cazul
c ' (c 1 4
e1) e b , reprezentat grafic în Figura 2.1.1(b).
Figura 2.1.1
Figura 2.1.2
Figura 2.2.1
Figura 2.2.2
Exerciţii rezolvate
1) Fie reţeaua Petri:
s1
t1 t2
s2 s3
t3 t4
s4
e1
b1 b4
b2
b3 b5
e2
b) Să se verifice dacă e1 , e2 este mulţime detaşată.
c) Este e1 , e2 pas la cazul c3 ?
Rezolvare
a)
I) Să verificăm pentru
c1 şi evenimentul e1 .
1) e b , b c
1 1 2 1
2) e b , b
e1 c1
, 1 4 5
Deci cele două condiţii sunt verificate şi prin urmare e1 este posibil.
Cazul rezultat este:
c c e e b , b b , b b , b b , b .
1 1 1 1 2 1 2 4 5 4 5
posibil la c2 .
Să verificăm pentru c2 şi evenimentul e2 :
e b
nici
3 1 1 1 2 3 1 2 4 5 3 4 5
Pentru cazul c3 şi e2 .
evenimentul
e b , b şi b , b b , b , b
2 2 3 2 3 1 2 3
e b
deci
Cazul rezultat
c' ' c e e b , b , b b , b b b , b
este
3 2 2 1 2 3 2 3 5 1 5
este
e b , b ,
1 2 1 2
Avem
b , b , e e b , b b , b b ,
e
deci
1 1 2 2 3 1 2 1 2 2 3 2
2
b5 e4
e1 b3
b1
e3
b2
e2 b4 b6
Rezolvare
Ţinând cont de condiţiile ca un eveniment să fie posibil, avem
următoarea secvenţă:
b1 , b2 , b3 e2 b1 , b3 , b4 e3 b1 , b5 , b6 . La cazul nu mai este
b1 , b5 , b6
posibil niciun eveniment.
Tema de control 1
1) Fie reţeaua dată în figura de mai jos:
s
t1
s2
s3
t2 t3
s4
c2 b1 , b2 , b3 , b4 , c3 b2 , b3 , b4 .
b1 e1 b3 b5
e3 e4
b2 e2 b4 b6
;
(3) pentru orice e E există c P (B) astfel încât
c0 Rc şi
c e .
sau chiar . De asemenea, vom folosi notaţiile B, E, F şi C pentru
a specifica componentele sistemului , ca în Definiţia 2.1.1. Grafic,
sistemul se reprezintă astfel. Reţeaua de bază se reprezintă aşa cum
am menţionat în secţiunea precedentă, iar mulţimea cazurilor se
specifică reprezentând (grafic) un caz arbitrar al ei.
Următoarea teoremă ne arată că Definiţia 2.1.1 înglobează
dezideratele menţionate la începutul acestei secţiuni şi prezintă, în plus,
câteva proprietăţi elementare a sistemelor C/E.
C c 'P(B )
| cr*c ' .
Definiţia 2.2.2. Un sistem C/E este numit viabil dacă are loc:
(e E )(c C )(c ' C : cr*c ' c ' e ) .
Figura 2.2.1
Sistemul nu este deoarece cazul b1 , b2 nu se poate reproduce,
dar sistemul este viabil.
2.3. Echivalenţa sistemelor C/E
Noţiunea de echivalenţă a sistemelor este o noţiune centrală în
teoria sistemelor distribuite ce credem că nu mai trebuie argumentată.
Deci, două sisteme C/E sunt echivalente dacă între cazurile lor
Observaţia 2.3.1.
(1) ~ este o relaţie de echivalenţă pe clasa sistemelor C/E.
Figura 2.3.1
Teorema 2.3.1. Fie şi ' două sisteme C/E echivalente. Atunci este
ciclic (viabil) dacă şi numai dacă ' este ciclic (viabil).
2.4. Sisteme C/E fără contact
Atunci când un eveniment e nu se poate produce la un caz c deoarece
condiţia e c nu este îndeplinită cu toate că e c , spunem că
există o situaţie de contact. Aceste situaţii de contact pot fi "evitate"
prin transformarea sistemelor în sisteme echivalente. Tehnica de
transformare utilizată se numeşte tehnica complementarei şi ea va fi
descrisă în cele ce urmează.
(2.1) bˆ b ;
(2.2) pentru orice c C, , b c sau bˆ c .
(3) Dacă E este complet, atunci:
(3.1)pentru orice e E, e e ;
(3.2)pentru 1
c C , c B.
orice 2
Definiţia 2.4.2. Fie = (B, E, F,C) un sistem C/E şi B' B mulţimea
acelor condiţii care nu au complementară. Se numeşte completatul lui
sistemul
ˆ Bˆ , Eˆ , Fˆ , Cˆ , unde:
(i
Bˆ B bˆ | b (pentru orice b B', bˆ este o nouă
) B'
condiţie);
(ii) Eˆ E ;
(iii) Fˆ F e, bˆ | b, e F b B ' bˆ, e | e, b F b B ' ;
(iv) Cˆ c bˆ | b B ' b c | c C .
Exemplul 2.4.1. Completatul sistemului C/E din Figura 2.4.1 (a) este
sistemul din Figura 2.4.1(b).
Figura 2.4.1
• ˆ ˆ ;
• b B c C b c bˆ c ;
• c C c c B ;
• este bijecţie.
eE
Eˆ
vom nota prin şi e premulţimea şi respectiv postmulţimea
e
lui e în
(notaţiile e şi e sunt utilizate pentru a desemna premulţimea
ˆ
e E c C e c e B c e c e B c .
Teorema 2.4.3. Fie = (B,E,F,C) un sistem C/E.
(1) Dacă este complet, atunci este fără contact.
Gc2 .
Este clar că graful cazurilor oricărui sistem C/E finit este finit deoarece
mulţimea cazurilor este finită.
Figura 2.5.3
aceste evenimente sunt în conflict la cazul c1, atunci graful nu ar trebui
să conţină arcul (c2, e2, c4); altfel, graful ar trebui să conţină şi arcul
(c3, e1,, c4).
este ciclic.
e3 e4 b5
b3
e6
b1 b4
e1 b2 e2 e5 b6
producerea lui e2
se obţine cazul b1 , b4 . La cazul b1 , se pot produce
b4
sau
b6 . La cazul b5 , se poate produce e6 care ne dă cazul b1 , b3 .
b6
s1 e' s2
b1 e1 b2 1
1 e4 e2 2 e' 4 s4 e2'
b4 e3 b3
5 ' s3
s e3
Rezolvare
Cazurile sistemului
b e b s 2 s , s
2 2 3 2
e'
b e b s , s
e'
3 3 4 3 4 3
s , s
b e b s , s s
4 4 1 4 5 4
e'
4.
5. b1 e1
e2
b2
b4
b5
b3 e3 e4 e5
b6
Rezolvare
Se observă că b1, b2 , şi nu au complementară dar şi sunt
b3
b4 b5 b6
complementare deoarece
b5 e 4 b 6 şi b 5 e 5 b . Pentru b1 , b2 , b3 şi b 4
6
b$ 4
corespunzător arcului b1 , e1 ; b$ 2 , e1 , b$ 3 , e1 corespunzător arcelor e1 , b2 şi
b$ 2
b$ 4
b1 e1
b$ 1
5
b2 e2 b6
b5 b3 e3
e e
b4
4
b$ 3
6. Fie sistemul C/E din figura următoare, care descrie funcţionarea unui
automat de cafea. Să se determine graful cazurilor.
boprit
1
e1 introduce moneda
b2 pornit
e
alege alege ceai4 alege capucino
cafea e2 e3
Rezolvare
Graful cazurilor produs
b3 disponibil
este:
bia1produsul
e1 e4
b2
2e e3
4e
b3
e4
e1 b3 b5 e4 b7
b1
e3
b2
e2 b4 b6 e5 b8
b1 , b4
b2 , b3 e1 , e2
e2 e1
b3 , b4
e3
b5 , b6 e5
e4
b5 , b8
b6 , b7 e4 , e5
e4 e4
b7 , b8
Tema de control 2
2. Fie sistemul C/E dat în figura de mai jos. Determinaţi graful cazurilor.
b2 e2 b4
b1
e1 e4
b3 e3 b5
Sistemul C/E care modelează sistemul de producţie descris mai sus este:
e
e7
e1 b2 e3
5
b5
A terminat
A pe M1 cu O1 b7
b4
b1 A pe M2 cu O1
b3
b6
e2 A pe M1 cu O2 e8
e4
e6
A pe M3 cu O2 Un nou produs
Să se determine graful cazurilor.
4. Determinaţi graful cazurilor pentru următorul sistem:
b1 b6
b3
e1 e2 e3 e4
b2 b4
b5
Tema 3
Procese în reţele de tip C/E
Intuitiv, prin proces vom înţelege o succesiune de evenimente ce se
produc într-un sistem, precum şi cazurile corespunzătoare. O primă tentativă de
a defini procesele ar fi prin intermediul drumurilor în graful cazurilor. Marele
dezavantaj al unei astfel de abordări constă în faptul că totala ordine între
evenimentele ce compun drumul nu ne dă nici o informaţie asupra caracterului
acesteia: este ea întâmplătoare (evenimentele sunt independente şi au fost
liniarizate forţat) sau necesară (eveniment trebuie să se preceadă unul pe altul)?
Pentru a putea decide asupra caracterului acestei ordini ar trebuie să analizăm
toate drumurile din graful cazurilor, ceea ce însă nu este o soluţie prea bună.
Varianta pe care o vom alege în a defini procesele este, după părerea
noastră, cea mai elegantă posibil. Ea se bazează pe mulţimi parţial ordonate.
1
Exemplul 3.1.1. Fie M = {a,b,c,d,e, f,g} şi relaţia de similaritate pe M
reprezentată grafic în Figura 3.1.1. Această relaţie are patru regiuni
(încercuite în figură).
Figura 3.1.1
Direct de la definiţii obţinem următoarea propoziţie:
relaţia ;
(2) dacă M este nevidă, atunci regiunile induse de sunt nevide şi nici o
regiune nu este submulţime proprie a altei regiuni;
(3) dacă este relaţie de echivalenţă pe M (satisface în plus propri-
etatea de tranzitivitate), regiunile induse de ea coincid cu clasele de
echivalenţă ale ei.
Definiţia 3.1.3.
(1) Fie M o mulţime. O relaţie de ordine parţială pe M este orice
relaţie binară pe M ce satisface:
(i) a M a, a ρ ( este nereflexivă);
(2) x, y M x li y x co y x y ;
Exemplul 3.1.2. Fie M mulţimea parţial ordonată din Figura 3.1.2. Relaţiile
li şi co ale acesteia sunt reprezentate în Figura 3.1.3(a) şi, respectiv, Figura
3.1.3(b). Ordinea parţială definită mai sus are trei linii,{a,b,c}, {a, b, d,f, g}
şi {e,f,g}, şi cinci tăieturi, {e,a}, {e,b}, {e,d,c}, {f,c} şi {g,c}.
Figura 3.1.3
Următoarea propoziţie ne furnizează o simplă caracterizare necesară şi
suficientă a conceptelor de linie şi tăietură.
(b) x M A, y A : x y y x .
(b) x M A, y A : x y y x .
A x M | A x ;
Definiţia 3.1.6. O mulţime parţial ordonată este numită K-densă dacă orice
linie a ei intersectează orice tăietură a ei.
Proprietatea de K-densitate ne spune că orice subproces secvenţial este
observat în orice moment.
Exemplul 3.1.3. Mulţimea parţial ordonată din Figura 3.1.2 este K-densă în
timp ce mulţimea parţial ordonată din Figura 3.1.4 nu este K-densă (linia {c,
b} nu intersectează tăietura {a, d}).
Figura 3.1.4
(i) x, y S T xF y yF x
(nu există circuite);
(ii) s S | s | 1 | s | (nu există conflicte).
1
x, y S T x y xF y .
Definiţia de mai sus este consistentă în sensul că proprietăţile reţelei de
apariţii asigură că relaţia < este, în adevăr, o relaţie de ordine parţială. Vom
conveni ca mulţimea parţial ordonată indusă de reţeaua de apariţii K să fie
notată tot prin K.
Terminologia utilizată în secţiunea anterioară, pentru mulţimi parţial
ordonate, va fi translatată la reţele de apariţii prin intermediul mulţimii parţial
ordonate induse. Astfel, vom vorbi despre linii şi tăieturi ale reţelelor de
apariţii ca fiind linii şi tăieturi ale mulţimilor parţial ordonate induse. De
asemenea, vom spune că o reţea de apariţii este mărginită (K-densă) dacă
mulţimea parţial ordonată indusă este mărginită (K-densă).
3.3. Procese
In această secţiune vom defini noţiunea de proces a unui sistem C/E
folosind reţele de apariţii mărginite. Rezultatele din Secţiunea 2.6 ne permit,
într-o anumită măsură, să luăm în considerare numai sisteme C/E fără contact.
Definiţia 3.3.1. Fie = (B,E,F,C) un sistem C/E fără contact. Se numeşte proces
al sistemului orice cuplu (K,p), unde K = (S, T, F') este o reţea de apariţii
mărginită iar p este o funcţie de la S T la B E ce satisface:
(i) pentru orice felie D a lui K, p| D este injectivă şi p(D) C;
(ii) t T p t p t p t p t .
Propoziţia 3.3.1. Fie = (B, E, F,C) un sistem C/E fără contact şi (K,p) un
proces al lui , unde K = (S, T, F'). Atunci, au loc următoarele proprietăţi:
(1) p S B si p T E ;
(2) x, y S T xF ' y p x Fp
y ; (3) x, y S T p x p
y xliy ;
Figura 3.3.1
(4) t T t t ;
Lema 3.4.1. Fie (K,p) un proces al unui sistem C/E . Atunci, °K şi K° sunt
felii ale reţelei K.
Demonstraţie. Conform Propoziţiei 3.1.4, mulţimile °K şi K° sunt tăieturi.
Deoarece este fără contact, pentru orice e P avem
e şi e .
Lema 3.4.2. Fie (K1,p1) şi (K2,p2) două procese ale sistemului C/E astfel
încât p K o p o K . Atunci, există un proces (K,p) al sistemului şi o felie
1 1 2 2
D astfel încât p|D-=p1 şi p|D+=p2. Mai mult, procesul (K, p) şi felia D sunt unice
până la un izomorfism.
K
1 1 2 2
S T S T Ko o K
1 1 2 2 1 2
o o
DK K şi definim aplicaţia p prin:
1 2
p1 x , x S1 T1
p x
p2 x , x S2 T2
Este clar că D S T şi D S T
şi, astfel, p | p si p | p , ceea ce
1 1 2 2 1 2
D D
Definiţia 3.4.1. Fie (K1,p1) şi (K2,p2) două procese ale sistemului C/E astfel
încâ
p1 K p K2 . Procesul (K,p) al sistemului definit ca în Lema 3.4.2
o o
t 2
1
(K l ,pi) o( K 2 ,p 2 )
Figura 3.4.1
Exerciţii rezolvate
1) Fie X o mulţime parţial ordonată cu graful ataşat dat de figura următoare:
b c d
e
f g h
b6 e4
b1
: e3 b4 e1
b2
b5 b3
e2
b2 e1 b3
b1 s4 t5 s9
K : s1 e4 b1
e1 b3 e2 b4 s8
b2 s3 t2 s5 e3 b6
b t3 s7
t1 5
s6
s2
Procesul p : K este definit prin:
p s1 b1 p s6 p t1 e1
b5
p s2 b2 p s7 p t 2 e2
b6
p s3 b3 p s8 b1 p t3 e3
p s4 b2 p s9 p t 4 e4
b3
p s5 b4 p t5 e1
b2 b2
s4 s7
b1
p1 : s1 e4 b1
e1 b3 e2 b4 p2 : b4 s11
s3 s
b2 t2 e3 b6
8
s5 t3 s10
b
t1 b 5
s2 5 s9
s6
Să se compună
p1 cu p2 .
Rezolvare
Pentru ca două procese să se poată compune trebuie ca
p K K ,
0 0
p
1 1 2 2
p K s , s , s
0
p s , s , s . Ceea ce ne p K
0
1 1 45 6
0 0
K până
şi K
2 2
dă
78 9
p
1 1
2 2
b c
f
h
d e g j
jos:
b3
e3 b4 e5
e1
b4
b1
e2 b5 e4
2) Să se determine două procese pentru sistemul C/E dat în figura de mai jos:
3) Determinaţi două procese distincte pentru sistemul C/E din figura de mai
jos
e2 b4 e4 b1
b3 e1
e3 b5 e3 b2
Tema 4
Reţele Locaţie/Tranziţie
50
t4 = activitate de consum;
s1 = pregătit pentru a produce;
s2 = pregătit pentru a trimite;
s3 = buffer;
s4 — pregătit pentru a recepţiona;
s5 = pregătit pentru a consuma.
Figura 4.1.1
1
un T-element, ca în Figura 4.1.2. Este clar că în felul acesta putem
specifica orice buffer de capacitate finită. Aceasta se face însă cu preţul
creşterii "dimensiunii" reţelei fără ca, prin această creştere, să fie
surprinse aspecte suplimentare ce ţin de modelarea sistemului în sine
(ceea ce ne interesează este doar capacitatea bufferului).
Putem simplifica (notaţional) reţeaua din Figura 4.1.2 adăugând
o nouă dimensiune S-elementelor: capacitatea. Reţeaua din Figura
4.1.3 modelează
Figura 4.1.3
Figura 4.1.4
W ' : S T T S N
prin:
W x, y , daca x, y F
W ' x, y
0, altfel,
W ' x, y W x, y
NS M | M : S N s S M s K s .
Evident, dacă ar avea numai capacităţi infinite, atunci Ns ar
coincide, în adevăr, cu mulţimea tuturor aplicaţiilor de la S la N.
Aceasta va fi însă o restricţie pe care o vom impune ulterior.
w:S —>Z
dată prin:
- w t , dacă w = t1...tn Tn
i+ i
1 .
Definiţia 4.2.2. Spunem că o reţea P/T marcată = (, M0) este fără
contact dacă are loc:
M M 0 t T s S M s W s, t M s W t, s K s .
Definiţia 4.2.3. Fie = (, M0) o reţea P/T marcată. Completata reţelei
(i) S ' S S und S s | s S ;
, e
(ii) T’ = T;
(iii) F ' F s , t | t, s F t, s | s, t F
(v) W ' s, t W s, t ,
W ' s , t W t, s ,
W 't, s W t, s şi
Lema 4.2.1. Fie o reţea P/T marcată şi ' completata ei. Atunci,
pentru orice marcare
M ' M ' , are loc
0'
M ' s M ' s K s ,
pentru orice s S.
Demonstraţie. Dacă
M ' M ' , atunci există w T '* T
astfel încât
0'
M*
w ' M ' . Dacă w =, atunci afirmaţia din lemă rezultă direct de la
'
0
T' = T astfel încât M'(x) W'(x,t) pentru orice x S’, dar există y
S' astfel încât M'(y) > K’(y) - W'(t, y). Avem de analizat următoarele
două cazuri:
(a) y = s S. Atunci M'(s) + W’(t, s) > K'(s) şi, deci,
W’(t,s) > K'(s) -M'(s).
Obţinem astfel W 's , t M ' s ; contradicţie cu ipoteza.
educem
W ' t, s K ' s K ' s M ' s
şi, deci, M'(s) < W'(s,t); contradicţie cu ipoteza.
Lema este demonstrată. □
Exerciţii rezolvate
t1 (3) t4
(4) 2 (2)
s3 t3 s5
Rezolvare
a) La marcarea inţială este posibilă tranziţia t1 . Producerea lui t1 marchează
s2 şi s3 , după care sunt posibile t2 şi t3 , care marchează s4 şi s5 . La marcarea
0, 0, 0,1,1 este posibilă t4 şi producerea lui t4
ne dă
marcarea
iniţială
1, 0, 0, 0, 0 . Deci avem
1, 0, 0, 0, 0 t1 0,1,1, 0, 0 t2 0, 0,1, 2, 0 t3 0, 0, 0, 2, 2 t4 1, 0, 0,1,1 .
Tema de control 4
(3) s2 s4 (5)
t2
s2 (3) (5)
s1 t1 s4
(2) s3 t4
(2)
s5
t3
(2)
s1 s3 s5
(2)
t1 s3
(2)
s2 2
t3 s5
Tema 5
S = { s 1 ,...,s m } şi T = { t 1 , . . . , t n } ,
atunci ele sunt total ordonate prin ordinea naturală pe indicii elementelor:
• S : s1 < ... < sm ,
• T: t1 < ...<tn .
I (i, j) t j si , 1 i m, 1 j n ,
Dacă I, este matricea de incidenţă a reţelei , atunci vom nota prin
I i, şi I , j linia i şi respectiv, coloana j a acestei matrici.
1
intermediul reţelei suport.
Atragem atenţia că toate matricile şi vectorii ce vor fi consideraţi în
subsecţiunile Secţiunii 3.3 vor avea drept componente numere întregi. Com-
binaţiile liniare vor fi de asemenea înţelese a fi cu coeficienţi întregi. Vectorul
(linie sau coloană) cu toate componentele 0, indiferent de dimensiunea lui, va fi
notat prin 0.
Fie = (S, T, F, W) o reţea P/T, M o marcare a ei şi tj o tranziţie posibilă la
M. Dacă gândim marcările reţelei ca vectori coloană m-dimensionali (m fiind
numărul locaţiilor), atunci marcarea produsă prin aplicarea tranziţiei tj la M poate
fi calculată prin:
'
M M I f
Teorema 5.1.1. Fie = (S, T, F, W) o reţea P/T şi M1,M2 două marcări ale ei.
Dacă M2 este accesibilă de la M1, atunci există un vector coloană pozitiv f astfel
încâ M 2 M1 I f .
t
Demonstraţie. Dacă
M 2 M 1 , atunci există o secvenţă de tranziţie w astfel încât
0
2
1 0
M I ,1 I , 4 M I 0 0
0 1
1 1
0
Trebuie să remarcăm că reciproca Teoremei 5.1.1 nu este, în general,
adevărată. Pentru reţeaua din Exemplul 5.1.1 are loc
0 + I 1 = 0,
unde 1 este vectorul format numai din 1, dar nici o secvenţă de tranziţie nu este
aplicabilă la marcarea 0.
5.2. S-invarianţi
Exemplul 5.2.1. Considerăm reţelele P/T marcate 1, 2 din Figurile 5.2.1 (a) şi
respectiv 5.2.1(b). In reţeaua 1 numărul total de puncte se
Figura 5.2.1
Exemplul 5.2.2. In reţeaua marcată din Figura 5.2.2(a) nu se poate pierde nici
un punct; marcarea iniţială a acestei reţele poate fi reprodusă dacă toate
tranziţiile apar de acelaşi număr de ori. In reţeaua din Figura 5.2.2(b), fiecare
aplicare a tranziţiei t1 conduce la pierderea unui punct, fără posibilitatea de a fi
reintrodus în reţea. Reproducerea marcării iniţiale este astfel imposibilă.
Exemplul 5.2.3. Fiecare apariţie a tranziţiei t1 în oricare din cele două reţele din
Figura 5.2.3 conduce la eliminarea unui punct din reţea. Această eliminare nu
este ireparabilă deoarece aplicarea tranziţiei t2 introduce un punct în reţea.
Figura 5.2.2
Fig. 5.2.3
1
g 2
1
gt M gt M ' gt M '' 2 ,
gt I ff 0
'
Xt I = 0
mulţimea
PJ si S | J i 0
definită prin
’={S',T’,F',W'),
unde
:
(i S ' Pj
) ;
' ' '
(ii) T S S ;
1
J 1
1
1
1 0 1 0
1 1 1
J1 1 , J 2 0 , J3 0 , J4 1
0 1 0
0 1 1
Figura 5.2.4
M M 0 , are loc:
J t M J t M 0.
Demonstraţie. Fie
M M 0 . Există atunci un vector
coloană f astfel încât
M = Mo + I f înmulţind această egalitate la stânga cu Jşi folosind faptul că
Jt
t
I = 0 obţinem J t M J t M . □
0
Jt • M = Jt • M0 = constant,
pentru orice
M M 0 . Mai mult, am putea spune că un S-
invariant al reţelei .
pentru orice tj T.
Fie deci tj T. Reţeaua fiind pseudo-viabilă,
există
M M 0 astfel încât M t j . Fie M t j M ' .
M ' M I f j M I , j ,
demonstrează teorema.
Definiţia 5.2.3. Fie = (, Mo) o reţea P/T marcată.
ei sunt mărginite.
f = 0.
Reţelele P/T din această secţiune vor fi
considerate pure.
mulţimea
Pj ti T | J i 0
definită prin
’ = {S',T',F',W'), unde:
(i) T ' Pj ;
1
J 1
1
1
M s J i W s, ti
tis
J 1 J n
w t1 ...tn
5.4. Aplicaţii
Figura 5.4.1
orice
M M 0 , vom avea M s4 M s8 n . Obţinem M s4 dacă şi numai
astfel 0
dacă
M s8 n . Vom defini, de W s8 , s6 n , ceea ce va face ca să se
asemenea, t6
2
repaus este ireversibilă, în sensul că aceştia nu îşi mai pot relua activitatea. Pentru a
permite reluarea activităţii vom adăuga reţelei din figura anterioară locaţiile
Figura 5.4.3
(P1) expeditorul poate fi numai în una din stările repaus, pregătit pentru transmisie sau
transmis. Analog, destinatarul poate fi numai în una din stările repaus, pregătit
pentru recepţie sau recepţionat;
(P2) bufferul de depozitare a mesajelor conţine, în orice moment, cel mult n mesaje;
(P3) expeditorul (respectiv destinatarul) poate intra în starea de repaus numai dacă a
semnalat în prealabil aceasta. Părăsirea stării de repaus se poate face de asemenea
0
numai prin semnalarea acesteia (locaţiile s1 şi s11
din Figura 5.4.3 sunt utilizate
pentru semnalare);
(P4) părăsirea stării de repaus de către expeditor se poate face numai daca destinatarul
este şi el în starea de repaus;
(p5) destinatarul trece în starea de repaus numai dacă bufferul este gol şi expeditorul
este în repaus.
Vom demonstra, utilizînd teoria invarianţiilor, că reţeaua din Figura 5.4.3 are aceste
proprietăţi şi, astfel, ea modelează corect sistemul expeditor -destinatar.
Un simplu calcul ne arată că
sunt S-invarianţi ai reţelei (ordinea pe locaţii este dată de ordinea pe indici). Fie
M M 0 , M 0
fiind marcarea iniţială (reprezentată grafic în figură). Utilizând S-
invarianţii J şi J şi Teorema 5.2.2 obţinem:
1 2
M s1 M s2 M s3 1
şi
M s5 M s6 M s7 1
Aceasta ne arată că expeditorul (respectiv, destinatarul) este în una din cele trei stări
prezentate la (P1). Deci, (P1) este îndeplinită.
Cu ajutorul S-invariantului J3 obţinem
M s4 n M s7 M s8 n ,
M s3 M s10 M s12 0 ,
ceea ce arată că
M s3 dacă şi numai dacă ori M s10 1 , M s12 1 ; deci, (P3)
1 ori
M s7 M s11 M s13 0 ,
M s9 M s10 M s11 0 .
M s10
sau M s12 1 , care combinată M s10 conduce la M s12 0 . Deci,
1
cu 1
pentru ca expeditorul să redevină activ trebuie marcată s12 , aceasta putându-se realiza
prin producerea tranziţiei
t9 . Dar, aplicabilitatea tranziţiei t9 depinde de producerea în
prealabil a tranziţiei t6 , ceea ce înseamnă trecerea destinatarului în repaus.
Proprietatea (P5) se poate demonstra utilizând J3 şi J4 J6 . Destinatarul poate
J3 obţinem:
M s4 n M s7 M s8 n .
M s3 M s9 M s11 M s12 0 .
Deci,
M s3 M s9 M s11 M s12 M s9 1
s2 = aşteaptă să citească;
s3 = citeşte;
s4 = aşteaptă să scrie;
s5 = scrie.
Vom considera în plus o locaţie de sincronizare s care va bloca celelalte procese
atunci când unul din ele este în scriere. Reţeaua din Figura 5.4.2.1 modelează sistemul
prezentat (o aplicare a tranziţiei t1 t4 semnifică faptul că unul din cele n procese
solicită o operaţie de citire (scriere)).
Proprietăţile ce trebuiesc îndeplinite de o reţea pentru a fi considerată un model
corect al acestui sistem sunt:
(Q1) numărul proceselor sistemului, active sau neactive, în orice moment, este constant
şi egal cu n ;
(Q2) dacă un proces se află în scriere, la un moment dat, atunci celelalte n 1 procese
nu pot scrie sau citi;
Figura 5.4.2.1
(Q3) numărul proceselor ce pot fi în citire, la un moment dat, este cuprins între 0
şi n .
Să demonstrăm că reţeaua din figura de mai sus satisface aceste proprietăţi. Printr-
un simplu calcul se arată că
sunt S-invarianţi (ordinea pe locaţii este dată de ordinea pe indici, s fiind ultima
locaţie). Fie
M M 0 ( M fiind marcarea iniţială). Folosind S-invariantul J1 obţinem
0
M s1 M s2 M s3 M s4 M s5 n ,
M s3 nM s5 M s n
care conduce la
0 M s3 n , ceea ce demonstrează proprietatea (Q3). Din aceeaşi
relaţie rezultă că
M s5 1 , ceea ce ne spune că în scriere poate fi cel mult un singur
proces. In plus, dacă M s5 1 , atunci
M s3 0 M s
şi, deci, nici un alt proces nu poate fi în citire, ceea ce demonstrează şi (Q 2). Putem, de
asemenea, arăta că reţeaua din Figura 5.4.2.1 nu se blochează, pentru aceasta avem de
considerat următoarele două cazuri:
(2) dacă
M s1 M s3 M s5 0 , M s2 M s4 2 M s n . Aceasta ne
atunci şi
Exerciţii rezolvate
s2 t1 t4
s4
t2 s1 n t5
t6
s3 t3 n s5
n
n
s
vectori sunt s-invarianţi trebuie să avem i1 C 0 , i2 C 0 şi i3 C 0 . Vom adăuga la
matricea C trei coloane cu i , i , i (vectorii transpusă vectorilor i , i şi i ).
1 2 3 1 2 3
c t1 t2 t3 t4 t5 t6
i1 i2 i3
s1 1 0 1 1 0 1 1 0 1
s2 1 1 0 0 0 0 1 0 1
s3 0 1 1 0 0 0 1 1 0
s4 0 0 0 1 1 0 1 0 1
s5 0 0 0 0 1 1 1 n n 1
s 0 1 1 0 n n 0 1 1
s5
s1
kn
t1 t3 t4 t5
s4
s2 s6
t2
t7 t6 t8
s8
s10
s3 s9 s7
s11 t9 s12
(0)
t
t (1)
(2)
s
Figura 6.1
1
Din nefericire acest arbore care ne dă evoluţia sistemului este
infinit, deoarece mulţimea M 0 este de cele mai multe ori infinită. Acest
arbore se numeşte arbore de accesibilitate.
Dorim să construim un arbore finit care să aibă nodurile etichetate cu
marcări care să acopere, în sensul pe care îl vom vedea imediat, marcările
accesibile iar arcele etichetate cu tranziţii. Un astfel de arbore îl vom numi
arbore de acoperire.
Definiţie. Un arbore de acoperire pentru o reţea N, notat cu T N , se
construieşte în modul următor:
- rădăcina este un nod n0 etichetat cu M 0 ;
- dacă am construit un nod n care este etichetat cu M şi care nu este
nod frunză succesorii săi se construiesc astfel: pentru fiecare tranziţie
t
posibilă la M se calculează M şi avem două situaţii:
M% t
a) dacă pe drumul deja construit de la M 0 la n există un nod care este
etichetat cu M ' şi avem M '' M% , dar există s cu M '' s M% s ,
S
atunci adăugăm un nod n ' etichetat cu M ' dat prin M ' s M ''s
dacă M% s M şi M 's dacă M% s M '' s ; adăugăm un
'' s
nou arc n, n etichetat cu t .
'
b) Dacă situaţia de la punctul a) nu are loc şi nodul n nu este nod
frunză, atunci adăugăm în arbore un nod n ' etichetat cu M ' M t
şi un nou arc n, n ' etichetat cu t .
Un nod n este nod frunză în arborele de acoperire dacă pe drumul de
la n0 la n există un nod n ' cu aceeaşi etichetă cu eticheta nodului n sau dacă
nu se pot construi succesori conform procedeului precedent.
Să considerăm următorul P/T sistem
a c
s2
N1
s1 b s3
Figura 6.2
O marcare M pentru acest sistem este un vector de forma
M s1 , M s2 , M s3 , deci marcarea iniţială este (1,0,0).
Arborele marcărilor accesibile este infinit şi este dat în figura ce
urmează.
(1,0,0)
a
(1,1,0) (0,0,1)
a
(1,2,0) (0,1,1)
a c
(1,3,0) (0,2,1)
(0,1,1)
a
c
(1,n,0) (0,3,1)
(0,2,1)
c
c
(0,n,1) (0,3,1)
c
(0,n,1) c
c
(0,n,1)
Figura 6.3
(1,0,0)
a
(1,,0) (0,0,1)
a
(0, ,1)
Figura 6.4
Nodul (0,0,1) este frunză pentru că tranziţiile a , b şi c sunt posibile
la această marcare.
Să mai considerăm următorul P/T sistem:
a c
s2
N2
s1 s3
b
Figura 6.5
Figura 6.6
În continuare vom da două teoreme care justifică denumirea de arbore de
acoperire pentru T N construit înainte.
Teorema 6.4 Fie
M M 0 o marcare accesibilă. Există în T N un nod
etichetat cu M ' astfel că M M ' .
Demonstraţie. Vom demonstra teorma prin inducţie după structura mulţimii
M 0 . Pentru marcarea iniţială M 0 din mulţimea M 0 , afirmaţia este
verificată luând rădăcina care este etichetată cu M 0 şi avem M 0 M 0 .
ii) Fie
M E M 0 o mulţime minimală astfel că, pentru fiecare
i N , există o i-marcare M a lui E . Mulţimea M E se numeşte
mulţime de acoperire a lui E .
Teoremă 6.6 Fie T N arborele de acoperire al uni sistem N . Pentru fiecare
nod etichetat cu E există o mulţime de acoperire M E .
Fig. 7.1
ale unor tipuri diferite de produse. Cei doi producãtori au în comun doar un
singur depozit pentru depozitarea produselor. Un producãtor începe
depozitarea produselor sale în depozit, numai dacã acesta (depozitul) nu
conţine produse ale celuilalt producãtor. Presupunem cã depozitul are
capacitate nelimitatã. La anumite intervale de timp, producãtorul care şi-a
depozitat produsele îşi poate opri activitatea şi poate scoate produsele sale
din depozit spre vânzare. În momentul în care au fost scoase toate produsele
din depozit, acesta devine liber şi poate fi, eventual, utilizat de celãlat
producãtor. O încercare de modelare a acestui sistem o putem face prin
reţeaua din figura de mai jos.
Fig. 7.3.1
- ti -
2
Pi scoate produsele sale din depozit;
producãtorul
- ti - producãtorul Pi permite producãtorului P3 sã foloseascã
3
depozitul.
Problema care apare în cadrul acestei modelãri este cã producãtorul Pi
poate sã nu termine de scos produsele sale din deposit şi producãtorul P3i sã
înceapã sã introducã produsele sale. Aceasta este o situaţie care nu satisface
cerinţele sistemului real considerat. Pentru a nu permite acest lucru am putea
utilize reţele cu inhibiţie, impunând tranziţiei ti3 sã se aplice numai atunci
când locaţia d nu este marcatã. O altã posibilitate este ca sã permitem
anumitor tranziţii sã “reseteze” anumite locaţii.
Fig. 7.3.2
Aici am înlocuit t 2 şi t3 cu t şi t 2 şi t 3 cu t .
1 1 3 2 2 4
Fig. 7.4.1
1) Mulţimea A T
este o mulţime de tranziţii simultan concurente la M
dacă
s S : W s, t M s
tA
concurent posibile la M .
Notaţia 7.5.2
T M t T | M t .
2) Pri
CT M notăm mulţimea tuturor submulţimilor de tranziţii care
n
sunt concurent posibile la M , deci
CT M A T | W , t M
tA
3) Pri
MCT M notăm mulţimea tuturor submulţimilor concurent
n
posibile maximale la marcarea M , adică
MCT M A T | A CT şi t T \ A : A t CT M .
M
Fig. 7.5.1
d
N
min
M M0
d N , M d
N max d N , M
M M0
punctul din s şi deci t nu mai este posibilă la nici o altă marcare. Prin
2 2
urmar
d N 2 . Din cele două inegalităţi N2.
d t1 este
e
avem Tranziţia
posibiliă la orice marcare M accesibilă din
M 0, d
N 1 . În plus dacă
deci
la marcarea iniţială (2,1,0,0) se produce t2
avem 2,1, 0, 0 t2 1, 0, şi la
0,1
mai mică marcare pentru care toate tranziţiile din T1 sunt concurent posibile).
i
Observaţia 7.5.6 Problema acoperirii de la Pasul 3 este decidabilă. Acest
algoritm este finit şi
calculează
d
N .
Calculul lui
d
N este mai dificil. Dacă M 0 este finită atunci
d
N min d N , M se poate calcula. Dacă M0 este infinită atunci
există o mulţime finită
M M 0 astfel că pentru M M 0 există
orice
M 'M cu M ' M . Existenţa mulţimii M este asigurată de faptul că
şirurile de marcări distincte sunt finite. Deci în acest caz
d
N
min
M M0
d N , M min d N , M .
M
felul următor:
- Pentru nodurile care sunt etichetate cu marcări cu componente finite,
căutăm dacă în M exista o marcare care să fie mai mică sau egală cu
eticheta nodului, dacă nu există adăugăm marcarea care este eticheta
nodului la M .
Unele sisteme reale pot să-şi schimbe starea fără ca asupra sistemului să se
producă vreo acţiune, schimbarea este determinată de acţiuni interne şi se
spune că schimbarea stării este spontană. Observatorul extern vede numai
schimbarea stării fără să poată observa acţiunea. Aceste sisteme se pot
modela prin sisteme Petri cu salturi.
Definiţia 7.5.7 Un sistem Petri cu salturi este o pereche (N, R.) unde N este
un sistem Petri de tip P/T şi R este o relaţie binară pe mulţimea marcărilor
lui N .
În prezentare grafică, sistemul N îl reprezentăm obişnuit iar relaţia R o
listăm sub graful sistemului. O pereche M , M ' R se numeşte salt.
există o marcare
M1 astfel că MR M 1 t , unde R* este închiderea
*
j 1 2 1 2
Definim M 0 prin:
mulţimea j
1) M 0 M 0 j ;
2) Dacă
M M 0 şi M t j M ' atunc M ' M 0 j .
j i
R M , M ,
1 1
'
2 , M2 ,...,
'
,M
'
. Arborii de acoperire pentru reţele Petri
M M n
N iniţială
i
unde n | R | .
d
min
M M 0
d , M
d
j
max d , M
M M 0
j