Buscar

Automatos Finitos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

16/04/2012 
1 
 
 
 
 Linguagens Formais e Autômatos 
Autômatos Finitos com 
Movimentos Vazios 
 
Profa. Lúcia Helena de Magalhães 
lucia.magalhaes@ifsudestemg.edu.br 
 
 
Autômatos Finitos com Movimentos 
Vazios 
  Autômatos Finitos com Movimentos Vazios ou 
Autômatos Finitos com Arcos- são arcos de 
transição em autômatos finitos não 
determinístico (AFN) que permitem a mudança 
de estado sem consumir símbolo da cadeia. 
 Assim como os autômatos não determinístico, a 
existência de arcos- não aumenta o poder 
computacional no reconhecimento de 
linguagens. 
 
Autômatos Finitos com Movimentos 
Vazios 
 
 Movimentos vazios constituem uma 
generalização dos modelos de máquinas 
não determinísticas. 
 Um movimento vazio é uma transição 
sem leitura de símbolo algum da fita. 
 Uma das vantagens e o fato de facilitar 
algumas construções e demonstrações 
relacionadas com os autômatos (Menezes, 
1997). 
Autômatos Finitos com Movimentos 
Vazios 
 Exemplo: 
 
 
 
 O autômato vai do estado p para o estado 
q sem ler um símbolo de entrada. 
 
Pode ser 
 
Autômatos Finitos com Movimentos 
Vazios 
 A diferença para os AFNDs é a função de 
transição. 
 Além dos símbolos, agora também está 
definida para ε (ausência de símbolo). 
Nenhum 
símbolo lido! 
 Quando um autômato transita em vazio, 
isso significa que ele muda de estado sem 
consultar a cadeia de entrada. 
 A diferença para os AFNDs é a função de 
transição. 
 Além dos símbolos, agora também está 
definida para ε (ausência de símbolo). 
 
Autômatos Finitos com Movimentos 
Vazios 
 
16/04/2012 
2 
Autômatos Finitos com Movimentos 
Vazios 
 Definição Formal 
 Um autômato finito com movimentos vazios 
(AF) e uma 5-upla (S, Q, , q0, F), onde: 
 S e um alfabeto finito. 
 Q e um conjunto finito de estados. 
  : É a função de transição. 
 Q0 Q e o estado inicial. 
 F  Q e o conjunto de estados de aceitação. 
Autômatos Finitos com Movimentos 
Vazios 
 Desenvolver um AF que aceite palavras 
na forma a*b*: 
 M = ({1, 2}, {a, b}, , 1, {2}) 
A função de transição 
pode ser representada 
através de um grafo 
ou de tabela. 
Autômatos Finitos com Movimentos 
Vazios 
 Funcionamento 
 O processamento de um AF e análogo ao 
de um AFN: 
◦ Adicionalmente, o processamento de uma 
transição para uma entrada vazia também é não 
determinística; 
◦ Assim, um AF ao processar uma entrada vazia 
assume simultaneamente os estados destino e 
origem; 
◦ Ou seja, a origem de um movimento vazio 
sempre é um caminho alternativo. 
Autômatos Finitos com Movimentos 
Vazios 
 Exemplo: 
◦ Suponha um autômato que reconhece a 
expressão que é a soma de um inteiro positivo 
ou negativo com um decimal positivo. 
. 
Autômatos Finitos com Movimentos 
Vazios 
 Testar o autômato com a expressão: -12+2.6 
. 
Autômatos Finitos com Movimentos 
Vazios 
 Pratique! 
◦ Mostre como o autômato finito não-
determinístico com transições vazias (AFND) 
D se comporta ao receber a palavra abc. 
◦ Para isso, mostre os conjuntos de estados 
atingidos após a leitura de cada símbolo da 
palavra. 
◦ Lembre-se de considerar as transições  antes 
e depois de fazer a transição para os símbolos 
da palavra. 
16/04/2012 
3 
Autômatos Finitos com Movimentos 
Vazios 
Exercício 
 Quais palavras são aceitas pelo autômato? 
 
Equivalência AFε / AFN 
 Exemplo 1: 
 Seja o seguinte autômato com arcos-: 
 
 
 
 O  é especificado pela tabela: 
  a b  
q0 {q0}  {q1} 
q1  {q1}  
Equivalência AFε / AFN 
 O AFN equivalente a este AF é obtido num 
processo análogo à obtenção do autômato 
determinístico, reescrevendo a tabela do  da 
seguinte forma: 
1. Elimine-se a coluna do , incluindo em cada 
estado que possui arco-  o destino do mesmo. 
2. Incluem-se os demais estados, seguindo o mesmo 
procedimento: 
 a b 
q0 {q0, q1}  
q1  {q1} 
Equivalência AFε / AFN 
 Seja o seguinte autômato com arcos-. 
 
 
 
 
 
 Este AFε M = {q0, q1, q2,q3,q4,q5,q6,q7}, {a, b, c}, , 
{q0}, {q4}) processa a linguagem L={w  {a, b, c)* e 
w termina com a, bb ou ccc}. O  é especificado pela 
tabela a seguir: 
 
Equivalência AFε / AFN 
 a b c  
q0 
{q0} {q0} 
 
{q0} 
 
{q0, q2, q5} 
 
q1 
{q4}    
q2 
 {q3}   
q3 
 {q4}   
q4 
    
q5 
  {q6}  
q6 
  {q7}  
q7 
  {q4}  
16/04/2012 
4 
Equivalência AFε / AFN 
 a b c 
q0 
{q0, q1, q2, q5, q4} {q0, q1, q2, q3, q5} {q0, q1, q2, q5, q6} 
 
q1 
{q4}   
q2 
 {q3}  
q3 
 {q4}  
q4 
   
q5 
  {q6} 
q6 
  {q7} 
q7 
  {q4} 
O AFN equivalente a este AF é obtido: 
 
Todo AFε pode ser 
simulado por um 
AFN 
Equivalência AFε / AFN 
Exercício 
◦ Criar AFN equivalente ao afε.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando