Documente Academic
Documente Profesional
Documente Cultură
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 reprezint numrul de simboluri care compun
cuvntul.
Cuvntul vid: (corespunde evenimentului nul sau, mai precis, unui eveniment
neobservabil).
Limbaj vid: (reprezint limbajul fr nici un cuvnt).
Evoluia oricrui SED poate fi reprezentat complet printr-o pereche de limbaje (L, Lm)
cu urmtoarele proprieti:
L i Lm sunt definite pe alfabetul de intrare;
L reprezint toate evoluiile posibile ale SED i se numete limbaj generat;
Lm reprezint toate evoluiile dorite ale SED i se numete limbaj marcat;
Lm L.
Operaii pe limbaje
Fie L, L1, L2, limbaje definite peste alfabetul . Cele mai utilizate operaii pe
limbaje sunt:
Reuniunea
L = L1 L2 ={ v| v L1 sau (i) v L2 }
Concatenarea
L = L1 L2 = {v | v = s t unde s L1 i t L2}
nchiderea iterativ (sau operatorul Kleene)
L = L*
*
L =
i 0
Li , Lk+1 = Lk L, L0 = {}
stare marcat;
a
tranziia sub evenimentul a.
Observaii :
1) Dac Qm , atunci automatul se numete acceptor.
2) Dou automate G1 si G2 sunt echivalente dac limbajele lor generate i respectiv
cele marcate, sunt egale:
G1 echivalent cu G2 L(G1) = L(G2) i Lm(G1) = Lm(G2)
(q, ) = G* (q)
Pentru un cuvnt de intrare s ( { })* si ,
(q, s ) G* [ ( (q, s), )] G *
q"
q ' q , s q '' q ',
Ca i n cazul AFN, pentru orice AFN- se poate construi un observator determinist.
Orice expresie regulat (ER) poate fi reprezentat printr-un AFN-, pe baza definiiei ER
i utiliznd urmtoarele operaii:
Fie r1 i r2 ER care pot fi exprimate prin AFN- , respectiv
M1 = (Q1, 1, q1, 1, {f1})
M2 = (Q2, 2 , q2, 2, {f2})
Atunci:
1. AFN- corespunztor reuniunii r = r1 + r2 este
q1 f1
M1
f
q0 1
f0
q f
0 0
q2 M2 f2
q f
2 2
q1 M1 f1 q2 M2 f2
f q ff
1 2 20
M= (Q1 Q2 , 1 2 , , q1 , {f2})
(q, a) = 1 (q , a) dac q Q1 \ {f1} si a 1 { }
(q, a) = 2 (q , a) dac qQ2 i a 2 { }
({f1}, ) = {q2}
q0 q1 M1 f1 f0
q f f
0 1 0
Teorem: Dac L este un limbaj acceptat de un automat finit determinist, atunci L poate
fi scris ca expresie regulat.
n
Observaie: Rij reprezint toate traiectoriile de la qi la qj fr s treac printr-o stare cu
un numr mai mare dect n.
Definiii:
R ijk R ikk 1 (R kkk1 )* R kkj1 R ijk 1
{a | (q i , a) q j } daca i j
R ij0
{a | (q i , a) q j { }daca i j
Definiie: Fie dou Automate Finite (Deterministe)
G1 =( Q1 , 1 , 1 , 1 , q01 ,Qm1)
G2 =( Q2 , 2 , 2 , 2 , q02 ,Qm2)
Se numete compunere sincron a automatelor G1 i G2 notat G1 || G2 un automat G
care are strile G =(Q , , , q0, Qm) astfel:
Q = Q1 Q2
= 1 2
q0 = (q01 , q02)
Qm = Qm1 Qm2
Definirea funciei de transfer :
() q = (q1 , q2) Q i
( 1(q1, ) , 2(q2, ) ) dac 1 2 i 1 (q1, ) i 2(q2, )
Nu se definete pentru orice caz care nu corespunde celor definite mai sus
1 0
1 2
0
1
q0 q1 q2
0
1 0
b
q2 q3 a,b
q0 q1
a a a
b
b
Figura 2.1
2. S se proiecteze AFD peste alfabetul = {a, b}care accept irurile a, bb i
aba.
Rezolvare.
AFD cerut este ilustrat n figura 2.2.
a
b a,b
q02 q10 q20 q30
b a a,b
a
q5 q40
a
b b
Figura 2.2
Probleme propuse
3. S se proiecteze un AFD peste alfabetul = {a, b}care accept cuvintele ce conin
minim 3a i nu se termina cu b.
5. Care este AFD care peste alfabetul = {a, b} accept irurile cu numr par de a
i nu conin subirul bb?
6. S se proiecteze AFD care accept peste alfabetul = {a, b, c} cuvinte cu numr
par de a, par de b i impar de c.
7. 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.
8. S se construiasc peste = {a, b} un AFD care accept irurile ce conin cel puin
2 a i nu conin subirul bb.
9. S se proiecteze un AFD care accept toate irurile peste alfabetul ={a, b} care
conin cel puin 3 a i cel mult 2 b.
10. S se proiecteze AFD care peste alfabetul = {a, b}accept cuvintele ce conin
subirul aba i nu conin subirul bb,.
11. S se construiasc AFD peste alfabetul = {1, 2, 3} care accept cuvintele n care
suma ultimelor dou simboluri este 4.
12. S se construiasc un AFD peste alfabetul = {a, b} care accept cuvinte ce conin
numr par de a i nu conin subirul abb .
13. S se proiecteze AFD peste alfabetul = {1, 2, 3}, care accept toate cuvintele care
se termin cu subirul 123.
14. Care este automatul care peste alfabetul = {a, b, c} recunoate cuvintele ce conin
numr par de a i numr impar de c?
15. Care este automatul care peste alfabetul = {a, b} recunoate cuvintele ce conin
numr impar de b i care nu conin subirul bba?
17. 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.
18. 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 corecta conduce ntr-o stare marcata n automat.
19. Ce iruri accepta automatele:
a) b b a,b
a a
b) b
a b
b a b
a a
?