Sunteți pe pagina 1din 146

Cuprins

Tema 1 Reţele Petri de tip C/E......................................................................1


1.1 Reţele Petri 1
1.2 Reţele Condiţie/Eveniment..................................................................................7
2.1 Reţele Condiţie/Eveniment..................................................................................7
2.2 Situaţii fundamentale..........................................................11
Exerciţii rezolvate..............................................................................13
Tema de control 1...............................................................................16
Tema 2 Sisteme Condiţie/Eveniment...........................................................18
2.1 Sisteme Condiţie/Eveniment...............................................................................18
2.2 Sisteme ciclice şi viabile.....................................................................................21
2.3 Echivalenţa Sistemelor C/E................................................................................22
2.4 Sisteme făra contact............................................................................................24
2.5 Graful cazurilor...................................................................................................27
Exerciţii rezolvate..............................................................................29
Tema de control 2...............................................................................33
Tema 3 Procese în reţele de tip C/E.............................................................35
3.1 Relaţii de similaritate, linii şi tăieturi...........................................35
3.2 Reţele de apariţii..........................................................................41
3.3 Procese.........................................................................................43
3.4 Compunerea proceselor................................................................44
Exerciţii rezolvate..............................................................................46
Tema de control 3...............................................................................49
Tema 4 Reţele Locaţie/Tranziţie..................................................................50
4.1 Reţele Locaţie/Tranziţie......................................................................................50
4.2 Sisteme Locaţie/Tranziţie...................................................................................57
Exerciţii rezolvate..............................................................................60
Tema de control 4...............................................................................61
Tema 5 Tehnici de algebră liniară................................................................63
5.1 Matrici de incidenţa.....................................................................63
5.2 S-invarianţi...................................................................................66
5.3 T-invarianţi....................................................................................75
5.4 Aplicaţii........................................................................................77
5.4.1 Modelul expeditor-destinatar..............................................................................77
5.4.2 Procese în citire/scriere.......................................................................................83
Exerciţii rezolvate..............................................................................85
Tema de control 5...............................................................................87
Tema 6 Structuri de acoperire şi probleme de decizie..................................88
6.1 Structuri de acoperire..................................................................88
6.2 Proceduri de decizie pentru proprietăţile reţelelor P/T................93
Tema 7 Extensii ale reţelelor Petri de tip P/T şi grade de concurenţă..........95
7.1 Reţele Petri cu inhibiţie......................................................................................95
7.2 Reţele Petri cu priorităţi......................................................................................97
7.3 Reţele Petri cu resetare........................................................................................98
7.4 Reţele Petri cu salturi.................................................................100
7.5 Grade de concurenţă...................................................................101
7.5.1 Grade de concurenţă pentru reţele de tip P/T...............101
7.5.2 Grade de concurenţă pentru reţele P/T cu salturi...........106
Tema 1
Retele Petri de tip C/E

1.1. Reţele Petri


Reţelele Petri sunt modele ale sistemelor distribuite. Ele sunt
considerate a fi cele mai bune modele. Acest lucru se datoreazã faptului
cã ele utilizeazã un numãr mic de concepte teoretice şi datoritã
reprezentãrii grafice, ne permite sã vizualizãm anumite proprietãţi.
Scopul acestei secţiuni este de a prezenta în detaliu conceptele,
notaţiile şi terminologia utilizată în teoria reţelelor.

Definiţia 1.1.1. Se numeşte reţea Petri, abreviat PN, orice 3-uplu


N=(S,T,F),
unde:
(i) S şi T sunt două mulţimi disjuncte;

(ii) F  S x TT x S este o relaţie binară numită relaţia de flux a

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.

Exemplul 1.1.1. Reţeaua Petri N = (S,T,F), unde:


S = {s, s1,s2,s3,s4,s5,s6},
T = {t1,t2,t3,t4,t5,t6},
F = {(s,t1), (t3,s), (t4,s), (s1,t1), (t5,s1), (s2,t2), (t6, s2), (t1,s3),
(s3,t3), ( t 2 ,s 4 ), (s4,t4), ( t 3 ,s 5 ), (s 5 ,t 5 ), (t4,s6), (s6,t6)},
are reprezentarea grafică din Figura 1.1.1.

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.

Notaţia 1.1.1. Fie N = (S,T,F) o reţea Petri.


(1) In lucrul cu mai multe reţele, distincţia între elementele
acestora poate fi uşor specificată renotând SN = S, TN = T şi FN
= F. Vom nota, de asemenea, XN = SN  TN.
(2) Fie x  XN şi X  XN. Notăm

•x = { y  X N | { y, x )  F} ,
x• = { y  X N | ( x , y )  F} ,
•x• = •xx•,

X = { •x| x  X } ,
X• = { x•| x  X } ,

X• = • XX • ,


x   va fi numită premulţimea lui x (X), iar x  X  , postmulţi-mea

X 
lui x (X).

Definiţia 1.1.2. Fie N = (S,T,F) o reţea Petri.


(1) N este numită nevidă dacă S  T  .

(2) N este numită finită dacă XN este mulţime finită.



(3) N este numită pură dacă pentru orice x  XN, x  x   .

(4) N este numită simplă dacă pentru orice x, y XN relaţiile

 x
y şi x  y conduc la x = y.

(5) Un element x  XN este numit izolat dacă x  x   .


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.

Definiţia 1.1.3. Fie N1 = (S1,T1,F1) şi N2 = (S2,T2,F2) două reţele Petri.


(1) Vom spune că N2 este subreţea a reţelei N1, şi notăm N2 

N1, dacă S2  S1, T2  T1 şi F2 = F1  ((S2 x T2)  (T2 x S2));


(2) Vom spune că N2 este duala reţelei N1, şi notăm N2 = dacă S2 =
1
T1,T2 = S1 şi F2 = F -1. N1 ,
Este uşor de verificat că duala unei reţele Petri există
întotdeauna şi este unică. Duala dualei reţelei N va fi notată prin N .

Figura 1.1.2

Exemplul 1.1.3. Reţeaua Petri din Figura 1.1.3(a) este subreţea a


reţelei din Figura 1.1.2(c), iar cea din Figura 1.1.3(b) este duală, a
reţelei din Figura 1.1.2(c).
Cititorul poate verifica cu uşurinţă următoarele proprietăţi:
Propoziţia 1.1.1. Fie N1 şi N2 două reţele Petri.
(1) N1 = N1.
(2) Dacă N1 este finită (pură, simplă), atunci N1 este finită
(pură, simplă).
(3) N2  N1 dacă şi numai dacă N2  N1 .

Definiţia 1.1.4. Fie N1 = (S1,T1,F1) şi N2 = (S2,T2,F2) două reţele Petri.


Reţelele N1 şi N2 se numesc izomorfe, şi notăm N1 N2 , dacă există o

bijecţie h : S1  T1  S2  T2 ce satisface:
(1) (s)(sS1,  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

realizează izomorfismul dintre N1 şi N2 vom scrie h


N1 N2

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

necesare producerii anumitor evenimente, condiţii ce pot fi


îndeplinite sau nu, iar T-elementele reprezintă acţiuni atomice ce
necesită anumite condiţii a fi îndeplinite spre a se produce, atunci
putem spune că starea sistemului este dată de mulţimea tuturor
condiţiilor îndeplinite la un moment dat. Adică, o stare a
sistemului este o submulţime c  S. Uzual, aceste stări sunt
numite cazuri, iar reţelele Petri, reţele Condiţie/Eveniment
(abreviat, reţele C/E);
• dacă presupunem că S-elementele reprezintă locaţii (de

memorie) sau variabile capabile să reţină elemente ale unei


anumite mulţimi A, iar T-elementele reprezintă acţiuni (operaţii
cu elemente din A), atunci putem spune că starea sistemului este
dată de conţinuturile locaţiilor (variabilelor) la un moment dat.
Deci, o stare în acest caz este o funcţie de la S la N. Uzual, aceste
stări sunt numite marcări, iar reţelele Petri, reţele
Locaţie/Tranziţie (abreviat, reţele P/T).
1.2. Reţele Condiţie/Eveniment
Vom considera reţele Condiţie/Eveniment ca fiind reţele Petri în
care S- şi T-elementele au o interpretare particulară, condiţii şi, res-
pectiv, evenimente. Adăugăm acestor reţele componenta dinamică,
calculul în reţea, şi prezentăm câteva proprietăţi ale lor.

2.1. Reţele Condiţie/Eveniment


Reţelele Condiţie/Eveniment sunt reţele Petri în care S-
elementele sunt interpretate drept condiţii atomice (numite mai simplu,
condiţii), iar T-elementele drept acţiuni atomice (numite mai simplu,
evenimente). Ceea ce vom adăuga în plus va fi "dinamica" sistemului,
surprinsă prin aşa-numita regulă de calcul în reţea.

Notaţia 2.1.1.
(1) Reţelele Petri considerate în acest capitol vor fi numite reţele

Condiţie/Eveniment, abreviat reţele C/E, şi notaţional vor fi


desemnate prin triplete (B,E,F). Elementele mulţimii B vor fi
numite condiţii, iar elementele mulţimii E vor fi numite
evenimente.
(2) Dacă N = (B,E,F) este o reţea C/E şi e  E, atunci

elementele mulţimii e vor fi numite precondiţii ale lui e, iar cele


ale mulţimii e , postcondiţii ale lui e.
Deoarece reţelele C/E sunt reţele Petri, toate definiţiile, notaţiile
şi observaţiile valide pentru reţele Petri vor fi valide şi pentru reţele
C/E. In plus, vom utiliza aceeaşi reprezentare grafică.
Definiţia 2.1.1. Fie N = (B,E,F) o reţea C/E.
(1) Se numeşte caz al reţelei N orice submulţime c  B.

(2) Spunem că un eveniment e  E este posibil la cazul c, şi

notăm
c e , dacă:


(a) e  c ;

(b) e  c   .
(3) Dacă evenimentul e este posibil la cazul c, atunci cazul

c '  (c  e)  espunem că este produs prin apariţia evenimentului e la

cazul c. Notăm aceasta


c ec ' .
prin
Un caz c al unei reţele C/E surprinde ideea de "mulţime a
tuturor condiţiilor simultan satisfăcute /valide /îndeplinite la un
moment dat".
Condiţia din Definiţia 2.1.1 (2a) este cât se poate de naturală:
un eveniment este posibil la un caz dacă acel caz satisface toate
condiţiile necesare producerii evenimentului. Cerinţa din Definiţia
2.1.1(2b) pare mai puţin naturală. De ce o condiţie care este în
postmulţimea evenimentului e şi care este îndeplinită în cazul c să
împiedice producerea evenimentului e ? Răspunsul la această întrebare
provine de la una din variantele de modelare a sistemelor (concurente).
Este suficient să considerăm, de exemplu, problema parcării unei
maşini (pe un loc pe care este deja parcată o maşină) sau problema
rezervării unui bilet de călătorie (pentru un loc deja rezervat). Aceste
exemple conduc la naturaleţea impunerii restricţiei din Definiţia
2.1.1(2b). Există însă situaţii în care această restricţie nu mai este
naturală şi aceasta o vom vedea în capitolul dedicat reţelelor Petri
Locaţie/Tranziţie.
Grafic, cazurile într-o reţea C/E vor fi reprezentate desenând
câte un punct în cercurile corespunzătoare condiţiilor cazului respectiv.
Schimbarea cazului prin producerea unui eveniment se face printr-o
"deplasare" a punctelor în reţea. Se spune adesea că, calculul într-o
reţea este un "joc al punctelor".

Exemplul 2.1.1. Considerăm reţeaua C/E din Figura 2.1.1(a)


împreună cu cazul
c  b1, b2. Evenimentul e1 este posibil la c dar

evenimentul e2 nu este posibil deoarece nu este îndeplinită condiţia


 e2  c . Producerea evenimentului e1 are ca rezultat obţinerea cazului

c '  (c   1 4
e1)  e  b  , reprezentat grafic în Figura 2.1.1(b).

Figura 2.1.1

Dacă e1 şi e2 sunt evenimente posibile la un caz c al reţelei N şi,


în plus, aceste evenimente au ori o precondiţie ori o postcondiţie
comună atunci, conform Definiţiei 2.1.1, aplicabilitatea lui e1 la cazul c
exclude aplicabilitatea lui e2 la cazul rezultat, sau invers. Dar dacă cele
două evenimente nu au nici precondiţii şi nici postcondiţii comune?
Este clar atunci că ele pot fi aplicate în ordine arbitrară, unul după altul.
Definiţia 2.1.2. Fie N = (B, E, F) o reţea C/E.
(1) O mulţime G  E se numeşte detaşată dacă are loc

(e1, e2  G)( e1  e2    e1   e2 ) .

(2) Fie c şi c' două cazuri şi G o mulţime detaşată. Mulţimea


G se numeşte pas de la c la c', şi
c G c ' , dacă
notăm
fiecare eveniment e din G este posibil la cazul c şi
c '  (c  G)  G .

Dacă G = {e} este pas de la c la c', atunci vom simplifica


notaţia c
la c ec ' .
ec
'

Notaţia 2.1.2. Fie N = (B,E,F) o reţea C/E. Notăm prin rN relaţia


binară
rN  P (B)x P ( B) dată prin:
c1rN c2  (G  E)(G
 c1 Gc2 ) ,
pas

pentru orice c1, c2  P (B) . Această relaţie va fi numită relaţia de


calcul înainte (la dreapta) indusă de N. Relaţia rN1 , inversa relaţiei
rN , va fi numită relaţia de calcul înapoi (la stînga) indusă de N. Atunci

când nu se specifică atributul înainte sau înapoi (dreapta sau stînga)


vom înţelege implicit că este vorba despre rN .
relaţia
Următoarea teoremă ne furnizează o caracterizare a noţiunii de pas.

Teorema 2.1.1. Fie N o reţea C/E, G o mulţimea detaşată şi c, c' două


cazuri ale reţelei N. Mulţimea G este pas de la c la c' dacă şi numai
dacă
 Gcc' si G  c ' c
.
Exemplul 2.1.2. Considerăm reţeaua C/E din Figura 2.1.2. In această
reţea, {e1, e2} este pas de la {b1, b2} la {b3,b4}, {e3,e4} este pas de la
{b3,b4} la {b5,b6} şi {e5} este pas de la {b5, b6} la {b1,b2}.
Dacă un pas G este finit, atunci el poate fi "realizat" prin apariţia eveni-
mentelor care-1 compun, în ordine arbitrară.

Figura 2.1.2

Teorema 2.1.2. Fie N o reţea C/E şi G un pas finit de la cazul c la


cazul c'. Dacă e1,e2, ... , en este o ordine arbitrară a elementelor pasului
G, atunci există cazurile c0, c1, ... , cn astfel încât c=c0, c'  cn şi

ci1 ei ci , pentru orice 1 i  n.

2.2. Situaţii fundamentale


Pe parcursul evoluţiei unui sistem real (distribuit) evenimentele
acestuia se pot afla în diverse situaţii de dependenţă sau independenţă.
Prezentăm în continuare principalele situaţii, considerate fundamentale,
ce pot apare între evenimentele unei reţele C/E. Fie deci N o reţea C/E,
e1 şi e2 două evenimente distincte ale ei şi c un caz.

(1) Secvenţă. Spunem că e1 şi e2 sunt în secvenţă la cazul c dacă are


loc:
c  e1c ' (c  e2 )  c '  e2  .

Adică, e1 este posibil la cazul c în timp ce e2 nu este posibil, acesta din


urmă devenind posibil abia după aplicarea lui e1.
Un exemplu de secvenţă între două evenimente e1 şi e2 este
prezentat în Figura 2.2.1.

Figura 2.2.1

(2) Conflict. Spunem că e1 şi e2 sunt în conflict la cazul c dacă are loc:

c  e1  c e2   c e1, e2  .

Adică, cele două evenimente sunt ambele independent posibile la cazul


c, dar nu simultan posibile la c.
In Figura 2.2.2(a),(b),(c) sunt prezentate câteva situaţii de conflict.

Figura 2.2.2

(3) Concurenţă. Spunem că e1 şi e2 sunt concurente la cazul c dacă


are loc:
c e1,

e2  , adică {e1, e2} este pas la cazul c.

Un exemplu simplu de concurenţă este prezentat în Figura 2.2.3.


Figura 2.2.3 Figura 2.2.4

Exerciţii rezolvate
1) Fie reţeaua Petri:

s1

t1 t2

s2 s3

t3 t4

s4

Să se verifice dacă reţeaua este pură sau simplă.


Rezolvare:
Reţeaua de mai sus nu este pură deoarece
t4 t 4 s 3   s3 , s4   3 s   
 
Reţeaua este simplă deoarece nu există nici o pereche de noduri care
să aibă aceleaşi premulţimi şi postmulţimi.

2) Fie reţeaua de tip C/E

a) Fie următoarele cazuri:


c1  b1 , b2 c2  b1 , b2 , b5  ,
,
c3  b1, b2 , b3 . Ce evenimente sunt posibile la aceste

cazuri şi care sunt cazurile rezultate.

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

Să verficăm pentru e2 şi cazul c .


1
 e  b , b  Ú c . Deci e nu este posibil la c .
2 2 3 1 2 1

II) Să verificăm pentru c2 şi e1 :


evenimentul
e  b , b  şi e 
 

c  b , b  b , b , b   b    , deci e nu este


1 4 5 1 2 4 5 1 4 5 5 1

posibil la c2 .
Să verificăm pentru c2 şi evenimentul e2 :
e  b

şi b5   b1 , b4 , b5   b5    , deci e2 nu este posibil la c2 .



2 5

nici

III) Pentru cazul


c3 şi evenimentul e1 :
 e  b , b  şi b , b   b , b , b 
1 1 2 1 2 1 2 3

e  b , b  şi b , b  b , b , b    , e este posibil la cazul



1 4 5 1
deci
4 5 1 2 3

c3 . Cazul rezultat este


c'  c  e  e  b , b , b  b , b  b , b   b , b , b  .
 

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

şi b5   b1 , b2 , b3   , e2 este posibil la cazul c3 .



2 5

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

b) Să verificăm dacă e1 , e2 satisface condiţiile pentru a fi mulţime



detaşată. Prima condiţie  
 e  e  şi e  e  .

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

deci mulţimea e1 , e2


nu este mulţime detaşată.

3) Fie reţeaua C/E de mai jos
Pornind de la cazul b1 , b2 , reprezentat în figură, să se determine
b3 

evoluţia reţelei (evenimentele posibile şi cazurile rezultate).

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

Să se verifice dacă este pură sau simplă.


2) Pentru reţeaua de la punctul 2), exerciţii rezolvate, verificaţi ce

evenimente sunt posibile pentru cazurile


c1  b1 , b2 , b4  ,

c2  b1 , b2 , b3 , b4  , c3  b2 , b3 , b4  .

3) Fie reţeaua dată în figura de mai jos:

b1 e1 b3 b5

e3 e4
b2 e2 b4 b6

Pentru cazul c  b1 , b2  , reprezentat în figura de mai sus, să se

cerceteze evoluţia reţelei (evenimentele posibile şi cazurile rezultate).


Tema 2
Sisteme Condiţie/Eveniment
2.1. Sisteme Condiţie/Eveniment
Precizarea unei reţele C/E, N = (B,E,F), ca model al unui
sistem distribuit nu asigură o modelare completă a acestuia. Este
necesară specificarea, într-un anumit mod, a mulţimii tuturor stărilor
prin care a trecut sau va trece sistemul. Unei stări a sistemului îi
corespunde în modelul reţea C/E un caz, deci o anumită distribuţie de
puncte în reprezentare grafică. Cunoaşterea stărilor sistemului revine
deci la a preciza, pentru modelul C/E, a unei mulţimi C de cazuri.
Reţeaua N împreună cu această mulţime trebuie să satisfacă anumite
proprietăţi:
(1) (reţeaua este nevidă, simplă şi fără elemente izolate)
Este natural să presupunem că reţeaua este nevidă şi nu are
elemente izolate. In plus, vom considera că nu există condiţii
distincte b1 şi b2 cu aceeaşi premulţime şi aceeaşi postmulţime
deoarece, altfel, cele două condiţii ar căpăta acelaşi statut
(îndeplinit/neîndeplinit) în acelaşi timp, ceea ce ar conduce la
inseparabilitatea celor două condiţii (din punct de vedere al
unui observator extern al sistemului). Din punct de vedere al
modelării, cele două condiţii pot fi cuplate în una singură cu o
semantică obţinută prin compunerea, într-un anumit sens, a
semanticii celor două condiţii. Similar, putem presupune că
reţeaua nu conţine evenimente distincte cu aceeaşi premulţime
şi aceeaşi postmulţime. Deci, reţeaua este simplă.
(2) (C este închisă la calcul înainte şi înapoi)
(c  C)(c '  B)(c(rN  r 1)c ' 
N c ' C ;

(3) (C este conexă)


pentru orice două cazuri din C există o secvenţă de paşi ce
conduce de la un caz la celălalt;

(4) reţeaua C/E şi mulţimea C trebuie să se găsească într-o


relaţie de completitudine şi simplitate în sensul:
(4.1) (completitudinea mulţimii C faţă de reţea)
pentru orice eveniment e există cel puţin un caz c  C la
care este posibil e;
(4.2) (simplitatea reţelei faţă de mulţimea C)
pentru orice condiţie b există cel puţin un caz c astfel
încât b c.

Definiţia 2.1.1. Se numeşte sistem C/E orice 4-uplu


 = (B, E, F,C),
unde
:
(1) (B, E, F) este o reţea nevidă, simplă şi fără elemente izolate,

numită reţeaua suport a sistemului  şi notată N ;


(2) C  P  este o clasă de echivalenţă a
B

relaţiei  (rN  rN1)* , numită clasa cazurilor sistemului ;


RN  

(3) Pentru orice e  E există c  C astfel încât e este posibil la

cazul c (în reţeaua suport a sistemului ).


Observaţia 2.1.1. Specificarea mulţimii C cu proprietăţile din definiţia
anterioară este echivalentă cu specificarea unui singur element a
acestei mulţimi (fixarea unui reprezentat al clasei de echivalenţă).
Definiţia 2.1.1 poate fi echivalent formulată prin:
• Se numeşte sistem C/E orice 4-uplu E = (B, E, F, c0), unde:

(1) (B, E, F) este o reţea nevidă, simplă şi fără elemente


izolate, numită reţeaua suport a sistemului  şi notată N;
(2) c0  B este un caz al reţelei N, numit cazul iniţial al lui

;
(3) pentru orice e  E există c P (B) astfel încât
c0 Rc şi
c e .

Dacă  este un sistem C/E, atunci notaţiile r


N
şi  vor fi
 N

simplificate, când nu există pericol de confuzie, la r şi, respectiv,   


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.

Teorema 2.1.1. Fie  = (B,E,F,C) un sistem C/E. Atunci,


(1) B, E şi
F;
c  B şi G  E, c G sa c 'G c
'

(2) pentru orice c  C, dacă c' u


atunci c'  C ;
(3) reţeaua suport (B, E, F) este pură;

(4) pentru orice b  B există c, c  C astfel încât b  c şi b  c'.


'

2.2. Sisteme ciclice şi viabile


Definiţia 2.2.1. Un sistem C/E  este numit ciclic dacă are loc:
(c1, c2  C)(c1r*c2 ) .
Denumirea de sistem ciclic provine de la faptul că dacă
c1r*c ,
2

atunci c2r*c1, adică sistemul poate "cicla" în sens uzual.

Teorema 2.2.1. Fie E un sistem C/E ciclic şi c  C. Atunci,

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 ) .
 

Teorema 2.2.2. Orice sistem C/E ciclic este viabil.

Demonstraţie. Fie c un caz şi e un eveniment al sistemului C/E ciclic


. Conform definiţiei sistemelor C/E există un caz c' astfel încât e este
posibil la c'.  fiind ciclic,
cr*c ' şi, deci, sistemul este viabil.
urmează
Observaţia 2.2.1. Nu orice sistem viabil este ciclic. In Figura 2.2.1
este prezentat un astfel de sistem.

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ă.

Definiţia 2.3.1. Spunem că sistemele C/E  şi ’ sunt echivalente, şi


notăm  ~’, dacă există bijecţiile  : C —> C’ şi  :E —>E’ astfel
încât pentru orice c1,c2  C şi G  E, are loc:
c1 G  c2   (c1 )  (G)  '  (c2 ) .

Deci, două sisteme C/E sunt echivalente dacă între cazurile lor

există o corespondenţă bijectivă care păstrează relaţia  sau, altfel


spus, cele două sisteme se comportă similar.

Observaţia 2.3.1.
(1) ~ este o relaţie de echivalenţă pe clasa sistemelor C/E.

(2)Două sisteme C/E echivalente au acelaşi număr de cazuri,


evenimente şi paşi. Ele pot avea însă număr diferit de condiţii.
Exemplul 2.3.1. Fie  şi ' sistemele C/E din Figura 2.3.1 (a) şi,
respectiv, Figura 2.3.1 (b). Mulţimile de cazuri ale celor două sisteme
sunt:
C = {{b 1 },{b 2 },{b 3 },{b 4 }} şi C’ = {{s1,s2},{s1,s3},{s2,s3},}.
Considerând bijecţiile  : C —> C’ şi  : E —> E’ date prin:

 (b1  s1 , s2  ,  b2   s1 , s3  ,  b3   s2 , s3  ,  b4     ,

 (e1) = e'1,  (e2) = e'2,  (e3) = e'3,  (e4) = e'4,


se poate verifica faptul că acestea realizează echivalenţa sistemelor 
şi  '.

Figura 2.3.1

Echivalenţa sistemelor păstrează ciclitatea şi viabilitatea acestora.

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ă.

Definiţia 2.4.1. Fie  un sistem C/E şi b,b'  B.


(1) Condiţia b' se numeşte complementară a condiţiei b dacă

b  b ' şi b  b ' .

(2) Sistemul  se numeşte complet dacă orice condiţie b  B

are o complementară b'  B.


Următoarea teoremă stabileşte câteva proprietăţi ale
complementarei unei condiţii şi ale sistemelor C/E complete.

Teorema 2.4.1. Fie  un sistem C/E şi b  B.


(1) b are cel mult o complementară, notată bˆ .

(2) Dacă b are complementara bˆ , atunci:

(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

Observaţia 2.4.1. Fie  un sistem C/E şi completatul lui. Definim


ˆ
aplicaţia  : C 
prin

 
 c  c  bˆ | b  B ' b  c ,
pentru orice c  C. Este uşor de verificat că au loc următoarele relaţii:

• ˆ  ˆ ;
•  b  B  c  C   b    c   bˆ    c   ;

• c  C   c    c   B  ;
•  este bijecţie.

Notaţia 2.4.1. Fie  un sistem C/E şi


ˆ
completatul lui. Pentru orice

e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
ˆ

şi respectiv postmulţimea lui e în sistemul ). Această notaţie va fi


extinsă la paşi G  E în mod uzual. Este clar atunci că au loc
următoarele proprietăţi:

(1) G  G  bˆ | b  B ' b  G   ,


 

G  G  bˆ | b  B ' b  G ;


(2) G  G  B ,
 
G G B,

unde B' este mulţimea acelor condiţii ce nu au complementară.

Teorema 2.4.2. Fie  un sistem C/E şi ˆ completatul său. Sistemele 


şi ˆ sunt echivalente.

Definiţia 2.4.3. Un sistem C/E  = (B,E,F,C) spunem că este fără


contact daca are loc:

 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.

(2) Există un sistem C/E echivalent cu  şi care este fără contact.

(3) Dacă  este fără contact, atunci pentru orice e  E, avem


 
e   şi e   .

2.5. Graful cazurilor


In analiza comportării unui sistem C/E este util uneori de
structurat mulţimea cazurilor ca un graf în care nodurile sunt cazuri iar
arcele sunt etichetate cu paşi.

Definiţia 2.5.1. Fie  = (B, E, F,C) un sistem C/E şi  mulţimea tu-


turor paşilor sistemului . Se numeşte graful cazurilor sistemului 
cuplul
 = (C,P),
unde
P   c1 , G, c2  | c1 , c2  C  G  U  c1

Gc2  .
Este clar că graful cazurilor oricărui sistem C/E finit este finit deoarece
mulţimea cazurilor este finită.

Exemplul 2.5.1. Graful cazurilor sistemului din Figura 2.5.1 este


reprezentat în Figura 2.5.2.
Figura 2.5.1 Figura 2.5.2

Observaţia 2.5.1. Nu orice graf cu nodurile cazuri şi arcele etichetate


cu paşi poate fi interpretat drept graf al cazurilor, aşa cum uşor putem
constata pe baza grafului din Figura 2.5.3. La cazul c1 sunt posibile e1
şi e2. Dacă

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).

Teorema 2.5.1. Un sistem C/E  este ciclic dacă şi numai dacă


graful cazurilor este tare conex.
Exerciţii rezolvate
1. Să se arate că sistemul C/E din figura de mai jos este viabil dar nu

este ciclic.

e3 e4 b5

b3
e6
b1 b4

e1 b2 e2 e5 b6

Rezolvare. La cazul b1 , b2


 singurul eveniment posibil este e2 . Prin

producerea lui e2
se obţine cazul b1 , b4  . La cazul b1 , se pot produce
b4 

unul din evenimentele e , e şi e . Dacă se produce e punctul din b va


1 4 5 4 4

trece în b ; dacă se produce e punctul din b trece în b . Punctul din b


5 5 4 6 5

sau va aştepta până ce punctul din b1 va ajunge în locaţia liberă b5


b6

sau
b6 . La cazul b5 , se poate produce e6 care ne dă cazul b1 , b3 .
b6 

Apoi din cazul b1 ,


prin producerea evenimentelor e1 e2 , e3 , e4 şi e5
b3 ,
se obţine iar cazul b5 , b6
ş.a.m.d. Sistemul evoluează ciclic. Se observă

că luând orice caz c obţinut din cazul iniţial există în cazul c' care se
obţine din c şi la c'
este posibil orice eveniment din sistem ( c' fiind
diferit pentru evenimente diferite), deci sistemul este viabil.
Sistemul nu este ciclic deoarece cazul b1 , b2
nu se poate obţine

din orice alt caz al sistemului
2. Să se arate că următoarele sisteme C/E sunt echivalente.

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

1 sunt: b1 , b2  , b3 , b4 şi ale sistemului 2 sunt:



s1 , s2  , s3 , s4  , s5 , s4  . Bijecţiile sunt:
 : C  C definită prin
1 2

 b1  s1 ,  b2    s2  ,  b3   s3 ,


şi  b4   s4 , s5  şi
s4 
E : E  E definită prin
Ee   e' , 1  i  . Se verifică că paşilor din 
1 2 i i 1

le corespund paşi în 2 şi invers.

b e  b2   s1  1e '  2s


1 1 

 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'

3. Să se construiască sistemul completat pentru sistemul dat în figura de mai


jos:

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

construim complementarele b$ 1 , b$ 2 , b$ 3 şi şi adăugăm arcele  e , b$ 


1 1

b$ 4
corespunzător arcului  b1 , e1  ;  b$ 2 , e1  ,  b$ 3 , e1  corespunzător arcelor  e1 , b2  şi

 e1 , b3  şi arcele  b$ 4 , e2  şi  b$ 4 , e3  corespunzător arcelor şi  e3 , b4  . De


 e2 , b4 
asemenea este marcată, deci b va fi nemarcată. Condiţiile b2 , b3 , sunt
b1 $1 b4
nemarcate deci b$ 2 , b$ 3 , b$ 4 vor fi marcate.
Sistemul completat este:

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:
bia1produsul
e1 e4
b2 
2e e3
4e

b3
e4

7. Fie sitemul din figura următoare. Să se determine graful cazurilor.


8.

e1 b3 b5 e4 b7
b1
e3

b2
e2 b4 b6 e5 b8

Rezolvare: Graful cazurilor este


b1 , b2 
e
e1 2

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

1. Un om are o varză, o capră şi un lup. Trebuie să treacă un râu şi are o barcă


în care poate trece cel mult omul şi varza sau capra sau lupul. Daţi un sitem
C/E care să modeleze problema traversării râului cu barca.

2. Fie sistemul C/E dat în figura de mai jos. Determinaţi graful cazurilor.

b2 e2 b4
b1
e1 e4

b3 e3 b5

3. Fie A=operaţia de asamblare a unui produs care satisface următoarele


condiţii:
1. Operaţia se realizează întâi pe maşina M1 şi apoi pe una din
maşinile M 2 sa M 3 .
u
Există doi operatori O1 şi O2 care deservesc M1 , M 2 şi M 3 astfel:
maşinile
2. O lucrează pe maşinile M sau M (nu simultan);
1 2
1

3. O2 lucrează pe maşinile M sau M (nu simultan)


1 3

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.

3.1. Relaţii de similaritate, linii şi tăieturi


Definiţia 3.1.1. Fie M o mulţime. Se numeşte relaţie de similaritate pe M orice
relaţie binară pe M ce este reflexivă şi simetrică.
Orice relaţie de similaritate pe o mulţime nevidă este nevidă (datorită
proprietăţii de reflexivitate).
Definiţia 3.1.2. Fie M o mulţime şi  o relaţie de similaritate pe M. Numim
regiune a mulţimii M indusă de  sau, mai simplu, regiune a relaţiei , orice
submulţime A a mulţimii M pentru care au loc următoarele proprietăţi:
(i) x, y  A  xρy  ;

(ii) x  M   x  A  y  A     xρy    (maximalitate).

Relaţiile de similaritate  peste M vor fi reprezentate grafic prin


grafuri neorientate G = (M, U), unde U   x, y  | x  y  xρy .

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:

Propoziţia 3.1.1. Fie  o relaţie de similaritate pe o mulţime M. Atunci, au


loc următoarele proprietăţi:
(1) orice element al mulţimii M aparţine cel puţin unei regiuni induse de

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ă);

(ii) a, b, c  M    a, b  , b, c  ρ   a, c  ρ  ( este tranzitivă).

(2) Se numeşte mulţime parţial ordonată orice cuplu (M,) format


dintr-o mulţime M şi o relaţie de ordine parţială  pe M.
Din raţiuni tehnice vom prefera să notăm relaţia de ordine parţială de
bază cu care vom lucra prin <. Atunci, prin  vom nota relaţia
x, y  M  x  y  x  y  x  y  ,
iar cuplul (M, <) va fi simplificat notaţional la M şi vom spune, mai simplu, că
M este mulţime parţial ordonată.
Grafic, o mulţime parţial ordonată M se reprezintă printr-un graf ori-

entat G = (M,U), unde U   x, y  | x  y  óz : x  z  y  .

Interpretarea mulţimilor parţial ordonate ca evoluţii ale sistemelor dis-


tribuite se va face, în principiu, astfel:
• elementele mulţimii suport reprezintă apariţii de evenimente;
• elementele relaţiei (cupluri de elemente ale mulţimii suport) furnizează
dependenţele cauzale între apariţii de evenimente (a < b înseamnă că a
se produce înaintea lui b, fiind totodată o premisă pentru producerea
acestuia).
Această interpretare justifică şi proprietatea de nereflexivitate pe care o im-
punem acestor relaţii de ordine.

Notaţia 3.1.1. Fie M o mulţime parţial ordonată.


(1) Notăm prin li relaţia binară pe M dată prin:
x, y  x li y  x  y  y  x  x  y  ;
(2) Notăm prin co relaţia binară pe M dată prin:
x, y   x co y    x  y  y  x   x  y  .

Dacă o mulţime parţial ordonată surprinde apariţiile evenimentelor într-


un sistem distribuit, atunci relaţia li surprinde apariţii secvenţiale, iar relaţia co
apariţii concurente, de evenimente.
Demonstraţia următoarei propoziţii, ce urmează direct de la definiţii.
Propoziţia 3.1.2. Fie M o mulţime parţial ordonată. Atunci, au loc
următoarele proprietăţi:
(1) x, y  M  x li y  x co y  ;

(2) x, y  M  x li y  x co y  x  y  ;

(3) li şi co sunt relaţii de similaritate pe M.

Definiţia 3.1.4. Fie M o mulţime parţial ordonată.


(1) Se numeşte linie (a lui M) orice regiune a relaţiei li  M X M.

(2) Se numeşte tăietură (a lui M) orice regiune a relaţiei co  M X M.


In mulţimi parţial ordonate nevide M, liniile şi tăieturile, fiind regiuni,
sunt submulţimi nevide ale lui M.
In interpretarea de mai sus a mulţimilor parţial ordonate, liniile repre-
zintă subprocese secvenţiale maximale, iar tăieturile, observări globale la
diferite momente de timp ale tuturor subproceselor secvenţiale.

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ă.

Propoziţia 3.1.3. Fie M o mulţime parţial ordonată şi A  M.


(1) A este linie dacă şi numai dacă au loc proprietăţile:
(a) x, y : x  y  y  x  x  y ;

(b) x  M  A, y  A :  x  y  y  x  .

(2) A este tăietură dacă şi numai dacă au loc proprietăţile:


(a) x, y  A :  x  y  y  x  ;

(b) x  M  A, y  A : x  y  y  x .

Demonstraţie. (1) urmează imediat de la faptul că A este regiune pentru


relaţia li, iar (2) de la faptul că A este regiune pentru relaţia co. □

Definiţia 3.1.5. Fie M o mulţime parţial ordonată şi A, B  M.


(1) Spunem că M este mărginită dacă există un număr natural n astfel
încât pentru orice linie L a lui M are loc |L| ≤ n.
(2) Spunem că A precede B, şi notăm A ≤ B, dacă pentru orice a  A şi

b  B are loc a < b sau a co b. Dacă A ≤ B şi A ≠ B, atunci spunem că


A precede strict B, şi notăm A < B.

Notaţia 3.1.2. Fie M o mulţime parţial ordonată şi A  M. Notăm prin A-,


A+, °A şi A° mulţimile:
A  x  M | x  A ;

A  x  M | A  x ;

°A = a  A | a ' A : a co a '  a  a ' ;


A° = a  A | a ' A : a co a '  a '  a .

Remarcăm că °A (A°) reprezintă mulţimea elementelor minimale (maximale)


ale mulţimii A.

Propoziţia 3.1.4. Pentru orice mulţime parţial ordonată şi mărginită M, °M şi


M° sunt tăieturi.

Demonstraţie. Fie a, b  °M. Conform definiţiei acestei mulţimi avem a co b.


Rămâne să arătăm că °M este maximală. Fie c un element ce nu este în °M şi L
o linie ce conţine c. Deoarece L este finită (M este mărginită) urmează că L 
°M ≠ şi, deci, există d  L  °M. In plus, d < c deoarece d este element
minimal şi atât d cât şi c aparţin liniei L.
Ca urmare, °M este maximală şi, deci, este tăietură.
Similar se arată că M° este tăietură. □
Tăieturile °M şi M° sunt numite, în mod uzual, tăietura iniţială şi,
respectiv, finală a lui M.

Propoziţia 3.1.5. Fie M o mulţime parţial ordonată, L o linie şi D o tăietură a


ei. Atunci, |L  D| ≤ 1.

Demonstraţie. Dacă am presupune că L şi D au în comun mai mult decât un


element, fie a şi b două din acestea, atunci am avea a li b şi a co b ceea ce ar
conduce la a = b (Propoziţia 3.1.2(2)). □

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

3.2. Reţele de apariţii


Reţelele de apariţii reprezintă o clasă importantă de reţele Petri utilizată în
definirea comportării de tip proces a sistemelor reţea. Terminologia de "reţea
de apariţii" provine de la faptul că aceste reţele surprind apariţiile
evenimentelor sistemului. Intuitiv, o reţea de apariţii ataşată unui sistem C/E 
se obţine astfel:
• considerând un caz iniţial, se lansează în execuţie sistemul  cu obser-
vaţia că atunci când este întâlnit un conflict acesta se rezolvă într-o
manieră arbitrară;
• se înregistrează "desfăşurat" apariţiile evenimentelor ce se produc în
sistem (ceea ce va conduce la faptul că reţeaua obţinută nu are circuite).

Definiţia 3.2.1. O reţea Petri K = (S, T, F) se numeşte reţea de apariţii dacă:


(i) x, y  S  T  xF y    yF x 
 
 (nu există circuite);
(ii) s  S  |  s | 1 | s | (nu există conflicte).
1

Exemplul 3.2.1. Reţeaua din Figura 3.2.1 este o reţea de apariţii.


Figura 3.2.1

Definiţia 3.2.2. Fie K o reţea de apariţii. Mulţimea parţial ordonată indusă de


K este (S  T, <), unde relaţia < este dată prin:

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ă).

Definiţia 3.2.3. Fie K o reţea de apariţii. Se numeşte felie a reţelei K orice


tăietură a mulţimii parţial ordonate indusă de K, formată numai din S-
elemente.

Teorema 3.2.1. Orice reţea de apariţii nevidă şi mărginită este K-densă.

Observaţia 2.8.2.1. Condiţia de mărginire din teorema precedentă este


necesară. Reţeaua din Figura 3.2.2 este nevidă dar nu este K-densă deoarece
linia {s0, t1, s1, t2, s2, t3} nu intersectează tăietura 1 2s3' , s ' , s ' (remarcăm că
,...

reţeaua nu este mărginită).


Figura 3.2.2

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  .

Reprezentarea grafică a unui proces (K,p) se obţine din reprezentarea


grafică a reţelei de apariţii K etichetând elementele x ale reţelei cu p(x), în
interiorul cercului sau pătratului ce reprezintă pe x.

Exemplul 3.3.1. Cuplul (K,p) reprezentat grafic în Figura 3.3.1(b) este un


proces al sistemului C/E din Figura 3.3.1 (a).
Următoarea propoziţie stabileşte câteva proprietăţi utile ale proceselor.

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    ;

(5) pentru orice tăietură D a reţelei K, p|D este injectivă.

3.4. Compunerea proceselor


Pe mulţimea proceselor unui sistem C/E putem defini operaţia de com-
punere a proceselor care intuitiv prelungeşte un proces (K 1,p1) cu un proces
(K2,p2). începem prin prezentarea câtorva rezultate intermediare (toate sistemele
C/E din această secţiune sunt considerate fără contact).

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  .

Definiţia proceselor ne arată atunci că °K, K°  S şi, deci, °K şi K° sunt felii. □

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.

Demonstraţie. Fie K1 = (S1, T1, F1) şi K2 = (S2,T2, F2). Deoarece


p K   p   , definiţia proceselor conduce la
o o

K
1 1 2 2

S  T   S  T   Ko  o K
1 1 2 2 1 2

(eventual printr-o redenumire a elementelor din K1o şi o


K2, ceea ce este permis
prin izomorfism).
Considerăm reţeaua de apariţii
K   S1  S 2 ,T1  T2 , F1  F2  , felia

o o
DK  K şi definim aplicaţia p prin:
1 2

 p1  x  , x  S1  T1
p  x  
 p2  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

încheie demonstraţia lemei. □

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

se numeşte compunerea proceselor (K1,p1) şi (K2,p2), şi se notează prin


(K1,p1)o(K2,p2).
Exemplul 3.4.1. In Figura 3.4.1 este prezentată compunerea a două procese.
Observaţia 3.4.1. Compunerea proceselor nu este, în general, operaţie total
definită. In adevăr, considerând procesele(K1,p1) şi (K2,p2) din Exemplul
2.8.4.1 observăm că procesul (K1,p1)o(K2,p2) există dar procesul
(K2,p2)o(K1,p1) nu există.
Pentru procese pentru care compunerea este definită, ea este
asociativă.

Definiţia 3.4.2. Un proces (K,p) este numit elementar dacă


S = °KK°.
Conform definiţiei, un proces elementar conţine cel mult un eveniment
pe fiecare linie. Procesul (K1,p1) din Exemplul 3.4.1 este elementar.

(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

Să se determine: 1. liniile mulţimii ordonate X ;


2. tăieturile mulţimii ordonate X .
Rezolvare
1) Liniile mulţimii ordonate X sunt a, b, c, d , a, b, e, g, h

2) Tăieturile mulţimii ordonate X sunt


a, f ,b, f  , f , e, c, f , e, d  ,  g, c,g, d,d , h,c, şi  f , g, h
h .

2) Fie sistemul dat în figura de mai jos:

b6 e4

b1

: e3 b4 e1
b2

b5 b3
e2

Să se determine un proces al sistemului de mai sus.


Rezolvare
Un proces pentru sistemul de mai sus este o aplicaţie p : K  , unde K este
reţeaua de apariţii din figura de mai jos.

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

3) Date două procese p : K   şi p : K  ca în figura de mai jos.


1 1 2 2

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

78 9
p
1 1
 2 2

la un izomorfism , adică schimbând numele locaţiilor. Procesul p o este:


1
p2
b2 s4  s7 
b1 s1
e1 t b3 s3 e2 b4 e4 b1 s11
b
t2 s5  s8 
2 1 t
4
s2 b5 e3
s6  s9  t3
b6 s
10
Tema de control 3
1) Să se determine liniile şi tăieturile mulţimii ordonate dată în figura de mai

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

Considerăm reţele Locaţie/Tranziţie ca fiind reţele Petri în care S-


elementele sunt interpretate drept locaţii (variabile) capabile să reţină un număr
natural, iar T-elementele sunt interpretate drept operaţii asupra locaţiilor
(variabilelor), numite tranziţii.

4.1. Reţele Locaţie/Tranziţie

Vom introduce noţiunea de reţea Locaţie/Tranziţie pornind de la un


exemplu destul de simplu de modelare a unui sistem real. Fie deci un sistem
format dintr-un producător şi un consumator, tipul produselor nefiind esenţial, ci
doar numărul acestora. Trecerea produselor de la producător la consumator se face
prin intermediul unui "buffer" care poate reţine cel mult un produs la un moment
dat. Producătorul produce o unitate de produs pe care o pune în buffer la dispoziţia
consumatorului. Se mai poate produce încă o unitate de produs, dar aceasta nu va
mai putea fi depozitată în buffer decât după ce produsul anterior a fost recepţionat
(preluat) de consumator.
Reţeaua din Figura 4.1.1 modelează acest sistem, semnificaţiile S- şi
respectiv T-elementelor fiind:
t1 — activitate de producţie;
t2 = trimitere a produsului spre buffer;
t3 = recepţionare a produsului din buffer;

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

Punctele negre din s1 şi s4 specifică faptul că sistemul, la


momentul actual, este pregătit pentru a produce (s1) şi pentru a
consuma (s4). Vom spune că s1 şi s4 sunt marcate. Acţiunea permisă în
acest moment este cea descrisă de t1 care utilizează doar s1 (acţiunea t3
nu este permisă deoarece s3 nu este pregătit pentru a putea fi utilizat -
nu este marcat). Prin aplicarea acţiunii t1 se demarchează s1 şi se
marchează s2, după care se poate aplica t2 care va demarca s2 şi va
marca atât pe s1 cât şi pe s3. Abia acum se va putea aplica t3 care va da
posibilitatea desfăşurării activităţii de consum.
Dacă dorim să extindem capacitatea bufferului, de exemplu la
posibilitatea ca acesta să reţină 3 produse la un moment dat, atunci nu
avem altceva de făcut decât de a modifica reţeaua de mai sus înlocuind
s3 cu o secvenţă de 3 S-elemente, s31, s32, s33, separate între ele prin câte

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

sistemul propus, cu un buffer de capacitate 3, utilizând S-elementul s' 3


(în figură, prezenţa a două puncte în s' 3 specifică faptul că bufferul
conţine momentan două produse).
Să considerăm acum o variaţie a sistemului producător-
consumator prezentat mai sus. Presupunem că avem doi producători ai
aceloraşi tipuri de produse şi nu suntem interesaţi în a face distincţie
între ei; ceea ce ne interesează este numărul de produse realizate de
aceştia. Utilizând o tehnică similară celei de mai sus, putem modela
sistemul prin reţeaua din Figura 4.1.4, unde numerele de pe arce
reprezintă numărul de obiecte ce se transferă prin aplicarea unui T-
element. Am ajuns astfel la necesitatea adăugării unei noi dimensiuni
reţelelor Petri: ponderea (multiplicitatea) arcelor.

Figura 4.1.4

Notaţia 4.1.1. Fie  un simbol cu proprietatea   N. Extindem


relaţia < cât şi operaţiile + şi  la mulţimea N   prin:
(i) n < , pentru orice n  N;
(ii)  + n = n +, pentru orice n N ;
(iii)  - n = , pentru orice n  N.

Definiţia 4.1.1. Se numeşte reţea locaţie/tranziţie, abreviat reţea P/T,


orice 5-uplu  = (S, T, F, K, W), unde:

(i) (S, T, F) este o reţea Petri;

(ii) K este o funcţie de la S la N  {}, numită funcţia de

capacitate a reţelei  (K(s) este numit capacitatea elementului s


 S. Dacă K(s)=, atunci vom spune că s are capacitate
infinită sau nemărginită;

(iii) W este o funcţie de la F la N, numită funcţia pondere a

reţelei , W(f) este numit ponderea elementului f  F).


S- şi T-elementele unei reţele P/T sunt numite în mod uzual locaţii şi
respectiv tranziţii. Adesea este util a extinde funcţia W la

W ' :  S T  T  S   N

prin:
W  x, y  , daca  x, y   F
W '  x, y  
0, altfel,

pentru orice  x, y    S T   T  S  . Deoarece

W '  x, y   W  x, y 

pentru orice (x, y)  F, vom prefera să notăm funcţia W’ tot prin W.

Definiţia 4.1.2. Fie  = (S, T, F, K, W) o retea P/T. Se numeşte marcare


a reţelei  orice funcţie M : S —> N cu proprietatea M(s)  K(s),
pentru orice s  S.

Notaţia 4.1.2. Fie  = (S,T,F,K,W) o reţea P/T. Vom conveni să notăm


prin Ns mulţimea tuturor marcărilor reţelei . Această notaţie este pe
de o parte justificată prin aceea că marcările reţelei  sunt funcţii de
la S la N şi mulţimea tuturor aplicaţiilor de la o mulţime A la o
mulţime B se mai notează şi prin BA . Pe de alta parte, trebuie să
observăm că nu orice funcţie de la S la N este marcare a reţelei. Deci,
prin NŞ vom înţelege:

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.

Notaţia 4.1.3. Fie  = (S, T, F, K, W) o reţea P/T. Pentru orice


tranziţie t a reţelei  considerăm funcţiile t-, t+ : S —> N şi t : S —> Z
definite prin:
t-(s) = W(s,t),
t+(s) = W(t,s),
t(s) = t + ( s) - t - (s),

pentru orice s  S. Dacă w este o secvenţă de tranziţii (w  T*),


atunci este util, din punct de vedere tehnic, de considerat şi funcţia

w:S —>Z

dată prin:

- w este funcţia identic 0, dacă w = ;

- w   t , dacă w = t1...tn Tn
i+ i
1 .

Pe parcursul acestei lucrări vom considera numai reţele P/T


finite, adică reţele ce au mulţimi finite de locaţii şi tranziţii. Aceasta ne
permite, teoretic vorbind, să reprezentăm grafic reţelele P/T. Astfel,
locaţiile vor fi reprezentate prin cercuri, tranziţiile prin pătrate, iar
perechile (x,y)  F prin arce (orientate) de la x la y. Ponderile arcelor
vor fi înscrise pe acestea ori de câte ori ele sunt mai mari decât 1.
Uneori vom recurge la reprezentări grafice mai generale dar care pot fi
înţelese cu uşurinţă. De asemenea, proprietatea de finititudine a reţelei
ne permite să identificăm marcările M  Ns cu vectori |S|-dimensionali
peste N, bineînţeles, fixând o ordine totală pe S. De exemplu, dacă S =
{s1, s2, s3} şi M este dată prin M(s1) = 3, M{s2) = 0 şi M(s3) = 5, atunci
fixând ordinea s1 < s2 < s3 putem reprezenta marcarea M prin vectorul
M = (3,0,5). Relaţiile şi operaţiile uzuale pe N le vom considera
extinse asupra vectorilor din Ns pe componente.
Următoarea definiţie stabileşte regula de calcul într-o reţea P/T.
Definiţia 4.1.3. Fie  o reţea P/T, M o marcare şi t o tranziţie a
ei.

(1) Spunem că tranziţia t este posibilă (are concesie,) la M în


, şi
M t , dacă are loc:
notăm

 RAW s, t   M  s   M  s   W t, s  K  s  , s  S ;

(2) Spunem ca marcarea M' (a reţelei ,) este produsă prin


apariţia tranziţiei t la M, şi notăm
M t M , M t şi, în
'

plus, are loc: dacă


 RC  M '  s    M  t  s  , s  S .

(RA) se numeşte regula de aplicabilitate (posibilitate,


concesie) a reţelei , iar (RC), regula de calcul a reţelei . Împreună,
formează ceea ce se numeşte regula de tranziţie a reţelei . Deci,
regula de tranziţie a reţelelor P/T este alcătuită din două reguli: regula
de aplicabilitate şi regula de calcul. Prima vizează condiţiile în care o
tranziţie t este posibilă la o marcare M, iar a doua ne furnizează modul
de calcul a noii marcări în ipoteza în care tranziţia t este posibilă la
M.
Bineînţeles, această descompunere a regulii de tranziţie în două
subreguli apare şi la reţele C/E.
Notaţia  va fi simplificată la  ori de câte ori  va fi

subînţeleasă din context.

4.2. Sisteme Locaţie/Tranziţie

Pe lângă o reţea P/T  se consideră adesea o marcare M0 fixată


a priori, reprezentând starea iniţială a sistemului modelat prin .

Definiţia 4.2.1. Se numeşte reţea P/T marcată, abreviat mPTN, orice


cupl
  , M 0 format dintr-o reţea P/T , numită reţeaua suport a
u

reţelei , şi o marcare M0 a reţelei E, numită marcarea iniţială a
reţelei .

In literatura de specialitate se foloseşte pe lângă terminologia


de reţea P/T marcată şi terminologia de sistem P/T.
Toate definiţiile din Secţiunea 4.1 vor fi translatate la reţele P/T
marcate  prin intermediul reţelei suport a lui . Notaţiile
corespunzătoare se vor obţine schimbând  cu . In plus, marcarea

iniţială a reţelei  va fi omisă din notaţie, exceptând cazul M 0  (ce


denotă mulţimea tuturor marcărilor accesibile în ).

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   .

Observăm că situaţiile de contact la reţele P/T marcate sunt


oarecum similare celor de la sisteme C/E şi, analog acestora, putem
completa reţelele P/T marcate eliminând astfel situaţiile de contact.

Definiţia 4.2.3. Fie  = (, M0) o reţea P/T marcată. Completata reţelei

 este definită ca fiind reţeaua  '   ' , M0 ' dată prin:


(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

(iv) K'(x) = K(s), dacă x = s  S sau x  s  S ;

(v) W '  s, t   W  s, t  ,

W '  s , t   W t, s  ,

W 't, s  W t, s  şi

W ' t, s   W s, t  ;

(vi) M ' s , pentru orice s  S, şi


o M 0  

M o'  s   K  s   M 0  s  , pentru orice s  S .

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

definiţia marcării M 0' . Altfel, un simplu calcul al marcării M' (utilizând

Definiţia 4.2.3) ne arată că M ' s  M ' s  K s , pentru orice s  S. □


    

Lema 4.2.2. Pentru orice reţea P/T marcată , completata ei ’ este


fără contact.

Demonstraţie, Presupunem, prin contradicţie, că există M '  M ' şi t



 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.

(b) D y  s  S s  S  . Atunci M '  s   W ' t, s   K ' s  .

educem

W '  t, s   K '  s   K '  s   M '  s 
şi, deci, M'(s) < W'(s,t); contradicţie cu ipoteza.
Lema este demonstrată. □

Lema 4.2.3. Fie  o reţea P/T marcată si ’ completata ei. Atunci,


există o bijecţie  : M 0
  M '  astfel încât pentru orice
  0'

M1, M 2   M 0   şi tT are


loc:
M1 t  M 2    M1   t  '  M 2  .

Evoluţia (comportarea) unei reţele P/T poate fi secvenţială sau con-


curentă.

Exerciţii rezolvate

1) Fie reţeaua P/T marcată, cu marcarea iniţială 1, 0, 0, 0, 0 .


s2 t s4
2
s1
(2) 2

t1 (3) t4
(4) 2 (2)
s3 t3 s5

a) Să se arate că sistemul are o evoluţie ciclică;


b) Să se verifice dacă sistemul este fără contacte;
c) Determinaţi completatul sistemului dat.

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 .

b) Sistemul are contacte deoarece dacă completăm secvenţa de sus cu


tranziţiile t1 , obţinem marcarea 1, 0, 0, 0, 0  t1t2t3 t4t1   0,1,1,1,1 . La această
marcare M t3 este posibilă W  s3 , t3   M  s3  M  s5   W  t3 , s5   1 2 Ž 2 .
şi
Deci avem contact.

c) Fiecare dintre locaţiile sistemului de mai sus nu are complementară, deci


trebuie să s 1 , s 2 , s 3 , şi s .5 Sistemul completat este:
adăugăm s4

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)

1) Să se verifice dacă sistemul următor este fără contacte şi să se


determine completatul său.
s1 t2 s4
2
(2)
(3)
2

t1 s3
(2)
s2 2
t3 s5
Tema 5

Tehnici de algebră liniară


Scopul acestei secţiuni este de a arăta cum pot fi utilizate anumite tehnici
de algebră liniară în studiul proprietăţilor reţelelor P/T.

5.1. Matrici de incidenţă

Conceptul de matrice de incidenţă a unei reţele P/T  = (S, T, F, W)


necesită, a priori, o ordonare totală a mulţimilor S şi T. Fără a restrânge
generalitatea vom presupune că, dacă aceste mulţimi sunt de forma

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 .

Definiţia 5.1.1. Fie  = (S,T,F,W) o reţea P/T. Matricea m x n-dimensională I


dată prin

I  (i, j)  t j  si  , 1  i  m, 1  j  n ,

este numită matricea de incidenţă a reţelei .

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.

Conceptul de matrice de incidenţă se extinde şi la reţele P/T marcate prin

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

unde f este un vector coloană n-dimensional (n este numărul tranziţiilor reţelei) ce


are 1 în linia j şi 0 în rest.

Putem extinde această observaţie la:

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

M1 wM 2 . Considerăm vectorul coloană f dat prin:

• f(j) = numărul de apariţii ale tranziţiei tj în w,

pentru orice 1 ≤ j ≤ n. Este clar că M  M  I f


2 1 

Notăm că, fiind dată o matrice I cu coeficienţi în Z, există o infinitate de


reţele P/T ce au matricea de incidenţă I dar, există o unică reţea pură cu matricea
de incidenţă I.
Exemplul 5.1.1. Fie  = (S,T,F,W) reţeaua P/T din Figura 3.3.1.1. Matricea de
incidenţă a ei este

Secvenţa t1t4 este posibilă la marcarea M dată prin

M(s1) = M(s2) = M(s3) = M(s7) = 1

M(s4) = M(s5) = M(s6) = 0,

iar marcarea nou obţinută va fi

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

In modelarea sistemelor dinamice prin reţele P/T este foarte important de


ştiut dacă numărul de puncte din reţea se conservă sau nu de-a lungul evoluţiei
sistemului; pierderile "necontrolate" de puncte sunt nedorite.
Evoluţia (comportarea) dinamică a reţelelor P/T marcate depinde de
structura reţelei şi de marcarea iniţială. Ambii factori sunt cunoscuţi a priori şi,
deci, pot fi investigaţi independent de comportarea dinamică a reţelei. Aşa cum
vom vedea în continuare, influenţa majoră este dată, de fapt, de structura reţelei.
Notaţiile utilizate vor fi cele din secţiunea anterioară şi, în plus, reţelele
considerate vor fi pure.

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

conservă, pe când în reţeaua 2 toate punctele pot fi eliminate. Insă, pe de altă


parte, marcarea iniţială a reţelei 2 poate fi reprodusă pe când a reţelei 1 nu mai
poate fi reprodusă.
Acest exemplu ne arată că pierderea punctelor într-o reţea nu depinde de
capacitatea de reproducere a marcărilor reţelei.

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

Am putea spune că apariţia tranziţiei t1 conduce


la "condensarea" a două puncte în unul singur, pe când
apariţia tranziţiei t2 le "separă" din nou. Acest fapt ar
putea fi interpretat prin: punctul din locaţia s2(s3) are
pondere dublă faţă de punctele din celelalte locaţii. O
analiză atentă a acestui aspect ne spune că de fapt
proprietatea enunţată mai sus nu este o proprietatate a
punctelor ci a locaţiilor (a structurii reţelei). Suntem
astfel conduşi la a ataşa ponderi locaţiilor şi a măsura
pierderea punctelor în reţea prin intermediul acestor
ponderi. Astfel, dacă ataşăm locaţiilor reţelei din Figura
5.2.3(a) ponderile

1 
 
g 2
 
 1

şi observăm că toate marcările accesibile sunt


2 0 0
M  0 , M  1  , M ''
  '
  0 
0 0 2
     
68
atunci are loc proprietatea de invariantă

gt M  gt M '  gt M ''  2 ,

unde gt reprezintă transpusa matricii g.

Intrebarea care se pune acum, ca urmare a exemplului


anterior, este următoarea: cum putem calcula un vector de
ponderi al locaţiilor (atunci când el există)? Pentru a
răspunde la această întrebare să observăm că vectorul de
ponderi g, pe care dorim să-1 calculăm, trebuie să
satisfacă relaţia:
gt M  gt M ' ,

pentru orice M , M '   M 0  . Pentru două marcări arbitrare

M , M '   M 0  există vectorii coloană f, f' astfel încât

M  M 0  I f si M '  M 0  I f ' . Relaţia de mai sus


conduce la

gt I  ff  0
'

care poate fi îndeplinită doar dacă gt  I = 0 (vectorii f şi f'


sunt arbitrari). Deci, vectorul de ponderi verifică ecuaţia:

Xt  I = 0

In cele ce urmează, inegalitatea între vectori va fi


înţeleasă pe componente, iar inegalitatea strictă prin
inegalitate şi inegalitate strictă pe cel puţin o componentă.

Definiţia 5.2.1. Fie  = (S,T,F,W) o reţea P/T.


1
(1) Se numeşte S-invariant al reţelei  orice vector

m-dimensional J de numere întregi ce verifică


relaţia Jt  I = 0

(2) Dacă J este S-invariant al reţelei , atunci

mulţimea
PJ  si  S | J  i   0

este numită suportul S-invariantului J.


(3) S-invariantul J este numit pozitiv dacă J  0.

(4) Un S-invariant pozitiv J > 0 este numit minimal

dacă nu există un alt S-invariant J' astfel încât 0 < J'


< J.
(5) Reţeaua P/T indusă de S-invariantul J este

definită prin
’={S',T’,F',W'),
unde
:
(i S '  Pj
) ;
'  ' '
(ii) T  S S ;

(iii) F'F S '


 
T '  T '  S '  ;
(iv) W '  W | '. F

Este uşor de observat că orice combinaţie liniară de


S-invarianţi este S-invariant.
Este clar că orice reţea P/T are cel puţin un S-
invariant, J = 0, dar este natural să fim interesaţi de S-
invarianţi nenuli. De aceea, vom spune că o reţea are S-
invarianţi dacă are cel puţin un S-invariant nenul.

Exemplul 5.2.4. Reţelele P/T din Figurile 5.2.l(b) şi


5.2.2(b) nu au S-invarianţi, pe când cele din Figurile
5.2.l(a) şi 5.2.2(a) au pe

1 
 
J   1
1 
 
 1

drept S-invariant minimal.


Reţeaua din Figura 5.2.3(a) are S-invariantul minimal
1 
 
g 2
 
 1

iar reţeaua din Figura 5.2.3(b) are 4 S-invarianţi minimali

1  0 1   0
       
 1  1  1  
J1  1  , J 2   0  , J3   0  , J4  1 
       
 0  1  0  
       
 0  1  1  

Să considerăm acum reţeaua din Figura 5.1.1.


Următorii 5 vectori sunt S-invarianţi ai acestei reţele:
Reţelele induse de S-invarianţii J 3' ş' sunt
J 5 reprezentate
grafic în Figura 5.2.4. i

Figura 5.2.4

Teorema 5.2.1. Fie  = (, Mo) o reţea P/T marcată.


Dacă J este un S-invariant nenul, atunci, pentru orice

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

Această teoremă ne spune, printre altele, că dacă J


este un S-invariant al unei reţele P/T marcate  = (, M0) şi
 este reţeaua indusă de J, atunci punctele din  se
conservă, în sensul:

Jt • M = Jt • M0 = constant,

pentru orice
M M 0  . Mai mult, am putea spune că un S-

invariant al unei reţeleP/T marcate  furnizează ponderile


locaţiilor unei subretele a reţelei  în care punctele se
conservă (prin intermediul acelor ponderi).
Intrebarea naturală care se pune acum este în
legătură cu reciproca Teoremei 5.2.1. Sub incidenţa unei
condiţii suplimentare vom arăta că ea este îndeplinită.

Definiţia 5.2.2. Fie  = (,M0) o reţea P/T marcată.


(1) Spunem că tranziţia t a reţelei  este pseudo-

viabilă dacă există o marcare


M M 0  astfel încât
M t .

(2) Spunem că  este pseudo-viabilă dacă toate


tranziţiile ei sunt pseudo-viabile.

Teorema 5.2.2. Fie  = (, Mo) o reţea P/T marcată şi


pseudo-viabilă. Dacă J este un vector nenul de numere
întregi ce verifică
Jt • M = Jt • M0 pentru orice M   M 0  , atunci J este S-

invariant al reţelei .

Demonstraţie. Trebuie să arătăm că Jt • I = 0


sau, echivalent,
Jt • I (-, j) = 0,

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 ' .

Marcarea M' poate fi calculată, folosind matricea de


incidenţă, prin

M '  M  I f j  M  I , j  ,

unde fj este vectorul coloană ce are 1 pe linia j şi 0 în rest.


Prin înmulţire la stânga cu Jt şi utilizarea ipotezei teoremei
asupra vectorului J, obţinem J t I , j   0 , ceea ce

demonstrează teorema.
Definiţia 5.2.3. Fie  = (, Mo) o reţea P/T marcată.

(1) Spunem că o locaţie s a reţelei  este mărginită

dacă există n  N astfel încât M(s)  n, pentru


orice
M M 0  .

(2) Spunem că  este mărginită dacă toate locaţiile

ei sunt mărginite.

Finititudinea reţelei  conduce la faptul că ea este


mărginită dacă există n  N astfel încât M(s)  n, pentru
orice s  S şi M M 0  .
5.3. T-invarianţi

Un alt aspect important în analiza reţelelor P/T, pe


lângă conservarea punctelor în reţea, îl constituie
reproductibilitatea marcărilor (a se vedea Exemplul
3.3.2.1). O marcare M a unei reţele P/T  este
reproductibilă dacă există o secvenţă de tranziţii w
astfel încât M wM . Dacă M este reproductibilă, atunci

există un vector pozitiv f astfel încât M  I f  M , adică I

f = 0.
Reţelele P/T din această secţiune vor fi
considerate pure.

Definiţia 5.3.1. Fie  = (S,T,F,W) o reţea P/T.

(1) Se numeşte T-invariant al reţelei  orice vector

n-dimensional J de numere întregi ce verifică


relaţia I J = 0.

(2) Dacă J este T-invariant al reţelei , atunci

mulţimea
Pj  ti T | J  i   0

este numită suportul invariantului J.


(3) T-invariantul J este numit pozitiv dacă J  0.

(4) Un T-invariant pozitiv J > 0 este numit minimal

dacă nu există un alt T-invariant J’ astfel încât 0 <


J' < J.
(5) Reţeaua P/T indusă de T-invariantul J este

definită prin
’ = {S',T',F',W'), unde:
(i) T '  Pj ;

(ii) S '  T '  T ' ;

(iii) F'F S '


 
T '  T '  S '  ;
(iv) W '  W |F' .

Este uşor de observat că orice combinaţie liniară


de T-invarianţi este T-invariant.
Este clar că orice reţea P/T are cel puţin un T-
invariant, J = 0, dar este natural să fim interesaţi de T-
invarianţi nenuli. De aceea, vom spune că o reţea are T-
invarianţi dacă are cel puţin un T-invariant nenul.

Exemplul 5.3.1. Reţelele P/T din Figurile 5.2.1(a) şi


5.2.2(b) nu au T-invarianţi. Vectorul

1 
 
J   1
1 
 
 1

este T-invariant minimal pentru reţelele din Figurile


5.2.1(h), 5.2.2(a), 5.1.1.

Este clar că dacă o reţea are marcări


reproductibile, atunci ea are T-invarianţi. Reciproca este,
de asemenea, adevărată.
Teorema 5.3.1. Fie  o reţea P/T. Dacă  are T-
invarianţi J > 0 atunci  are marcări reproductibile.

Demonstraţie. Fie J > 0 un T-invariant al reţelei .


Considerăm marcarea M dată prin

M s    J i  W s, ti 
tis

pentru orice s  S. Este uşor de văzut că secvenţa

J 1 J n
w  t1 ...tn

are proprietatea M wM şi, deci, marcarea M este


reproductibilă. □

5.4. Aplicaţii

In această secţiune vom prezenta două exemple majore de


utilizare a reţelelor P/T în modelarea şi analiza sistemelor reale.

5.4.1. Modelul expeditor - destinatar

Considerăm un sistem format dintr-un expeditor şi un


destinatar. Expeditorul trimite spre destinatar produse sub
formă de mesaje, unul câte unul, folosind un buffer (locaţie) de
capacitat n  n  pentru depozitarea lor.
e 1

Modelarea acestui sistem ar putea fi realizată prin reţeaua


P/T marcată din Figura 5.4.1, cu următoarele interpretări ale
locaţiilor:

Figura 5.4.1

s1 marcată = expeditorul a transmis un mesaj;

s2 marcată = expeditorul este pregătit pentru o nouă transmisie;

s3 marcată = expeditorul este în stare de repaus;

s4 = bufferul pentru depozitarea mesajelor;

s5 marcată = destinatarul a recepţionat un mesaj;

s6 marcată = destinatarul este pregătit pentru recepţionarea

unui nou mesaj;

s7 marcată = destinatarul este în stare de repaus


Figura 5.4.2

Acest model poate fi considerat nesatisfăcător ca urmare a faptului că destinatarul


poate trece în starea de repaus în timp ce expeditorul trimite mesaje sau bufferul nu
este gol (gândindu-ne la expeditori şi destinatari umani, obiecţia noastră ar putea fi
considerată nejustificată. Insă, în cadrul sistemelor automatizate lucrurile stau cu totul
altfel şi această obiecţie este reală). Ar trebui să impunem restricţia ca destinatarul să
poată trece în stare de repaus numai dacă expeditorul este în stare de repaus şi locaţia
de depozitare a mesajelor este goală. Modelarea acestei restricţii o realizăm adăugând
două noi locaţii s8 şi s9 . Locaţia s8 va fi complementară locaţiei s4 în sensul că, pentru

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

producă numai dacă


M  s8   (echivalent, M  s4   0 ). Trecerea expeditorului în starea
n

de repaus va fi semnalată prin trimiterea unui punct în locaţia s9 ceea ce va permite


destinatarului să intre în starea de repaus numai dacă expeditorul este în stare de
repaus.
Reţeaua P/T din Figura 5.4.2 modelează sistemul expeditor - destinatar cu această
1
nouă restricţie (în marcarea iniţială, locaţia s8 conţine n puncte).
Trebuie să remarcăm că trecerea expeditorului sau a destinatarului în starea de

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

s10 , s s , s ca în Figura 5.4.3 (constatăm că nu este necesar a marca iniţial locaţia


11 12 13
,
s8 cu n puncte; tranziţia t8 va introduce aceste n puncte, fără de care sistemul nu

poate evolua propriu. De asemenea, remarcăm că nu putem renunţa la restricţia de


capacitate a locaţiei s8
deoarece, altfel, secvenţa t8t7t2t6t9t8 ar conduce la introducerea a
2n 1
puncte în s8 ceea ce ar modifica proprietăţile reţelei, aşa cum se va vedea mai
jos).
Spunem că un sistem expeditor - destinatar este modelat corect dacă sunt
îndeplinite următoarelor proprietăţi:

(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 ,

care conduce la M  s4   şi, astfel, (P2) este îndeplinită. In plus, M  s7   1


n

(destinatarul este în repaus) dacă şi numai dacă


M  s4   M  s8   0 . Pentru a demonstra

(P3) vom utiliza S-invarianţii J şi J . Aplicând Teorema 3.3.2.1 obţinem


4 5

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

pentru expeditor este îndeplinită. Similar, utilizând J5 obţinem

M  s7   M  s11   M  s13   0 ,

ceea ce demonstrează (P3) pentru destinatar.


Pentru a demonstra proprietatea (P4) vom utiliza S-invariantul J . Are loc:
6

M  s9   M  s10   M  s11   0 .

Trecerea expeditorului în starea de repaus se realizează prin producerea tranziţiei t2

care marchează locaţiile


s9 , s1 şi s3 şi, deci, M  s10   1 . M  s9   rezultă
0
Din 1

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

trece în starea de repaus numai dacă s-a produs în prealabil tranziţia


t6 . Dar t6 este

posibilă la marcarea M numai dacă


M  s6   1 M  s8   şi M  s9   1 . Pentru o astfel
, n

de marcare M trebuie să arătăm ca avem


M  s4   0 M  s3   1 . Folosind invariantul
şi

J3 obţinem:

M  s4   n M  s7   M  s8   n .

Din această egalitate şi


M  s8   rezultă M  s4   0 , ceea ce M  s4   0 .
n implică

Utilizând S-invariantul J  J obţinem:


4 6

M  s3   M  s9   M  s11   M  s12   0 .

Deci,

M  s3   M  s9   M  s11   M  s12   M  s9   1

şi, cum capacitatea locaţiei s3 este 1, rezultă


M  s3   1 . Destinatarul va trece astfel în

starea de repaus numai dacă expeditorul este în starea de repaus


M s  3
şi dacă
locaţia de depozitare este goală M s4   0 . 1

5.4.2. Procese în citire/scriere


Considerăm un sistem format din n procese, n  0 , care pot citi sau scrie într-o
anumită zonă de memorie. Citirea din memorie se poate face concurent, dar atunci
când un proces este în scriere celelalte
n 1 procese nu pot scrie sau citi. Fiecare

proces poate fi în una din următoarele stări:


s1 = prelucrare locală ce nu utilizează memoria;

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 ,

ceea ce demonstrează (Q1).


Utilizând S-invariantul
J2 obţinem

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:

(1) M  s1   M  s3   M  s5   0 . în acest caz la M sunt posibile tranziţiile t1 , t4 , t3 şi t6

(2) dacă
M  s1   M  s3   M  s5   0 , M  s2   M  s4   2 M s  n . Aceasta ne
atunci şi

arată că tranziţiile t2 şi t5 sunt posibile la M .

Ca urmare, reţeaua din Figura 5.4.2.1 nu se blochează.

Exerciţii rezolvate

1) Să se determine matricea de incidenţă pentru sistemul şi să se verifice dacă


i1  1,1,1,1,1, 0 , i2  0, 0,1, 0, n,1 , i3  1, 1, 0, 1, n 1,1 sunt S-invarianţi.
Rezolvare

Matricea de incedenţă C  c cu c  W t , s W s , t . Pentru a verifica că cei trei


 ij ij  j i  i j

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

Se verifică imediat că produsul scalar dintre 1 6.


i1  t j  0 , i2  t j  0
j
şi i3  t j  0 pentru
Tema de control 5

1) Fie sistemul dat în figura de mai jos:

s5
s1

kn
t1 t3 t4 t5
s4
s2 s6

t2
t7 t6 t8
s8

s10
s3 s9 s7

s11 t9 s12

Să se determine matricea de incidenţă

2) Să se verifice dacă următorii vectori sunt S-invarianţi: i  1,1,1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,


1  
i2  0, 0, 0, 0,1,1,1, 0, 0, 0, 0, 0 , i3  0, 0, 0,1, 0, 0, n,1, 0, 0, 0, 0 .
Tema 6
Structuri de acoperire şi probleme de
decizie
6.1. Structuri de acoperire
Comportarea uni P/T sistem este dată de mulţimea  M 0  , mulţimea
marcărilor accesibile şi de tranziţie posibile la aceste marcări. Din păcate, în
cele mai multe cazuri mulţimea M 0  este infinită şi atunci ea nu prea este de
folos.

(0)
t
t (1)

(2)
s

Figura 6.1

Deci, pentru un sistem   N , M putem construi arborele marcărilor



accesibile  0
- rădăcina o etichetăm cu
M0
- dacă am construit un nod etichetat cu marcarea M, succesorii săi se
obţin astfel: pentru fiecare tranziţie t posibilă la M construim un nou
nod etichetat cu M '  M  t şi un arc v, v ' etichetat cu t. Vectorul
t : S  Z este definit prin t  s   W t, s  W  s, t 

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

Arborele de acoperire este dat în figura ce urmează:

(1,0,0)
a

(1,,0) (0,0,1)
a

(1, ,0) (0, ,1)


c

(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

Acest sistem are arborele de acoperire identic cu cel al sistemului


N1 . Cele
două sisteme, cu toate că au acelaşi arbore de acoperire, au comportări
diferite. În N1 tranziţia c se poate produce ori de câte ori (independent de
numărul de produceri în prealabil a tranziţiei a şi b ), dar în N2 tranziţia c
se poate produce de cel mult atâtea ori cât s-a produs tranziţia a înainte.
Deci, când analizăm comportarea unui sistem P/T, utilizând arborele de
acoperire, trebuie să ţinem cont că el nu conţine toate informaţiile despre
comportarea sistemului.
Să demonstrăm că arborele de acoperire este finit. Pentru aceasta vom
da două leme ajutătoare.
Lemă 6.1 Fie S o mulţime finită şi fie   M1, M 2 ... un şir infinit de aplicaţii
distincte M i : S  N , i  1 . Din şirul  putem construi un subşir infinit şi
crescător  '  Mi1, Mi 2 ....
Lemă 6.2 Fiecare drum în arborele de acoperire este finit.
Demonstraţie. Este suficient să ne limităm la drumurile care încep în
rădăcină, pentru că orice alt drum poate fi inclus într-un astfel de drum.
t1 t2
Fie M 0  M1 ...  M i  ...  M j  un drum în arborele de acoperire
...
T N .
x1 xj xl

Din construcţia arborelui de acoperire rezultă că: dacă Mi  M j , atunci


pentru toate locaţiile s pentru care avem M i  s   M j  s  , vom pune
M j s   . Deci, orice secvenţă Mi  Mi  ... are cel mult | S | elemente. Tot
1 2

din construcţia arborelui de acoperire rezultă că dacă Mi  M j , atunci M j


este frunză, deci drumul este finit.
Subşirurile descrescătoare sunt finite cu cel M0 elemente.
mult s 
sS

Subşirurile de elemente distincte sunt finite, pentru că dacă ar exista


un subşir infinit de elemente distincte două câte două, aceasta ar admite un
subşir crescător infinit (conform lemei precedente), dar pe un drum în
arborele de acoperire subşirurile crescătoare au cel mult | S | elemente.
Teoremă 6.3 Arborele de acoperire este finit.
Demonstraţie. Demonstraţia teoremei o facem prin reducere la absurd.
Presupunem că arborele de acoperire este infinit. Vom arăta că se poate
construi un drum infinit. Drumul începe cu nodul rădăcină n0 care este
etichetat cu M 0 . Presupunem că am construit nodul ni , etichetat cu Mi şi
subarborele cu rădăcină ni este infinit. Să construim nodul ni1 . Nodul ni are
un număr finit de succesori, cel mult | T | succesori, fie aceştia x1,..., xl . Există
măcar un nod x j astfel că subarborele cu rădăcina x j este infinit. În caz
contrar subarborele cu rădăcina în ni este finit. Deci, în ipoteza că arborele
de acoperire este infinit, putem construi un drum infinit, ceea ce contrazice
lema precedentă.
ni

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 .

Presupunem că afirmaţia teoremei este adevărată pentru M1   M 0  şi să o


t

demonstrăm pentru M 2 cu M1  M 2 , unde t T . Din ipoteza inductivă există


în T  N un nod x etichetat cu Mx , cu M1  Mx . Deoarece tranziţia t este

posibilă la M1 , t este posibilă şi la M x ; deci există un nod y în arborele de
acoperire cu eticheta M y  Mx  t  M1   M 2 .
t

Definiţie 6.3 Fie N un P/T sistem şi fie


E : S  N  . Fie E eticheta unui
nod din T  N  . Notăm cu      s  S | E  s    .
i) Pentru i  N o marcare M a lui N se numeşte o i-marcare a lui
E dacă s   E  : M  s   i şi s   E  : M  s   E  s  .

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 .

Observaţie Această teoremă spune că pentru fiecare nod din arborele de


acoperire există un şir de marcări accesibile care converg către eticheta
acelui nod.
6.2 Proceduri de decizie pentru proprietăţi ale reţelelor P/T
Utilizând finititudinea arborelui de acoperire, vom deduce unele
proprietăţi ale reţelelor Petri. Deoarece arborii de acoperire sunt construibili
vom obţine proceduri constructive pentru decizia proprietăţilor studiate.
Teorema care urmează ne arată că problema acoperirii este decidabilă.
Problema acoperirii este următoarea. Dată o marcare arbitrară
M : S  N  , există o marcare M 'M 0  astfel că M  M ' .

Teoremă 6.2.1 Fie


N   S,T , F , M un P/T sistem cu T  N arborele său de
0  
acoperire şi fie M:SN o marcare arbitrară. Există o marcare

M '  M 0  cu M  M ' dacă şi numai dacă sunt îndeplinite următoarele
condiţii:
a) s  S : M  s     M 0  s    ;
b) există un nod E în
T  N astfel că M  E .

Definitie 6.2.2 Fie
N   S N ,TN , FN , M 0 un sistem P/T. Mulţimea S  SN se

numeşte simultan nemărginită dacă i  N  M i   M 0  astfel că
s  S : M i  s   i .

Teoremă 6.2.3 Fie N un P/T sistem şi fie S  SN . Mulţimea S este simultan


nemărginită dacă şi numai dacă există un nod E în arborele de acoperire
T  N  astfel că s  S : E s   .
Tema 7
Extensii ale reţelelor Petri de tip P/T şi
gradele de concurenţă
7.1 Reţele Petri cu inhibiţie

Să considerăm drept exemplu un sistem de producţie în care se


prelucrează obiecte de acelaşi tip în două etape. Fără a restrânge
generalitatea putem presupune că sunt două persoane ce prelucrează aceste
obiecte: persoana P1 execută prima etapă şi persoana P2 execută cea de a
doua etapă. Obiectele prelucrate după prima etapă sunt depozitate spre a fi
prelucrate de persoana P2 . Presupunem că persoana P1 poate lua o pauză în
orice moment iar P2 poate lua pauză numai atunci când nu mai are obiecte
de prelucrat. O încercare de modelare a acestui sistem de producţie este:

Fig. 7.1

- t1 - acţiunea de prelucrare în primă etapă. Obiectele prelucrate vor fi


depozitate în s1 .
- t2 - acţiunea de prelucrare a obiectelor în etapa a doua. Prezenţa unui
punct în s2 semnifică faptul că P2 poate să continue prelucrarea sau să
ia o pauză.
- t12 - P2 intră în pauză. Prezenţa unui punct în s3 înseamnă că P2 intră în
pauză.
t - Persoana
2
- 2 P2 reia lucrul.

Modelul din fig. 7.1 nu corespunde cerinţelor sistemului deoarece t3


trebuie să se producă numai M  s1   0
dacă
Această restricţie nu poate fi realizată uşor în reţele Petri clasice. Deci
suntem conduşi la a modifica regula de tranziţie a unei reţele Petri, astfel: o
tranziţie t este posibilă dacă ea este posibilă în sens clasic şi în plus anumite
locaţii să nu conţina nici un punct.
Definiţia 7.1. O reţea Petri cu inhibiţie este un cuplu  N , I  unde
N   S,T , F ,W , M 0  iar I este o submulţime a produsului cartezian S T cu
FI.
Definiţia 7.2. Fie  N , o reţea Petri cu inhibiţie, M o marcare a ei şi t T .
I
1) Spunem că tranziţia t este i-posibilă la M şi notăm M dacă are loc
ti
RA 1) M t
RA 2) M  s   pentru orice s  cu s, t  I
0 S
2) Dacă t este i-posibilă la M atunci producerea lui t are ca efect
obţinerea marcării M ' notat M t i M ' cu
M  s  W  s, t  s  t \ t
 s  W t, s 
M 's   
M  
st \ t

M  s   W  t, s  W
 
s tt
s, t 

M  s  in caz contrar

Observaţie. Condiţia F  I   este esenţială pentru că altfel t nu s-ar
putea produce niciodată: pentru ca să se producă t RA1) cere ca M  s   0
iar RA2) cere ca M  s   0 .
Celelalte noţiuni se pot defini ca la RP clasice. Reprezentarea grafică.
Elementele lui I le desenăm prin

Exemplul din figura 7.1 este acum:


Fig. 7.2
Definiţia 7.3 Fie k  N . O reţea cu inhibiţie  N , este cu k-inhibiţie dacă
I
pentru orice tranziţie t avem | s  S /  s, t   I | cu k-inhibiţie se poate
k . Se poate arăta că pentru orice reţea  N ,
I
construi o reţea cu 1-inhibiţie echivalentă cu prima în sensul:
M 0  w
1 M  M
0
'
 w
k M'
M şi M ' sunt corespunzătoare:
M '   M , 1   r 
cod  I    t1 ,..., tr 

7.2 Reţele Petri cu priorităţi

Modelul prezentat în Fig. 7.1 poate fi modificat ca să corespundă


cerinţelor reale şi în alt fel, să impunem prioritate de aplicabilitate între t2 şi
t2 . Mai exact, dacă la o marcare sunt posibile t2 şi t1 , atunci să se aplice t2 .
1
2

Această idee poate fi formalizată considerând o relaţie de ordine parţială


peste T .
Definiţia 7.21. O reţea Petri cu priorităţi este un cuplu  N ,   unde N este o
reţea Petri clasică şi  este o relaţie de ordine parţială peste T .
Dac t  t atunci tranziţia t ' este prioritară în aplicabilitate faţă de t .
ă '
Definiţia 7.2.2. Fie  N ,  o reţea Petri cu priorităţi, M o marcare a ei şi

t T .
1) Spunem că tranziţia t este   la M şi notăm M dacă
au loc următoarele relaţii posibila t 
RA 1) M t
RA 2) pentru orice t astfel încât M t ' nu are loc t t '
'T
2) Dacă t este   la marcarea M , atunci în urma producerii
posibila
lui t se obţine o nouã marcare M ' ; M t  M ' şi
notată
M  s  W  s, t  s  t \ t
 s  W t, s 
M 's   
M  
st \ t

M  s   W  t, s  W
 
s tt
s, t 

M  s  in caz contrar

Reprezentarea graficã se face ca în cazul classic şi listãm alãturat relaţia  .
Celelalte noţiuni sunt ca în cazul classic.
Pentru modelul din Fig. 7.1 mai adãugãm la model t12 t2.

7.3 Reţele cu resetare

Considerãm un sistem de producţie format din doi producãtori P şi P


1 2

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

Tranziţiile din figura de mai sus au urmãtoarea semnificaţie:


- ti - activitatea de producţie a producãtorului Pi ;
- ti - producãtorul Pi îşi opreşte activitatea de producţie;
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 P3i 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.

Definiţia 7.3.1. O reţea Petri cu resetare este un cuplu  N , unde N este o


R
reţea Petri clasicã şi R o submulţime a produsului S T . Intuitiv  s, t   R
înţelegem cã t prin aplicare reseteazã s . Prin marcare a lui  N , R înţelegem
o marcare a lui N .
Definiţia 7.3.2 Fie  N , R o reţea Petri cu resetare, M o marcare a ei şi t T .
1) Spunem cã t este r-posibilã la M şi notãm M dacã M t .
t r
2) Spunem cã marcarea M ' este r-produsã prin apariţia tranziţiei t la M
şi notãm M t r M ' dacã M t r şi
 M  t  s  dac s, t   R
M ' s  
0 a s, t   R
daca
pentru orice s  S .
Se vede că regula de aplicabilitate rămâne aceeaşi, se modifică numai regula
de calcul. Reprezentarea grafică se face ca în cazul clasic şi pentru fiecare
pereche s, t  R desenăm un arc.

Pentru modelul considerat avem:

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

7.4 Reţele Petri cu salturi

Definiţia 7.4.1 O reţea Petri cu salturi este o pereche  N , R unde N este o


reţea Petri de tip P/T şi R este o reţea binară pe mulţimea marcărilor lui N .
O pereche M , M ' R se numeşte salt.

Definiţia 7.4.2 Fie   N , o reţea Petri cu salturi.



R
1) Vom spune că tranziţia t T este j-posibilă la marcarea M , scris
1
M t j , dacă există o marcare M 1 astfel încât: MR *M t , unde R *
este închiderea reflexivă şi tranzitivă a lui R.

2) Vom spune că marcarea M ' este j-produsă prin apariţia lui T la


marcarea M , scris M t j M ' , dacă există marcările şi M 2 astfel
1 2
M1
că: MR M  tM R M ' .

Exemplul 7.4.3 Fie reţeaua:

Fig. 7.4.1

Şi R  1, 0, 0  , 0, 0,10, 0,1, 1, 0,0    .


relaţia
Această reţea modelează o problemă de tip producător consumator, în care
consumatorul Ci consumă numai produsele sale.
Urmoarea

secvenţă de calcul este posibilă
1, 0, 0  P1  1,1, 0   P1  1, 2, 0  C1  1,1, 0  C1  1, 0, 0  R  0, 0,1  P2   0,1,1 ...
  
7.5 Grade de concurenţă

7.5.1 Grade de concurenţă pentru reţele P/T

În modelarea sistemelor distribuite reale este important, să definim o măsură


pentru concurenţă. Când putem spune, de exemplu, că într-un sistem S1
concurenţa este mai mare ca în sistemul S2 . Noi vom defini gradele de

concurenţă pentru sisteme P/T şi ţinând cont că sistemele distribuite pot fi


modelate prin sisteme P/T avem definite gradele de concurenţă pentru
sistemele distribuite prin intermediul modelului corespunzălor.

Definiţia 7.5.1 N   S,T , F , K ,W , un sistem P/T şi M o marcare.


Fie
M 0

1) Mulţimea A  T
este o mulţime de tranziţii simultan concurente la M
dacă

s  S :  W  s, t   M  s 
tA

2) Mulţimea A  T este o mulţime maximală de tranziţii concurent

posibile la marcarea dacă A este o mulţime de tranziţii concurent


posibile la M şi
t mulţimea A nu este o mulţime de tranziţii
T t

concurent posibile la M .

Notaţia 7.5.2

1) Prin T(M) notăm mulţimea tranziţiilor posibile la M, adică

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
tA


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 

În general există mai multe mulţimi de tranziţii concurent posibile


maximale la o marcare M . De exemplu, pentru reţeaua din Fig. 7.5.2 se
verifică că A  t1 , t2 , B  t1 , C  t2 , t4  D  t3 , t4 sunt mulţimi din
t3  , t4  , , 
MCT(M).

Fig. 7.5.1

Maximalitatea mulţimilor din punct de vedere al concurenţei nu implică


maximalitatea din punct de vedere al cardinalului, de exemplu A şi B sunt
concurent maximale şi | A || B | .

Definiţia 7.5.3 N   S,T , F , K ,W , un sistem P/T.


Fie
M 0
1) Gradul de concurenţă al sistemului P/T la marcarea M este:
d  N , M   max | A | | A  MCT  M 

2) Gradul de concurenţă inferior al sistemului N şi gradul de concurenţă

superior al sistemului N se definesc prin:

d

N

min
M M0
d  N , M d

 N max d N , M
M M0   



Observaţia 7.5.4 Se observă ca gradul de d N, este numărul


concurenţă M

maxim de tranziţii concurent posibile la marcarea M . Gradul inferior de


concurenţă a sistemului
N,d

 N  , precizează că oricare ar fi o marcare M
accesibilă din M 0 , avem la această marcare o mulţime de tranziţii

concurent posibile care au cel puţin


d

 N tranziţii. În timp ce d

 N

precizează ca pentru orice marcare M accesibilă din M 0 numărul maxim
de tranziţii concurent posibile, nu poate
depăşi d

N .

Din definiţia de mai sus se deduce că d



 N   d   N  . În cazul când
d

 N   d   N   d  N  , acest număr îl vom numi gradul de concurenţă al
sistemului N .

Exemplul 7.5.5 Fie N sistemul P/T din Fig. 7.5.2


Fig. 7.5.2
La marcarea iniţială sunt concurent posibile t1 şi t2 , deci d

 N   2 . In
plus t2 şi t nu pot fi simultan posibile, deoarece ca t să fie posibilă trebuie
3 3

să fie marcată s , dar s va fi marcată prin producerea lui t care scoate


4 4 2

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  N2.

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

această marcare singura tranziţie posibilă este t1 , deci


d

 N   1.
Calculul efectiv al gradelor de concurenţă este de mare importanţă în
diverse aplicaţii, deci când modelăm sisteme distribuite prin sisteme Petri de
tip P/T. De aceea vom da mai jos algoritmii de calcul al acestor grade de
concurenţă.
Vom studia mai întâi d   N  . Din definiţia d

 N se deduce imediat
lui 
că d   N  | T | n . Calculul lu 
i d N
este dat de următorul algoritm:
Iniţializare
d

N 0.
Pentru i  0
0 până la n execută:
Pas 1. Se consideră toate submulţimile lui T cu n  i elemente. Pentru
fiecare submulţime T1 cu | T1 | n 
execută:
i

Pas 2. Se calculează marcarea M prin: M  s    W  s, t  ; ( M este cea


tT1

mai mică marcare pentru care toate tranziţiile din T1 sunt concurent posibile).

Pas 3. Se decide dacă există


M 'M 0  cu M  M ' . Dacă răspunsul

este "adevărat" atunci


d  N   n şi ne oprim.

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

Construcţia mulţimii M se face utilizând un arbore de acoperire pentru


sistemul N . Fie
T  N un arbore de acoperire. Punem M 0 în submulţimea

M . Pentru fiecare drum maxim (deci care începe în rădăcină) procedăm în

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 .

- Pentru nodurile care sunt etichetate cu marcări care au w-componente

noi, nu modificăm deoarece există un nod pe drumul de la rădăcină care


are componente mai mici sau egale cu componentele etichetei nodului
cercetat.

- Pentru nodurile care au w-componente dar au w-componente noi faţă de


nodul precedent
procedăm, în modul următor: fie d drumul de la rădăcină la acel nod,
calculăm marcarea
M  M 0   W t, s  W  s, t  . Comparăm M
cu
td

marcările din M şi dacă nu există o marcare, M 'M M'M,


atunci adăugăm M la M .
cu

7.5.2 Grade de concurenţă pentru sisteme P/T cu salturi

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.

Exemplu de sistem Petri cu salturi este cel din fig. 7.5.3


Fig. 7.5.3

R = {((2,1,0,0), (0,0,0,1)), ((0,0,1,0), (2,1,0,0))}.


Definiţia 7.5.8 Fie    N , un sistem Petri cu salturi şi M o marcare a
R

lui N (deci şi a lui  ).

1) Spunem că tranziţia t este j-posibilă la marcarea M, scris


M t j , dacă

există o marcare
M1 astfel că MR M 1 t , unde R* este închiderea
*

tranzitivă şi reflexivă a relaţiei R.

2) Marcarea M ' este j-produsă prin apariţia lui t la marcarea M , scris


M t M ' , dacă există marcările
M şi M astfel că MR M t M R M ' .
* *

 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

Pentru sistemele Petri cu salturi putem defini analog ca la sisteme Petri


obţinute o pădure de arbori de acoperire. Fie relaţia R finită şi

R M , M  ,
1 1
'
2 , M2 ,...,
'
,M
'
 . Arborii de acoperire pentru reţele Petri
M M n

cu salturi se construiesc în felul următor:


- Se construieşte 
TN
după algoritmul dat înai nte cu rădăcina eticlietată
cu M 0 ;
- Pentru fiecare
i,1  i  n , se construieşte Ti  cu marcarea M .
'

N iniţială
i

Deci pentru un sistem Petri cu salturi avem n 1 arbori de acoperire,

unde n | R | .

Definiţia 7.5.9 Fie   N ,


 un sistem Petri cu salturi şi M o marcare
R

oarecare. Gradul de concurenţă al sistemului  la marcarea M este:


d , M   max d  N 1, M  | MR1 M 
*

Pentru a defini analog ca la sistemele Petri obişnuite gradele de concurenţă


inferior şi superior pentru sisteme Petri cu salturi.

Definiţia 7.5.10 Fie  un sistem Petri cu salturi; definim gradul de


concurenţă inferior şi gradul de concurenţă superior, respectiv, al
sistemului prin:

d

 
min
M  M 0
d , M 

d

  j

max d , M 
M  M 0
j

Observaţia 7.5.11 Din definiţia precedentă se deduce imediat că


d

  d   . d   d 

vom numi valoarea comună gradul de
Dacă

concurenţă al sistemului  .

Problema acoperirii pentru marcări în sisteme Petri cu salturi este


decidabilă. Deci algoritmul de calcul dat pentru
d

 N se aplică şi pentru
d

 . 
De asemenea calculul lui 
d se face analog ca la sisteme Petri fără
 
salturi. Se demonstrează că pentru orice şir de marcări infinit distincte două
câte două se poate extrage un subşir infinit crescător. Folosind acest
rezultat se poate demonstra că există o mulţime de marcări finită M cu
proprietatea că M   M 0 există M 'M ' astfel că M '  M . Cu această
j
proprietate
avem:
 min d , M   min d , M .

d

M  M 0  j M M '

Construcţia mulţimii M ' se face utilizând pădurea arborilor de
acoperire ataşată unui sistem Petri cu salturi.
Bibliografie

1. Toader Jucan, Ferucio Laurenţiu Ţiplea – Reţele Petri. Teorie şi


Practică, Editura Academiei Române, Bucureşti, 1999, 235p

2. Octavian Păstrăvanu, Mihaela Matcovschi, Cristian Mihula –


Aplicaţii ale Reţelelor Petri în Studierea Sistemelor cu Evenimente
Discrete, Editura Gh. Asachi, 2002, 238p

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