Professional Documents
Culture Documents
Um funo de transio,
A = {Q, , , q0, F}
Autmato Finito
Determinstico
Exemplo 1: Vamos especificar formalmente um
AFD que aceita todas e somente as strings de 0s e
1s que tm sequncia 01 em algum lugar na
string.
ou
(q0,1) = q0
(q0,0) = q2
(q2,0) = q2
(q2,1) = q1
(q1,0) = (q1,1) = q1
Autmatos Finitos
Determinsticos
Como representar um autmato?
1 0
Incio 0 1
q0 q2 q1 0,1
Tabela de Transies
0 1
q0 q2 q0
* q1 q1 q1
q2 q2 q1
Exemplo 2
Vamos projetar um AFD para aceitar a linguagem:
q0 q1
0 0 0 0
q2 q3
1
Autmatos Finitos
Determinsticos
Vale lembrar que um autmato finito sempre pra
Aceita a entrada w
Rejeita a entrada w
Exemplo 3
Defina um AFD para a seguinte linguagem:
q1 q2
q3
a b
a,b
Linguagem de um DFA
A linguagem de um DFA A = (Q,,,q0,F) denotada
por L(A) e definida por:
(q,) = q
(q,w) = ((q,x),a)
(q0,110101) = q0
A = {Q,,,q0,F}, onde:
0,1
0 1
q0 q1 q2
Exemplo 4
Formalmente, definimos o autmato como:
A = ({q0,q1,q2},{0,1},,q0,{q2})
0 1
q0 {q0,q1} {q0}
q1 {q2}
*q2
Exemplo 5
Defina um autmato finito no-determinstico que
reconhea strings que possuam aa ou bb como
substring.
Exemplo 6
Defina um autmato finito no-determinstico que
aceite strings que possuam aaa como sufixo.
Utilize o alfabeto = {a,b}.
A linguagem de um NFA
Como foi mostrado, um NFA aceita um string w se
possvel tomar qualquer sequncia de escolhas
do prximo estado, quanto so lidos os caracteres
de w, e ir do estado inicial para algum estado de
aceitao.
L(A) = {w | (q0,w) F }
A linguagem de um NFA
A funo de transio estendida () para um NFA
tambm pode ser definida por um induo, onde:
(q,) = {q}
k
(q,w) =
i=1
(pi,a)
A linguagem de um NFA
Vamos usar a funo estendida de um NFA para
descrever o processamento da entrada 00101 pelo
NFA do Exemplo 4.
(q0,) = {q0}
(q0,0) = (q0,0) = {q0,q1}
(q0,00) = (q0,0) (q1,0) = {q0,q1} = {q0,q1}
(q0,001) = (q0,1) (q1,1) = {q0} {q2} = {q0,q2}
(q0,0010) = (q0,0) (q2,0) = {q0,q1} = {q0,q1}
(q0,00101) = (q0,1) (q1,1) = {q0} {q2} = {q0,q2}
Exerccio NFA - 01
Defina um NFA que aceite a seguinte linguagem
L = {w | w ababn ou aban onde n 0}
Exerccio NFA - 02
Projete um NFA que reconhea o conjunto de string
abc, abd e aacd. Suponha que o alfabeto seja {a, b,
c, d}.
Exerccio NFA - 03
Defina um NFA para uma linguagem formada pelo
conjunto de strings sobre o alfabeto {0,1,,9} tal que
o dgito final tenha aparecido antes
Referncia
HOPCROFT, J., MOTWANI, R., ULLMAN, J.
Introduction to Automata Theory, Languages and
Computation. Addison Wesley; 3 edition, 2006.
Dvidas