Sunteți pe pagina 1din 22

Curs 5- plan

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*

Modelul este nedeterminist


Gh. Grigoras 2
Configuraie, calcul
Fie M = (Q, , , , q0, Z0, F) un automat pushdown
Configuraie: (q, u, ) Q**, 1: top
Configuraie iniial: (q0, w, Z0) Q**
Micare(pas):
(q, aw, Z) (q, w, ) dac (q, ) (q, a, Z)
Calcul: nchiderea reflexiv i tranzitiv a relaiei
de mai sus:
C1 C2 Cn se scrie:
C1 + Cn dac n > 1, C1 * Cn dac n > 0
Gh. Grigoras 3
Limbajul recunoscut

Prin stri finale:


L(M) = {w *|(q0, w, Z0) *(q, , ), q F, *}

Prin golirea stivei:


N(M) = {w *|(q0, w, Z0) *(q, , ), q Q}

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

Un automat pushdown determinist poate avea


-tranziii

Gh. Grigoras 10
L2DET
L2DET = {L | M automat pushdown determinist astfel caL = L(M)}.

Clasa L2DET este o clas proprie a clasei L2

O gramatic G se zice c este determinist dac:


Orice producie este de forma A a, unde a este terminal iar
(NT)*
Pentru orice A N, dac A a , A b N atunci a b.

Pentru orice gramatic determinist G exist un automat


pushdown determinist M astfel ca L(G) = L(M)
Automatul construit dup algoritmul general este determinist
Gh. Grigoras 11
L2DET
Exemplu:

G = ({C, B, E}, {if, then, else, statement, boolean, endif}, C, P}, cu P:


C if B then C E
C statement
B boolean
E else C endif
E endif

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

diferena o d memoria i modul de organizre a


acesteia:
AFD, AFN, AP i APD au o memorie finit ce se citete de
la stnga la dreapta
AP i APD au n plus o memorie infinit de tip stiv
Mainile Turing au o memorie infinit ce se poate citi/scrie
n ambele sensuri, fra tergeri

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

Modelul definit este determinist; cel nedeterminist


este echivalent relativ la recunoaterea limbajelor
Gh. Grigoras 15
Maini Turing tranziii
Fie M = ( Q, , , q0, F, ) o main Turing
(q, a) = (q, b, L) : din starea q dac vizeaz o celul
cu coninutul a, trece n starea q, schimb coninutul
celulei n b i trece la celula din stnga
(q, a) = (q, b, R) : din starea q dac vizeaz o celul
cu coninutul a, trece n starea q, schimb coninutul
celulei n b i trece la celula din dreapta
(q, a) = : maina se oprete

Se presupune c din strile finale nu exist tranziii

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

Obs: Este posibil s nu se opreasc niciodat!

Gh. Grigoras 17
Clasa de limbaje acceptate de maini Turing: L0

Exemple

Acceptarea limbajului descris de a*b*


Acceptartea limbajului {anbncn|n > 0}
Acceptarea limbajului {ww| w{a, b}*}

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

Puterea de calcul este aceeai: toate modelele pot fi simulate


de o main determinist cu o band
Simularea eficient a unei maini nedeterministe cu una
determinist este nc o problem nerezolvat : P = NP?
www.claymath.org/millennium/P_vs_NP

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

O funcie este calculabil dac exist o main


Turing care o calculeaz i maina se oprete
pentru orice intrare

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

Teza lui Church Turing:


Orice calcul efectiv poate fi fcut cu o main
Turing
sau
Nu exist un model de calcul mai puternic dect
maina Turing

Gh. Grigoras 22

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

  • Lfac 4
    Lfac 4
    Document23 pagini
    Lfac 4
    Ionel Popescu
    Încă nu există evaluări
  • Lfac 4
    Lfac 4
    Document23 pagini
    Lfac 4
    Ionel Popescu
    Încă nu există evaluări
  • Lfac 7
    Lfac 7
    Document23 pagini
    Lfac 7
    Ionel Popescu
    Încă nu există evaluări
  • Lfac 8
    Lfac 8
    Document23 pagini
    Lfac 8
    Ionel Popescu
    Încă nu există evaluări