Documente Academic
Documente Profesional
Documente Cultură
Curs 2
2013-14
LFAC (2013-14)
Curs 2
1 / 33
Curs 2
i de Proprietat nchidere pentru L3 Lema Bar-Hillel Automate nite deterministe Automate nite nedeterministe Automate nite cu -tranzit ii
LFAC (2013-14)
Curs 2
2 / 33
gramaticile G, G1 , G2 de tip 3 Fie L, L1 , L2 limbaje regulate: exista astfel ca L = L(G), L1 = L(G1 ) s i L2 = L(G2 ). Atunci, urmatoarele limbaje sunt de asemenea regulate:
1
L1 L2 L1 L2 L LR L1 L2 L1 \ L2
2 3
LFAC (2013-14)
Curs 2
3 / 33
Inchiderea la intersect ie
din: Gramatica G = (N1 N2 , T1 T2 , (S1 , S2 ), P ), unde P consta S1 P1 s (S1 , S2 ) , daca i S2 P2 A1 aA2 P1 s (A1 , B1 ) a(A2 , B2 ), daca i B1 aB2 P2 A1 a P1 s (A1 , A2 ) a, daca i A2 a P2 limbajul L1 L2 este de tip 3 s i genereaza
LFAC (2013-14)
Curs 2
4 / 33
LFAC (2013-14)
Curs 2
5 / 33
Lema Bar-Hillel
Curs 2
i de Proprietat nchidere pentru L3 Lema Bar-Hillel Automate nite deterministe Automate nite nedeterministe Automate nite cu -tranzit ii
LFAC (2013-14)
Curs 2
6 / 33
Lema Bar-Hillel
LFAC (2013-14)
Curs 2
7 / 33
Lema Bar-Hillel
Demonstrat ie
w = a1 a2 . . . an , n m S a1 A1 a1 a2 A2 . . . a1 a2 . . . ak Ak . . . a 1 a 2 . . . a k a k +1 . . . a s A k . . . a 1 a 2 . . . a k a k +1 . . . a s a s +1 . . . a n 1 a n Atunci: S a 1 a 2 . . . a k A k A k a k + 1 . . . a s A k s i A k a s + 1 . . . a n 1 a n Fie x = a1 a2 . . . ak , y = ak +1 . . . as s i z = a s +1 . . . a n 1 a n S xAk , Ak yAk s i A k z
LFAC (2013-14) Curs 2 8 / 33
Lema Bar-Hillel
Demonstrat ie
Fie x = a1 a2 . . . ak , y = ak +1 . . . as s i z = a s +1 . . . a n 1 a n S xAk Ak yAk s i A k z Pentru i = 0, xz L(G): S xAk xz Pentru i > 0, xy i z L(G): S xAk xyAk xyyAk . . . xyy . . . yAk xyy . . . yz = xy i z
LFAC (2013-14)
Curs 2
9 / 33
Curs 2
i de Proprietat nchidere pentru L3 Lema Bar-Hillel Automate nite deterministe Automate nite nedeterministe Automate nite cu -tranzit ii
LFAC (2013-14)
Curs 2
10 / 33
Automate nite
Mecanism de recunoas tere (acceptare) pentru limbaje Limbaje de tip 3 de stari Mult ime nita
LFAC (2013-14)
Curs 2
11 / 33
Automate nite
Denit ie 1 Un automat nit determinist este un 5-uplu A = (Q , , , q0 , F ), unde: Qs i sunt mult imi nite, nevide, numite mult imea starilor respectiv alfabetul de intrare q0 Q este starea init iala F Q este mult imea starilor nale funct este o funct ie , : Q Q, numita ia de tranzit ie
LFAC (2013-14)
Curs 2
12 / 33
LFAC (2013-14)
Curs 2
13 / 33
LFAC (2013-14)
Curs 2
14 / 33
Limbajul acceptat
: Q Q Extensia lui la cuvinte
1 2
(q , ) = q , q Q ; (q , ua) = ( (q , u ), a)), q Q , u , a .
Observat ii:
(q , a) = (q , a), q Q , a (q , uv ) = ( (q , u ), v ), q Q , u , v
LFAC (2013-14)
Curs 2
15 / 33
Limbajul acceptat
Denit ie 2 Limbajul acceptat (recunoscut) de automatul A = (Q , , , q0 , F ) este mult imea : (q0 , w ) F }. L(A) = {w |w , w este recunoscut de un automat A daca, dupa citirea Un cuvant n ntregime a cuvantului w , automatul (pornind din starea init iala q0 ) ajunge ntr-o stare nala. (q , a) = (q , a), q Q , a . Din acest motiv, va notata de asemenea cu . automate A s L(A) = L(A ) Doua i A sunt echivalente, daca
LFAC (2013-14) Curs 2 16 / 33
Exemple
L(A) = {an b m |n 0, m 1}
L(A) =?
L(A) =?
LFAC (2013-14) Curs 2 17 / 33
Exemple
Automate deterministe pentru: par de 0} L = {w {0, 1} |w cont ine un numar L = {w {0, 1} |w se termina cu 11}
LFAC (2013-14)
Curs 2
18 / 33
Curs 2
i de Proprietat nchidere pentru L3 Lema Bar-Hillel Automate nite deterministe Automate nite nedeterministe Automate nite cu -tranzit ii
LFAC (2013-14)
Curs 2
19 / 33
Exemple
LFAC (2013-14)
Curs 2
21 / 33
q S
(q , a).
(q , ) = {q }, q Q ; (q , ua) = ( (q , u ), a), q Q , u , a .
LFAC (2013-14)
Curs 2
22 / 33
q S
(q , a).
(q , ) = {q }, q Q ; (q , ua) = ( (q , u ), a), q Q , u , a .
Observat ii:
(q , a) = (q , a), q Q , a (q , uv ) = ( (q , u ), v ), q Q , u , v .
LFAC (2013-14)
Curs 2
22 / 33
Limbajul acceptat
Denit ie 4 Limbajul acceptat (recunoscut) de automatul nit nedeterminist A = (Q , , , q0 , F ) este mult imea : (q0 , w ) F = }. L(A) = {w |w ,
w este recunoscut de un automat A daca, dupa citirea Un cuvant n ntregime a cuvantului w , automatul (pornind din starea init iala ajunga q0 ) poate sa ntr-o stare nala.
LFAC (2013-14)
Curs 2
23 / 33
Determinism = Nedeterminism
Teorema 1 unul determinist A Pentru orice automat nedeterminist A, exista echivalent. A = (Q , , , q0 , F ) atunci A = (2Q , , , Q0 , F ) unde: Daca Q0 = {q0 } F = {S |S Q , S F = } (S , a) =
sS
(s, a) (= (S , a)), S 2Q
Pentru aplicat ii se construiesc doar starile accesibile din starea init iala
LFAC (2013-14) Curs 2 24 / 33
Exemplu
LFAC (2013-14)
Curs 2
25 / 33
Determinism = Nedeterminism
A = (Q , , , q0 , F ) atunci A = (2Q , , , Q0 , F ) unde: Daca Q0 = {q0 } F = {S |S Q , S F = } (S , a) = Au loc:
sS
(s, a) = (S , a)
LFAC (2013-14)
Curs 2
26 / 33
Determinism = Nedeterminism
A = (Q , , , q0 , F ) atunci A = (2Q , , , Q0 , F ) unde: Daca Q0 = {q0 } F = {S |S Q , S F = } (S , a) = Au loc: (S , w ) =
sS sS
(s, a) = (S , a)
(s, w ) = (S , w ), w
LFAC (2013-14)
Curs 2
26 / 33
Determinism = Nedeterminism
A = (Q , , , q0 , F ) atunci A = (2Q , , , Q0 , F ) unde: Daca Q0 = {q0 } F = {S |S Q , S F = } (S , a) = Au loc: (S , w ) =
sS sS
(s, a) = (S , a)
(s, w ) = (S , w ), w
(Q0 , w ) = ({q0 }, w ) = (q 0, w )
LFAC (2013-14)
Curs 2
26 / 33
Determinism = Nedeterminism
A = (Q , , , q0 , F ) atunci A = (2Q , , , Q0 , F ) unde: Daca Q0 = {q0 } F = {S |S Q , S F = } (S , a) = Au loc: (S , w ) =
sS sS
(s, a) = (S , a)
(s, w ) = (S , w ), w
Curs 2
i de Proprietat nchidere pentru L3 Lema Bar-Hillel Automate nite deterministe Automate nite nedeterministe Automate nite cu -tranzit ii
LFAC (2013-14)
Curs 2
27 / 33
Exemplu
LFAC (2013-14)
Curs 2
29 / 33
q Cl (q )
LFAC (2013-14)
Curs 2
30 / 33
Cl (q )
LFAC (2013-14)
Curs 2
30 / 33
Cl (q )
LFAC (2013-14)
Curs 2
30 / 33
Cl (q )
(q , ) = Cl (q ), q Q ;
LFAC (2013-14)
Curs 2
30 / 33
Cl (q )
(q , ) = Cl (q ), q Q ; (q , ua) = Cl ( ( (q , u ), a))), q Q , u , a .
LFAC (2013-14)
Curs 2
30 / 33
pentru In cazul automatelor cu - tranzit ii vom pastra notat ia (q , ) = (q , ) s extensie pentru ca, n general, i (q , a) = (q , a), a . (q , uv ) = ( (q , u ), v ), q Q , u , v
LFAC (2013-14)
Curs 2
31 / 33
Limbajul acceptat
Denit ie 6 Limbajul acceptat (recunoscut) de automatul cu -tranzit ii A = (Q , , , q0 , F ) este mult imea : (q0 , w ) F = }. L(A) = {w |w ,
w este recunoscut de un automat A daca, dupa citirea Un cuvant n ntregime a cuvantului w , automatul (pornind din starea init iala ajunga q0 ) poate sa ntr-o stare nala.
LFAC (2013-14)
Curs 2
32 / 33