Sunteți pe pagina 1din 127

Clin Aurel Munteanu

Simona Iuliana Caramihai


Mihnea Alexandru Moisescu
Ioan tefan Sacal






Sisteme Dinamice cu Evenimente Discrete



2
CUPRINS

Conceptul de Sistem cu Evenimente Discrete ............................................. 5
Breviar..................................................................................................... 5
Problem rezolvat.................................................................................. 7
Probleme propuse.................................................................................. 14
Limbaje Formale i Automate.................................................................... 16
Breviar................................................................................................... 16
Probleme rezolvate................................................................................ 39
Probleme propuse.................................................................................. 59
Reele Petri ................................................................................................. 74
Breviar................................................................................................... 74
Probleme rezolvate................................................................................ 85
Probleme propuse.................................................................................. 95
Bibliografie............................................................................................... 127




4



5
CAPITOLUL I
CONCEPTUL DE SISTEM CU EVENIMENTE DISCRETE

Breviar
Un sistem cu evenimente discrete (SED) este un sistem dinamic
caracterizat printr-un spaiu discret al strilor i prin traiectorii de stare
continue pe poriuni. Modificrile de stare se numesc tranziii i survin ca
urmare a apariiei evenimentelor, n mod asincron.
Evenimentele au durat nul. n afar de cazul n care apar alte
specificaii, se consider c la un moment dat are loc un singur eveniment
(deoarece probabilitatea ca doua evenimente independente sa aiba loc
simultan este aproape nul). Un eveniment poate fi identificat ca :
aciune specific (ex: lansare operaie);
modificare necontrolabil n cadrul unui proces (ex: defectarea unei
resurse dintr-un motiv oarecare);
rezultatul satisfacerii simultane a mai multor condiii.
Evenimentele sunt, de regul, etichetate. Mulimea evenimentelor legate
de funcionarea unui proces oarecare formeaz un alfabet (mulime finit
de simboluri) , astfel nct ele i pstreaz semnificaia de fenomen
calitativ dependent de specificul aplicaiei.
Din punct de vedere formal, un sistem cu evenimente discrete se mai poate
defini i astfel:
Definiie:
Un SED este un sistem care evolueaz genernd spontan evenimente i
poate fi definit ca un quadruplu:
) , , , (
0
q Q G =

unde:
Q = mulimea strilor sistemului;
= alfabetul evenimentelor pe care le poate genera sistemul;
q
0
= starea iniial;

= funcia de tranziie de stare, cu
: Q Q.
Sisteme cu evenimente discrete
6

Observaii
1. n funcie de dimensiunea lui Q, SED se mpart n sisteme cu numr
finit de stri i respectiv sisteme cu numr infinit de stri; indiferent
de dimensiune, Q este numrabil;
2. Funcia de tranziie nu este ntotdeauna complet definit, ceea ce
nseamn c nu este obligatoriu ca din fiecare stare a sistemului s
poat fi generate toate evenimentele din ; de regula, numarul de
evenimente care poate fi generat din fiecare stare este determinat de
caracteristicile fizice ale sistemului modelat;
3. Alfabetul are ntotdeauna un numr finit de evenimente.
n concluzie, modelarea unui proces real ca SED include, indiferent de
formalismul utilizat, urmtoarele etape:
1. Definirea variabilelor de stare, respectiv a formatului elementelor q
Q; dac mulimea Q este finit, atunci se poate defini n ntregime
prin enumerare;
2. Stabilirea strii iniiale q
0
Q;
3. Definirea tuturor evenimentelor din - ca aciuni care modific
valoarea a cel puin o variabil de stare;
4. Definirea funciei de tranziie , ceea ce revine de fapt la descrierea
explicit a modelului.
n funcie de complexitatea procesului modelat, etapele 3 i 4 pot fi
completate simultan.
Dac se ia n considerare modul n care trateaz timpul, modelele SED pot
fi mprite n urmtoarele categorii:
modele autonome sau logice utilizate pentru analiza calitativ a
funcionrii sistemelor; n cazul acestor modele nu este luat n
considerare dect ordinea n care apar evenimentele, iar timpul (ca
moment precis al aparitiei unui eveniment sau ca intervalul dintre
dou evenimente succesive) nu apare n mod explicit;
Sisteme cu evenimente discrete
7

modele temporizate utilizate att pentru analiza calitativ ct i,
mai ales, pentru analiza performanelor sistemelor intervalul de
timp dintre apariiile a dou evenimente succesive este specificat n
mod determinist;
modele stochastice sau probabilistice n care succesiunea
evenimentelor este modelata prin intermediul unor distribuii de
probabilitate.



Problem rezolvat
1) S se modeleze ca SED procesul format dintr-un server i o coad de
ateptare. Capacitatea serverului este unu (poate deservi numai un
client la un moment dat), iar capacitatea cozii este presupus a fi
nelimitat. Atunci cnd un client intr n sistem, el intr n coada de
ateptare. De ndat ce serverul este liber, preia cte un client din
coad, n ordinea sosirii acestora. Intrarea clienilor n sistem, precum
i durata serviciului, sunt aleatoare. Se presupune c intervalul de timp
dintre iesirea unui client de la server si intrarea unuia nou, n cazul n
care coada este nevid, este zero (nesemnificativ pentru problema).
Iniial, serverul este liber.

Rezolvare:
Procesul propus va fi modelat ca SED autonom, ntruct nu exista nici o
indicaie temporal.
Definirea Q: n mod evident, sistemul va avea un numr infinit de stri,
deoarece capacitatea cozii de ateptare nu este limitat. n acest caz, se va
defini structura strilor sistemului prin specificarea variabilelor de stare, i
anume: s starea serverului i l lungimea cozii de ateptare.
ntruct serverul nu poate fi dect liber sau ocupat, se poate considera ca
s {0, 1}, astfel: s = 0 semnifica server liber, iar s = 1 server ocupat.
Q = {(s, l) s {0, 1}, l }
Sisteme cu evenimente discrete
8
Datorit faptului c (din specificaiile problemei) nu exist situaii n care
serverul s fie liber i coada de ateptare s conin clieni, spaiul strilor
poate fi rafinat sub forma:
Q = {(0, 0)} U {(1, l) l }
Definirea strii iniiale: q
0
= (0, 0) server liber i coada de ateptare
vid.
Definirea alfabetului de evenimente :
Alfabetul de evenimente va conine dou elemente, i anume:
e
1
intrarea unui client n sistem;
e
2
ieirea unui client din sistem.
Definirea funciei de tranziie:

) 0 , 1 ( ) ), 0 , 0 ((
1
= e


) 1 , 1 ( ) ), , 1 ((
1
+ = l e l

respectiv intrarea unui client n sistem
trece serverul n starea de ocupat, dac acesta era liber sau
incrementeaz lungimea cozii, dac la momentul intrrii serverul era
ocupat.

) ), 0 , 0 ((
2
e
= - (nu se definete; fizic nu este posibil ca
un client s ias dintr-un sistem fr clieni))

=

=
0 ) 0 , 0 (
1 ) 1 , 1 (
) ), , 1 ((
2
l daca
l daca l
e l

respectiv ieirea unui client din sistem
nu se definete (dac sistemul nu are nici un client) sau
decrementeaz lungimea cozii, dac aceasta era nevid sau
elibereaz serverul, n caz contrar.
Modelul autonom poate fi modificat n vederea analizei performanelor
sistemului n cazul n care informaia despre proces este completat cu
informaii temporale. De exemplu, se presupun cunoscute duratele de timp
dintre dou sosiri succesive i de asemenea timpul de servire aferent
fiecrui client.
Sisteme cu evenimente discrete
9
n general, performanele unui sistem sunt evaluate fie prin metode
analitice, fie prin simulare.
n cele ce urmeaz, se urmrete construirea unui model n vederea
analizei prin simulare. Simularea unui proces poate fi dependent de timp -
se ncheie dup expirarea unei perioade precizate de timp - sau poate fi
dependent de evenimente se ncheie n momentul nregistrrii unui
numr precizat de evenimente.
Pentru procesul n discuie se alege simularea dependent de evenimente,
considernd c simularea se ncheie n momentul n care cel de-al n-lea
client sosit n coada de ateptare intr pe server.
Mrimile de interes, ale cror valori trebuie s rezulte n urma simulrii
procesului, sunt:
durata medie de ateptare a clienilor n coad
n
D
n d
n
i
i
=
=
1
) (


unde:
D
i
reprezint durata de ateptare a fiecrui client n coad (este
calculat ca diferena dintre momentul la care clientul i-1 a prsit
sistemul i momentul la care clientul i a sosit n coad),
n este numrul de clieni tratai de ctre server.
Conform definiiei, durata total de ateptare pentru fiecare
client, respectiv durata medie de ateptare pot fi calculate/
actualizate doar n momentul intrrii clientului la serviciu, ceea ce
echivaleaz cu momentul nregistrrii unui eveniment de tip e
2
.
lungimea medie a cozii de ateptare
Valoarea estimat, rezultat din simulare este
i
i
p i n q ) (
0

=
=
,
Sisteme cu evenimente discrete
10
unde
) (

n T
T
p
i
i
=
,
) (
) (
0
n T
T i
n q
i
i

=

cu urmtoarea semnificaie a parametrilor:
T
i
- suma intervalelor de timp n care coada are lungimea i
T(n) durata total de simulare (intervalul msurat ntre
momentul nceperii simulrii i momentul la care clientul n a
intrat pe server)
p
i
- procentul din timpul total de simulare T(n) n care coada are
lungimea i, Q(t) = i (unde Q(t) reprezint lungimea cozii la
momentul t)
Termenul

0 i
i
T i
reprezint chiar aria de sub graficul lui Q(t)
calculat ntre momentele de nceput i respectiv de sfrit ale
simulrii, prin urmare
) (
) (
) (
) (
0
n T
dt t Q
n q
n T

=

gradul de utilizare a server-ului
) (
) (
n T
T
n u
i
=

unde
T
i
suma intervalelor de timp n care server-ul este ocupat
(B(t) =1 )

B(t) reprezint gradul de ocupare a serverului la momentul t i
este definit ca


B(t) = , server ocupat la momentul t
, server liber la momentul t

0
1
Sisteme cu evenimente discrete
11
Ca i n cazul precedent, suma intervalelor de timp n care
severul este ocupat poate fi vzuta ca aria de sub curba B(t).
Deci
) (
) (
) (
) (
0
n T
dt t B
n u
n T

=

Spre deosebire de primul parametru, pentru a crui estimare se utilizeaz o
mediere n raport cu numrul de clieni n, fiind o mrime statistic
discret, ultimii doi parametri sunt estimai n raport cu durata simulrii
T(n), fiind mrimi statistice continue.
n procesele care implic resurse de tip server (de exemplu, roboi n
sistemele de fabricaie, calculatoare n operaiile de procesare a datelor)
evaluarea acestor performane este util n scopul detectrii blocajelor sau
a capacitii n exces (utilizare sczut).
Pentru elaborarea unui model, care sa permita estimarea celor trei mrimi
de interes specificate mai sus, sunt utile urmtoarele variabile (de
simulare):
starea serverului;
numrul de clieni din coad;
o list care ine evidena evenimentelor de sosire n coad;
momentul apariiei ultimului eveniment;
o variabil ceas care se actualizeaz la apariia fiecrui eveniment;
o list de evenimente care nregistreaz evenimentele de sosire i de
plecare imediat urmtoare evenimentului n curs de tratare;
n vederea obinerii valorilor mrimilor de performan stabilite anterior
este necesar actualizarea urmtorilor parametri:
numrul clientului aflat n serviciu;
ntrzierea total a clienilor n coad;
aria de sub curba Q(t)
aria de sub curba B(t)
Sisteme cu evenimente discrete
12
Se consider urmtorul studiu de caz, n care se specific intervalele dintre
sosirile clienilor (A
i
) i duratele de procesare pe server pentru fiecare
client (S
i
). Se precizeaz c simularea se ncheie n momentul n care
clientul cu numrul n = 6 ajunge la server.
A
1
= 0,4; A
2
= 1,2; A
3
= 0,5; A
4
= 1,7; A
5
= 0,2; A
6
= 1,6;
A
7
= 0,2; A
8
= 1,4;
S
1
= 2,0; S
2
= 0,7; S
3
= 0,2; S
4
= 1,1; S
5
= 3,7; S
6
= 0,6;
Rezultatele obinute n urma simulrii sunt:
d(6) = 5.7/6 = 0.95
q(6) = 9.9/8.6 = 1.15
u(6) = 7.7/8.6 = 0.9
Valorile lui q si u pot fi verificate pe baza graficelor de mai jos.

0
1 2 3 4 5 6 7 8 9
e
1
= 0,4
e
2
= 1,6
e
3
= 2,1
e
4
= 2,4
e
6
= 3,3
e
5
= 3,1
e
8
= 4,0
e
7
= 3,8
e
13
= 8,6 = T(6)
e
12
= 7,2
e
11
= 5,8
e
10
= 5,6
e
9
= 4,9
1
2
3
Q(t
)
t
Sosiri
Plecri

Figura I.1. Evoluia n timp a numrului de clieni din coada de ateptare.
Sisteme cu evenimente discrete
13


0
1 2 3 4 5 6 7 8 9
e
1
= 0,4
e
2
= 1,6
e
3
= 2,1
e
4
= 2,4
e
6
= 3,3
e
5
= 3,1
e
8
= 4,0
e
7
= 3,8
e
13
= 8,6 = T(6)
e
12
= 7,2
e
11
= 5,8
e
10
= 5,6
e
9
= 4,9
1
B(t
)
t
Sosiri
Plecri

Figura I.2. Evoluia n timp a ocuprii serverului.



Sisteme cu evenimente discrete
14
Probleme propuse
2) Fie un sistem de calcul cu dou procesoare P
1
i P
2
, care lucreaz n
paralel. Modul n care taskurile sosesc spre procesare poate fi descris
n raport cu momentul de timp discret al apariiei lor prin intermediul
unei funcii binare a(t) , t , astfel: a(t)=1 dac la momentul t
sosete un task i a(t) = 0 n caz contrar. Se presupune c nu pot sosi
simultan dou sau mai multe task-uri.
Presupunem c pentru un interval de timp t = 0,1,..,10 funcia a(t) are
valorile {1,1,1,0,1,0,1,1,0,0,1}.
La sosirea unui task sistemul de calcul aplic urmtoarea regul de
alocare a acestuia: cele dou procesoare lucreaz alternativ, primul
fiind P
1
. Se presupune c dac un task este trimis la P
i
, i=1,2 i acel
procesor este ocupat, atunci taskul va atepta ntr-o coad de
capacitate infinit. Durata de procesare a unui task la procesorul P
1

alterneaz ntre 4 uniti de timp i o unitate de timp (ncepnd cu 4),
iar durata de procesare pe P
2
este de 2 uniti de timp. Fie y(t) numrul
total de clieni care prsesc sistemul la momentul t, iar x
1
(t) , x
2
(t)
lungimile cozilor de ateptare la procesoarele P
1
respectiv P
2
.
a) desenai o diagrama de timp t-0,1,..., 10 indicnd sosirile i
plecrile. Iniial x
1
(0) = x
2
(0) = y(0) =0;
b) construii un tabel cu valorile x
1
(t), x
2
(t) , i y(t) pentru toi t =
0,1,, 10;
c) presupunem c se lucreaz n timp continuu. Sosirile au loc la
momentele 0,1; 0,7; 2,2; 5,2; 9,9. Duratele de procesare pe P
1

alterneaz ntre 4,2 i 1,1 iar pe P
2
este fixat la 2 uniti de timp.
Fie un model condus de evenimente cu setul de evenimente E =
{a, d
1
, d
2
}, unde a semnifica sosirea iar d
i
plecarea de pe
procesorul P
i
. Construii un tabel cu valorile x
1
(k), x
2
(k) , y(k), t(k)
unde : x
1
(k), x
2
(k) sunt lungimile cozilor de ateptare ; y(k) este
numrul cumulativ de plecri dup evenimentul k. (k = 1,2,), iar
t(k) momentul de timp la care apare evenimentul k. Dac dou
evenimente apar simultan presupunem c o plecare apare
ntotdeauna naintea unei sosiri. Comparai numrul de actualizri
n acest model cu un model n timp cu eantioane la 0,1 uniti de
timp.
Sisteme cu evenimente discrete
15
3) Rezolvati problema precedenta cu urmtoarele reguli de alocare a
taskurilor (dac dou evenimente apar simultan se consider c
plecarea este prioritar fa de sosire):
a) trimite taskul procesorului P
1
ct timp lungimea cozii este cel
mult 2, altfel trimite ctre procesorul P
2
.
b) trimite taskul ctre procesorul cu coada cea mai scurt. n caz de
egalitate trimite ctre procesorul P
2
.
4) Un proces de fabricaie simplu este compus din dou maini M
1
i M
2

i un robot care descarc piesele prelucrate de pe M
1
i le transport pe
M
2.
Nu exist stocuri la cele dou maini , deci dac o pies este
furnizat lui M
1
n timp ce aceasta funcioneaz atunci piesa este
rejectat. Dac robotul transport piesa lui M
2
n timp ce aceasta este
ocupat atunci el ateapt acolo pn cnd M
2
se elibereaz. Se
consider c timpul de revenire a robotului de la maina M
2
(dup ce a
depus piesa) n poziia iniiala este diferit de zero , deci M
1
poate fi
forat ocazional s pstreze piesa prelucrat (i s nu accepte altele)
pn cnd robotul devine disponibil. Fie x
1
i x
2
strile lui M
1

respectiv M
2
, iar x
3
starea robotului. Presupunem c timpii de
procesare pe M
1
i M
2
sunt: 0,5 pe M
1
i 1,5 pe M
2
, iar timpii de
transport de la M
1
la M
2
de 0,2 sec iar de la M
2
n poziia iniiala (M
1
)
de 0,1 sec. Presupunem c piesele sosesc la M
1
dup urmtoarea
schem:
0,1 0,7 1,1 1,6 2,5 sec
a) identificai toate valorile posibile pentru x
1
, x
2
i x
3
;
b) definii un set minimal de evenimente E pentru acest sistem;
c) pentru intervalul [0,0, 0,3] construii un tabel cu valorile lui x
1
(k),
x
2
(k), x
3
(k) i t(k) unde x
1
, x
2
, x
3
sunt strile mainilor i robotului
dup al k-lea eveniment iar t(k) este momentul apariiei al
evenimentului k. Dac dou evenimente apar simultan considerm
c terminarea procesrii apare ntotdeauna naintea sosirii unei noi
piese;
d) identificai toate strile pentru care M
1
este forat s atepte pn
cnd braul robotului preia piesa finit (prelucrat) (de pe M
1
).
16
CAPITOLUL II
LIMBAJE FORMALE I AUTOMATE

Breviar
Definiii
Un alfabet este o mulime finit de simboluri.
Un cuvnt este o secven finit de simboluri ale aceluiai alfabet.
Un limbaj este o mulime de cuvinte cu simboluri ale aceluiai
alfabet.
Notaii:
Lungimea unui cuvnt w:
Cuvntul vid: (corespunde evenimentului nul sau, mai precis, unui
eveniment neobservabil)
Limbaj vid:
Evoluia oricrui SED poate fi reprezentat complet printr-o pereche de
limbaje (L, L
m
) cu urmtoarele proprieti:
L , L
m
sunt definite pe alfabetul de intrare
L reprezint toate evoluiile posibile ale SED si se numeste limbaj
generat
L
m
reprezint toate evoluiile dorite ale SED si se numeste limbaj
marcat
L
m
L
Operaii pe limbaje
Fie L, L
1
, L
2
, limbaje definite peste alfabetul . Cele mai utilizate operatii
pe limbaje sunt:
Reuniunea
L = L
1
L
2
={ v| v L
1
sau (i) v L
2
}
Concatenarea
L = L
1
L
2
= {v | v = s t unde s L
1
i t L
2
}
Limbaje formale i automate
17
nchiderea iterativ (sau operatorul Kleene)
L = L*
L
*
=
U

=0 i
L
i
, L
k+1
= L
k
L
L
0
= {}
Obs. Operatia de inchidere iterativa se poate extinde si la un alfabet
(considerat ca un limbaj cu cuvinte de lungime 1) :
*
este mulimea
tuturor cuvintelor care pot fi formate cu simbolurile lui .
nchiderea prefixat
pr (L) = L = {s
*
| t L a.. sw = t}
Intersecia
L = L
1
L
2
= {v | v L
1
i v L
2
}
Proiecia lui L peste o submulime de evenimente ^
L^= {s^ | s L} cu
, dac ^
() , ^ =
, altfel
(s) , dac ^
() s *, , s ^ =
s^ , altfel
Proprietate:
Limbajul generat de ctre un SED este ntotdeauna egal cu nchiderea sa
prefixat (L = pr(L)).
Definiie
Fie un alfabet; atunci o expresie regulat (ER) se definete astfel:
este o ER care modeleaz limbajul ce conine doar evenimentul
nul;
este o ER care modeleaz limbajul vid;
() a , a este o ER care modeleaz limbajul reprezentat de {a}
dac a, b sunt ER, atunci (ab), (a + b), a*, b* sunt ER
Limbaje formale i automate
18
Proprietate:
Dac este ER, atunci : * = + *
Definiie:
Un automat finit determinist AFD se definete ca un quintuplu :
G = (Q, , q
0
, , Q
m
)
unde:
Q = mulimea (finit) a strilor
= alfabetul de evenimente
q
0
= starea iniial
= funcia de tranziie ;
: Q Q
() q Q si a, w *,
(q, ) = q i (q, wa) = ( (q, w), a) = q Q
Q
m
= mulimea strilor marcate
Notaii:
stare;
starea iniial (unic !)
stare marcat
tranziia sub evenimentul a

Observaii:
1. Dac Q
m
, atunci automatul se numete acceptor.
2. Dou automate G
1
si G
2
sunt echivalente dac limbajele lor
generate si respectiv cele marcate, sunt egale.
G
1
echivalent cu G
2
L(G
1
) = L(G
2
) si L
m
(G1) = L
m
(G
2
)

Limbaje formale i automate
19
Definiie:
Un automat finit nedeterminist AFN se definete ca un quintuplu
G = (Q, , , q
0
, Q
F
)
unde singura diferen fa de AFD este dat de modul de definire a
funciei de tranziie, respectiv :
: Q 2
Q
cu 2
Q
mulimea tuturor submulimilor lui Q
(q, ) = q i (q, a) = {p| pQ},
ceea ce nseamn c, din starea q, prin evenimentul a, se poate ajunge
ntr-o mulime de stri (evoluia nu este unic).
Un cuvnt de intrare w
*
este acceptat de un AFN dac mcar una
dintre evoluiile (q
0
, w) Q
m
.
Pentru orice AFN G se poate construi un AFD echivalent G, numit
observatorul lui G.
G = (Q, , , q
0
, Q
F
),
Definiie:
Un AFN cu tranziii (AFN-) se definete ca un quintuplu:
G = (Q, { }, q
0
, , Q
m
).
Diferena fa de clasele de automate prezentate anterior este dat de
modul de definire al lui .
Pentru a defini funcia de tranziie a AFN- se introduce noiunea de
nchidere a unei stri q a automatului G (*
G
(q)), astfel:
*
G
(q) = (q, *) = mulimea tuturor strilor n care se ajunge pornind din
q sub o secven (orict de mare) de .
Atunci funcia de tranziie a unui AFN- se definete astfel:
: Q ( { }) 2
Q
;
(q, ) =
*
G

(q)

Limbaje formale i automate
20
Pentru un cuvnt de intrare s ( { })* i ,
( )
( ) ( )
U U
s q q q q
G G
q s q s q
, ' , ' ' '
* *
" )] ), , ( ( [ ) , (



(

= =

Ca i n cazul AFN, pentru orice AFN- se poate construi un observator
determinist.

Algoritmul de construcie a unui observator determinist G
obs
pentru
un automat nedeterminist general G
nd

Considernd c automatul determinist este definit ca:
G
obs
= (Q
obs
, ,
obs
, q
0,obs
, Q
m,obs
)
iar automatul nedeterminist ca:
G
nd
= (Q
nd
,
nd
,
nd
, q
0,nd
, Q
m,nd
),
n care

=
- AFN un avem daca }, {
AFN un avem daca ,
nd
i folosind (pentru a putea rezolva cu algoritmul construcia observatorului
att pentru AFN ct i pentru AFN-) urmtoarea funcie:
UR: 2
Q
nd

nd
2
Q
nd

Cu definiia:

=
- AFN este G daca x), (
AFN este G daca x,
UR(x)
nd
*
G
nd

algoritmul de construcie a observatorului pentru un automat nedeterminist
este urmtorul:
Pas 1 q
0,obs
= UR(q
0,nd
) i se introduce q
0,obs
n lista strilor neexplorate
(LSN).
Pas 2 Atta timp ct exist stri n LSN:
Pas 2.1 Extragere a unei stri q din LSN.
Limbaje formale i automate
21
Pas 2.2 Includere a strii q n mulimea Q
obs
. Dac q
nd
q
obs
a.
q
nd
Q
m,nd
atunci se adaug q
obs
n Q
m,obs
.
Pas 2.3 Pentru fiecare eveniment e
nd

Pas 2.3.1 Evaluare a strii q
obs
n care evolueaz q
obs
la apariia
evenimentului e:
q
obs

=
obs
(q
obs
,e)=UR(
nd
(q
obs
,e))=UR(
obs nd
q q
U

nd
(q
nd
,e))
Pas 2.3.2 Dac q
obs
Q
obs

Introducere a lui q
obs
n LSN.
Pas 2.4 ntoarcere la Pas 2.

Orice expresie regulata (ER) poate fi reprezentata printr-un AFN-, pe
baza definiiei ER i utiliznd urmtoarele operaii:
Fie r
1
i r
2
ER care pot fi exprimate prin AFN- , respectiv
M
1
= (Q
1
,
1
, q
1
,
1
, {f
1
})
M
2
= (Q
2
,
2
, q
2
,
2
, {f
2
})
Atunci:
1. AFN- M corespunzator concatenarii r = r
1
r
2
este

M
1


M
2


f
1

f
2
q
1
q
2


M= (Q
1
Q
2
,
1

2
, , q
1
, {f
2
})
(q, a) =
1
(q , a) dac q Q
1
\ {f
1
} si a
1

(f
1
, ) = {q
2
}
(q , a) =
2
(q , a) dac qQ
2
i a
2


Limbaje formale i automate
22
2. AFN- M corespunztor reuniunii r = r
1
+ r
2
este
f0

M
1




M
2



f
0



f
1

f
2

q
0

q
1

q
2



M = (Q
1
Q
2
{q
0
, f
0
},
1

2
, , q
0
, {f
0
} )
(q
0
, ) = {q
1
, q
2
}
(q, a) =
1
(q
1
, a) dac q Q
1
\{ f
1
}i a
1
{ }
(q, a) =
2
(q, a) dac q Q
2
\{f
2
} i a
2
{ }
(f
1
, ) = (f
2
, ) = {f
0
}


3. AFN- M corespunzator operatorului Kleene r = r
1
*
este:








f
0
f
1

q
0
q
1


M=(Q
1
{q
0
, f
0
} ,
1
{} , , q
0
, {f
0
})
(q
0
, ) = {q
1
, f
0
}
(q , a) =
1
(q, a) pentru q Q
1
\ {f
1
} i a
1

(f
1
, ) = {q
1
, f
0
}
Limbaje formale i automate
23
{a | (q
i
, a)=q
j
} dac i j
{a + | (q
i
, a) = q
j
{} } dac i = j

Teorem
Dac L este un limbaj acceptat de un automat finit determinist, atunci L
poate fi scris ca expresie regulat.
Expresia Regulat (ER) a limbajului acceptat de ctre automat este o
reuniune
U
m k
Q q
toate
n
k 1
R


a tuturor traiectoriilor care conduc de la starea iniiala ctre o stare
marcat.
Ipoteza de lucru i notaii
Se presupune c automatul avut n vedere are n noduri, numerotate strict
cresctor de la 1 (starea iniial) la n.
Aceasta ipotez nu are alt rol dect de a permite construcia algoritmic a
expresiei regulate.
Cu aceasta ipoteza,
n
ij
R
reprezint toate traiectoriile de la q
i
la q
j
fr s
treac printr-o stare cu un indice mai mare dect n.
U
1 k
ij
1 k
kj
* 1 k
kk
1 k
ik
k
ij
R R ) R ( R R

=


=
0
ij
R



Operaii pe Automate
Operaii unare:
Componenta accesibil
Fiind dat un automat
G = (Q , , , q
0
, Q
m
),
Limbaje formale i automate
24
se definete componenta accesibil ca fiind automatul ce conine acea
parte din automatul iniial ce conine strile n care se poate ajunge pornind
de la starea iniial (strile accesibile din starea iniial):
Acc(G)=G
acc
= (Q
acc
, ,
acc
, q
0
, Q
m acc
),
n care:
Q
acc
= {qQ/ s* a.. (q
0
, s)=q},
Q
macc
= Q
acc
Q
m


acc
: Q
acc

acc
Q
acc
,


=
altfel
Q q si Q q daca q
q
acc acc
acc
) , ( ) , (
) , (



Componenta coaccesibil
Fiind dat un automat
G =(Q , , , q
0
, Q
m
),
se definete componenta coaccesibil ca fiind automatul ce conine acea
parte din automatul iniial ce conine strile de la care se poate ajunge la o
stare marcat:
CoAcc(G)=G
co
= (Q
co
, ,
co
, q
0co
, Q
m
),
n care:
Q
co
= {qQ/ s* a.. (q, s)Q
m
},

=
altfel
Q q daca q
q
co
co
0 0
0

co
: Q
co
Q
co
,


=
altfel
Q q si Q q daca q
q
co co
co
) , ( ) , (
) , (



Automatul trim
Fiind dat un automat
G = (Q , , , q
0
, Q
m
),
se definete automatul trim ca fiind automatul ce conine acea parte din
automatul iniial ce conine toate strile la care se poate ajunge din starea
Limbaje formale i automate
25
iniial i care poate ajunge la o stare marcat. Automatul trim se obine
prin aplicarea succesiv a celor dou operaii: componenta accesibil i
componenta coaccesibile (indiferent de ordine):
Trim(G) = CoAcc(Acc(G))=Acc(CoAcc(G))=G
trim

G
trim
= (Q
trim
, ,
trim
, q
0trim
,Q
mtrim
),
n care:
Q
trim
= {qQ/ s* i w* a.. (q
0
,s)=q i (q, w)Q
m
},

=
altfel
Q q daca q
q
trim
trim
0 0
0

trim
: Q
trim
Q
trim
,


=
altfel
Q q si Q q daca q
q
trim trim
trim
) , ( ) , (
) , (



Complementul unui automat
Fiind dat un automat
G = (Q , , , q
0
, Q
m
),
se definete complementul s ca fiind automatul care genereaz toate
cuvintele ce se pot genera utiliznd simboluri din i care marcheaz toate
cuvintele ce nu sunt marcate de automatul iniial. Obinerea
complementului unui automat const n trei pai:
Pentru a afla cuvintele marcate de automatul iniial se construiete
automatul trim corespunztor automatului iniial.
Pentru a genera toate cuvintele posibile (*) se completeaz
automatul trim cu o stare nou (nemarcat) q
d
ctre care evolueaz
orice stare a automatului care nu are o evoluie complet definit. q
d

va evolua n ea nsi pe toate evenimentele alfabetului de
evenimente.
n final, pentru a marca toate cuvintele ce nu sunt marcate de
automatul iniial se va inversa fiecare stare a automatului obinut la
pasul anterior: orice stare nemarcat a automatului de la pasul de
mai sus va deveni stare marcat a complementului, orice stare
marcat a automatului de la pasul anterior va fi stare nemarcat
pentru complement.
Limbaje formale i automate
26
Exemplu de aplicare a operaiilor unare pe automate
Vom aplica cele patru tipuri de operaii unare pentru automatul din Figura
II.1

Figura II.1. Automatul iniial

a) Componenta accesibil (automatul ce conine strile n care se poate
ajunge de la starea iniial) nu conine strile q4 i q5 deoarece nu
satisfac cerina i va fi (Figura II.2):

Figura II.2. Componenta accesibil.


Limbaje formale i automate
27

b) Componenta coaccesibil (automatul ce conine strile din care se
poate ajunge n stri marcate) a automatului iniial (Figura II.1) nu va
conine strile q6 i q7, ele nesatisfcnd cerina.

Figura II.3. Componenta coaccesibil.

c) Automatul trim se va obine prin aplicarea celor dou operaii de mai
sus. Aplicarea n ordinea component accesibil urmat de
component coaccesibil va avea ca efect eliminarea prima dat a
strilor q4 i q5 (n urma aplicrii componentei accesibile) urmat de
eliminarea strilor q6 i q7 (din componenta coaccesibil).
Automatul trim va fi atunci:

Figura II.4. Automatul trim.
Limbaje formale i automate
28

d) Complementul. Pasul 1 const n obinerea automatului trim,
automat prezentat n Figura II.4. Pasul

Figura II.5. Introducerea strii complementare q
d
.


Figura II.6. Complementul automatului iniial.


Limbaje formale i automate
29
Operaii binare:
Compunerea sincron
Definiie
Fie dou Automate Finite (Deterministe)

G
1
= (Q
1
,
1
,
1
, q
01
, Q
m1
)
G
2
= (Q
2
,
2
,
2
, q
02
, Q
m2
)

Se numete compunere sincron a automatelor G
1
i G
2
notat G
1
|| G
2
un
automat G care are strile G =(Q , , , q
0
, Q
m
) astfel:
Q =Q
1
Q
2

=
1

2

q
0
= (q
01
, q
02
)
Q
m
= Q
m1
Q
m2

Definirea funciei de tranziie:

() q = (q
1
, q
2
) Q i

(
1
(q
1
, ) ,
2
(q
2
, ) ) dac
1

2
i
1
(q
1
, ) i
2
(q
2
, )
(
1
(q
1
, ) , q
2
) dac
1
\
2
i
1
(q
1
, )
( q
1
,
2
(q
2
, ) ) dac
2
\
1
i
2
(q
2
, )
Nu se definete pentru orice caz care nu corespunde celor definite mai sus
(q,) =


Observaie
Dac
1
=
2
atunci L
m
(G
1
|| G
2
) = L
m
(G
1
) L
m
(G
2
) i L(G
1
|| G
2
) =
L(G
1
)L (G
2
).
Limbaje formale i automate
30
Compunerea total sincron

Definiie
Fie dou Automate Finite (Deterministe)

G
1
=( Q
1
,
1
,
1
, q
01
,Q
m1
)
G
2
=( Q
2
,
2
,
2
, q
02
,Q
m2
)

Se numete compunere total sincron a automatelor G
1
i G
2
notat G
1
G
2

un automat G care are strile G =(Q , , , q
0
, Q
m
) astfel:

Q =Q
1
Q
2

=
1

2

q
0
= (q
01
, q
02
)
Q
m
= Q
m1
Q
m2

Definirea funciei de tranziie :

() q = (q
1
, q
2
) Q i
L
m
(G
1
|| G
2
) = { s* / s
1
L
m
(G
1
) i s
2
L
m
(G
2
) }
L (G
1
|| G
2
) = { s* / s
1
L (G
1
) i s
2
L (G
2
) }


(
1
(q
1
, ) ,
2
(q
2
, ) ) dac
1

2
i
1
(q
1
, ) i
2
(q
2
, )
Nu se definete pentru orice alt caz
(q,) =

Limbaje formale i automate
31
Automate cu ieiri
Automatele studiate pn acum pot fi considerate ca maini de stare cu
ieiri binare: fa de un cuvnt de intrare dat w se poate specifica numai
dac acesta este sau nu acceptat (respectiv daca (q
0
, w)Q
m
). n anumite
situaii este de dorit s se diferenieze strile marcate, respectiv nemarcate,
ntre ele. Pentru aceasta se folosesc aa-numitele maini de stare cu ieiri :
Moore i Mealy.

Definiie
Maina Moore se definete ca un sextuplu
Mo = (Q , , , , , q
0
)
unde:
Q = mulimea (finit) a strilor
= alfabetul de evenimente (finit i el)
= alfabetul ieirilor
q
0
= starea iniial
= funcia de tranziie definit astfel:
: Q Q
= funcie de asociere a ieirilor:
: Q

Conform definiiei, orice main Moore d un rspuns (q
0
) asociat unei
intrri nule ().
Exemplu:
S se proiecteze maina Moore care calculeaz restul modulo 3 pentru un
ir binar de intrare (care are semnificaia unui numr ntreg n format
binar)
Evident, exista doar trei ieiri posibile: = {0, 1, 2}, ceea ce nseamn c
numrul maxim de stri este tot trei.
Limbaje formale i automate
32
Pentru intrarea nul (echivalent cu numrul 0), ieirea generat trebuie s
fie 0. Rezult, prin definiie, c (q
0
) = 0.
n continuare, se folosete urmtorul raionament: dac un ir de intrare
binar w corespunde numrului natural n, atunci w0 i corespunde lui 2n i
w1 lui (2n+1).
Rezult urmtoarea structura pentru maina Moore dorit:

Figura II.7. Maina Moore.
Definiie
O main Mealy este definit ca un sextuplu
Me = (Q, , , , , q
0
) unde :
Q = mulimea (finit) a strilor
= alfabetul de evenimente (finit i el)
= alfabetul ieirilor
q
0
= starea iniial
= funcia de tranziie definit astfel:
: Q Q
= funcie de asociere a ieirilor:
: Q
Conform definiiei, pentru o intrare nul () o main Mealy genereaz o
ieire nul ().
Din punctul de vedere al puterii de modelare, mainile Moore i Mealy
sunt echivalente; din punctul de vedere al lungimii cuvntului de ieire,
maina Mealy va da un rspuns de lungime cu 1 mai mic dect maina
Moore pentru aceeai lungime a cuvntului de intrare.
Pentru un ir de date a
1
, a
2
, , a
n
o main Mealy genereaz o ieire
(q
0
, a
1
) , , (q
n-1
, a
n
) cu presupunerea c (q
i-1
, a
i
)=q
i

Limbaje formale i automate
33
n acest mod, este evident c pentru iruri de intrare de aceeai lungime |w|
rspunsul generat de o main Moore (W
Mo
) i rspunsul generat de o
main Mealy (W
Me
) sunt n relaia:
| W
Mo
|=|W
Me
|+1
W
Mo
=b W
Me
n care b =
Mo
(q
0
)
Exemplu
Fie limbajul L=(a+b)*(aa+bb) peste ={a, b} (cuvintele care se termin
cu dou caractere identice).
S se proiecteze maina Mealy care genereaz orice cuvnt ce se poate
forma cu simbolurile lui i d la ieire "y" pentru cuvintele care aparin
lui L i "n" pentru cuvintele care nu aparin lui L.
Maina Mealy care ndeplinete aceste condiii are trei stri (Figura II.8):

Figura II.8. Main Mealy.
AFD echivalent cu maina Mealy din (Figura II.8) este prezentat n (Figura
II.9):

Figura II.9. AFD corespunztor mainii Mealy.
Limbaje formale i automate
34
AFN pentru maina Mealy din (Figura II.8) ar putea fi (Figura II.10):

Figura II.10. AFN corespunztor mainii Mealy.


Echivalena ntre maina Moore i maina Mealy
Transformarea unei maini Moore n main Mealy
Teorem:
Dac M
1
este o main Moore definit prin
M
1
=(Q, , , , , q
0
)
atunci () o main Mealy
M
2
=(Q, , , , , q
0
)
echivalent cu M
1
unde
(q, a) = ( (q, a))
Mealy Moore

Observaie:
Echivalena este privit n sensul c pentru acelai ir de intrare se
genereaz acelai ir de ieire. Oricum afirmaia trebuie privit n limitele
toleranei formulei |W
Mo
|=|W
Me
|+1 (adic irul generat de maina Moore
va fi cu 1 mai mare dect irul generat de maina Mealy).
De asemenea se va lua n considerare c (q
0
) = b neglijabil.
Observaie:
Maina Mealy este mai compact.
Limbaje formale i automate
35
Transformarea unei maini Mealy n main Moore
Teorema:
Dac M
1
este o main Mealy definit prin
M
1
= (Q, , , , , q
0
)
atunci () M
2
o main Moore definit prin
M
2
= (Q , , , , , q
0
)
echivalent cu M
1
.
Construcie:
q
0
= [q
0
,b] , b ales "arbitrar" ( de fapt se deduce din
contextul problemei)
([q, b]) = [ (q, a), (q,a)]
Moore Mealy
([q,b]) = b (funcia care asociaz ieirile)
Exemplu:
Transformarea n main Moore a mainii Mealy din Figura II.8.
={y, n}; ={a,b}; Q={ q
0
, q
1
, q
2
}
Q= {[q
0
, y], [q
0
,n], [q
1
, y], [q
1
, n], [q
2
, y], [q
2
, n]}
Observaie:
n mod normal am putea alege drept stare iniial perechea [q
0
, y] sau
[q
0
, n], dar [q
0 ,
y] ar genera ieirea y pentru cuvntul nul, ceea ce este
incorect. Deci, vom alege ca stare iniial perechea [q
0
,n] i vom obine
maina din figura Figura II.11 n care se observ c n starea [q
0
, y] nu se
ajunge niciodat i astfel ea nu va aprea n automat.
Limbaje formale i automate
36

Figura II.11. Maina Moore echivalent.

Minimizarea automatelor:
Fie x, y L. Atunci R
L
este o relaie de echivalen asociata limbajului L
(sau x R
L
y) dac i numai dac pentru () z *,
1. fie xz L i yz L
2. fie xz L i yz L.
Relaia R
L
mparte limbajul L n clase de echivalen. Numrul de clase de
echivalen se numete index.
Se poate demonstra c indexul unui limbaj regulat este finit.
Fie M= (Q, , , q
0
, Q
m
) un AFD. Se definete relaia de echivalen R
M

asociata automatului M astfel:
pentru x , y *, x R
M
y dac i numai dac (q
0
, x) = (q
0
, y).
n plus, dac x R
M
y, pentru () z * avem xz R
M
yz. (Ceea ce revine
la (q
0
, xz) = ((q
0
, x), z) = ((q
0
, y), z) = (q
0
,yz))
O relaie de echivalen de acest tip se numete invariant la dreapta (fa
de operaia de concatenare).
Limbaje formale i automate
37
Teorem (criteriul Myhill-Nerode): Urmtoarele afirmaii sunt
echivalente:
1. Limbajul L * este acceptat de un automat finit;
2. L este reuniunea unor clase de echivalen determinate de o
relaie de echivalen invariant la dreapta cu index finit;
3. Fie relaia de echivalen definit pe limbajul L astfel:
() x, y L , x R
L
y dac i numai dac () z * , xz L numai n
cazul n care i yz L .
Ca o consecin a teoremei de mai sus, o stare p este echivalent cu o stare
q a automatului M dac i numai dac pentru orice ir de intrare x, (p, x)
este stare marcat numai atunci cnd (q, x) este o stare marcat.
Algoritmul de minimizare a unui automat
Start
Pas 1: pentru fiecare p Q
m
i q Q \ Q
m
bifeaz n tabel locaia
corespunztoare (strile marcate nu sunt echivalente din punct de vedere al
obiectivului cu cele nemarcate);
Pas 2: pentru fiecare pereche de stri distincte (p, q) Q
m
Q
m
sau
(p, q) (Q/Q
m
)(Q/Q
m
)
Pas 2.1 dac () a , ((p, a), (q, a)) este bifat n tabel:
atunci
bifeaz (p, q);
bifeaz succesiv toate perechile din lista de echivalene a
perechii (p,q).
altfel
pentru toi a
introducere a perechii (p, q) n lista de echivalene a
perechii ((p,a), (q,a)) n afara cazului n care
(p,a) = (q, a).
Stop

Limbaje formale i automate
38
Algoritmul de minimizare a automatelor a fost elaborat pe baza criteriului
Myhill Nerode. Acest algoritm urmrete gsirea perechilor de stri care
sunt echivalente (au aceeai evoluie). Acest lucru se realizeaz prin
eliminarea strilor care nu sunt echivalente. Algoritmul verific toate
perechile distincte de stri.
Fie automatul G = (Q, , , q
0
, Q
m
). Se construiete un tabel care s
conin toate perechile de stri distincte. Din matricea care are pe linii i pe
coloane toate strile se pstreaz doar elementele de sub diagonala
principal a matricei.
n acest fel, toate perechile (p, q) rmase nemarcate reprezint dou cte
dou stri echivalente.

Limbaje formale i automate
39
Probleme rezolvate
5) S se proiecteze un AFD peste alfabetul = {a, b}care accept
cuvintele care nu conin 3a consecutiv.
Rezolvare.
Se poate observa din cerina problemei c cea ce este de interes la acest
automat este numrul de simboluri a consecutive n care se termin un
cuvnt (prefix). n momentul n care acest numr depete valoarea 2,
cuvintele care ncep cu respectivul prefix nu pot satisface cerina
problemei.
n conformitate cu aceast logic, semnificaia strilor automatului din
Figura II.12 este urmtoarea (funcie de semnificaia cuvintelor care duc n
respectivele stri):
q
0
cuvinte care nu se termin n a i nu conin subirul aaa;
q
1
cuvinte care se termin ntr-un a i nu conin subirul aaa;
q
2
cuvinte care se termin n subirul aa i nu conin subirul aaa;
q
3
cuvinte care conin subirul aaa;



Figura II.12. Automatul corespunztor prolemei 5).

6) S se proiecteze automatul finit determinist care pe alfabetul
= {a, b} accept irurile cu numr par de simboluri a i care nu
conin subirul bb.
Limbaje formale i automate
40
Rezolvare.
Exist dou posibiliti:
a) s consideram 0 ca fiind numr par de apariii ale lui a, caz n
care starea iniial este marcat deoarece satisface ambele
condiii.
b) s considerm c pentru un numr par de apariii ale lui a este
evoie de cel puin dou apariii ale acestui sibol, caz n care starea
iniial nu va mai fi marcat.
Pentru fiecare dintre aceste situaii vom avea cte un automat.
Cazul a)

Semnificaia strilor:
q
0
cuvinte ce conin un numr par de a i nu se termin n
b
q
1
cuvinte ce conin un numr impar de a i nu se termin n
b.
q
2
cuvinte ce conin un numr impar de a i se termin doar
ntr-un b;
q
3
cuvinte ce conin un numr par de a i se termin doar
ntr-un b
q
4
cuvinte ce conin subirul bb;
Limbaje formale i automate
41
Cazul b)

Semnificaia strilor:
q
0
irul vid
q
1
cuvinte ce conin un numr par de a i nu se termin n
b;
q
2
cuvinte ce conin un numr par de a i nu se termin n
b;
q
3
sirul b;
q
4
cuvinte ce conin un numr impar de a i se termin doar
ntr-un b;
q
5
cuvinte ce conin un numr par de a i se termin doar
ntr-un b;
q
6
cuvinte ce conin subirul bb.

7) S se proiecteze AFD peste alfabetul = {a, b}care accept irurile
a, bb i aba.
Rezolvare.
Automatul trebuie s accepte cele trei cuvinte din enun i doar pe acelea.
Limbaje formale i automate
42

Figura II.13. Rezolvarea problemei 7).

8) S se proiecteze automatul finit determinist care pe alfabetul
= {a, b} care accept cuvintele n care perechea aa este urmat de
subirul bab.

Rezolvare.
Semnificaia strilor acestui automat este urmtoarea:
1: cuvinte ce se termin n b i nu conin subirul aa;
2: cuvinte ce se termin n a dar nu n aa;
3: cuvinte ce se termina n aa;
4: cuvinte ce se termin n b, nu n bab i conin aa;
5: cuvinte ce se termina n ba i conin aa;
6: cuvinte ce se termina n bab i contin aa (stare marcat).

Limbaje formale i automate
43
9) S se proiecteze AFD care accept peste alfabetul = {a, b, c}
cuvinte cu numr par de a, par de b i impar de c.
Rezolvare.
Utiliznd urmtoarele notaii:
P = numr par de a, b sau c
I = numr impar de a, b sau c,
starea unui automat se va scrie ca o pereche de trei elemente (X, Y, Z) n
care:
X se refer la numrul de a-uri din cuvnt;
Y se refer la numrul de b-uri din cuvnt;
Z se refer la numrul de c-uri din cuvnt;
Considernd c zero este numr par de apariii ale unui simbol, starea
iniial a automatului va fi q
0
= (P P P). Starea marcat va fi (P P I).
Pentru o mai uoar nelegere a legturilor dintre stri vom reprezenta
funcia de tranziie sub form tabelar.











10) S se proiecteze AFD care pe alfabetul = {a, b, c} accept cuvintele
ce conin cel puin 2 simboluri a (nu neaprat consecutive) i nu
conin subirul bb.

semnificatie
q1 P P P I P P P I P P P I
q2 I P P P P P I I P I P I
q3 P I P I I P P P P P I I
q4 P P I I P I P I I P P P
q5 I I P P I P I P P I I I
q6 I P I P P I I I I I P P
q7 P I I I I I P P I P I P
q8 I I I P I I I P I I I P
Starea Q a b c
Limbaje formale i automate
44
Rezolvare.

Semnificaia strilor
1 = irul vid;
2 = cuvantul b;
3 = cuvintele ce contin subirul bb;
4 = cuvintele ce contin un singur a i se termina n a;
5 = cuvintele ce conin un singur a i se termin n b.
6 = cuvintele ce contin cel putin 2 a i se termina n a;
7 = cuvintele ce conin cel puin 2 a i se termin n b;

11) S se proiecteze AFD care peste alfabetul = {a, b}accept cuvintele
ce conin subirul aba i nu conin subirul bb:
Rezolvare.

Figura II.14. Solua problemei 11).
Limbaje formale i automate
45
q
0
- cuvntul vid
q
1
cuvintele ce se termina n a, nu conin aba sau bb
q
2
- cuvintele ce se termina n ab, nu contine aba sau bb
q
3
- cuvintele ce conin aba, nu conin bb i
se termin n a
q
4
- cuvintele ce contine bb
q
5
- cuvintele ce conin aba, nu contine bb i
se termin n b
q
6
- cuvntul b

12) S se construiasc AFD peste alfabetul = {1, 2, 3} care accept
cuvintele n care suma ultimelor dou simboluri este 4.
Rezolvare.
Construim automatul cu 7 stri dup cum urmeaz:
starea iniial;
3 stri dup cum urmeaz:
starea 1 pentru cuvintele care se termin n 1 i pentru care
suma ultimelor 2 evenimente nu e 4;
starea 2 pentru cuvintele care se termin n 2 i pentru care
suma ultimelor 2 evenimente nu e 4;
starea 3 pentru cuvintele care se termin n 3 i pentru care
suma ultimelor 2 evenimente nu e 4;
3 stri marcate dup cum urmeaz:
starea 1+3 pentru cuvintele care se termina n 13
starea 2+2 pentru cuvintele care se termina n 22
starea 3+1 pentru cuvintele care se termina n 31

Cu aceast semnificaie a strilor, soluia problemei este:
Limbaje formale i automate
46

Figura II.15. Soluia problemei 12).
13) S se proiecteze AFD care pe alfabetul = {1, 2, 3} accept toate
cuvintele care se termin n subirul 123.
Rezolvare.
Cu urmtoarea semnificaie a strilor:
0 starea iniial; cuvintele care nu se termin n 1, 12 sau
123 (prefixele cerinei problemei);
1 cuvintele care se termin n 1;
2 cuvintele care se termina n subirul 12;
3 cuvintele acceptate (care se termina cu subsirul 123),
forma tabelar de reprezentare a automatului este:






iar forma grafic este:
1 2 3
q
0
q
1
q
0
q
0

q
1
q
1
q
2
q
0

q
2
q
1
q
0
q
3

q
3
q
1
q
0
q
0

Limbaje formale i automate
47

Figura II.16. Soluia problemei 13).
14) S se construiasc AFD care accept setul tuturor irurilor din
alfabetul = {0, 1} cu numr egal de 0 i 1 astfel nct fiecare prefix
are cel mult nc un 0 n plus fata de numrul de 1 i nc cel mult un
1 n plus fa de numrul de zerouri.
Rezolvare.

Figura II.17. Soluia problemei 14).

Semnificaia strilor:
q
0
numr egal de 0 i de 1
q
1
numrul de 0 este cu 1 mai mare dect numarul de 1
q
2
numrul de 1 este cu 1 mai mare dect numrul de 0
q
3
prefixul are cel puin dou simboluri 0 n plus fa de
numrul de simboluri 1 sau cel puin dou simboluri 1 n plus
fa de numrul de simboluri 0

Limbaje formale i automate
48
15) Ce iruri accept automatul:

Rezolvare.
Automatul numr apariiile evenimentului a i fiind marcate primele 2
stri, irurile acceptate sunt cele care conin maxim un "a". Expresia
regulat pentru aceste cuvinte este: ER: b*(a + )b*
16) S se construiasc AFD echivalent cu urmtorul AFN:

Rezolvare.
Stare AFD a b
x
0
= {q
1
} x
1
= {q
2
, q
4
} x
2
= {q
4
}
x
1
= {q
2
,q
4
} x
3
= {q
2
,q
3
} x
3
= {q
2
,q
3
}
x
2
= {q
4
} --- x
4
= {q
3
}
x
3
= {q
2
,q
3
} x
3
= {q
2
,q
3
} x
3
= { q
2,
q
3
}
x
4
= {q
3
} x
4
= {q
3
} x
4
= {q
3
}
Q
m
= {x
3
,x
4
} (deoarece conin starea marcat din AFN q
3
)
Cu aceste notaii, observatorul (AFD) echivalent cu automatul din enunul
problemei este:

Limbaje formale i automate
49
17) Se d automatul G definit astfel : G = {{p, q, r, s,}, {0,1}, , p, {q,s}},
unde este definit prin tabelul de mai jos. Se cere AFD echivalent.
0 1
P q,s q
Q r q, r
R s p
S - p

Modul de interpretare a informaiilor furnizate de definirea automatului
G = {{p, q, r, s,}, {0,1}, , p, {q,s}}
este urmtorul:
{p, q, r, s} spaiul strilor - Q
{0, 1} alfabetul evenimentelor -
p starea iniial q
0

{q,s} mulimea strilor marcate - Q
m

Q

0 1
AFD AFN
x
0
= {p} {q, s} {q}
x
1
= {q, s} * {r} {p, q, r}
x
2
= {q} * {r} {q, r}
x
3
= {r} {s} {p}
x
4
= {p, q, r} * {q, r, s,} {p, q, r}
x
5
= {q, r} * {r, s} {p, q, r}
x
6
= {s} * - {p}
x
7
= {q, r, s} * {r, s} {p, q, r}
x
8
= {r, s} * {s} {p}

Limbaje formale i automate
50
18) S se minimizeze automatul

Rezolvare:
1 4
2 5 6

3 1 2 3
0 1 2

Pas1 al algoritmului de minimizare: bifrile de la 1 la 3 din tabelul de mai
sus corespund perechilor de tip (stare marcat, stare nemarcat).

Pas2:

(0,1) (1,1)
(2,3) stari neechivalente bifarea 4 din tabel

(0,2) (1,0) stari neechivalente 5


(1,2) (1,0) stari neechivalente 6

Neexistnd stri echivalente deducem c automatul iniial este deja n
forma minimal.
a
b
a
a
Limbaje formale i automate
51
19) S se minimizeze automatul:

Rezolvare:

q
1
8
q
2
9
q
3
5 6 7
q
4
1 2 3 4
q
0
q
1
q
2
q
3

Orice pereche compus dintr-o stare nemarcat i o stare marcat formeaz
o pereche de stri neechivalente. (bifrile 1, 2, 3 i 4 din tabel)
Vom aplica n continuare o variant modificat a algoritmului de
minimizare. Modificarea const n cutarea perechilor de stri care sigur
nu sunt echivalente dup urmtoarea regul:
(X, q
3
)
3
(Y, q
4
),
4
, q Y Q Q X
m
=>orice pereche de forma (X, q
3
) care
ndeplineste aceast conditie este o pereche de stri neechivalente. (bifrile
5, 6 i 7 din tabel).

(q
0
,q
1
)
2
(q
2
,q
3
) NU sunt echivalente (bifarea 8 din tabel)
(q
2
,q
1
)
2
(q
2
,q
3
) NU sunt echivalente (bifarea 8 din tabel)

(q
2
,q
0
) (q
1
,q
1
) => q
2
si q
0
sunt stri echivalente
(q
2
,q
2
)
(q
2
,q
2
)
1
2
3
Limbaje formale i automate
52

Automatul minimal va fi:

20) S se minimizeze automatul :

Q
a b
1 0 6
0 0 7
2 5 7
3 5 3
4 0 8
5 0 8
6 0 6
7 2 3
8 4 3

n care q
0
= 1 i Q
m
= {2, 4}.
Rezolvare.
Folosind algoritmul de minimizare, eliminm iniial perechile de stri care
nu pot fi echivalente (stare marcat cu stare nemarcat), apoi verificm
celelalte perechi de stri rmase. Toate acestea se completeaz n tabelul
urmtor.
Limbaje formale i automate
53

0 15
2 2 1
3 17 3
4 9 8 10
5 20 4 27 11
6 29 5 12 26
7 28 30 6 18 13 25 16
8 22 23 7 21 14 24 19
1 0 2 3 4 5 6 7
Figura II.18. Tabelul corespunztor tuturor perechilor de stri.
Din tabel rezulta ca perechile de stari echivalente sunt :
(1, 3)
(2, 4)
(0, 5)
(1, 6)
(3, 6)
(7, 8)
Strile componente ale automatului minimal sunt :
(1, 3, 6)
(2, 4)
(0, 5)
(7, 8)
Automatul minimal rezultat este reprezentat n Figura II.19:

Limbaje formale i automate
54

Figura II.19. Automatul minimal pentru problema 20).
21) Fie automatul de mai jos. Care este expresia regulat care descrie
limbajul acceptat de acest automat?

Rezolvare.
Numerotam starile : q
0
<> 1
q
1
<> 2
q
2
<> 3
Se obine un automat cu 3 stri n care starea 3 e marcat.

Folosind formula : ER =
U
Qm
q
i

n
i
R
1
rezulta: ER =
3
13
R

Pentru calcule, se folosesc formulele urmtoare i tabelul de mai jos n
care trecem valorile lui R
k
ij pentru diveri i, j i k:

R
k
ij = R
1 k
ij
+ R
1 k
ik
(R
1 k
kk
)*R
1 k
kj

Limbaje formale i automate
55

k = 0 k = 1 k = 2
k
11
R
b + b
*

k
12
R
a b
*
a
k
13
R
- -
b
*
a( +
bb
*
a)
*
a
k
21
R
b bb
*

k
22
R
+ bb
*
a
k
23
R
a a
k
31
R
- -
k
32
R
- -
k
33
R
a + b + a + b + a + b +

Calculm
3
13
R
i obinem :

R
3
13
= = ( + ) =

De unde rezult c nu trebuie calculate dect 2 valori pentru k=2 : R
2
13
i
R
2
33

Restul valorilor pentru k=2 nu le-am calculat.

Calculm nti pentru k=0, tiind c R
0
13
nseamn de fapt drumul direct de
la starea 1 la starea 3, dac acesta exist.

Limbaje formale i automate
56
Pentru a calcula restul valorilor necesare vom folosi formulele
suplimentare :
a + - = a, a
a * - = - , a
(a + )* = a*, a
+ a a* = a*, a
pe care le considerm cunoscute.

Vom obine pentru k=1:


b a R R ) (R R R R
R ) (R R R R
R ) (R R R R
a R ) (R R R R
a bb a ) b b( R ) (R R R R
bb ) b ( b ) (R R R ) (R R R R
R ) (R R R R
a b a b a a ) b ( a R ) (R R R R
b b ) (b ) (b ) b ( ) (b R ) (R R R R
0
33
0
13
0
11
0
31
0
33
1
33
0
12
0
11
0
31
0
32
1
32
0
11
0
11
0
31
0
31
1
31
0
13
0
11
0
21
0
23
1
23
* * 0
12
0
11
0
21
0
22
1
22
* * 0
11
0
21
0
11
0
11
0
21
0
21
1
21
0
13
0
11
0
11
0
13
1
13
* * * 0
12
0
11
0
11
0
12
1
12
* * * 0
11
0
11
0
11
0
11
1
11
+ + = = + =
= + =
= + =
= + =
+ = + + = + =
= + = = + =
= + =
= + = + + = + =
= + = + + + + = + =



Pentru k=2 :

a ) a a(bb b a ) a bb a( b R ) (R R R R
1
23
1
22
1
12
1
13
2
13

= + = + =
b a R ) (R R R R
1
23
1
22
1
32
1
33
2
33
+ + = + =



Iar, n final vom obine expresia regulat cutat:
ER = b
*
a(bb
*
a)
*
a(a + b + )
*
= b
*
a(bb
*
a)
*
a(a + b)
*

Limbaje formale i automate
57
22) S se construiasc automatul AFN- care marcheaz limbajul definit
de expresia regulat :
(a + g)(ba)* + a(ba)*a*, ={a, b, g}
R= (a + g)(ba)* + a(ba)*a* = r
1
.r
2
+ r
3
.r
4
.r
5

r
1
=a + g = r
6
+ r
7
r
6
=a =>

r
7
=g

=>


r
1
=a + g =>


r
2
= (ba)* = r
8
*

r
8
= ba = r
9
. r
10


r
9
= b =>

r
10
= a =>


r
8
= ba =>

r
2
= r
8
* =>


r
1
.r
2
=>
Limbaje formale i automate
58
r
3
=a =>
r
4
= (ba)* = r
11
*
r
11
= ba = r
12
. r
13
=>


r
4
= r
11
* =>

r
5
= a* = r
12
*
r
12
= a =>
r
5
=>

r
3
.r
4
.r
5
=>



R= (a + g)(ba)* + a(ba)*a* = r
1
.r
2
+ r
3
.r
4
.r
5
=>



Limbaje formale i automate
59
Probleme propuse
23) S se proiecteze un AFD peste alfabetul = {a, b}care accept
cuvintele ce conin minim 3a i nu se termina cu b.
24) S se proiecteze AFD care accept peste alfabetul = {a, b, c}
cuvinte care conin minim 2 c (nu neaprat consecutivi) i nu conin
secvena aca.
25) S se proiecteze un AFD care accept toate irurile peste alfabetul
={a, b} care conin cel puin 3 a i cel mult 2 b.
26) S se construiasc un AFD peste alfabetul = {a, b} care accept
cuvinte ce conin numr par de a i nu conin subirul abb .
27) S se construiasc un AFD peste alfabetul = {a, b, c} care accept
irurile ce conin o singur dat subirul cab.
28) S se proiecteze AFD care, peste alfabetul de intrare {a, b, c}, accept
irurile care conin o singur dat subirul cab i nu se termin n
subirul ab.
29) S se proiecteze AFD peste alfabetul = {1, 2, 3}, care accept toate
cuvintele care se termin cu subirul 123.
30) Care este automatul care peste alfabetul = {a, b, c} recunoate
cuvintele ce conin numr par de a i numr impar de c?
31) Care este automatul care peste alfabetul = {a, b} recunoate
cuvintele ce conin numr impar de b i care nu conin subirul
bba?
32) Fie un lact electronic prevzut cu dou butoane etichetate cu a i
respectiv b. Lactul se deschide dac se apas pe butoane n
combinaia aba. Din poziia deschis el poate fi nchis numai prin
apsarea butonului b. S se modeleze funcionarea lactului printr-
un automat finit determinist.
Limbaje formale i automate
60
33) S se construiasc AFD aferent unui sistem de parolare peste alfabetul
= {a, b, c, d} care funcioneaz dup urmtoarele reguli:
parola are trei caractere dintre care dou trebuie sa fie identice dar
neconsecutive;
caracterul d nu trebuie s fac parte din parol dac da, atunci se
ajunge ntr-o stare de blocaj;
parola corect conduce ntr-o stare marcata n automat.
34) Ce iruri accepta automatul:
?

35) S se construiasc observatorul urmtorului automat:
a b
0 1 2, 3
1 1, 2 3
2 4 1
3 1 3
4 2 0
n care: q
0
= 0 i Q
m
= {2}.
36) Construii automatul finit determinist echivalent cu :

Limbaje formale i automate
61
37) S se calculeze observatorul pentru automatul de mai jos:


38) S se construiasc observatorul urmtorului automat:

a b
0 1, 2 0
1 3 1
2 2 0
3 - 2

n care: q
0
= 0 i Q
m
= {1}.

39) S se construiasc AFD echivalent pentru urmtorul AFN-.
b
a
a
a

q
0
q
1
q
3
q
2
q
4
, b
a
b

Limbaje formale i automate
62

40) S se proiecteze AFD echivalent cu urmtorul automat AFN-:
b

a,b
q
0
a
q
1
q
3
a
b

q
2
a
q
4
q
5
b

41) S se construiasc AFN - pentru expresia regulata :
(ab)* + (a + bab)*
42) S se construiasc automatul AFD care recunoate cuvintele ce
descriu limbajul
a(ba)*a*
43) Se cere AFD corespunztor expresiei regulate peste alfabetul
= {0,1}:
01 + (0+11)0*1
44) S se gseasc expresia regulata pentru automatul :
q
1
q
0
a
b
a
b



Limbaje formale i automate
63

45) S se determine expresia regulat pentru AFD din figura:
b a
b a
b
a
q
0
q
1
q
2

46) S se calculeze expresia regulat acceptat de automatul:
b
b
a
a
a
q
0
q
1
q
2

47) Care este expresia regulat pentru automatul de mai jos ?
a,b a
a b
b
q
0
q
1
q
2

48) S se determine expresia regulat pentru automatul :
0
0
0 1
1
1
C
B
A


Limbaje formale i automate
64
49) S se gseasc ER pentru automatul de mai jos:
0
q0
0
1
1
1
0
q1
q3

50) S se gseasc ER pentru automatul de mai jos:
1
0
q
0
0
1
0
0
1
q
1
q
2
q
3

51) S se minimizeze automatul:
a b
0 1 5
1 1 2
2 3 2
3 3 4
4 3 3
5 1 6
6 1 6
n care: q
0
= 0; Q
m
= {2, 3, 4, 6}.
Limbaje formale i automate
65
52) S se minimizeze automatul:

53) S se minimizeze automatul:


Limbaje formale i automate
66
54) S se minimizeze automatul:

a b
0 1 0
1 3 7
2 1 0
3 8 2
4 6 0
5 8 4
6 5 7
7 6 7
8 9 6
9 6 2
n care: q
0
= 0 i Q
m
= {2, 4, 9}.
55) S se minimizeze automatul:
a b
0 6 0
1 4 7
2 1 8
3 6 0
4 9 2
5 4 2
6 5 8
7 2 0
8 2 8
9 9 8
n care: q
0
= 0 i Q
m
= {3, 7, 9}.
Limbaje formale i automate
67
56) S se minimizeze automatul:
a b
0 1 0
1 3 8
2 6 8
3 9 5
4 4 8
5 1 0
6 9 7
7 2 0
8 2 8
9 4 2
n care: q
0
= 0 i Q
m
= {4, 5, 7}.
57) S se minimizeze automatul:
a b
0 5 0
1 5 0
2 4 8
3 9 1
4 9 7
5 3 8
6 6 8
7 2 0
8 2 8
9 6 2

n care: q
0
= 0 i Q
m
= {1, 6, 7}.
Limbaje formale i automate
68
58) S se minimizeze automatul:

a b
0 1 4
1 1 7
2 1 7
3 3 5
4 1 8
5 9 8
6 3 4
7 2 6
8 3 4
9 3 5
n care: q
0
= 0; Q
m
= {2, 9}.
59) Un procesor este precedat de o coada de capacitate 1 astfel ca ntregul
sistem format din procesor i coada are capacitatea total de 2 job-uri.
Exista dou tipuri diferite de job-uri J
1
i J
2
care fac cerere ctre
procesor, J
1
fiind mai prioritar dect J
2
. De aceea, dac la sosirea
job-ului J
1
el gsete procesorul ocupat cu job-ul J
2
atunci l nltur.
Job-ul J
2
se rentoarce n coada iar job-ul J
1
primete serviciul. Orice
job nou sosit care gsete sistemul plin este rejectat i pierdut.
Construii un automat care s descrie funcionarea acestui sistem.
60) Fie dou procesoare P
1
i P
2
care opereaz n paralel. Capacitatea
total a lui P
1
(coada plus procesor) este k
1
=1 iar capacitatea totala a
lui P
2
este k
2
=2. Sistemul primete dou tipuri de job-uri j
1
i j
2
care
trebuie procesate pe procesorul P
1
respectiv pe procesorul P
2
. Dup
procesare job-urile prsesc sistemul. Daca un job gsete coada plin
la sosire atunci el este rejectat. Construii AFD-ul sistemului.

Limbaje formale i automate
69
61) Se consider un lact electronic cu urmtoarele caracteristici:
are n componen 3 butoane (A, B i C);
iniial lactul este nchis;
parola pentru deschidere satisface simultan condiiile:
o conine 3 simboluri
o nu conine simbolul C
o simbolurile identice sunt consecutive
o nu exist mai mult de dou simboluri identice n parol
din starea lact deschis orice tast acionat va nchide lactul,
pentru redeschidere fiind necesar introducerea unei parole
corecte;
introducerea n parol a simbolului C duce la blocarea
lactului;
deblocarea lactului se realizeaz n urma secvenei CCA
tastat din starea de blocaj;
o parol care are 3 simboluri dar nu blocheaz lactul i nici nu-
l deschide va necesita pentru deschiderea lactului introducerea
unei secvene de 3 simboluri care s satisfac cerinele parolei
corecte.
Modelai prin intermediul automatelor evoluia lactului.
62) Se consider un procesor care mparte un job n dou taskuri. Primul
se executa taskul 1, dup aceea taskul 2 moment n care jobul
prsete sistemul (la sfritul taskului 1). Se presupune c sistemul
are capacitatea de trei joburi. Procesorul trebuie s termine ambele
taskuri ale unui job nainte s nceap procesarea urmtorului job.
Exist un mecanism de time-out pentru fiecare job, care opereaz
astfel: cnd un job intra n sistem , taskului 1 i se acord o unitate de
timp pentru execuie; dac jobul st n sistem o unitate de timp i
taskul 1 al su nu s-a executat, atunci jobul este terminat forat i
urmtorul job din coada, dac exist va fi procesat. Se consider
sistemul iniial gol. Presupunem urmtoarea scar de timp pentru
sosirile joburilor (0; 0,2; 0,9; 1,6; 2) i pentru fiecare se d timpul de
execuie pentru fiecare task: I(0,8; 0,7); II(0,9; 0,7); III(0,3; 0,6);
Limbaje formale i automate
70
IV(0,9; 0,5) i V(0,1; 1,2). Construii o diagram de timp incluznd
timpii de apariie a evenimentelor i tipul evenimentelor . Pe baza
acestei diagrame determinai care job se termin corect i care se
termin forat (time out). Construii o diagram de stri- tranziii.
63) Un sistem de fabricaie simplu conine dou maini M
1
i M
2
i un
buffer B poziionat ntre maini. Intrarea pieselor pe maina M
1
este
nelimitat. Cnd o pies este procesat pe maina M
1
este plasat n
bufferul B care are capacitatea de o pies. Piesa este apoi procesat pe
maina M
2
. Fiecare main are posibilitatea de a se defecta. Iniial
mainile sunt libere. Comportamentul ntregului sistem trebuie s
satisfac urmtoarele cerine:
M
1
poate ncepe procesarea doar dac bufferul B este gol;
M
2
poate ncepe procesarea doar dac bufferul B este plin;
M
1
nu poate ncepe procesarea daca M
2
este defect;
Dac ambele maini sunt defecte atunci M
2
trebuie reparat
prima.
Construii automatul care descrie comportamentul admisibil al
sistemului.
64) Un sistem conine 3 servere ca n figura urmtoare. Clienii care intr
n sistem ajung mai nti n coada de la serverul 1 i dup ce sunt
procesai pe serverul 1 ei sunt rutai pe serverele 2 sau 3. Politica de
rutare este trimiterea clientului ntotdeauna ctre serverul cu coada cea
mai mic. n cazul n care cele dou cozi sunt egale , clientul este rutat
ctre serverul 2. Dup procesarea pe serverul 2 sau 3 clienii prsesc
sistemul. Un client care sosete din exterior este acceptat n sistem
att timp ct numrul total de clieni din sistem este maxim 2, altfel
clienii sunt rejectai. S se construiasc automatul care descrie
funcionarea sistemului.
1
2
3

Limbaje formale i automate
71
65) O celula de fabricaie este alctuit din dou maini M
1
i M
2
i un
AGV. Automatele celor trei componente sunt :
readyat1
loadat1
0
1
M1

giveto2
loadat2
0
1
M2

loadat2
giveout
0
2
1
giveto2
loadat1
AGV


a) S se construiasc G = M1|| M2 ||AGV
b) Este G blocant?
66) Un sistem de fabricaie conine 2 maini M
1
i M
2
i un robot R care
preia o pies prelucrat de pe maina M
1
i o depune pe maina M
2
.
Nu exista nici un buffer pentru cele dou maini. Dac o pies este
furnizat lui M
1
n timp ce aceasta este ocupat atunci piesa este
rejectat. Dac robotul transport piesa ctre M
2
n timp ce aceasta
este ocupat el ateapt pn cnd M
2
o poate accepta. Dup ce
robotul a depus piesa pe M
2
el revine n poziia iniial, de unde poate
lua o noua piesa de pe M
1
.
S se construiasc AFD care descrie funcionarea procesului.
67) Fie un tronson de cale ferat care arat ca n figur. Fie alfabetul
={i
1
,s
1
, i
2
, s
2
, i
3
, s
3
} unde i
k
reprezint intrarea unui tren pe tronsonul
de cale ferat k, iar s
k
= ieirea trenului de pe tronsonul k. Se noteaz
cu q
i
variabila de stare asociat trenului i care reprezint prezena
trenului pe acel tronson. Astfel dac q
i
= 1 atunci trenul se afl pe
Limbaje formale i automate
72
tronson, altfel q
i
= 0. Starea ntregului sistem este q=(q
1
, q
2
, q
3
). S se
construiasc maina Moore care modeleaz acest sistem i genereaz
n fiecare stare valoarea lui q. Care este limbajul L care nu conduce n
starea de blocaj reprezentat pe figur?
i
3
i
1
i
2
s
1
s
2
s
3

68) Fie dou maini cu dou stri posibile: liber i ocupat i setul de
evenimente = {s
1
, f
1
, s
2
, f
2
}, unde s
i
reprezint aciunea de start
funcionare pentru maina i, iar f
i
semnific aciunea de sfrit
funcionare pentru maina i. Pentru fiecare main M
i
, trecerea din
starea liber n starea ocupat se face n concordan cu apariia
evenimentului s
i
, iar trecerea din starea ocupat n starea liber se face la
apariia evenimentului f
i
.
a) S se construiasc automatele ce descriu funcionarea mainilor i
automatul ce descrie funcionarea ntregului sistem.
b) Se introduce o specificaie de funcionare: ntre cele dou maini
exist un buffer X de capacitate 1 , care poate avea dou stri: x
0

buffer gol i x
1
- buffer plin. Se cere automatul care descrie
funcionarea stocului precizndu-se evenimentele interzise i cele
acceptate de fiecare stare.
M1
M2
X

69) Doi filosofi stau la o mas pe care se gsesc dou farfurii, fiecare n
faa cte unui filosof i dou furculie situate de o parte i de alta a
filosofilor. Comportamentul fiecrui filosof este urmtorul: fiecare
filosof poate gndi sau poate mnca. Pentru a trece din starea
Limbaje formale i automate
73
gndete n starea mnnc filosoful trebuie s ridice ambele
furculie de pe mas, pe rnd, n orice ordine. Dup ce filosoful
termina de mncat, el depune ambele furculie pe mas i revine n
starea gndete. Alegnd un set de evenimente ct mai
reprezentativ, construii att automatele aferente entitilor sistemului
ct i automatul care descrie funcionarea ntregului sistem.
70) Dou procesoare partajeaz o memorie comun. Partajarea este
exclusiv. Fiecare procesor este liber pn cnd trebuie s execute un
task, dup care trece n starea de cerere acces memorie. Atunci cnd
memoria este liber, procesorul o aloc, execut taskul i apoi o
elibereaz. n acest moment procesorul devine liber. S se
construiasc automatele care descriu funcionarea subsistemelor
componente i automatul corespunztor funcionrii ntregului sistem.

74
CAPITOLUL III
REELE PETRI
Breviar
Definiie
Reelele Petri (RP) sunt grafuri orientate cu dou tipuri de noduri: poziii i
tranziii. Formal, o RP ordinar i autonom poate fi definit printr-un
cvintuplu:
RP = {P, T, Pre, Post, M
0
}
unde:
P este mulimea poziiilor, simbolizate prin cercuri; poziiile
modeleaz variabile de stare sau condiii;
T este mulimea tranziiilor, simbolizate prin bare sau dreptunghiuri;
tranziiile modeleaz evenimente sau aciuni;
Mulimile P i T sunt disjuncte P T =
Pre: PxT -> {0, 1} reprezint arcele care duc de la poziii la tranziii;
Post: PxT -> {0, 1} reprezint arcele care duc de la tranziii la
poziii.
ntr-o RP, ntotdeauna un arc unete dou noduri de tipuri
diferite (o poziie i o tranziie).
MP N : este vectorul de marcaj, definit pe mulimea poziiilor
reelei, cu valori n mulimea numerelor naturale; un element m(P
i
)
al vectorului indic numrul de jetoane de marcaj din poziia P
i
a
reelei la un moment dat.
Dac se consider poziiile reelei ca variabile de stare ale
sistemului astfel modelat, atunci marcajul (vectorul de marcaj)
reprezint starea sistemului.
M
0
este marcajul iniial la lansarea sistemului (starea iniial).
Starea unei RP se modific prin execuia tranziiilor.

Reele Petri
75
Reguli pentru execuia tranziiilor:
1. O tranziie se execut numai dac este valid. O tranziie T
j
este
valid numai dac toate poziiile sale de intrare (adic toate
poziiile P
i
pentru care Pre(P
i
,T
j
)=1) sunt marcate (m(P
i
)1).
2. ntr-o RP ordinar autonom se execut o singur tranziie la un
moment dat (indiferent cte tranziii sunt valide). Aceast regul
are la baz dou ipoteze:
Dou evenimente independente nu pot s aib loc simultan,
Fiecare tranziie reprezint un eveniment distinct.
3. Execuia unei tranziii T
j
se face n doi pai:
Din fiecare poziie de intrare a lui T
j
se retrage cte un jeton de
marcaj,
n fiecare poziie de ieire a lui T
j
se pune un jeton de marcaj.
4. Execuia unei tranziii are durat nul.
Din punctul de vedere al nivelelor de reprezentare SED, exist urmtoarele
clase de RP:
reele Petri autonome la nivel logic,
reele Petri temporizate, sincronizate i interpretate la nivel
temporal (determinist),
reele Petri stochastice la nivel stochastic.
n afar de aceste clase distincte, a cror putere de modelare este diferit n
funcie de modul de integrare al timpului n model, exist o serie de
extensii ale modelelor RP, extensii care se pot aplica fiecrei clase, fr a
le modifica nici proprietile i nici puterea de modelare. Rolul extensiilor
este de a realiza modele mai compacte.
Dintre acestea, cele mai cunoscute sunt:
RP generalizate: se asociaz ponderi (numere naturale) arcelor. n
mod implicit ponderea unui arc este 1. Se mai numesc i RP cu arce
ponderate.
Pre: PxT N i Post: PxT N
Reele Petri
76
Pentru aceast clas de reele regulile de execuie a tranziiilor se
modific astfel:
dac arcul P
i


T
j
are ponderea q , T
j
este valid dac P
i
conine
cel puin q jetoane.
prin executarea lui T
j
se retrag q jetoane din P
i
;
dac arcul T
j
P
k
are ponderea m, prin executarea lui T
j
se
adaug m jetoane n poziia P
k
.
RP cu capaciti: se asociaz capaciti (numere naturale)
poziiilor. n mod implicit, capacitatea unei poziii este infinit.
Regulile de execuie ale tranziiilor se modific astfel: o tranziie
este executabil dac i numai dac prin execuia ei nu se depete
capacitatea vreuneia dintre poziiile sale de ieire.

Tranziii speciale:
tranziie surs este o tranziie care nu are nici o poziie de intrare.
O astfel de tranziie este n permanen valid;
tranziie capcan este o tranziie care nu are nici o poziie de ieire.

Notaii:

*
M = mulimea marcajelor accesibile plecnd de la marcajul M;
S = secven de execuie = succesiune de tranziii ce se pot executa
n aceast ordine;
M
0
(S M
2
: executarea secvenei S pornind de la marcajul M
0

conduce la marcajul M
2
.
Marcaj superior: M
1
M
2
m
1
(P
i
) m
2
(P
i
), P
i
;
Marcaj strict superior: M
1
> M
2
M
1
M
2
i P
i
a.. m
1
(P
i
) > m
2

(P
i
).
Reele Petri
77
Proprietile reelelor Petri.
Proprietatea 1: Mrginire
1. O poziie P
i
este mrginit pentru un marcaj iniial M
0
dac
M
*
M
0
, exista un numr natural m astfel nct, oricare ar fi
evoluia reelei, m(P
i
)<m;
2. O RP este mrginit pentru un marcaj iniial M
0
dac toate
poziiile sale sunt mrginite pentru marcajul iniial M
0
;
Se numete RP binar (sigur) pentru un marcaj iniial M
0
o reea
mrginit n care marcajul nici unei poziii nu depete valoarea 1.
Proprietatea 2: Viabilitatea
1. O tranziie T
j
este viabil pentru un marcaj iniial M
0
dac
M
*
M
0
, exist o secven de tranziii S care pornete din M i
conine T
j
; o tranziie T
j
este cvasiviabil pentru un marcaj
iniial M
0
dac exist cel puin o secven de tranziii S care
pornete din M
0
i conine T
j
;
2. O RP este viabil pentru un marcaj iniial M
0
dac toate
tranziiile sale sunt viabile pentru marcajul iniial M
0
; o RP este
cvasiviabil pentru un marcaj iniial M
0
dac toate tranziiile sale
sunt cel puin cvasiviabile pentru marcajul iniial M
0
;
O RP se numete conform dac este binar i viabil .
Proprietatea 3: Blocaje
1. Un blocaj este un marcaj pentru care nici o tranziie nu mai este
valid.
2. O RP se numete fr blocaje pentru un marcaj iniial M
0
dac
M
*
M
0
, M nu este un blocaj.
Proprietatea 4: Reiniializabilitate
1. O RP are o stare de primire M
a
pentru un marcaj iniial M
0
dac
pentru toate marcajele accesibile M
i

*
M
0
, exist o secvena de
tranziii S a.. M
i
(S M
a
.
2. O RP este reiniializabil pentru un marcaj iniial M
0
dac M
0

este stare de primire.
Reele Petri
78
Observaie: Mrginirea, viabilitatea, absena/prezena blocajelor,
reiniializabilitatea sunt proprieti care depind de marcajul iniial.
Proprietatea 5: Invariani i componente conservative
Fie o reea Petri R i P mulimea poziiilor sale. Spunem c avem un
invariant liniar al poziiilor (sau invariant de marcaj) dac exist o
submulime P = {P
1
, P
2
,..., P
r
}, PP i un vector de ponderi Q = {q
1
, q
2

,..., q
r
}, q
i
N
*
a..
q
1
m(P
1
)+ q
2
m(P
2
)+. . .+ q
r
m(P
r
) = Const. , M
*
M
0

Mulimea P se numete component conservativ. Reeaua R se numete
conservativ dac i numai dac toate poziiile reelei sunt incluse ntr-o
component conservativ.
O secven de tranziii S se numete repetitiv dac M
0
(S M
0
.

Investigarea proprietilor reelelor Petri
Investigarea proprietilor Reelelor Petri (RP) se poate face fie folosind
algebra liniar, fie folosind arborele de acoperire sau graful de marcaje.
Investigarea proprietilor RP cu ajutorul algebrei liniare.
Notaii:
T
j
= {P
i
P | Pre(p
i
, t
j
) > 0}
T
j
= {P
i
P | Post(p
i
, t
j
) > 0}
P
i
= {T
j
T | Post(p
i
, t
j
) > 0}
P
i
= {T
j
T | Pre(p
i
, t
j
) > 0}
W = Post - Pre = [w
ij
] matricea de inciden a reelei (este
independent de marcaj)
Ecuaia fundamental :
M
k
= M
i
+ W S,
pentru o secven de executii S a.. M
i
(S M
k
, unde S este vectorul
caracteristic al secvenei S (vector de dimensiune m n care s
j
corespunde
num rului de validri ale tranziiei T
j
n secvena S.

Reele Petri
79
Investigarea proprietilor RP cu ajutorul grafului de marcaje sau al
arborelui de acoperire.
Algoritmul de construcie a arborelui de acoperire
Pas 1. Plecnd de la marcajul iniial M
0
se indic toate tranziiile valide
i marcajele succesive corespunztoare. Dac unul din aceste
marcaje este strict superior lui M
0
, se pune pentru fiecare
component superioar componentei corespunztoare din M
0
.
Pas 2. Pentru fiecare nou marcaj M
i
al arborelui se face fie Pas 2.1. fie
Pas 2.2.
Pas 2.1. Dac exist un marcaj M
j
= M
i
care a fost explorat deja,
atunci M
i
nu are succesor.
Pas 2.2. Dac nu exist un marcaj M
j
= M
i
pe calea de la M
0
la M
i

atunci se prelungete arborele adugndu-se toi succesorii
lui M
i
. Pentru fiecare succesor M
k
al lui M
i
:
1) o component a lui M
i
rmne o component a lui
M
k
;
2) dac exist un marcaj M
j
pe calea de la M
0
la M
k
a..
M
k
> M
j
, atunci se pune pentru fiecare component
a lui M
k
superioar componentei corespunztoare din
M
j
.
Observaie
Graful de acoperire (sau de marcaje accesibile) se obine din arborele de
acoperire, prin concatenarea marcajelor care se repet . Se obin n acest
fel bucle n graful de acoperire, care n arbore nu apreau.
Reele Petri
80
Reele Petri sincronizate
1. O RP sincronizat este un triplet <R, E, Sinc> unde:
R - este o RP marcat;
E - este o mulime de evenimente externe;
Sinc: T E{e}, T fiind mulimea tranziiilor din R iar e
evenimentul sigur (ntotdeauna activ).
2. O RP este total sincronizat dac Sinc: T E.
Executarea unei tranziii se face
dac tranziia este valid;
atunci cnd se produce evenimentul asociat.

Notaie
T(x,M) mulimea tranziiilor receptive la evenimentul x E{e} pentru
marcajul M.
Definiii
1. S
k
se numete secven de simulare complet (SSC) n raport cu
evenimentul x, pentru marcajul M, dac:
S
k
este o secven de execuii din marcajul M, compus numai
din tranziii aparinnd lui T(x,M);
toate tranziiile din T(x,M) apar cel mult odat n S
k
;
toate secvenele S
h
obinute permutnd tranziiile lui S
k
sunt de
asemenea secvene de execuie plecnd de la M;
nu exist secven de execuii de lungime mai mare care s
conin toate tranziiile lui S
k
i care s ndeplineasc primele
trei condiii.
2. Se numete execuie iterativ la apariia evenimentului extern e
i

o secven compus din executarea unei SSC sub apariia lui e
i
,
urmat eventual de executarea tuturor SSC posibile sub apariia
lui e. Dac pentru un marcaj M nu este posibil execuia nici unei
SSC sub e, atunci M este numit marcaj stabil. n caz contrar, M
se numete instabil.
Reele Petri
81
Algoritmul de interpretare a unei RP sincronizate
pas1. Iniializri: 1) marcajul, 2) mulimea momentelor la care au loc
evenimentele externe 3) evenimentul curent x.
Fie x = e. Salt la pas3.
pas2. Se consider primul moment t la care are loc un eveniment extern e
i

. Fie x = e
i
.
pas3. Se determin mulimea de tranziii executabile sub apariia
evenimentului x. Dac aceast mulime este vid, se suprim t din
mulimea momentelor la care au loc evenimente externe. Salt la
pas2.
pas4. Se efectueaz o SSC. Se face x = e. Salt la pas3.

Proprieti suplimentare ale reelelor Petri sincronizate.
O RP sincronizat este prompt dac pentru toate marcajele accesibile
stabile i pentru toate evenimentele e
i
, execuia iterativ sub apariia
evenimentului extern e
i
conine un numr finit de SSC.
Dac exist un numr natural k astfel nct numrul de SSC k, atunci
spunem c reeaua este k-prompt.
Proprietate
O RP sincronizat este prompt dac ndeplinete urmtoarele condiii:
toate tranziiile surs (fr nici o poziie n amonte) au asociate
evenimente externe;
pentru toate ciclurile P
1
T
1
P
2
T
2
... P
q
T
q
a.. avem arcele P
i
T
i
, T
i

P
i+1
si T
q
P
1
exist cel puin o tranziie care s fie sincronizat
pe un eveniment extern.
Observaie
Proprietile RP autonome nu se conserv atunci cnd reeaua este
sincronizat.
Reele Petri
82
Reele Petri temporizate
Retelele Petri temporizate sunt acele tipuri de reele n care timpul
influeneaz explicit evoluia reelei. Aceste reele se mpart n:
P-temporizate i T-temporizate.

RP P-temporizate: se asociaz fiecrei poziii P
i
o temporizare d
i
. n mod
implicit, temporizarea asociata unei poziii este nul.
O RP P-temporizat este un dublet <R, Temp> unde:
R este o RP marcat;
Temp: P Q
+
, unde Q
+
reprezint mulimea de numere raionale
pozitive a.. Temp(p
i
)= d
i
.
Se consider c un jeton depus ntr-o poziie P
i
n momentul t este
indisponibil pe durata temporizrii [t, t+d
i
], dup care devine disponibil. n
acest fel, la un moment de timp oarecare marcajul M al reelei are dou
componente: marcajul disponibil i marcajul indisponibil. (M = M
d
+ M
l
).
Validarea unei tranziii este fcut doar de componenta disponibil a
poziiilor sale de intrare.
Ipotez de lucru
La momentul iniial marcajul M
0
este disponibil.
n vederea analizei RP temporizate se consider c o tranziie se execut
de ndat ce devine valid. Acest regim de funcionare se numete
funcionare la vitez maximal.
Se poate demonstra c pentru o RP temporizat mrginit i cu temporizri
cu valori raionale, funcionarea la viteza maximal conduce dup un timp
la un regim repetitiv numit regim staionar.
n cadrul regimului staionar se face analiza cantitativ (evaluarea
performanelor) sistemului. Pentru aceasta se definesc urmtoarele mrimi:
1. Frecvena de execuie f
j
, a unei tranziii T
j
ca fiind numrul
mediu de execuii ale lui T
j
pe unitatea de timp.
2. Numrul mediu de marcaje ntr-o poziie P
i
ca fiind egal cu
produsul ntre suma frecvenelor de execuie ale tranziiilor de
intrare n poziia P
i
i durata sa asociat d
i
.
Reele Petri
83
Un alt regim de funcionare este cel la vitez optimal: o RP P-temporizat
funcioneaz la vitez optimal dac nici un jeton nu rmne ntr-o
poziie un interval de timp mai mare dect durata sa de indisponibilitate.
Un model care are funcionare la vitez optimal este considerat a fi un
model fr ntrzieri (nici un jeton nu ateapt s fie utilizat).

Reele Petri T-temporizate: se asociaz fiecrei tranziii T
j
o durat de
execuie d
j
. Implicit, durata de execuie a unei tranziii este nul.
Definiie: O RP T-temporizat este un dublet <R, Temp> unde:
R este o RP marcat;
Temp: T Q
+
, cu Q
+
o mulime de numere raionale pozitive a..
Temp(T
i
)= d
i

Pentru aceast clas de reele vom face distincie ntre momentul de timp
la care o tranziie devine valid (care este momentul de timp n care avem
n fiecare poziie de intrare n tranziie un numr suficient de jetoane) i
momentul de timp la care tranziia este executabil (care va fi egal cu
momentul de timp la care tranziia a fost validat la care se va aduga
temporizarea asociat tranziiei). n general o tranziie se va executa din
momentul n care devine valid dup ce trece temporizarea asociat.
Excepia este reprezentat de sitaiile de conflict structural care sunt
rezolvate prin executarea primei tranziii ce devine executabil (nu vom
avea conflicte efective pentru reelele T-temprozate dect dac dou
tranziii ale unui conflict structural devin simultan executabile i nu exist
suficiente jetoane pentru a le executa pe ambele).
Noiunile de funcionare la viteza maximal, funcionare la viteza proprie
i frecven de execuie se pot extinde i la reele T-temporizate.
Reprezentare grafic:
bar ( ) pentru o tranziie a crei temporizare este nul;
dreptunghi ( ) pentru o tranziie a crei temporizare este nenul;
Reele Petri
84
Observaie
Orice reea Petri T-temporizat poate fi transformat ntr-o reea Petri
P-temporizat i invers.
d d


T-temporizare P-temporizare
d
d


P-temporizare T-temporizare

Reele Petri
85
Probleme rezolvate
71) S se studieze proprietile de mrginire, blocaje, viabilitate i
reiniializabilitate pentru reelele Petri ilustrate n figura urmtoare:
-a- -b-
P1
P1
2 (3)
T4 T4
T3
T3 T1 T1
P3
P3
P2 P2
T2
T2

Figura III.1. Reele Petri autonome.
Rezolvare.
Graful de marcaje al reelei din figura a) este prezentat n Figura III.2:

Figura III.2. Graful de marcaje pentru cazul -a-.
Se observ pe acest graf de acoperire c n acest caz reeaua este mrginit,
nu are blocaje i de asemenea nu este viabil. Despre aceast reea se poate
spune c este cvasiviabil deoarece tranzitiile T
3
i T
4
se pot executa o
singur dat, dup care se ajunge la o stare asemntoare celei iniiale care
are ns doar un jeton n P
1
i pentru care tranziia T
3
(i deci i T
4
) nu se
mai poate executa niciodat.
Proprietatea de reiniializabilitate nu este ndeplinit deoarece nu exist o
secven de tranziii care s conduc din marcajul M
3
n marcajul iniial.
Pentru reeaua din figura b) avem dou posibiliti de valori pentru arcul
de la T
4
la P
1
: valoare de 2 i valoare mai mare de 2.
Pentru cazul n care ponderea arcului T
4
P
1
egal cu 2, graful de
marcaje accesibile este ilustrat n Figura III.3. Din graf se deduce c
reeaua este mrginit i fr blocaje ca cea dinainte, n plus, prin buclele
care s-au format n graf, reeaua este viabil, pentru oricare marcaj din graf
Reele Petri
86
i oricare tranziie putndu-se gsi o secven pornind de la acest marcaj
care s conin tranziia respectiv.
T
4
T
3
T
2
T
2
0
2
0
|
\

|
|
|
1
1
0
|
\

|
|
|
2
0
0
|
\

|
|
|
0
0
1
|
\

|
|
|
T
1 T
1
M
0
=

Figura III.3. Graful de marcaje pentru cazul -b- i pondere 2.
Pe acest exemplu se mai poate face o observaie. Prin buclele care s-au
format pe graf se pot identifica secvenele repetitive (secvene de tranziii
care, pornind de la M
0
, conduc la M
0
). Acestea sunt: S
1
= T
1
T
2
,
S
2
= T
1
T
3
T
4
, S
3
= T
1
T
1
T
2
T
2
, S
3
= T
1
T
1
T
2
T
3
T
4
. Se poate vedea uor c din
toate marcajele accesibile de pe acest graf se poate ajunge n marcajul
iniial, deci reeaua este reiniializabil.
S consideram un ultim caz n care ponderea arcului T
4
P
1
este 3 (vezi
Figura III.1 -b-). n acest caz se obine urmtorul graf de acoperire:
T
4
|
|
|

\
|
0
0
2
M
0
=
T
1
T
2 |
|
|

\
|
0
1
1
M
1
=
|
|
|

\
|
0
2
0
M
2
=
T
1
T
2
T
3
|
|
|

\
|
1
0
0
M
3
=
|
|
|

\
|
0
0

M
4
=
T
1
|
|
|

\
|
0

M
5
=
T
3
|
|
|

\
|

M
6
=
T
1
, T
2
T
1
, T
2
, T
3
, T
4

Figura III.4. Graful de marcaje pentru cazul -b- i pondere 3.

Se observ c pe acest graf s-a substituit, conform algoritmului de
construcie a arborelui de acoperire, valoarea 3 care s-ar fi obinut dup
prima executare a lui T
4
cu . n continuare se poate observa c reeaua
Petri are toate poziiile nemrginite; n acest fel se deduce c reeaua este
nemrginit. Se pstreaz ns proprietile de viabilitate i de fr blocaje.
Reele Petri
87
72) S se construiasc graful de marcaje i s se discute proprietile
reelei sincronizate din Figura III.5. S se compare aceste proprieti
cu cele ale reelei nesincronizate.
P
1
e
1
T
2
e
1
T
1
P
3 P
2
e
2
T
3
P
5
P
4
e
3
T
4
e
3
T
5

Figura III.5. Reea Petri sincronizat.

Rezolvare.
Reeaua Petri sincronizat este mrginit, fr blocaje, viabil,
conservativ (exist un invariant de marcaj ce conine toate poziiile
reelei) i reiniializabil aa cum se poate vedea imediat din graful de
marcaje accesibile.
{T
1
, T
2
}/e
1
T
3
/e
2
{T
4
, T
5
}/e
3
M
0
=
2
0
0
0
0

(
(
(
(
(
(
M
1
=
(
(
(
(
(
(

0
0
1
1
0
M
2
=
(
(
(
(
(
(

1
1
0
0
0

Figura III.6. Graful de marcaje pentru reeaua sincronizat.
Invariantul de marcaj este: m(P
1
) + m(P
2
) + m(P
3
) + m(P
4
) + m(P
5
) = 2
Dac ns considerm aceeai reea dar nesincronizat se poate vedea,
construind din nou graful de marcaje, c aceasta nu mai este viabil i c,
prin executarea de dou ori la rnd a tranziiei T
1
sau a tranziiei T
2

pornind de la marcajul iniial, se ajunge la blocaj; de la aceste marcaje nici
Reele Petri
88
o tranziie nu va mai putea fi executat. Secvenele T
1
T
1
i T
2
T
2
nu sunt
posibile pentru reeaua sincronizat.



Figura III.7. Graful de marcaje pentru reeaua autonom.

M
0
=
(
(
(
(
(
(

0
0
0
0
2

M
1
=
(
(
(
(
(
(

0
0
0
1
1

M
2
=
(
(
(
(
(
(

0
0
1
0
1

M
3
=
(
(
(
(
(
(

0
0
0
2
0

M
4
=
(
(
(
(
(
(

0
0
1
1
0

M
5
=
(
(
(
(
(
(

0
0
2
0
0

M
6
=
(
(
(
(
(
(

1
1
0
0
0

M
7
=
(
(
(
(
(
(

1
0
0
0
1

M
8
=
(
(
(
(
(
(

0
1
0
0
1

M
9
=
(
(
(
(
(
(

1
0
0
1
0

M
10
=
(
(
(
(
(
(

1
0
1
0
0

M
11
=
(
(
(
(
(
(

0
1
0
1
0

M
12
=
(
(
(
(
(
(

0
1
1
0
0

T
1

T
2

T
1

T
1

T
1

T
1

T
2

T
2

T
2

T
2

T
3

T
4

T
4

T
4

T
4

T
T
5

T
5

Reele Petri
89
73) Construii graful de marcaje i precizai proprietile urmtoarei
Reele Petri:


Rezolvare.
Graful de marcaje pentru reeaua temporizat de mai sus este prezentat n
figura urmtoare.

M
0
=
(
(
(
(
(
(
(
(

0
0
0
0
0
1
M
1
=
(
(
(
(
(
(
(
(

0
0
0
) 2 ( 1
) 1 ( 1
0
M
2
=
(
(
(
(
(
(
(
(

0
0
) 2 ( 1
) 1 ( 1
0
0

M
3
=
(
(
(
(
(
(
(
(

0
) 1 ( 1
) 1 ( 1
0
0
0
M
4
=
(
(
(
(
(
(
(
(

) 1 ( 1
0
0
0
0
0

T
2

d = 1
T
1

d = 0
T
4

d = 1
T
5

d = 1
T
1

d = 1
M
5
=
(
(
(
(
(
(
(
(

0
0
0
0
0
) 1 ( 1

T
7

d = 1

Marcajul iniial este caracterizat (prin convenie) de faptul c toate
jetoanele sunt disponibile. Acest lucru permite ca tranziia T
1
s fie valid
Reele Petri
90
la momentul iniial (d=0). Prin execuia sa se depune cte un jeton de
marcaj n P
2
i P
3
. Valoarea duratei de indisponibilitate pentru jetoanele
nou depuse n poziii va fi egal cu temporizarea asociat acestora.
Din marcajul M
1
vor putea fi validate tranziiile T
2
(dup o unitate de timp)
i T
4
(dup dou uniti de timp). Datorit faptului c sistemul este analizat
la funcionare la vitez maximal, prima se va executa tranziia T
2
.
n marcajul M
2
se poate observa c durata de indisponibilitate a jetonului
din poziia P
3
a fost micorat (cu timpul scurs pn la executarea tranziiei
T
2
).
Este de remarcat i faptul c marcajul M
6
difer de marcajul M
0
. Pentru ca
dou marcaje ale unei reele P-temporizate s fie identice trebuie ca ele s
conin pentru fiecare poziie:
- acelai numr de jetoane disponibile;
- acelai numr de jetoane indispnibile;
- aceleai durate de indisponibilitate asociate jetoanelor
indisponibile.
Din punct de vedere al proprietilor, reeaua este mrginit, nu exist
blocaje, nu este viabil i nici mcar cvasiviabil (deoarece pe graful de
marcaje nu se regsesc toate tranziiile din reea T
3
sau T
6
), nu prezint
secvene repetitive i nici nu este reiniializabil (datorit conveniei care
spune c n marcajul iniial toate jetoanele sunt disponibile)
Reele Petri
91
74) Se consider celula de fabricaie din figura de mai jos care include:
dou maini cu funcionare similar M
1
i M
2;

o band rulant (un conveior) de intrare CONV1 ca surs infinit de
repere;
un conveior de ieire ca depozit infinit.
M
1
M
2
CONV
1
CONV
2
p
2
p
1

Celula poate produce dou tipuri de piese: p
1
i p
2
, fiecare dintre ele
trebuind procesat pe ambele maini. Duratele de procesare respective
sunt:
p
1
p
2

M
1
3 uniti de timp 2 uniti de timp
M
2
1 unitate de timp 4 uniti de timp

ncrcarea pieselor de pe CONV
1
pe oricare dintre maini are durata
de 1 unitate de timp. De ndat ce operaia de ncrcare a fost
ncheiat, procesarea piesei ncepe fr ntrziere, iar descrcarea face
parte din procesare. Piesa de tip p
1
este prelucrat nti pe maina M
2

i apoi pe maina M
1
, iar piesa de tip p
2
este prelucrat nti pe maina
M
1
i apoi pe maina M
2
. Fiecare main posed un buffer de intrare
cu o poziie, pentru transferul pieselor procesate pe jumtate.
Se cere construirea reelei Petri P-temporizat ce modeleaz aceast
celul de fabricaie.
Reele Petri
92
Rezolvare:
Proiectarea utiliznd reele Petri presupune identificarea poziiilor i
tranziiilor ce caracterizeaz sistemul respectiv.
Din punct de vedere al semnificaiei, poziiile unei reele Petri modeleaz
variabile de stare (stri ale componentelor sistemului) sau condiii iar
tranziiile modeleaz aciuni ce schimb starea componentelor.
Pentru a putea modela sistemul trebuie s identificm din enunul
problemei componentele sistemului, strile n care acestea se pot afla i
aciunile care produc modificarea acestor stri.
Sistemul descris mai sus este alctuit din ase componente: dou maini,
dou benzi transportoare i dou buffere.
Fiecare dintre maini (avnd capacitate unu i putnd procesa dou tipuri
de piese) se poate afla ntr-una din urmtoarele stri:
- liber;
- ocupat cu p
1
;
- ocupat cu p
1
;
- ncrcnd piesa de la CONV
1
(reeaua fiind P-temporizat ncrcarea va
fi o stare a sistemului caracteruizat de o anumit durat);
n consecin fiecare main va fi modelat prin patru poziii (cte una
pentru fiecare stare).
Conveioarele fiind de capacitate nelimitat vor fi modelate doar prin
numrul de piese de un anumit tip prezente pe conveior, pentru fiecare
avnd dou poziii: una corespunztoare numrului de piese de tip p
1

prezente i alta corespunztoare numrului de piese de tip p
2
de pe
conveior.
Bufferele n care sunt depozitate piesele ce urmeaz a fi trecute pe cealalt
main (avnd capacitate unu i putnd conine doar un singur tip de piese)
se vor modela prin dou poziii cu urmtoarele semnificaii: numrul de
piese ce pot intra n buffer i numrul de piese existente n buffer.
n total vom avea un numr de 16 poziii.
n ceea ce privete aciunile care pot avea loc se pt identifica pentru fiecare
flux de procesare a unui tip de pies un numr de 5 aciuni realizate n
cadrul celulei i de nc dou prin care celula preia piese din exterior i le
Reele Petri
93
depune n exterior. Aciunile realizate n cadrul celulei sunt: nceput
ncrcare, sfrit ncrcare (ce coincide cu nceputul procesrii), depunere
n buffer (eliberare prima main), depunere pe ce-a de-a doua main i
depunere pe CONV
2
.
Cu aceste informaii stabilite i ncercnd s aranjm nodurile reelei n aa
fel nct s urmrim cele dou fluxuri de prelucrare, reeaua Petri care
modeleaz sistemul este:

iar semnificaia nodurilor reelei este:
P
1
numrul de piese de tip p
1
de pe CONV
1
;
P
2
maina 1 ncarc pies p
1
;
P
3
maina 1 proceseaz pies p
1
;
P
4
maina 1 liber;
Reele Petri
94
P
5
bufferul de intrare al mainii 2 ocupat;
P
6
bufferul de intrare al mainii 2 liber;
P
7
maina 2 proceseaz pies p
1
;
P
8
maina 2 liber;
P
9
numrul de piese de tip p
1
de pe CONV
2
;
P
10
numrul de piese de tip p
2
de pe CONV
1
;
P
11
maina 2 ncarc pies p
2
;
P
12
maina 2 proceseaz pies p
2
;
P
13
bufferul de intrare al mainii 1 ocupat;
P
14
bufferul de intrare al mainii 1 liber;
P
15
maina 1 proceseaz pies p
2
;
P
16
numrul de piese de tip p
2
de pe CONV
2
;

T
1
nceput ncrcare main 1 cu pies p
1
;
T
2
sfrit ncrcare main 1;
T
3
depunere n bufferul mainii 2;
T
4
nceputul procesrii pe maina 2;
T
5
depunere a piesei p
1
pe CONV
2
;
T
6
nceput ncrcare main 2 cu pies p
2
;
T
7
sfrit ncrcare main 2;
T
8
depunere n bufferul mainii 1;
T
9
nceputul procesrii pe maina 1;
T
10
depunere a piesei p
2
pe CONV
2
;
T
11
depunere din exterior pe CONV
1
a unei piese p
1
;
T
12
depunere din exterior pe CONV
1
a unei piese p
2
;
T
13
scoatere n exterior de pe CONV
2
a unei piese p
1
;
T
14
scoatere n exterior de pe CONV
2
a unei piese p
2
.

Reele Petri
95
Probleme propuse
75) S se construiasc graful de marcaje i s se precizeze proprietile
urmtoarei reele Petri:
P1
P2 P3
P4
P5
P6
T1
T2 T3
T4
T5
T6
T7

76) Se d reeaua Petri din figura de mai jos. Se cere studierea
proprietilor (mrginire, viabilitate, conflicte, conservativitate,
invariani) pe baza grafului de marcaje, pentru marcajul iniial M
0
= [1
0 k 0].
P1
1
P2
1
P3
1
P4
1
T2
1
T1
1
T4
1
T3
1
k
k

Reele Petri
96
77) S se construiasc graful de marcaje i s se precizeze proprietile
urmtoarei reele Petri:
2
P1
P2
P3
P4
P5
P6
T1
T2
T3
T4
T5
T6

78) Fie reeaua din figura de mai jos:
P2
P1
P4
P3 P5
P6
T1
T2
T3
T4

Se cer:
a) proprietile de mrginire, viabilitate, conflicte, siguran,
puritate;
b) invarianii de marcaj;
c) limbajul generat de RP.

Reele Petri
97
79) Se consider RP din figura de mai jos. S se construiasc arborele de
acoperire i s se studieze proprietile de mrginire, viabilitate
reversibilitate i conservativitate. Care sunt invarianii de marcaj i de
execuie?
T3
T1
P1
P2
P3
P4
T2

80) S se construiasc graful de marcaje i s se precizeze proprietile
urmtoarei reele Petri:
P1 P2
P4
P3
P5
T1
T2
T3 T4

Reele Petri
98
81) S se studieze proprietile reelei Petri din figura de mai jos. S se
precizeze invarianii de execuie i limbajul reelei.
P3
P5
P4
P1
P2
T2
T1
T3
T4

82) S se realizeze graful de marcaje i s se precizeze proprietile
(mrginire, viabilitate, blocaje, conflicte, invariani de marcaj,
invariani de execuie, conservativitate) pentru reeaua din figura de
mai jos.


P
1
P
2
P
3

P
4
P
5

T
1
T
2

T
3
T
4

Reele Petri
99
83) S se determine proprietile Reelei Petri din figura de mai jos
utiliznd graful de marcaje.

84) Fie reeaua Petri generalizat din figura de mai jos.
a) Care sunt tranziiile valide din M
0
?
b) Dup execuia a dou tranziii reeaua se blocheaz. Care sunt
tranziiile i care este marcajul de blocaj?
c) Este reeaua mrginit? Justificai rspunsul. Reeaua este viabil?
d) Demonstrai c secvena T
3
T
1
se poate executa maxim de dou
ori.
2
P
1
P
4
P
2
T
1
11
T
2
T
4
T
3
P
3


85) S se discute proprietile RP din figura de mai jos.
Reele Petri
100
P
2
P
4
P
3
P
5
T
1
T
2
T
4
T
3
T
5
P
6
T
6
T
7
P
1

86) Construii arborele de acoperire i graful de marcaje accesibile pentru
reeaua Petri din figura de mai jos. Studiai proprietile de mrginire,
viabilitate fr blocaje i conservativitate.
T
2
T
1
T
3
P
1
P
2
P
3

Reele Petri
101
87) Determinai secvena de simulare completa (SSC) n raport cu
evenimentul a pentru marcajele iniiale pentru reeaua Petri
sincronizata din figura de mai jos:
a) M
0
= [2 1 1 0 0 1]
b) M
0
= [2 2 2 0 0 2]
Precizai care din SSC sunt maximale i explicai rspunsul.
P
1
P
2
P
4
P3
P
5
P
6
T
1
T
2
T
4
T
3
T
5
b
a
a
a
T
6
b
a

88) S se construiasc graful de marcaje pentru reeaua din figura de mai
jos att n cazul sincronizat ct i n cazul autonom. S se discute
proprietile reelei n ambele situaii.
P1
e
2
T1
e
1
T2
P2
e
3
T5
e
2
T3
T4
e
1
P3

Reele Petri
102

89) Pentru reeaua Petri sincronizat din figura de mai jos s se
construiasc graful de marcaje i s se precizeze proprietile.

e
1
T
1
P
2
P
1
e
1
T
4
T
2
e
T
3
e
2
e
2
T
5
P
4
P
3


90) S se construiasc graful de marcaje i s se precizeze proprietile
urmtoarei reele Petri:
P1
P2
P4
P3
P5
T1
T2
T3
T4
T5
e
e
e
e1
e1

Reele Petri
103
91) S se construiasc graful de marcaje i s se precizeze proprietile
urmtoarei reele Petri att pentru cazul sincronizat ct i pentru cazul
autonom:
P1 P2
P4
P3
P5
T1
T2
T3 T4
e
e
e1
e1


92) S se construiasc graful de marcaje i s se precizeze proprietile
urmtoarei reele Petri att pentru cazul sincronizat ct i pentru cazul
autonom:

P1
P2
P4
P3
P5 T1
T2
T3
T4
e
e
e1
e1
T5
e1

Reele Petri
104
93) S se construiasc graful de marcaje al RP din figur i pe baza lui :
a) s se determine proprietile;
b) s se compare proprietile de la punctul a) cu cele ale reelei
autonome.
P
1
P
2
P
4
P
3
P
5
P
6
T
1
T
2 T
4
T
3
T
5
e
1
e
e
2
e
1
e

94) Fie reeaua P temporizat i generalizat din figura, unde d
i
reprezint
durata asociat poziiei P
i
. Pentru marcajul iniial reprezentat n figura
de mai jos se cer:
a) graful de marcaje accesibile;
b) proprietile reelei.
T
1
T
2
3
3
d
3
=1
P
3
d
2
=1
d
1
=1
P
2
P
1

Reele Petri
105

95) Construii graful de marcaje i precizai proprietile urmtoarei
Reele Petri:

96) Construii graful de marcaje i precizai proprietile urmtoarei
Reele Petri:

P
3

d
3
= 2
P
4

d
4
= 2
P
6

d
6
= 1
P
2

d
2
= 1
P
1

d
1
= 1
T
1

T
2
T
3

P
5

d
5
= 1
T
5
T
4

T
6

Reele Petri
106
97) Sistemul din figura de mai jos prelucreaz dou tipuri de piese: A
respectiv B, preluate din dou depozite de intrare cu capacitate
infinit. Robotul R
1
ncarc piesele de tip A pe maina M
1
i piesele
de tip B pe maina M
2
. Dup prelucrarea pe maina M
1
, respectiv pe
maina M
2
, piesele de tip A sunt transferate automat n bufferul B
1
de
capacitate 4, iar piesele de tip B sunt transferate automat n bufferul B
2

de capacitate 6. Robotul R
2
preia piese din bufferele B
1
i B
2
i ncarc
maina M
3
nti cu o pies de tip A i dup aceea cu dou piese de tip
B (pe rnd). Astfel maina M
3
realizeaz operaia de asamblare a unei
piese A i a dou piese B n ordinea A+B+B. Dup asamblare piesele
prsesc sistemul.
Se presupune c mainile pot prelucra o singur pies la un moment
dat; de asemenea capacitatea de transfer a roboilor este de o pies. Se
cunosc timpii de prelucrare pe cele trei maini: durata de prelucrare a
unei piese de tip A pe maina M
1
este d
1
= 3 uniti de timp;
prelucrarea unei piese de tip B pe maina M
2
se face n d
2
= 2 uniti
de timp; iar durata operaiei de asamblare pe maina M
3
este d
as
= 2
uniti de timp.
S se modeleze sistemul de producie astfel nct reeaua s fie
mrginit. S se identifice invarianii de marcaj.
M1
d1=3
M2
d2=2
R1
A
B
B1
(4)
B2
(6)
R2
M3
1A+ 2B
d_as = 2
Iesire din sistem

Reele Petri
107
98) Considerm execuia de tip Round-Robin a mai multor taskuri.
Aceasta presupune transferul controlului succesiv fiecrui task pentru
execuia unei pri a sa. Taskurile n execuie partajeaz o aceeai
unitate central, iar la fiecare control fiecare task poate executa una
sau mai multe instruciuni. S se construiasc RP care modeleaz
acest protocol, n urmtoarele cazuri :
a) Se consider 4 taskuri, fiecare task executnd cte o singur
instruciune cnd primete controlul;
b) Se consider 2 taskuri, taskul 1 executnd 3 instruciuni, iar
taskul 2 executnd 5 instruciuni la primirea controlului.
Indicaii:
a) Pentru fiecare task se vor considera urmtoarele poziii:
poziie a
i
care marcata semnifica taskul n ateptare;
poziie ex
i
care marcat semnific faptul c taskul i este n
execuie pentru o instruciune;
poziie p
i
care dac este marcat semnific faptul c s-a dat
controlul taskului i.
b) Se utilizeaz o reea Petri generalizat.

99) Se consider un proces de producie simplu, coninnd un consumator
i un productor ce folosesc mpreun un acelai stoc, acesta avnd o
capacitate limitat la 3 uniti. Productorul poate produce o singur
pies la un moment dat, el putnd depune piesa n stoc imediat ce a
terminat-o dac stocul permite depunerea. Imediat dup depunerea
piesei productorul rencepe procesul de producie. Consumatorul la
rndul su, imediat ce a terminat de consumat o pies (una singur
la un moment dat) ia o noua pies din stoc dac acesta nu este vid. S
se modeleze cu RP funcionarea acestui proces.
depunere retragere
produc tor stoc consumator

Reele Petri
108
100) Fie un sistem de producie care prelucreaz un singur tip de piese
conform fluxului tehnologic descris n figura de mai jos. La intrare n
sistem, piesele sunt ncrcate pe paletele preluate dintr-un stoc de
capacitate 3. Robotul R
1
ncarc piesele alternativ pe mainile M
1
i
M
2
, M
1
fiind ncrcat prima. Bufferele B
1
(de capacitate 4) i B
2
(de
capacitate 3) sunt ncrcate automat cu piese de pe mainile M
1

respectiv M
2
de ndat ce acestea termina operaia de prelucrare.
Robotul R
2
ncarc maina M
3
prelund piese att din bufferul B
1
ct
i din bufferul B
2
. Dup prelucrarea pe maina M
3
piesele prsesc
sistemul iar paletele sunt reciclate la intrarea sistemului i depuse n
stocul de palete. tiind c fiecare main poate prelucra o singur
pies la un moment dat (capacitate 1), s se construiasc reeaua Petri
care modeleaz acest sistem de producie.
R1
M1 (1)
B1 B2
R2
M2 (1)
M3 (1)
Stoc palete


101) Se consider un stoc ce poate conine un numr infinit de piese.
Funcionarea sa este sincronizat pe dou evenimente externe:
evenimentul e
1
, sosirea unei piese i evenimentul e
2
, sosirea unei
cereri de pies. O cerere de pies este satisfcut imediat dac exist
piese n stoc.
Reele Petri
109
Modelai comportamentul stocului de piese printr-o reea Petri sincronizat
i construii graful de marcaje accesibile pentru urmtoarele dou situaii:
a) se presupune ca o cerere de pies nesatisfcut (nefiind piesa n
stoc) este pierdut (utilizatorul trebuie s-i rennoiasc
cererea);
b) se presupune c o cerere de pies nesatisfcut este memorat, i
satisfcut atunci cnd o nou pies sosete n stoc.
stoc
sosirea unei
cereri de piesa
sosirea unei
piese
plecarea
pieselor
sosirea
pieselor
e
2
e
1


102) Patru filosofi, f
1
f
4
, stau n jurul unei mese, ntre ei fiind dispuse
baghetele b
1
b
4
. Un filosof se poate gsi ntr-una din urmtoarele
dou stri: poate gndi sau poate mnca. Pentru a manca un filosof are
nevoie de cele dou baghete aflate de o parte i de cealalt a sa. n
starea iniial toi filosofii gndesc i baghetele se afla pe mas.
a) Descriei printr-o reea Petri urmtorul protocol: cnd un filosof
dorete s mnnce el ia mai nti bagheta din dreapta sa, apoi pe
cea din stnga sa i ncepe s mnnce. Cnd termin de mncat
el depune pe mas mai nti bagheta din mana dreapt, apoi pe
cea din mana stng i trece astfel n starea n care gndete.
Indicai invarianii minimali pentru reeaua construit. Este
aceasta reea viabil? Dac exist un blocaj gsii secvena de
validri care conduce la acesta i dai o explicaie a acestui
blocaj.
b) Definii un protocol astfel nct s nu mai poat aprea situaie de
blocaj, i construii reeaua Petri corespunztoare.

103) Se consider dou bile de biliard, A i B, (figura de mai jos) care se
deplaseaz pe o aceeai dreapt, paralel cu una din margini. Fiecare
bil are trei stri: deplasare la dreapta, deplasare la stnga sau
ateptare (bila oprit). Se cere modelarea comportamentului celor
dou bile printr-o reea Petri, presupunnd c: a) atunci cnd lovete o
Reele Petri
110
margine o bil pornete n sens invers cu aceeai viteza; b) dac cele
dou bile se ciocnesc, ambele fiind n micare cu aceeai vitez, ele
repornesc n sens invers; c) dac o bil oprit este lovit de cealalt,
prima se pune n micare i a doua se oprete. Presupunem c bilele
realizeaz o micare ideal, fr ncetinire datorat frecrii. S se
studieze, n funcie de marcajul iniial posibil, proprietile reelei
construite, pe baza grafului de marcaje.
A
B

104) Se consider 6 taskuri a cror executare este condiionat de
urmtoarele reguli: iniial taskul 1 este executabil; taskurile 2 i 3 nu
pot fi executate dect dup taskul 1 (nensemnnd ns c vor ncepe
simultan sau imediat dup terminarea taskului 1). Taskul 4 nu poate fi
executat dect dup taskul 3, taskul 5 dup taskurile 2 i 4, iar taskul 6
dup taskurile 4 i 5. Taskul 1 nu poate fi reexecutat dect dup
terminarea taskului 2, iar taskul 3 dup taskurile 1 i 6. Considernd
c execuia fiecrui task are o durata d
i
s se modeleze prin reele Petri
P - temporizate acest sistem. Care este momentul la care ncepe prima
execuie a taskului 5 ?
Indicaie. Pentru fiecare task se introduc dou poziii: una
corespunztoare execuiei taskului i una care asigur ndeplinirea
condiiei de execuie a taskului respectiv.
105) Se consider o linie de asamblare cuprinznd dou maini fiecare cu
cte un stoc n intrare, aa cum se vede n figura de mai jos. Stocurile
au o capacitate nelimitat. Sistemul prelucreaz dou tipuri de piese,
p
1
i p
2
, care sosesc ntr-o ordine aleatoare n stocul 1 dar prelucrarea
lor pe main fcndu-se prin alternana. Se presupune c mainile pot
prelucra o singur piesa la un moment dat.
Fie evenimentul e
i
sosirea unei piese de tip p
i
. O piesa de tipul 1 necesit
o prelucrare de 8 uniti de timp pe maina 1 i de 3 uniti de timp pe
maina 2 iar o piesa de tipul 2 necesit cte 5 uniti de timp pe fiecare
main.
Reele Petri
111
a) S se modeleze acest sistem printr-o reea sincronizat i
T-temporizat n condiiile enunate anterior;
b) Cum se modific reeaua n ipoteza c stocul 1 conine permanent
cel puin cte o pies de fiecare tip ?
sosire
piese
p1, p2
stoc 2 stoc 1
masina 2
masina 1
plecare
piese
p1, p2

106) S se modeleze prin intermediul reelelor Petri comportamentul
unei pisici i al unui oarece n urmtorul labirint, tiind c micrile
pisicii sunt modelate de sgeile P iar cele ale oarecelui de sgeile S.
S2
S1
P3
P6
S4
Pisica
Soarece
4
2
5
1
3
P2
P7 P4
P5
S3
P1
S6
P8
S5

107) S se rezolve problema cu lupul, capra i varza utiliznd modelul
reelelor Petri.
108) Se consider un flux de fabricaie compus din dou maini, fiecare
avnd un stoc de piese n intrare. n sistem exist dou palete, piesele
trecnd ntre maini purtate pe palete. Aceste palete sunt reciclabile,
adic ele se ntorc n stocul 1 dup ce piesele pe care le-au purtat sunt
terminate pe maina 2. Maina 1 poate trata o singur pies la un
moment dat, timpul de servire fiind d
1
= 2 uniti de timp, n timp ce
Reele Petri
112
maina 2 poate trata dou piese, pentru fiecare fiind necesare d
2
= 3
uniti de timp.
a) S se construiasc RP P-temporizat pentru acest sistem;
b) S se construiasc graful de marcaje pentru reeaua P-temporizat
considernd funcionarea cu vitez maxim. Care este durata unui
ciclu de fabricaie?
stoc 2
d
2
=3
d
1
=2 stoc 1
masina 2
masina 1

109) Fie un sistem de fabricaie flexibil care prelucreaz dou tipuri de
piese A i B. Piesele sunt ncrcate n sistem din dou depozite de
intrare de capacitate infinit DI
A
, DI
B
i sunt prelucrate conform
fluxurilor de fabricaie din figura de mai jos cu urmtoarele
specificaii:
Piesele de tip A sunt prelucrate pe mainile M
1
, M
2
i M
4
, iar
piesele de tip B pe mainile M
1
, M
3
i M
5
; ncrcarea mainii M
1

se face automat;
Robotul R
1
ncrca maina M
2
cu piese de tip A i maina M
3
cu
piese de tip B;
Transferul pieselor de tip A de la maina M
2
n stocul A (de
capacitate 8) se face automat; piesele de tip B sunt transferate de
asemenea automat de la maina M
3
la maina M
5
.
Robotul R
2
este implicat n urmtoarele operaii de transfer:
ncarc cte 2 piese din stocul A pe maina M
4
; descarc cte 2
piese de pe maina M
4
ctre ieirea A a sistemului; descarc cte
o pies de pe maina M
5
n stocul B de capacitate 5.
Stocul B este golit automat cnd devine plin.
Mainile M
1
, M
3
i M
5
prelucreaz o singur pies la un moment
dat; maina M
2
poate prelucra 3 piese simultan iar maina M
4

poate prelucra 2 piese simultan;
Reele Petri
113
Duratele de prelucrare ale celor dou tipuri de piese pe maini
sunt indicate n figura, astfel maina M
1
prelucreaz o piesa de tip
A n 3 uniti de timp, iar o piesa de tip B n 2 uniti de timp;
durata de prelucrare a piesei A pe maina M
2
este de 7 uniti de
timp iar pe maina M
4
de 5 uniti de timp; durat de prelucrare a
piesei B pe maina M
3
este de 6 uniti de timp iar pe maina M
5

de 4 uniti de timp.
Se cere modelul RP temporizat pentru acest sistem de fabricaie.

A, B
M1
(1)
M2
(3)
M3
(1)
StocA
(8)
A
B
stocB
R1
R2
Iesire A
DI
B
DI
A
dA= 3
dB=2
dB=6
dB = 4
M5
(1)
dA= 7
dA= 5
M4
(2)
Iesire B

110) Activitatea de obinere a vizelor la consulatul X este organizat dup
urmtoarele reguli:
exist dou cozi , una pentru vize profesionale (C
1
), cealalt
pentru vize turistice (C
2
);
coada C
1
este deservit de un ghieu, iar coada C
2
de ctre trei
ghiee;
n cldirea consulatului se intr astfel: grupuri de cte 4
persoane pentru coada C
1
i grupuri de cte 12 persoane pentru
coada C
2
;
un grup intr n momentul n care toi cei din grupul anterior au
trecut pe la ghieu;
dac numai exist solicitani pentru coada C
1
atunci ghieul de
la coada C
1
deservete coada C
2
;
S se modeleze acest sistem prin intermediul unei reele Petri.
Reele Petri
114
111) Fie un sistem de fabricaie care prelucreaz dou tipuri de piese A i
B, preluate din dou stocuri de capaciti infinite DI
A
i DI
B
, ca n
figura de mai jos. Robotul R
1
descarc mainile M
1
i M
2
i ncarc
maina M
3
care asambleaz o piesa A i o piesa B, fr restricii de
ordine. Robotul R
2
descarc M
3
ntr-un buffer de capacitate 10, care se
golete automat cnd este plin. Fiecare main poate prelucra o pies
la un moment dat. Prelucrarea piesei A pe maina M
1
dureaz d
1
= 5
uniti de timp, prelucrarea piesei B pe maina M
2
dureaz d
2
= 6
uniti de timp, iar maina M
3
execut operaia de asamblare n d
3
= 4
uniti de timp. Se presupune c transportul pieselor de ctre roboi
necesit cte o unitate de timp.
S se modeleze acest sistem utiliznd reele Petri cu tranziii
temporizate.
R1
M1 (1)
R2
M2 (1)
M3 (1)
Buffer
(10)
Iesire sistem
DI
A
DI
B
d1 = 5
d2 = 6
d_as = 4

112) Fie un sistem de producie care prelucreaz dou tipuri de piese p
1
i
p
2
conform unui flux tehnologic specificat n figura de mai jos.
Maina M
1
prelucreaz alternativ piese de tip p
1
i p
2
, maina M
2

prelucreaz numai piese de tip p
1
iar maina M
3
prelucreaz numai
piese de tip p
2
. Piesele sunt ncrcate pe palete la intrarea n sistem,
din stocul S
1
i transferate ntre maini. Dup ce piesele prsesc staia
Reele Petri
115
de ieire I paletele sunt reciclate la intrarea sistemului. Exista 2 palete
disponibile pentru piesele de tip p
1
i 3 palete disponibile pentru
piesele de tip p
2
. Robotul R
1
efectueaz operaia de transfer a pieselor
de tip p
1
de pe maina M
1
n stocul S
2
de la intrarea mainii M
2
i a
pieselor de tip p
2
de pe maina M
1
n stocul S
3
de la intrarea mainii
M
3
. Robotul R
2
descarc mainile M
2
i M
3
ctre staia de ieire I.
Capacitatea de prelucrare pentru toate mainile este de o pies, iar
capacitatea de stocare pentru stocurile S
2
i S
3
este de 4 piese. Se
cunosc timpii de prelucrare pe fiecare maina: M
1
prelucreaz piesa p
1

n 4 uniti de timp i piesa p
2
n 5 uniti de timp; M
2
prelucreaz
piesa p
1
n 5 uniti de timp, iar M
3
prelucreaz piesa p
2
n 3 uniti de
timp. Timpii de ncrcare/descrcare pentru roboi sunt de o unitate de
timp.
S se modeleze cu reele Petri T temporizate sistemul de producie.
p1, p2, B
M2
(p1)
M3
(p2)
p1
p2
R1
R2
M1
(p1,p2)
I
p1, p2, B
S1
S3
S2

113) Fie sistemul de producie din figura urmtoare:
M1
M2
M3
Stoc2
Stoc1

Toate mainile pot avea pan. Dup reparaie mainile M
1
i M
2

continu piesa nceput, iar maina M
3
face excepie, revenind n
starea iniial. Piesa de pe M
3
se depoziteaz ntr-un stoc de rebuturi.
S se construiasc modelul Petri al acestui sistem n care s se
evidenieze numrul de rebuturi i numrul de defectri ale mainilor.
Reele Petri
116
114) S se modeleze cu RP T-temporizate sistemul de producie ilustrat n
figura de mai jos. S se construiasc graful de marcaje i s se
studieze comportamentul n timp al sistemului n regim staionar:
p2
p1
R1
p1, p2, p3
M1 I
p3
p1, p2
M2
M3
p1, p2, p3
p2, p3

Sistemul prelucreaz trei tipuri de piese p
1
, p
2
i p
3
n urmtoarele
fluxuri de fabricaie:
p
1
: M
1
- M
2
I (staia de ieire)
p
2
: M
1
-M
2
-M
3
-I
p
3
: M
1
-M
3
- I
Piesele sunt transportate pe paletele preluate din stocul de la intrarea
mainii M
1
. Exist cte 3 palete disponibile pentru fiecare tip de pies.
Acestea se recicleaz la intrare dup ce piesele prsesc staia de ieire
I. Transferul pieselor pe traseele M
1
-M
2
, M
1
-M
3
, M
2
-M
3
se face
automat. Robotul R
1
descarc mainile M
2
i M
3
la staia de ieire I,
durata transportului fiind de 2 uniti de timp. Timpii de prelucrare
pentru fiecare tip de pies sunt specificai n urmtorul tabel:
p
1
p
2
p
3

M
1
3 unitati de timp 4 u.t. 5 u.t.
M
2
8 u.t. 6 u.t. -
M
3
- 5 u.t. 3 u.t.

Reele Petri
117
115) Fie un sistem de producie alctuit din trei maini M
1
, M
2
i M
3
care
prelucreaz piesele p
1
, p
2
i p
3
conform fluxului tehnologic din figura
de mai jos. Sensurile sgeilor indic ordinea n care piesele sunt
prelucrate pe fiecare din cele trei maini. (Piesele de tip p
1
i p
2
sunt
prelucrate pe toate cele trei maini, iar piesa de tip p
3
este prelucrat
doar pe mainile M
1
i M
2
).
p2
p2
p1 p1
p3
M1
M3 M2
p3
p3
p1
p2
p2
p1

Se cer:
a) reeaua Petri P temporizat care modeleaz sistemul;
b) timpii la care piesele p
1
, p
2
i p
3
prsesc sistemul tiind ca
prioritatea de prelucrare a piesei p2 > prioritatea piesei p1 >
prioritatea piesei p3. Duratele de prelucrare pe maini pentru
fiecare tip de pies sunt specificate n tabelul de mai jos.

p
1
p
2
p
3

M
1
1 unitate de timp 1 u.t. 2 u.t.
M
2
1 u.t. 2 u.t. 1 u.t.
M
3
1 u.t. 1 u.t. -

116) La o piscin sosesc clieni n numr nelimitat. Acetia utilizeaz
piscina n felul urmtor: clientul ia un co (exist 5 couri
disponibile), intr n cabina (exist 3 cabine), se schimb, pune
lucrurile n co, elibereaz cabina i apoi intr n piscin. Dup ce iese
din piscin, clientul intr mai nti n cabin, se mbrac, elibereaz
cabina i coul i pleac. S se modeleze cu RP protocolul de utilizare
a piscinei i s se deduc invarianii reelei.

Reele Petri
118
117) S se modeleze cu RP temporizate sistemul de producie descris n
figura de mai jos :
AGV1
I
A
R
1
M1
M4
M2
M3
M5
p
A
I
B
p
B
R
2
AGV2
E
A
(p
A
)
E
B
(p
B
)

Sistemul prelucreaz dou tipuri de piese p
A
i p
B
preluate din
depozite de capacitate infinita I
A
i I
B
. Piesele de tip A sunt ncrcate
de ctre robotul R
1
pe maina M
1
sau pe maina M
2
, ncrcarea
fcndu-se prin alternan. Se presupune c maina M
1
este ncrcat
prima. Piesele de tip B sunt ncrcate de asemenea de ctre robotul R
1

pe maina M
4
. Dup prelucrare pe mainile M
1
respectiv M
2
, piesele
de tip A sunt transportate cu ajutorul cruciorului AGV
1
(automated
guided vehicle) la maina M
3
. Piesele de tip B sunt transportate de la
maina M
4
la maina M
5
cu ajutorul cruciorului AGV
2
, dup ce
operaia de prelucrare pe maina M
4
s-a efectuat. ncrcarea mainilor
M
3
i M
5
cu piese de tip A respectiv B se face de ctre robotul R
2
.
Dup prelucrarea pe mainile M
3
i M
5
piesele sunt depozitate n
buffere de capacitate infinit. Se presupune ca mainile pot prelucra o
singur pies la un moment dat, iar capacitatea de transport a
crucioarelor este de o pies. Se cunosc timpii de prelucrare pe
maini: pe M
1
de 2 uniti de timp (u.t.), pe M
2
de 3 u .t., pe M
4
de 4
u.t., pe M
3
de o unitate de timp i pe M
5
de 3 u.t. timp. ncrcarea
mainilor se face ntr-o unitate de timp. De asemenea transportul
efectuat de fiecare crucior dureaz o unitate de timp.
Reele Petri
119

118) S se construiasc modelul RP T-temporizate pentru sistemul de
producie descris n figura de mai jos.
M1 (2)
M2 (1)
M3 (1)
Stoc1 (10)
M2 (1)
(1)
Stoc2 (2)
Stoc3 (5)
d1 = 10
d2 = 4
d3 = 5
R

Stocul de intrare Stoc1 conine 10 palete disponibile pe care sunt
ncrcate piesele brute care intr n sistem n numr nelimitat.
Ansamblul pies paleta este transferat ctre maina M
1
, care poate
prelucra dou piese la un moment dat. Dup prelucrarea pe maina
M
1
, piesele sunt ncrcate alternativ pe cele dou maini M
2
, care pot
prelucra o singur piesa la un moment dat. Dup prelucrarea pe
mainile M
2
, piesele sunt depuse n stocul 2 de capacitate 3 iar paletele
sunt eliberate i aduse la intrarea sistemului n stocul 1. Robotul R
preia piesele din stocul 2 i le ncarc pe maina M
3
care are
capacitatea 1. Transferul pieselor de pe maina M
3
n stocul 3 (de
capacitate 5) se face automat, urmnd ca de aici piesele sa fie depuse
la ieirea sistemului n loturi de cte 3. Duratele de prelucrare pe cele
trei maini sunt specificate n figura.
Reele Petri
120
119) S se modeleze ca RP urmtoarea structur de celul flexibil (figura
de mai jos). Robotul R
1
ncarc mainile M
1
i M
2
dintr-un stoc de
capacitate infinit iar robotul R
2
descarc mainile respective ntr-un
buffer de capacitate 4. Cnd bufferul se umple el este golit automat.
Mainile M
1
i M
2
se pot defecta n timpul funcionrii, ceea ce
implic depozitarea piesei ca rebut ntr-un container de rebuturi. Se
presupune ca mainile prelucreaz o singur pies la un moment dat.
S se evidenieze totodat numrul de piese rebut.
R
1
M1 (1) M2 (1)
R
2
Rebuturi
Intrare infinita

120) S se modeleze cu RP sistemul de producie reprezentat n figura de
mai jos, tiind c intrarea sistemului este descris de o surs infinit
iar ieirea se face fr restricii. Piesele sunt ncrcate automat pe
maina M
1
care poate prelucra o singur pies la un moment dat.
Robotul R
1
descarc maina M
1
i ncarc bufferul (de capacitate 4) de
la intrarea mainii M
2
. Piesele depuse n buffer sunt preluate automat
de ctre maina M
2
. Capacitatea de prelucrare a mainii M
2
este de 2
piese. Dup prelucrarea pe maina M
2
, piesele sunt descrcate, pe
rnd, de pe maina M
2
i transferate la ieire.
M1 M2
R1
Iesire

Reele Petri
121
121) Se consider un proces de producie condus prin etichete. Acest
sistem este compus din dou posturi de producie nseriate. Fiecare
post de producie este compus la rndul su dintr-un sistem de
producie i un stoc de produse finite n aval. Piesele brute se gsesc n
stocul 0. Pentru ca o piesa din stocul i-1 s intre n sistemul de
producie i trebuie s poarte eticheta i a acestui post (i = 1,2). Cnd
prelucrarea ei este terminat ea este depus n stocul i, eticheta
rmnndu-i deocamdat ataat. Cnd o piesa este retras din stocul i
pentru a satisface o cerere din aval (de la un client exterior pentru
stocul 2, sau de la postul 2 - prin sosirea unei etichete a acestuia -
pentru stocul 1) se scoate de pe piesa eticheta i i se adaug eticheta
i+1 (respectiv eticheta sigur pentru stocul 2). O etichet i, detaat
de pe o pies, este ntoars la intrarea sistemului de producie i.
Reprezentai acest sistem de producie printr-o reea Petri
T-temporizat, cu urmtoarele ipoteze:
a) pentru fiecare post de producie i avem o poziie pentru piese n
sistemul de producie i i o poziie pentru piese n stocul i,
trecerea dintr-una n cealalt fcndu-se prin validarea unei
tranziii ce corespunde prelucrrii unei piese. O singur pies este
tratat la un moment dat;
b) sunt trei etichete pentru postul 1 i dou etichete pentru postul 2;
c) nu s-au fcut nc cereri de piese din aval de sistem iar n stocul 0
sunt 3 piese brute;
d) tratarea unei piese are o durata de 10 uniti de timp n sistemul de
producie 1 i 12 uniti de timp n sistemul de producie 2.
Fiecare bucl de ntoarcere a unei etichete de la ieirea la intrarea
unui sistem de producie are o durata de 1 unitate de timp. Toate
celelalte operaii au durat nul.
stoc 2
stoc 0 stoc 1
sistem de
productie
2
sistem de
productie
1
sosirea
unei
piese
satisfacerea
unei cereri

Reele Petri
122
122) S se modeleze prin intermediul reelelor Petri autonome urmtorul
sistem:

Nr total de palete = 10
WS
1
ST
1
M
1
WS
2
ST
2
M
2
cereri
pe masura ce sosesc semifabricate,
paletele goale din WS1 se incarca

Iniial toate paletele sunt la WS
1,
cu 5 deja incarcate cu semifabricate
n ST
1
.
Pe msur ce WS
2
primete cereri, le transmite ctre M
1
, care preia
semifabricatele de la ST
1
.
Fluxul tehnologic este urmtorul:
ST
1
-> M
1
-> M
2
-> ST
2
-> out -> ST
1

Transferul pieselor se realizeaz numai pe palete (nr total = 10).
Dac la WS
1
nu mai este nici o palet libera, WS
2
respinge cereri (fr
a le memora).
Pe msur ce paletele sunt eliberate n WS
2
, se ntorc n WS
1
i se
rencarc cu semifabricate.
123) Fie sistemul descris de fluxul tehnologic din figura de mai jos.
Sistemul prelucreaz dou tipuri de piese A i B preluate din stocuri
de capacitate infinit. Piesele de tip A sunt ncrcate pe palete de cte
2 poziii (capacitate 2 piese) iar piesele de tip B sunt ncrcate pe
palete de cte 4 poziii. Robotul R
1
ncarc paletele cu piese de ambele
tipuri n buffere corespunztoare, astfel: paletele cu piese de tip A sunt
ncrcate n bufferul BA de capacitate 3 (palete) iar paletele cu piese
de tip B sunt ncrcate n bufferul BB de capacitate 2 palete. Prin
urmare bufferul BA poate accepta maxim 6 piese A iar bufferul BB
poate accepta maxim 8 piese B. Robotul R
2
descarc cele dou buffere
i ncarc mainile M
1
i M
2
cu cte o piesa A respectiv cte o piesa B.
Mainile M
1
i M
2
pot prelucra o singur pies la un moment dat. n
momentul n care o palet devine liber (au fost preluate toate piesele
Reele Petri
123
de pe ea) ea este reciclat la intrarea sistemului n stocul
corespunztor. Dup prelucrarea pe mainile M
1
i respectiv M
2

piesele de tip A sunt depuse automat n bufferul B
1
(de capacitate 3
piese) iar piesele de tip B sunt depozitate automat n bufferul B
2
de
capacitate 4. Maina M
3
realizeaz operaia de asamblare a unei piese
A i a dou piese B n ordinea B+A+B. ncrcarea mainii M
3
se face
automat din bufferele B
1
i B
2
. Piesele asamblate sunt depuse ntr-un
stoc de capacitate 3 care se golete automat cnd se umple.
S se construiasc reeaua Petri a acestui sistem astfel nct ea s fie
mrginit.
M1 (1)
BA
M2 (1)
M3
R1
BB
B1
B2
B + A + B
FA
FB
R2

Reele Petri
124
124) Celula de fabricaie din figur prelucreaz dou tipuri de piese p
1
i
p
2
care se gsesc n numr nelimitat la intrarea n sistem. Piesele sunt
mai nti prelucrate alternativ pe maina M
1
(de capacitate 1), prima
dat executndu-se prelucrarea unei piese de tip p
1
. Dup terminarea
operaiei, maina M
1
este descrcat de ctre robotul R
1
care depune
piese de tip p
1
ntr-un depozit Dp
1
i piese de tip p
2
ntr-un depozit
Dp
2
. Cele dou depozite Dp
1
i Dp
2
au capacitate limitat i anume 5
i respectiv 6 poziii (locuri). Robotul R
2
ncarc maina M
2
cu piese
de tip p
1
din depozitul Dp
1
i ncarc maina M
3
cu piese de tip p
2
din
depozitul Dp
2
. Capacitatea mainii M
2
este de 2 piese, iar a mainii M
3

de o singur pies. Piesele prelucrate pe maina M
2
sunt descrcate de
ctre robotul R
2
la ieirea sistemului. n urma operaiei de prelucrare
pe maina M
3
piesele de tip p
2
sunt descrcate automat pe cruciorul
AGV care poate transporta cte 2 piese la ieirea sistemului.
S se construiasc modelul Petri temporizat al celulei, considernd c
fiecare operaie de prelucrare dureaz d
1
uniti de timp (pe fiecare
main) i fiecare operaie de transfer (ncrcare, descrcare,
transport) dureaz d
2
uniti de timp att pentru roboi ct i pentru
crucior.
P1
P2
R1
M1
M2
M3
Cap2
Cap1
Cap5 Cap6
Dp1 Dp2
R2
AGV

Reele Petri
125
125) Fie dou maini identice M
1
i M
2
de capacitate 1 care prelucreaz
piese de un singur tip. Piesele sunt preluate dintr-un stoc infinit ce
conine palete de cte 2 obiecte (cu 2 poziii) i ncrcate pe maini de
ctre robotul R
1
. ncrcarea mainilor M
1
i M
2
se face prin alternan,
prima main ncrcat fiind M
1
. Robotul R
2
preia piesele prelucrate
de pe mainile M
1
i M
2
i le ncarc pe maina M
3
. Capacitatea
mainii M
3
este de 2 piese.
S se modeleze cu RP acest sistem tiind c ieirea este fr restricii.
S se gseasc invarianii de marcaj.
R1
M1 (1)
M2 (1)
R2
M3 (2)

126) S se modeleze ca RP marginit i autonom urmtorul sistem:

S1
S2
S3
S4
B1
B2
Reele Petri
126
Serverul S1 proceseaz dou tipuri de joburi (A i B) n mod
alternativ: dou joburi A i unul B. Joburile de tip A sunt depuse n
B1, de capacitate 3, apoi trec pe serverul S2 i apoi pe S4. Joburile de
tip B sunt depuse n B2 de capacitate 2 i apoi n S3 i respectiv S4.
Severul S4 are capacitate 2 i joburile de tip B au totdeauna prioritate
la procesarea pe acesta: dac exist mcar un job B pe S3 (chiar i
numai n curs de procesare), joburile A vor trebui s atepte.
Sistemul astfel specificat este blocant ? Justificati raspunsul.

127
BIBLIOGRAFIE

1. Cassandras C., Lafortune S., - Introduction to Discrete Event
Systems, Kluwer Academic Publishers, Londra, septembrie 1999.
2. David R., Alla H.- Du Grafcet au Reseaux de Petri, Ed. Hermes,
Paris, 1997.
3. R. David and H. Alla - Discrete, Continuous, and Hybrid Petri Nets,
Springer, Heidelberg, ISBN: 978-3-540-22480-8, 2005
4. Stnescu A.M. & colectiv - Sisteme Dinamice cu Evenimente
Discrete, UPB, 1996

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