Documente Academic
Documente Profesional
Documente Cultură
Automate Push-down
Vom introduce un nou tip de dispozitiv care s accepte limbajele I.D.C., numit
automat push-down.
Un automat push-down are, pe lng o band de intrare, i o stiv (o list LIFO).
ntr-o astfel de stiv, intrarea i ieirea unui simbol se face numai la capul stivei. Cnd un
simbol intr n stiv, simbolul care anterior a fost capul stivei devine al doilea, cel care a
fost al doilea devine al treilea .a.m.d. n mod similar, cnd un simbol este scos din stiv,
simbolul care anterior acestei scoateri era al doilea, ajunge n capul stivei, cel care era al
treilea devine al doilea .a.m.d.
O astfel de stiv se poate compara cu un teanc de farfurii n care se ridic sau se
pune o farfurie deasupra teancului.
Exemplul 3.1.1 S utilizm o stiv de "farfurii", cuplat cu un control finit pentru a
recunoate o mulime neregulat.
~ | w {0,1}
CONTROL
FINIT (Q)
M=({q1,q2},{0,1,c},{R,A,V},,q1,R, )
(q 2 ,0, A) {(q 2 , )}
(q 2 ,1, V) {(q 2 , )}
(q 2 , , R) {(q 2 , )}
Observaia 3.1.1 Automatul din Exemplul 3.1.2 este determinist pentru c are o singur
posibilitate de micare la fiecare pas.
Un astfel de automat, idiferent dac este determinist sau nedeterminist, se poate i
el reprezenta printr-o diagram de tranziie[23], similar cu cea pentru automatul finit, cu
excepia faptului ca una dintre etichetele unui arc ntre starea p i starea q, este de forma:
(a, A BC) dac
(q, BC) (p,a,A)
sau, folosind forma din [13]:
(a, A, BC)
dac
(q, BC) (p,a,A)
S considerm automatul push-down, definit printr-o diagram de tranziie, din figura
2.3.2, care recunoate cuvintele limbajului:
{anbn | n 0}.
0, Z0 AZ0
0, A AA
p
q
, Z0
Figura 3.2.2
1, A
r
p
q
s
r
p
q
configuraie
1, A
, Z0
Definiia 3.1.2 O
instantanee este o pereche (q, ) , unde q Q i * ,
unde cel mai din stnga simbol al lui este vrful stivei push-down, iar reprezint
coninutul stivei.
Dac a {} , , * , Z i (p, ) (q, a, Z) , atunci scriem:
a : (q,Z) M (p,) (Intrarea "a" trece automatul M din (q,Z) n (p,).)
*
Dac pentru fiecare a 1 ..., a n {} , q 1 ,..., q n 1 Q i irurile 1 ,..., n 1
, avem:
*
ai : (qi,i) M (qi+1,i+1) i 1, n , atunci scriem: a1 an : (q1,1) M (qi+1,i+1)
Similar, se poate folosi descrierea instantanee, constituit din tripletul q, aw, Z
q, aw, Z M (p,w,) dac (p, ) (q, a, Z) .
i atunci scriem:
Definiia 3.1.3 Limbajul acceptat prin stri finale de ctre automatul M este
L(M) {w w , (q0 , w, Z0 ) p, , , , p F}
*
Definiia 3.1.4 Limbajul acceptat prin stiv vid de ctre automatul M este
N(M) {w w *, (q0 , w, Z0 ) p, , , p Q}
*
Exemplul 3.1.3
S construim automatul push-down care accept limbajul {
~ | w {0,1}
ww
}.
M=({q1,q2},{0,1},{z0,A,B},,q1,Z0, )
(q 2 ,0, A) {(q 2 , )}
(q 2 ,1, B) {(q 2 , )}
(q1 , , Z 0 ) {(q1 , )}
(q 2 , , Z 0 ) {(q 2 , )}