You are on page 1of 14

LFA – Aula 5

Autômatos não determinísticos
Correção atividade

Autômatos Finitos não
determinísticos
Q1 Q2
0, 1
0
(q1, 1010)├ (q1, 010) ├
(q2, 10)
(q1, 10) ├ (q1, 0) ├
(q2, λ)
(q1, λ)
├ = “Resulta em”
Definição
 “Uma palavra é reconhecida se, e somente se,
existe uma computação que a consome e
termina em estado final.” (VIEIRA, N.J.)

 Diferença entre AFD e AFN
 Pode ter mais de um estado inicial
 A função de transição dá para cada par (estado,
símbolo) um conjunto de estados.
Observação importannte
 Para todo AFN há um AFD
 Então para que AFN?
 É mais fácil de construir um AFN
 É mais claro para correção (depois poderemos
transforma-lo em um AFD)
 O conceito não determinístico será usado em
outras áreas



Exemplo AFN -> AFD
 Sedo ∑ = {0, 1}, w reconhece strings com um
prefixo de um ou dois 0s e sufixo com um par
de dois ou mais 1s.
Equivalência de AFN e AFD
 Para construir um AFD a partir de um AFN
qualquer, devemos realizar os seguintes
passos:
 1° passo - Construir a tabela de transições do
AFN (φ)
Equivalência de AFN e AFD
2 ° passo - Construir a tabela de transições do
AFD (δ) através do produto cartesiano dos
estados de φ, incluindo como último
conjunto o vazio.
Equivalência de AFN e AFD
3 ° passo – Destacar todos os conjuntos que
contém como elemento estados finais
como novo estado final de δ
Equivalência de AFN e AFD
4 ° passo – Verficar a ocorrência de cada conjunto de δ em
relação a um símbolo e colocar como resultado o conjunto
correspondente que pertence a δ. Quando existir mais de
um elemento no conjunto a ocorrência passa a ser a
união das ocorrências de todas as transições:
Equivalência de AFN e AFD
4 ° passo –Eliminar as linhas que possuem transições somente
com saídas, ou seja, não existe nenhuma transição que
chega até ela (estado inacessível):
Equivalência de AFN e AFD
Definição – Função estendida
 A linguagem é reconhecida por um AFN M = (E, ∑,
δ, I, F)
 L(M) = {w ∈ ∑* | δ(I, w) ∩ F ≠ ∅}

δ({q1}, 1010) = δ(δ({q1}, 1), 010) =
δ({q1}, 010) = δ(δ({q1}, 0), 10) =
δ({q1,q2}, 10) = δ(δ({q1}, 1) ∪ δ({q2}, 1), 0) =
δ({q1} ∪ ∅, 0) =
δ({q1}, 0) = δ(δ({q1}, 0), λ) =
δ({q1,q2} , λ) = {q1,q2}



Exercícios
 Construa AFN para as seguintes linguagens
sobre { a, b, c}
 O conjunto de palavras com, no mínimo, 3
ocorrências de abc.
 O conjunto de palavras com, no mínimo, 3
ocorrências de a´s ou 3 ocorrências de b´s ou 3
ocorrências de c´s.
 O conjunto de palavras com sufixo abc e bca.
 O conjunto de palavras em que existem duas
ocorrências de abc com um número ímpar de
símbolos entre elas.