Buscar

Autômato com Pilha

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Autômato com pilha 
Larissa Fernandes 
Universidade do Estado do Rio Grande do Norte (UERN) – Curso de Ciência da 
Computação – Campus Universitário Central 
Av. Professor Antônio Campos, S/N – Bairro Costa e Silva – CEP 596000-000 – 
Mossoró – RN 
Abstract. ​Context-Free Languages (CFL) encompass a broader approach than                 
Regular Languages by properly addressing the issues of parenthesis and                   
program block balancing. Its algorithms are simple and have good efficiency.                     
This report describes the main characteristics of a Pushdown Automaton, a                     
CFL recognizer, in order to complement the seminar presented in the                     
Computer Theory course. 
Resumo. ​As Linguagens Livres de Contextos (LLC) compreendem uma                 
abordagem mais ampla do que as Linguagens Regulares tratando, de forma                     
apropriada, as questões de balanceamentos entre parênteses e blocos de                   
programas. Seus algoritmos são simples e possuem uma boa eficiência. Este                     
relatório descreve as principais características de um Autômato com Pilha, um                     
reconhecedor das LLC, de forma a complementar o seminário apresentado na                     
disciplina de Teoria da Computação. 
1. Introdução 
As Linguagens Livres de Contexto são geradas por uma gramática livre de contexto                         
(GLC) e são importantes para definir linguagens de programação, onde a maioria das                         
expressões aritméticas são geradas por uma GLC. 
Os Autômatos com Pilha são reconhecedores das Linguagens Livres de                   
Contexto, sendo os não-determinísticos mais usuais. Eles possuem uma memória                   
auxiliar, uma pilha de armazenamento infinito, para o processamento da entrada, isso                       
garante uma poder de reconhecimento estendido, comparado ao dos autômatos finitos. 
Pela definição de pilhas, sabemos que o último que entra é o primeiro que sai.                             
Assim, neste Autômato, ela é dividida em células que comportam apenas um símbolo                         
cada e sua leitura e gravação são feitas pelo topo. 
2. Definição Formal 
O Autômato com Pilha é um sétuplo M = (Q, Σ, Γ, ∆, Z, s, F) onde: 
Q: Conjunto finito dos estados do autômato; 
Σ: Alfabeto de entrada; 
Γ: Alfabeto da pilha; 
∆ ​⊆ ((Q × Σ*​ ​× Γ*) × (Q × Γ*​)), a relação finita de transição.; 
Z ∈ Γ: Símbolo inicial da pilha; 
s ∈ Q: Estado inicial do autômato; 
F ⊆ Q: Conjunto dos estados finais. 
O alfabeto da pilha Γ especifica os símbolos que podem ser armazenados na                         
pilha. Um desses símbolos, o Z, representa o conteúdo inicial da pilha sempre que o                             
autômato tem início e reconhece uma nova sentença. Os elemento deΓ são adicionados                           
ou removidos da pilha ao longo da operação. 
3. Composição 
3.1. Fita 
É o dispositivo de entrada que possui a informação que será processada e é dividida em                               
células. 
3.2. ​ ​Pilhas 
O Autômato é constituído de duas pilhas. Elas são as memórias auxiliares que podem                           
ser usadas tanto para leitura quanto para gravação. Uma pilha é dividida em células,                           
onde cada uma armazena um símbolo do alfabeto auxiliar que pode ser igual ao de                             
entrada. Sendo seu valor inicial vazio, não possui um tamanho fixo ou                       
máximo, e seu tamanho tende a ser igual ao tamanho da palavra armazenada. 
3.3. Unidade de Controle 
Reflete o estado corrente da máquina. Possui um número finito e predefinido de estados,                           
além de uma “Cabeça da Fita” (unidade de leitura que acessa uma célula da fita de cada                                 
e movimenta-se apenas para a direita), e uma “Cabeça da Pilha” (sendo uma para cada                             
pilha, é uma unidade de leitura e gravação que se move para cima ao gravar e para baixo                                   
ao ler um símbolo. A leitura exclui o símbolo lido). 
3.4. Função de Transição 
Comanda a leitura da fita, define o estado da máquina e a leitura e gravação das pilhas.                                 
É uma função que determina um novo estado e símbolo a ser gravado dependendo do                             
estado corrente, símbolo lido da fita e dos lidos em cada pilha. A função pode ser                               
indefinida para alguns argumento do conjunto de partida. 
O símbolo ε na leitura da fita ou de uma pilha, indica que não há leitura e nem                                   
movimento por parte do autômato. Enquanto que ε na gravação, indica que nenhuma                         
gravação e movimento estão sendo realizados. 
4. Processamento de um Autômato com Pilha 
Considerando uma palavra w como entrada, o processamento consiste na sucessiva                     
aplicação da função de transição para cada símbolo da palavra (da esquerda para a                           
direita), até que ocorra uma condição de parada. 
5. Condições de parada 
4.1. Estado Final 
O autômato assume um estado final e para. A palavra é aceita. 
   
4.2. Função Indefinida 
A função de transição é indefinida para o argumento e o autômato para. A palavra é                               
rejeitada. 
4.3. ​ ​Pilha vazia 
A pilha está vazia quando não existe nenhum símbolo de Γ. A palavra é aceita. 
5. Referências 
Morais, J. ​Autômatos com Pilha ​. Disponível em:             
<http://www2.unifap.br/furtado/files/2016/03/aula04_automatospilha.pdf>. Acesso:   
9 de Julho de 2018. 
Casillo, D. ​Teoria da Computação: Máquina com Pilhas e Autômato com duas                       
pilhas ​. Disponível em:     
<http://www2.ufersa.edu.br/portal/view/uploads/setores/166/arquivos/CienciaCompu
tacao/Maquina_com_Pilhas_e_Automatos_com_Pilhas.pdf>. Acesso: 9 de Julho de           
2018. 
Rangel, J. ​Linguagens livres de contexto e autômatos de pilha. ​Disponível em:                       
<http://www.inf.puc-rio.br/~inf1626/Apostila/lf6.pdf>. Acesso: 10 de Julho de 2018. 
Sousa, S. ​Teoria da Computação: Autómatos com pilha​. Disponível em:                   
<https://www.di.ubi.pt/~desousa/2012-2013/TC/pushdown.pdf>. Acesso: 10 de       
Julho de 2018. 
Departamento de Ciência de Computadores da FCUP. ​Autómatos de Pilha​. Disponível                     
em: <https://www.dcc.fc.up.pt/~nam/aulas/0102/mc/slides/slimc14.pdf>. Acesso: 10       
de Julho de 2018. 
Prado, S. ​Linguagens Livres de Contexto​. Disponível em:               
<http://wwwp.fc.unesp.br/~simonedp/zipados/TC03.pdf>. Acesso: 10 de Julho de           
2018.

Continue navegando