Académique Documents
Professionnel Documents
Culture Documents
Autmato de Pilha
Ricardo Oliveira ricardo@ffm.com.br
Autmatos de Pilha
Em Ingls: Pushdown Automata So como autmatos finitos no determinsticos que tm como componente extra uma pilha A pilha permite que algumas linguagens no regulares sejam reconhecidas O poder computacional dos autmatos de pilha igual ao das gramticas livres de contexto
Autmatos de Pilha
Um autmato de pilha (AP) pode escrever smbolos na pilha, e recuper-los depois A pilha til por causa de sua capacidade infinita de memria
Um AFN incapaz de reconhecer uma linguagem como {0n1n | n 0} por causa de sua capacidade de memria limitada Um AP pode armazenar todos os zers vistos em sua pilha
Autmatos de Pilha
Smbolos so lidos da entrada Cada 0 lido colocado na pilha Para cada 1 lido retirado um 0 da pilha Se ao fim da entrada a pilha estiver vazia, ela aceita Se a pilha se esvazia enquanto ainda h 1s ou se a pilha ainda contm 0s depois de lido o ltimo 1, ento a entrada rejeitada
A definio formal de um AP similar de um AFN, exceto pela pilha A mquina pode usar diferentes alfabetos para a entrada e para a pilha, ento so usadas variveis diferentes
onde = U {} e = U {}
A funo de transio pode levar a qualquer estado, escrevendo-se qualquer smbolo na pilha Assim, qualquer combinao de estado + smbolo na pilha possvel O retorno da funo membro de P(Q x ) A funo ento
Q x x P(Q x )
Q o conjunto de estados o alfabeto de entrada o alfabeto da pilha : Q x x P(Q x ) a funo de transio q0 o estado inicial F Q o conjunto de estados finais
Q = {q1, q2, q3, q4} = {0, 1} = {0, $} F = {q1, q4} e a tabela a seguir representa a funo de transio
Entrada Pilha q1 q2 q3 q4
0 0 $ 0
1 $ 0 $
{(q2,$)}
Tambm pode ser representado atravs de um diagrama As setas de transio tm a forma a, b c, onde:
a o smbolo lido da entrada b o smbolo lido da pilha c o smbolo colocado na pilha Se a = , nenhum smbolo lido da entrada Se b = , nenhum smbolo retirado da pilha Se c = , nenhum smbolo colocado na pilha
No h um mecanismo explcito para verificar que a pilha est vazia Este efeito conseguido colocando-se logo no incio o smbolo $ na pilha Se este smbolo encontrado novamente, sabe-se que a pilha est efetivamente vazia