Beruflich Dokumente
Kultur Dokumente
17/12/2012
TC e Ling. Formais
Autmato Finito
Bons modelos para os computadores
porm com memria limitada
TC e Ling. Formais
Sensor frontal
Sensor traseiro
17/12/2012
TC e Ling. Formais
Diagrama de Estados
Atrs Ambos Nenhum Fechado Frente Aberto Nenhum
Sinal de entrada Nenhum Estado Fechado Aberto Fechado Fechado Frente Aberto Aberto Atrs Fechado Aberto Ambos Fechado Aberto
TC e Ling. Formais
17/12/2012
Porta Automtica
vantajoso pensar na porta como um autmato
Dois estados 1 bit de memria capaz de gravar em qual dos dois estados o controlador est
17/12/2012
TC e Ling. Formais
17/12/2012
TC e Ling. Formais
Autmato Finito M1
0 1 q1 q2 0,1 1 0 q3
17/12/2012
TC e Ling. Formais
Cont.
Figura um diagrama de estados
Trs estados: q1, q2, q3 Estado Inicial: q1 (seta) Estado final (aceitao): q2 (2 circ.) Transies: setas de um estado para outro
9
17/12/2012
TC e Ling. Formais
Cont.
Recebida uma cadeia, comea a processar a partir do estado inicial Produz com sada
cadeia aceita cadeia no aceita
10
17/12/2012
TC e Ling. Formais
Implementaes
Jflap
http://www.jflap.org/
Dynalab FSA
www.cs.montana.edu/~dynalab/fsa/fsa.html
Automaton Simulator
www.users.csbsju.edu/~cburch/proj/fasim/
www.belgarath.demon.co.uk/java/fsme.html
17/12/2012
TC e Ling. Formais
Definio Formal de um AF
Um autmato uma 5-tupla (Q, , , q0, F)
Q o conjunto finito de estados o alfabeto (conjunto finito de smbolos) a funo de transio Q x Q q0 o estado inicial F Q o conjunto de estados aceitveis
12
17/12/2012
TC e Ling. Formais
1 q2 q3 0,1 1 q2 q2 q2
TC e Ling. Formais
q1 q2 q3
17/12/2012
0 q1 q3 q2
Linguagem do Autmato M
L(M) = A
A o conjunto de todas as cadeias reconhecidas pelo AF M A a linguagem de M
M reconhece/aceita A
14
17/12/2012
TC e Ling. Formais
M aceita se houver uma seqncia de estados r0, r1, ..., r em Q tal que
r0 = q0 (ri, i+1) = ri+1 para i = 0, ..., -1 r F
15
17/12/2012
TC e Ling. Formais
Linguagem regular
Se e somente se um autmato finito a reconhece
16
17/12/2012
TC e Ling. Formais
Autmato
Pode aceitar vrias cadeias, mas s reconhece uma linguagem
Se aceitar nenhuma cadeia? Reconhece a linguagem vazia ()
17
17/12/2012
TC e Ling. Formais
1 1 0 q2 q3 0,1
Linguagem
q1
TC e Ling. Formais
Exerccio1
0 1 q1 q1 q2 q2 q1 q2
TC e Ling. Formais
Exerccio2
Dado o AF, defina-o formalmente Qual a linguagem que M3 reconhece?
0 1 q1 0
20
17/12/2012
1
q2
TC e Ling. Formais
Exerccio 3
Defina o AF M4 e descreva a linguagem reconhecida por ele
a q1 b a b
21
b a s a
17/12/2012
r1 a b r2
TC e Ling. Formais
q2
Descreva, em Exerccio 4 portugus, o que ele Construa um AF M5 tal que reconhece!! Q = {q0, q1, q2}
= {0, 1, 2, <RESET>} q0 = q0 F = {q0}
(qj, 0) = qj (qj, 1) = qk | k = j + 1 mod 3 (qj, 2) = qk | k = j + 2 mod 3 (qj, <RESET>) = q0
17/12/2012
22
TC e Ling. Formais
RespExer4
0,RESET
q0 1
1, RESET
0 q2
2, RESET 1
q1 0
cadeia
10<RESET>212<RESET>012
M aceita ??? L(M) = { | soma dos smbolos em mltiplo de 3, exceto pelo <RESET>, que reinicia o contador em 0}
23
17/12/2012
TC e Ling. Formais
Exerccio 5
Construa um autmato finito que reconhece L
= {0, 1} L(M) = { | 001 seja sub-cadeia de }
24
17/12/2012
TC e Ling. Formais
No-determinismo
At ento, apenas um caminho a seguir a cada evento
Ao ler o prximo smbolo, sabido o estado-destino
TC e Ling. Formais
No-determinismo
Diferenas visuais Autmato Finito Determinstico (sigla em ingls: DFA) tem apenas um arco de sada para cada smbolo; Autmato Finito No Determinstico (sigla em ingls: NFA) pode ter 0, 1 ou vrios Em um DFA, os rtulos dos arcos so smbolos do alfabeto; no NFA pode ser o
26
17/12/2012
TC e Ling. Formais
No-determinismo
0,1 1 q1 q2 0, q3 1 q4
0,1
27
17/12/2012
TC e Ling. Formais
0
q1 q1
1
q3 q2 q1
0
q3 q1
0,1
1
q4 q3 q2 q1
1
q4 q4 q3 q2 q1
0
q4 q4
0,1 1 q1 q2 0, q3 1
q3 q1
q4
28
17/12/2012
TC e Ling. Formais
29
17/12/2012
TC e Ling. Formais
30
17/12/2012
TC e Ling. Formais
TC e Ling. Formais
Exemplo de NFA
L(A) = { | haja um 1 na antepenltima posio
0,1 1 q1
32
0,1 q2
17/12/2012
0,1 q3 q4
TC e Ling. Formais
...
0 0
q000
0,1 1 q1
q2
0,1
q3
0,1
q4
q100
1
q010
q110
0 1 q101 1 q011 0 1 0
q001
0 1
q111
33
17/12/2012
TC e Ling. Formais
Exemplo de NFA
Qual a linguagem reconhecida pelo NFA?
0,1 1 q1
34
0,1, q2
0,1, q3 q4
17/12/2012
TC e Ling. Formais
NFA
Estado + (smbolo ) produz conjunto de estados
P(Q) = powerset de Q = { }
35
17/12/2012
TC e Ling. Formais
17/12/2012
TC e Ling. Formais
Exemplo
Q = {q1, q2, q3, q4} 0 = {0, 1} q1 {q1} q0 = q1 q2 {q3} q3 F = { q4} q4 {q4}
1
37 1 {q1,q2} {q4} {q4} {q3}
0,1
0,1 0, q2 q3
17/12/2012
1 q4
TC e Ling. Formais
q1
Computao de um NFA
Quase igual computao de um DFA M aceita se houver uma seqncia de estados r0, r1, ..., r em Q tal que
r0 = q0 ri+1 (ri, i+1), para i = 0, ..., -1
(ri, i+1) um conjunto, logo ri+1 deve pertencer ao conjunto
38
r F
17/12/2012
TC e Ling. Formais
0,1
Exerccios
1 q1 q2
0,1 q3
0,1 q4
Defina os NFAs
0 s z 0 x
39
17/12/2012
0 0 0
TC e Ling. Formais
TC e Ling. Formais
Idia de prova
Se um NFA reconhece uma linguagem, necessrio mostrar que h um DFA que tambm a reconhece equivalentes
41
17/12/2012
TC e Ling. Formais
42
17/12/2012
TC e Ling. Formais
TC e Ling. Formais
44
17/12/2012
TC e Ling. Formais
TC e Ling. Formais
TC e Ling. Formais
47
17/12/2012
TC e Ling. Formais
48
17/12/2012
TC e Ling. Formais
TC e Ling. Formais
NFA
TC e Ling. Formais
Exemplo
Converter o NFA abaixo para um DFA
Descrio formal do N1
N1 = ({1, 2, 3}, {a, b}, , 1, {1})
a 1 b a
51
3 a,b
17/12/2012
TC e Ling. Formais
cont. exemplo
Converso de N1 para D
Q = P({1, 2, 3})
Q = {, {1}, {2}, {3}, {1, 2}, {1,3}, {2, 3}, {1, 2, 3}}
a 1 b a
52
3 a,b
17/12/2012
TC e Ling. Formais
a 1 b a 2 3 a,b
cont. exemplo
Converso de N1 para D
q0 = E({1}) por ?
E({1}) = {1, 3}
como chegar em 1
TC e Ling. Formais
a 1 b a 2 3 a,b
cont. exemplo
Construir
54
17/12/2012
TC e Ling. Formais
a 1 b a 2 3 a,b
cont. exemplo
Converso de N1 para D
Construir
Em D, estado {2} vai para...
{2, 3} com entrada a { 3 } com entrada b
a 1 b a 2 3 a,b
cont. exemplo
Converso de N1 para D
Construir
Continuando...
56
17/12/2012
TC e Ling. Formais
a 1 b a 2 3 a,b
cont. exemplo
Converso de N1 para D
Situao semi-final
a,b b b {3} a {1,3} a b
17/12/2012
{1}
b b
{2} a {2,3}
b
57
a 1 b a 2 3 a,b
cont. exemplo
58
17/12/2012
Exerccio
Produza os DFAs equivalentes aos NFAs abaixo
0,1 1
q1 q2
0,1 0,
q3
1
q4
59
17/12/2012
TC e Ling. Formais
cont. exerccio
0,RESET 2 q0 1, RESET 1 2, RESET 2 1 q1 0 q2 0
0,1 1
q1 q2
0,1
0 0 1
q3
q4
60
17/12/2012
TC e Ling. Formais