Buscar

automato-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 27 páginas

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 6, do total de 27 páginas

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 9, do total de 27 páginas

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

Prévia do material em texto

Linguagens Livres do Contexto – Autômato com
Pilha
Linguagens Formais, Autômatos e Computabilidade
Filipe Saraiva
Filipe Saraiva | UFPA | 1 / 27
Conteúdo
Introdução
Autômato com Pilha
Exemplos
Conclusões
Filipe Saraiva | UFPA | 2 / 27
Conteúdo
Introdução
Autômato com Pilha
Exemplos
Conclusões
Filipe Saraiva | UFPA | 3 / 27
Introdução
Nesta unidade serão desenvolvidos os formalismos relacionados com
o reconhecedor de Linguagens Livres do Contexto, o Autômato com
Pilha (AP).
Linguagens Livres do Contexto permitem produções menos restritas
que as Linguagens Regulares (p. ex., com balanceamento). Portanto,
precisamos de reconhecedores específicos para essas linguagens.
Filipe Saraiva | UFPA | 4 / 27
Introdução
O Autômato com Pilha utiliza uma estrutura de dados do tipo Pilha que
serve como memória auxiliar do processamento de palavras.
Pilha é uma estrutura onde os elementos a serem processados são
exclusivamente alocados em um dos lados de um vetor ou lista (o que
chama-se topo). Tanto a leitura quanto a escrita em uma pilha ocorrem
apenas no elemento na extremidade desse lado.
Filipe Saraiva | UFPA | 5 / 27
Introdução
Ao contrário dos Autômatos Finitos, um Autômato com Pilha poderá ler
símbolos da fita (a palavra a ser processada) mas também ler e
escrever na pilha.
Filipe Saraiva | UFPA | 6 / 27
Conteúdo
Introdução
Autômato com Pilha
Exemplos
Conclusões
Filipe Saraiva | UFPA | 7 / 27
Autômato com Pilha
Existem 2 definições amplamente aceitas de Autômato com Pilha:
Filipe Saraiva | UFPA | 8 / 27
Autômato com Pilha
Definição 1
O Valor Inicial da Pilha é vazio e o autômato para aceitando a palavra
ao atingir um Estado Final.
Filipe Saraiva | UFPA | 9 / 27
Autômato com Pilha
Definição 2
A Pilha contém, inicialmente, um símbolo especial chamado símbolo
inicial da Pilha. Não há estados finais, o autômato aceita a palavra
quando a Pilha estiver vazia.
Filipe Saraiva | UFPA | 10 / 27
Autômato com Pilha
As definições apresentadas são equivalentes. Para nossos estudos,
utilizaremos a Definição 1 (com estados finais).
Filipe Saraiva | UFPA | 11 / 27
Autômato com Pilha
Um Autômato com Pilha tem, além dos componentes de um Autômato
Finito, uma estrutura do tipo Pilha que serve para ler e escrever
símbolos.
Filipe Saraiva | UFPA | 12 / 27
Autômato com Pilha
Autômato com Pilha
Um AP que nomearemos M é uma 6-upla ordenada do tipo:
M = (
∑
, Q, δ, q0, F, V)
Onde:
• ∑ – alfabeto de símbolos de entrada;
• Q – conjunto de estados possíveis do autômato;
• δ – função de transição ou programa;
• q0 – estado inicial, subconjunto de Q;
• F – subconjunto de Q com os estados finais;
• V – alfabeto auxiliar ou alfabeto da pilha.
Filipe Saraiva | UFPA | 13 / 27
Autômato com Pilha
A Função de Transição δ de um AP tem 3 valores como argumento: o
primeiro é o estado origem; segundo o símbolo a ser lido da palavra
em processamento; o terceiro o símbolo a ser lido da pilha.
O resultado do processamento é uma tupla de 2 elementos: o primeiro
é o estado resultante do processamento; o segundo informa se algum
caractere será escrito na Pilha.
δ(p, a, b) = {(q, b)}
Filipe Saraiva | UFPA | 14 / 27
Autômato com Pilha
δ(p, a, b) = {(q, b)}
No exemplo da expressão acima, parte-se do estado p lendo-se da
palavra o símbolo a e da pilha o símbolo b. O resultado é que o estado
atingido será o q e o símbolo b será escrito na pilha.
Filipe Saraiva | UFPA | 15 / 27
Autômato com Pilha
É possível que o AP não leia e nem escreva nada na pilha: nesse caso
o símbolo que indicará isso será o ε.
O símbolo ε também indica movimento vazio, a exemplo de um AFDNε.
Quando o símbolo de leitura for ?, significa que o AP realizará o teste
da pilha vazia ou toda palavra de entrada lida.
Filipe Saraiva | UFPA | 16 / 27
Autômato com Pilha
δ(p, a, b) = {(q, b)}
Tomando a expressão acima como exemplo, é comum representar as
transições de um AP da seguinte forma:
Filipe Saraiva | UFPA | 17 / 27
Autômato com Pilha
Após o processamento, um AP pode atingir 3 estados possíveis:
Aceita: algumas das linhas de processamento atingem um estado
final; a palavra é aceita pelo AP.
Rejeita: nenhuma linha de processamento atinge um estado final; a
palavra é rejeitada.
Loop: o AP fica processando indefinidamente a partir do estado inicial.
Filipe Saraiva | UFPA | 18 / 27
Conteúdo
Introdução
Autômato com Pilha
Exemplos
Conclusões
Filipe Saraiva | UFPA | 19 / 27
Exemplos – Autômato com Pilha
Vejamos nessa seção alguns exemplos de APs bem como o
processamento de palavras.
Filipe Saraiva | UFPA | 20 / 27
Exemplos – Autômato com Pilha
O Seguinte AP reconhece o duplo balanceamento entre a e b
M1 = ({a, b}, {q0, q1, qf }, δ, q0, {qf }, {B})
Função de Transição:
δ(q0, a, ε) = {(q0, B)}
δ(q0, b, B) = {(q1, ε)}
δ(q0, ?, ?) = {(qf , ε)}
δ(q1, b, B) = {(q1, ε)}
δ(q1, ?, ?) = {(qf , ε)}
Filipe Saraiva | UFPA | 21 / 27
Exemplos – Autômato com Pilha
Alguns exemplos de palavras sendo processadas em M1:
a:
δ(q0, a, ε) = {(q0, B)} – Pilha: B
FIM – RECUSADA
ab:
δ(q0, a, ε) = {(q0, B)} – Pilha: B
δ(q0, b, B) = {(q1, ε)} – Pilha: ε
δ(q1, ?, ?) = {(qf , ε)} – Pilha: ε
FIM – ACEITA
abab:
δ(q0, a, ε) = {(q0, B)} – Pilha: B
δ(q0, b, B) = {(q1, ε)} – Pilha: ε
FIM – RECUSADA
Filipe Saraiva | UFPA | 22 / 27
Exemplos – Autômato com Pilha
Este AP reconhece uma palavra e sua reversa.
M2 = ({a, b}, {q0, q1, qf }, δ, q0, {qf }, {a, b})
Função de Transição:
δ(q0, a, ε) = {(q0, a)}
δ(q0, b, ε) = {(q0, b}
δ(q0, ε, ε) = {(q1, ε)}
δ(q1, a, a) = {(q1, ε)}
δ(q1, b, b) = {(qf , ε)}
δ(q1, ?, ?) = {(qf , ε)}
Filipe Saraiva | UFPA | 23 / 27
Exemplos – Autômato com Pilha
Alguns exemplos de palavras sendo processadas em M2:
ab:
δ(q0, a, ε) = {(q0, a)} – Pilha: a
δ(q0, b, ε) = {(q0, b)} – Pilha: ab
FIM – RECUSADA
aa:
δ(q0, a, ε) = {(q0, a), (q1, a)} –
Pilha: a
δ(q1, a, a) = {(q1, ε), (qf , ε)} – Pilha:
ε
FIM – ACEITA
Filipe Saraiva | UFPA | 24 / 27
Conteúdo
Introdução
Autômato com Pilha
Exemplos
Conclusões
Filipe Saraiva | UFPA | 25 / 27
Conclusões
• Autômatos com Pilha são ferramentas voltadas para o
reconhecimento de linguagens livre de contexto;
• No Autômato com Pilha há uma estrutura de dados auxiliar do tipo
pilha, que permite a leitura e escrita de dados pelo autômato;
• Nesse autômato uma palavra pode ser aceita, recusada ou entrar
em loop;
• Para verificar se uma palavra é aceita, é necessário verificar se a
transição vazia que corresponde ao teste da pilha vazia é
possível.
Filipe Saraiva | UFPA | 26 / 27
Linguagens Livres do Contexto – Autômato com
Pilha
Linguagens Formais, Autômatos e Computabilidade
Filipe Saraiva
Filipe Saraiva | UFPA | 27 / 27
	Introdução
	Autômato com Pilha
	Exemplos
	Conclusões

Outros materiais