Você está na página 1de 12

PDA Duas Pilhas

Oswaldo / Gilson
2 stack PDA
 Definição
 M=(Q, , , , q0, F)
 Q – Conjunto de Estados, - Alfabeto de
Entrada,  -Alfabeto da Pilha,  -Função de
Transição, q0 -Estado Inicial, F -Conjunto Final
de Estados.
 A função de transição mapeia:
 Q X (  {}) X (  {}) X (  {})
 Q X (  {}) X (  {})
2 stack PDA L={ ai bi ci | i>=0}
 Q ={ q0, q1, q2, q3} (q0, , z0, z0) =(q2, z0, z0)
(q0, a, , ) =(q0, A, )
  = {a, b, c}
(q0, b, A, ) =(q1, , A)
 ={A} (q1, b, A, ) =(q1, , A)
 F ={ q3 } (q1, c, z0, A) =(q2, z0, )
(q2, c, z0, A) =(q2, z0, )
(q2, , z0, z0 ) =(q3, z0, z0)

* Observe que a notação é


diferente da que usamos em
aula, no empilhamento.
 Verifique aabbcc, abc, abbc,aabc, abcc
a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
(q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
 

(q0, aabbcc, , )
a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
(q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
A 

(q0, aabbcc, , ) |- (q0, abbcc, A, )


a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
A (q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
A 

(q0, aabbcc, , ) |- (q0, abbcc, A, ) |- (q0, bbcc, AA, )


a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
(q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
A A

(q0, aabbcc, , ) |- (q0, abbcc, A, ) |- (q0, bbcc, AA, )


|- (q1, bcc, A, A)
a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
A (q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
 A

(q0, aabbcc, , ) |- (q0, abbcc, A, ) |- (q0, bbcc, AA, )


|- (q1, bcc, A, A) |- (q1, cc, , AA)
a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
(q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
 A

(q0, aabbcc, , ) |- (q0, abbcc, A, ) |- (q0, bbcc, AA, )


|- (q1, bcc, A, A) |- (q1, cc, , AA) |- (q2, c, , A)
a a b b c c

(q0, , , ) =(q2, , )
(q0, a, , ) =(q0, A, )
(q0, b, A, ) =(q1, , A)
(q1, b, A, ) =(q1, , A)
(q1, c, , A) =(q2, , )
(q2, c, , A) =(q2, , )
 

(q0, aabbcc, , ) |- (q0, abbcc, A, ) |- (q0, bbcc, AA, )


|- (q1, bcc, A, A) |- (q1, cc, , AA) |- (q2, c, , A)
|- (q2, , , )
2 stack PDA
 Construa um automato que leia a
linguagem:
 L={ ai bi ci di | i>=0}
2 stack PDA
 Construa um automaton que leia a
linguagem:
 L={ ai bi ci di | i>=0}
 Dicas
 Processa a – empilha A na pilha 1
 Processa b-desempilha A na pilha 1 – empilha B na pilha
2
 Processa c – desempilha B na pilha 2 – empilha C na
pilha 1
 Processa d desempilha C na pilha 1

Você também pode gostar