Documente Academic
Documente Profesional
Documente Cultură
Automate pushdown
Definiii
Limbajul recunoscut
Echivalena cu gramaticile de tip 2
Automate pushdown deterministe
Gramatici deterministe
Maini Turing
Definiie, tranziii
Limbajul acceptat
Model de calcul
Teza lui Church-Turing
Gh. Grigoras 1
Automate pushdown
M = (Q, , , , q0, Z0, F)
Q este mulimea (finit a) strilor,
q0 starea iniial, F submulimea strilor finale
alfabetul de intrare
alfabetul memoriei pushdown (stiv)
Z0 simbolul iniial din stiv
: Q ( ,- ) 2Q*
Gh. Grigoras 4
Echivalena definiiilor privind recunoaterea
Pentru orice automat pushdown M exist unul M astfel
ca N(M) = L(M)
Dac M = (Q, , , , q0, Z0, F), considerm
M = (Q{q, q0}, , ,Z0}, , q0, Z0, )
- Automatul M simuleaz M:
- din configuraia sa iniial trece n cea iniial a lui M
pstrnd Z0 n stiv;
- are n continuare aceleai micri ca ale lui M
- cnd M intr ntr-o stare final, M trece n starea q
care provoac golirea stivei
Gh. Grigoras 5
Echivalena definiiilor privind recunoaterea
Pentru orice automat pushdown M exist unul M astfel
ca L(M) = N(M)
Dac M = (Q, , , , q0, Z0, ), considerm
M = (Q{qf, q0}, , ,Z0}, , q0, Z0, {qf })
- Automatul M simuleaz M:
- din configuraia sa iniial trece n cea iniial a lui M
pstrnd Z0 n stiv;
- are n continuare aceleai micri ca ale lui M
- cnd M i golete stiva, M mai are n stiv Z0 i
trece n starea final qf
Gh. Grigoras 6
Exemple
Un automat pushdown ce recunoate limbajul {anbn|
n>=1}
Dac se citete a se introduce n stiv
Pentru fiecare b citit se scoate un a din stiv
Un automat pushdown ce recunoate limbajul
{wawR|w{0,1}*}
Fiecare 0 sau 1 citit se introduce n stiv
a la intrare produce pregtirea scoaterii a cte un simbol
din stiv dac el coincide cu cel din intrare
Un automat pushdown ce recunoate limbajul
{wwR|w{0,1}*}
?
Gh. Grigoras 7
Automate pushdawn vs. L2
Pentru orice gramatic G exist un automat
pushdown M astfel nct N(M) = L(G)
Fie G = (N, T, S, P)
Construim M = ({q}, T, NT, , q, S, ) unde:
(q, , A) = {(q, )| A P}
(q, a, a) = {(q, )}
(q, x, y) = n restul cazurilor
w L(G) S + w (q, w, S) + (q, , )
M simuleaz derivrile extrem stngi din G
Gh. Grigoras 8
Automate pushdawn vs. L2
Pentru orice automat pushdown M exist o gramatic G
astfel nct L(G) = N(M)
Fie M = (Q, , , , q0, Z0, )
Construim G = (N, , S, P) astfel:
N = {[q, A, p]| p, q Q, A } {S}
P conine toate regulile de forma:
S [q0, Z0, q], qQ
[q, A, qm+1] a[q1,B1,q2][q2,B2,q3+*qm,Bm,qm+1]
q, q1,q2,,qm+1Q, a {}, B1, B2, Bm astfel ca
(q1,B1B2Bm) (q, a, A)
[q, a, q1] a, q, q1Q, a {}, A astfel ca
(q1,) (q, a, A)
Se dovedete c [q, Z, p] +w (q, w, Z) + (p, , )
Gh. Grigoras 9
Automate pushdown deterministe
Automatul pushdown M = (Q, , , , q0, Z0, F)
este determinist dac funcia de tranziie
: Q ( {} ) 2Q* ndeplinete
condiiile:
1. |(q, a, Z)| 1, a {}, q Q, Z
2. Dac (q, , Z) atunci (q, a, Z) = , a
Gh. Grigoras 10
L2DET
L2DET = {L | M automat pushdown determinist astfel caL = L(M)}.
Gh. Grigoras 12
Maini Turing(Alan Turing 1936)
Control cu un numr finit de stri
O banda de intrare infinit n ambele pri
dar un numr finit de celule sunt nevide
capul de citire se poate mica n ambele
direcii
Pe banda de intrare se pot citi i scrie
simboluri
Gh. Grigoras 13
Cele 3 tipuri de automate:
au fiecare cte un numr finit de stri
Gh. Grigoras 14
Maini Turing - formal
M = ( Q, , , q0, F, )
Q este mulimea finit a strilor
q0 este starea iniial
F Q este mulimea strilor finale
este alfabetul de intrare
este alfabetul benzii ce include alfabetul de intrare i un
simbol special, blanc
: Q Q {L, R} este funcia de tranziie care
poate fi parial definit
Gh. Grigoras 16
Maini Turing acceptare
Fie M = ( Q, , , q0, F, ) o main Turing i w *
Se ncarc simbolurile lui w n nite celule consecutive pe
banda de intrare, restul celulelor fiind ncrcate cu simbolul
special blanc
Se poziioneaz controlul la primul simbol din w i la starea
iniial
Se produc tranziiile conform cu
Se oprete evoluia dac:
se ajunge ntr-o configuraie de blocaj
se ajunge ntr-o stare final caz n care spunem c M accept w
Gh. Grigoras 17
Clasa de limbaje acceptate de maini Turing: L0
Exemple
Gh. Grigoras 18
Maina Turing model de calcul
O configuraie a mainii definete:
Starea n care se afl
Simbolul curent
Cuvntul de pe band din stnga simbolului curent
Cuvntul de pe band din dreapta simbolului curent
M poate fi utilizat pentru recunoaterea limbajelor
sau pentru calculul funciilor
Model pentru calculul unei funcii f:Nk N
Se memoreaz codificat argumentele n1, n2,, nk
Se aplic tranziiile din configuraia iniial; dac maina se
oprete ntr-o stare final i banda conine f(n1, n2,, nk),
spunem c M calculeaz f
Gh. Grigoras 19
Modele echivalente
Maini Turing nedeterministe
Maini Turing cu mai multe benzi
Maini Turing cu o band i mai multe capete de citire a benzii
Maini Turing cu band cu 2 dimensiuni, infinit la dreapt i
n jos
Maini Turing cu acces aleatoriu
Gh. Grigoras 20
Funcii (parial) calculabile
O funcie este parial calculabil dac exist o
main Turing care o calculeaz i maina se
oprete pentru orice intrare din domeniul de
definiie al funciei
Gh. Grigoras 21
LBA Linear bounded automaton
O main Turing ce are banda de intrare limitat la
lungimea cuvntului de intrare
Clasa de limbaje acceptate: L1
Gh. Grigoras 22