Sunteți pe pagina 1din 129

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....................................................................................60
Reele Petri....................................................................................................75
Breviar......................................................................................................75
Probleme rezolvate..................................................................................86
Bibliografie..................................................................................................129
4
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
5
Sisteme cu evenimente discrete
: Q Q.
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;
6
Sisteme cu evenimente discrete
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 N }
7
Sisteme cu evenimente discrete
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 N }
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.
8
Sisteme cu evenimente discrete
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

,
9
Sisteme cu evenimente discrete
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
10
B(t) = , server ocupat la momentul t
, server liber la momentul t

'

0
1
Sisteme cu evenimente discrete
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)
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
11
Sisteme cu evenimente discrete
(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.
12
Sisteme cu evenimente discrete

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.
13
Sisteme cu evenimente discrete
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 N, 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.
14
Sisteme cu evenimente discrete
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
).
15
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
}
16
Limbaje formale i automate
nchiderea iterativ (sau operatorul Kleene)
L = L*
L
*
=

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.. s w = 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 (a b), (a + b), a*, b* sunt ER
17
Limbaje formale i automate
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.
3. G
1
echivalent cu G
2
L(G
1
) = L(G
2
) si L
m
(G1) = L
m
(G
2
)
4.
18
Limbaje formale i automate
5. 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)
19
Limbaje formale i automate
Pentru un cuvnt de intrare s ( { })* i ,
( )
( ) ( )

s q q q q
G G
q s q s q
, ' , ' ' '
* *
" )] ), , ( ( [ ) , (



1
]
1


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.
20
{a | (q
i
, a)=q
j
} dac i j
{a + | (q
i
, a) = q
j
{} } dac i = j
Limbaje formale i automate
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

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

21
{a | (q
i
, a)=q
j
} dac i j
{a + | (q
i
, a) = q
j
{} } dac i = j
Limbaje formale i automate
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
22
{a | (q
i
, a)=q
j
} dac i j
{a + | (q
i
, a) = q
j
{} } dac i = j
Limbaje formale i automate
(f
1
, ) = {q
1
, f
0
}
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

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.

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
),
23
Limbaje formale i automate
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
24
Limbaje formale i automate
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.
25
Limbaje formale i automate
Exemplu de aplicare a operaiilor unare pe automate
Vom aplica cele patru tipuri de operaii unare pentru automatul din II
Figura I.3. 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 (II):
Figura I.4. Componenta accesibil.
26
Limbaje formale i automate
b) Componenta coaccesibil (automatul ce conine strile din care se
poate ajunge n stri marcate) a automatului iniial (II) nu va conine
strile q6 i q7, ele nesatisfcnd cerina.
Figura I.5. 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 I.6. Automatul trim.
27
Limbaje formale i automate
d) Complementul. Pasul 1 const n obinerea automatului trim, automat
prezentat n II. Pasul
Figura I.7. Introducerea strii complementare q
d
.
Figura I.8. Complementul automatului iniial.
28
Limbaje formale i automate
Opera ii 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
).
29
Limbaje formale i automate
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,) =
30
Limbaje formale i automate
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.
Pentru intrarea nul (echivalent cu numrul 0), ieirea generat trebuie s
fie 0. Rezult, prin definiie, c (q
0
) = 0.
31
Limbaje formale i automate
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 I.9. Maina Moore.
1. 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
32
Limbaje formale i automate
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 (II):
Figura I.10. Main Mealy.
AFD echivalent cu maina Mealy din (II) este prezentat n (II):
Figura I.11. AFD corespunztor mainii Mealy.
33
Limbaje formale i automate
AFN pentru maina Mealy din (II) ar putea fi (II):
Figura I.12. 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.
34
Limbaje formale i automate
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 II.
={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 II n care se observ c n starea [q
0
, y] nu se ajunge niciodat i astfel
ea nu va aprea n automat.
35
Limbaje formale i automate
Figura I.13. 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).
36
Limbaje formale i automate
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
37
Limbaje formale i automate
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.
38
Limbaje formale i automate
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 II
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 I.14. Automatul corespunztor prolemei II.
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.
Rezolvare.
39
Limbaje formale i automate
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;
Cazul b)
40
Limbaje formale i automate
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.
41
Limbaje formale i automate
Figura I.15. Rezolvarea problemei II.
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).
42
Limbaje formale i automate
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.
43

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
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 I.16. Solua problemei II.
44
Limbaje formale i automate
1. q
0
- cuvntul vid
2. q
1
cuvintele ce se termina n a, nu conin aba sau bb
3. q
2
- cuvintele ce se termina n ab, nu contine aba sau bb
4. q
3
- cuvintele ce conin aba, nu conin bb i
5. se termin n a
6. q
4
- cuvintele ce contine bb
7. q
5
- cuvintele ce conin aba, nu contine bb i
8. se termin n b
9. 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:
45
Limbaje formale i automate
Figura I.17. Soluia problemei II.
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:
46
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
iar forma grafic este:
Figura I.18. Soluia problemei II.
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 I.19. Soluia problemei II.
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
47
Limbaje formale i automate
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
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:
48
Limbaje formale i automate
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}
49
Limbaje formale i automate
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}
50
Limbaje formale i automate
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.
51
a
b
a
a
Limbaje formale i automate
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
)
52
1
2
3
Limbaje formale i automate
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.
53
Limbaje formale i automate
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 I.20. 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 II:
54
Limbaje formale i automate
Figura I.21. Automatul minimal pentru problema II.
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 =

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
55
Limbaje formale i automate
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.
56
Limbaje formale i automate
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)
*
57
Limbaje formale i automate
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
=>
58
Limbaje formale i automate
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
=>
59
Limbaje formale i automate
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.
60
Limbaje formale i automate
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 :
61
Limbaje formale i automate
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
62
Limbaje formale i automate
40) S se proiecteze AFD echivalent cu urmtorul automat AFN-:
b

a,b
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
63
Limbaje formale i automate
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
64
Limbaje formale i automate
49) S se gseasc ER pentru automatul de mai jos:
0
q
0
0
1
1
1
0
q
1
q
3
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}.
65
Limbaje formale i automate
52) S se minimizeze automatul:
53) S se minimizeze automatul:
66
Limbaje formale i automate
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}.
67
Limbaje formale i automate
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}.
68
Limbaje formale i automate
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.
69
Limbaje formale i automate
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
73. din starea lact deschis orice tast acionat va nchide
lactul, pentru redeschidere fiind necesar introducerea unei
parole corecte;
74. introducerea n parol a simbolului C duce la blocarea
lactului;
75. deblocarea lactului se realizeaz n urma secvenei
CCA tastat din starea de blocaj;
76. 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.
1. 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); IV(0,9; 0,5) i V(0,1; 1,2).
70
Limbaje formale i automate
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
71
Limbaje formale i automate
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 tronson, altfel
72
Limbaje formale i automate
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.
1.
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
73
Limbaje formale i automate
filosof poate gndi sau poate mnca. Pentru a trece din starea
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).
M P 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.
75
Reele Petri
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:
86. Dou evenimente independente nu pot s aib loc simultan,
87. Fiecare tranziie reprezint un eveniment distinct.
3. Execuia unei tranziii T
j
se face n doi pai:
88. Din fiecare poziie de intrare a lui T
j
se retrage cte un
jeton de marcaj,
89. 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
76
Reele Petri
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
).
77
Reele Petri
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.
78
Reele Petri
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.
79
Reele Petri
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.
80
Reele Petri
Reele Petri sincronizate
1. O RP sincronizat este un triplet <R, E, Sinc> unde:
105. R - este o RP marcat;
106. E - este o mulime de evenimente externe;
107. 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.
3. Executarea unei tranziii se face
108. dac tranziia este valid;
109. atunci cnd se produce evenimentul asociat.
4.
5. 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:
110. S
k
este o secven de execuii din marcajul M, compus
numai din tranziii aparinnd lui T(x,M);
111. toate tranziiile din T(x,M) apar cel mult odat n S
k
;
112. toate secvenele S
h
obinute permutnd tranziiile lui S
k
sunt de asemenea secvene de execuie plecnd de la M;
113. 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.
81
Reele Petri
3. 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.
82
Reele Petri
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
.
83
Reele Petri
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;
84
Reele Petri
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
85
Reele Petri
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 I.22. Reele Petri autonome.
1. Rezolvare.
Graful de marcaje al reelei din figura a) este prezentat n III:
Figura I.23. 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 III. 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 i oricare tranziie
86
Reele Petri
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 I.24. 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 III
-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

,
_

M
5
=
T
3

,
_

M
6
=
T
1
, T
2
T
1
, T
2
, T
3
, T
4
Figura I.25. Graful de marcaje pentru cazul -b- i pondere 3.
1.
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.
87
M
0
==
M
1
==
M
4
==
M
7
==
M
8
==
M
9
==
M
11
==
M
12
==
Reele Petri
72) S se construiasc graful de marcaje i s se discute proprietile reelei
sincronizate din III. 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 I.26. Reea Petri sincronizat.
1.
2. 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

1
]
1
1
1
1
1
1
M
1
=
1
1
1
1
1
1
]
1

0
0
1
1
0
M
2
=
1
1
1
1
1
1
]
1

1
1
0
0
0
Figura I.27. 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 o
88
M
0
==
M
1
==
M
4
==
M
7
==
M
8
==
M
9
==
M
11
==
M
12
==
Reele Petri
tranziie nu va mai putea fi executat. Secvenele T
1
T
1
i T
2
T
2
nu sunt
posibile pentru reeaua sincronizat.
Figura I.28. Graful de marcaje pentru reeaua autonom.
89
M
0
==
M
1
==
M
2
=
M
3
=
M
4
==
M
5
=
M
6
=
M
7
==
M
8
==
M
9
==
M
10
=
M
11
==
M
12
==
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
5
T
5
T
5
Reele Petri
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
=
1
1
1
1
1
1
1
1
]
1

0
0
0
0
0
1
M
1
=
1
1
1
1
1
1
1
1
]
1

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

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

M
3
=
1
1
1
1
1
1
1
1
]
1

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

) 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
=
1
1
1
1
1
1
1
1
]
1

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 la
90
Reele Petri
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)
91
Reele Petri
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.
92
Reele Petri
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
depune n exterior. Aciunile realizate n cadrul celulei sunt: nceput
93
Reele Petri
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;
P
5
bufferul de intrare al mainii 2 ocupat;
94
Reele Petri
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
.
95
Reele Petri
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
96
Reele Petri
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.
97
Reele Petri
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
98
Reele Petri
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.
99
P
1
P
2
P
3
P
4
P
5
T
1
T
2
T
3
T
4
Reele Petri
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.
1.
2
P
1
P
4
P
2
T
1
11
T
2
T
4
T
3
P
3
2.
85) S se discute proprietile RP din figura de mai jos.
100
Reele Petri
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
101
Reele Petri
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]
1. 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
102
Reele Petri
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
103
Reele Petri
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
104
Reele Petri
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.
1.
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.
105
Reele Petri
T
1
T
2
3
3
d
3
=1
P
3
d
2
=1
d
1
=1
P
2
P
1
95) Construii graful de marcaje i precizai proprietile urmtoarei Reele
Petri:
96) Construii graful de marcaje i precizai proprietile urmtoarei Reele
Petri:
106
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
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.
107
Reele Petri
M1
d1=3
M2
d2=2
R1
A
B
B1
(4)
B2
(6)
R2
M3
1A+ 2B
d_as = 2
Iesire din sistem
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.
1. Indicaii:
a) Pentru fiecare task se vor considera urmtoarele poziii:
125. poziie a
i
care marcata semnifica taskul n ateptare;
126. poziie ex
i
care marcat semnific faptul c taskul i este n
execuie pentru o instruciune;
127. poziie p
i
care dac este marcat semnific faptul c s-a dat
controlul taskului i.
108
Reele Petri
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
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.
109
Reele Petri
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.
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
110
Reele Petri
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.
1.
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 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
111
Reele Petri
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.
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 ?
1.
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.
112
Reele Petri
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
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
113
Reele Petri
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;
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.
114
Reele Petri
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.
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
115
Reele Petri
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 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
116
Reele Petri
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.
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:
117
Reele Petri
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.
118
Reele Petri
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.
119
Reele Petri
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.
120
Reele Petri
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.
121
Reele Petri
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
122
Reele Petri
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.
1.
stoc 2
stoc 0 stoc 1
sistem de
productie
2
sistem de
productie
1
sosirea
unei
piese
satisfacerea
unei cereri
123
Reele Petri
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
124
Reele Petri
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
125
Reele Petri
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
126
Reele Petri
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
M 1 ( 1 )
M 2 ( 1 )
R2
M 3 ( 2 )
126) S se modeleze ca RP marginit i autonom urmtorul sistem:
127
S1
S2
S3
S4
B1
B2
Reele Petri
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.
128
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
129

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