Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Introdução
q
a a
p1 ... pn
1
2 Denição
Σ: alfabeto.
Q: conjunto nito de estados.
δ : função de transição (δ : Q × Σ → 2Q ).
q0 : estado inicial (q0 ∈ Q).
F : conjunto de estados nais (F ⊆ Q).
1
δ 0 1
0 q0 ∅ {q1 , q2 }
1 q1 {q2 } ∅
q0 q1 q2 1
q2 ∅ {q1 , q2 }
1
função de transição
M
3 Processamento de Palavras
1. r0 = q0
2. ri+1 ∈ δ(ri , ai+1 ), para i variando de 0 a n − 1, e
3. rn ∈ F
A função de transição dos AFNs, assim como nos AFDs, também pode ser
estendida para palavras. Neste caso, δ ∗ : Q × Σ∗ → 2Q é denida da seguinte forma:
2
{q}, se w = ε
δ ∗ (q, w) :=
{p | ∃ r ∈ δ(q, a) e p ∈ δ ∗ (r, w0 )}, se w = aw0 , a ∈ Σ
Para provar formalmente se uma palavra w é aceita por um AFN qualquer
M = (Σ, Q, δ, q0 , F ), deve ser vericado se δ ∗ (q0 , w) ∩ F 6= ∅. Ou seja, o conjunto de
estados onde é possível parar no autômato, após o processamento (leitura) da palavra w,
deve ter algum estado em comum com o conjunto de estados nais deste.
Caso se deseje provar que uma palavra é aceita por um AFN, basta provar por
um dos caminhos que ela é lida e que o estado corrente é nal. Para se provar que uma
palavra não é aceita por um AFN, deve-se provar por todos os caminhos possíveis para
leitura da palavra que nenhum deles leva a um estado nal.
Todo AFD é um AFN, mas nem todo AFN é um AFD. No entanto, como visto
no início, não há aumento no poder de reconhecimento de linguagens dos AFNs em relação
aos AFDs. De fato, para todo e qualquer AFN M = (Σ, Q, δ, q0 , F ), é possível encontrar
um AFD equivalente M 0 = (Σ, Q0 , δ 0 , {q0 }, F 0 ), onde: Q0 = 2Q e F 0 = {p ∈ Q0 | p∩F 6= ∅}.
a,b
q0 a q1
M1
3
Construção do AFD M2 :
b a
a
Q0 = {∅, {q0 }, {q1 }, {q0 , q1 }}
F 0 = {{q1 }, {q0 , q1 }} {q0 } {q0 , q1 }
b
0
δ a b
∅ ∅ ∅
{q0 } {q0 , q1 } {q0 } a,b
{q1 } ∅ ∅ {q1 } ∅
{q0 , q1 } {q0 , q1 } {q0 }
função de transição
a,b
M2
b a
a
A B
4
5 Exercícios
b b
a,b
b a,b a
q0 q1
q0 q1
a a
a
q0 q1
b a,b
a a,b a
q2 b
M1
q2 b
M2
M3
5
Referências