Escolar Documentos
Profissional Documentos
Cultura Documentos
Computação
Linguagens Regulares
A nossa maior glória não reside no fato de nunca cairmos, mas sim
em levantarmo-nos sempre depois de cada queda.
Confúcioa
a
Filósofo chinês (551 a.C. – 479 a.C.).
Conteúdo
1 Introdução
3 Autômatos finitos
Introdução
Exemplo de autômato finito
Formalização
Exemplos
Hierarquia de Chomsky
Não computáveis
Gramáticas Máquinas
Linguagens regulares
Autômato finito
Sistema de estados finitos, Máquina de estados
finitos
Formalização de um reconhecedor (Análise Léxica)
0 1
q1 1 q2 0 q3
start
0,1
Linguagens regulares
Expressão regular
Formalismo de notação (Geração da expressão)
Reconhecedor de expressões (Identificação da
expressão)
Exemplos: $ ls *.pdf, psicodélic(a|o)
Linguagens regulares
Gramática regular
Formalismo axiomático
Gerador de gramática
Gramática com restrições nas regras de produção
Limitações
Por exemplo, não reconhece duplo balanceamento, ou seja,
expressões tipo an b n .
Exemplos de autômatos
Elevador
Máquina automática de venda
Semáforos
Alguns eletrodomésticos simples, e.g.: lavadora de roupas
empurrar
cartão
cartão
empurrar
Composição de sistemas
Composição de sistemas
Autômatos finitos
Tapete Tapete
frontal interno
Explicação:
Tapete Tapete
frontal interno
Tapete Tapete
frontal interno
Tapete Tapete
frontal interno
Tapete Tapete
frontal interno
Fechada Aberta
Interno,Ambos, Nenhum
Interno, Ambos,Frontal
Frontal
Nenhum
Interno,Ambos, Nenhum
Interno, Ambos,Frontal
Frontal
Nenhum
Entendendo o diagrama
p a q
Detalhes:
p estado anterior
a sı́mbolo lido
q estado novo
Função de transição: δ(p, a) = q
0 1
q1 1 q2 0 q3
start
0,1
0 1
q1 1 q2 0 q3
start
0,1
Notem que. . .
Definição formal
Definição
Um autômato finito determinı́stico (AFD) é uma 5-upla
(Q, Σ, δ, q0 , F ), em que:
1 Q é um conjunto finito de estados;
2 Σ é um conjunto finito chamado alfabeto;
3 δ : Q × Σ → Q é a função de transição;
4 q0 ∈ Q é o estado inicial; e
5 F ⊆ Q é o conjunto de estados de aceitação.
Exemplo
Importante!
Importante!
Importante!
Linguagem de M1
Exemplo 2
0 1
q1 1 q2
start
Definição
Um autômato finito determinı́stico (AFD) é uma 5-upla
(Q, Σ, δ, q0 , F ), em que
1 Q é um conjunto finito de estados;
2 Σ é um conjunto finito chamado alfabeto;
3 δ : Q × Σ → Q é a função de transição;
4 q0 ∈ Q é o estado inicial; e
5 F ⊆ Q é o conjunto de estados de aceitação.
q1 1 q2
start
q1 1 q2
start
0
1 Q = {q1, q2};
2 Σ = {0, 1};
0 1
3 δ : Q × Σ → Q é descrita como: q1 q1 q2
q2 q1 q2
4 q1 é o estado inicial; e
5 F = {q2}.
E.E.S. Ruiz (USP) LFA 39 / 47
Autômatos finitos Exemplos
Testando o exemplo 2
0 1
q1 1 q2
start
Testando o exemplo 2
0 1
q1 1 q2
start
Testando o exemplo 2
0 1
q1 1 q2
start
Exemplo 3: exercı́cio
0 1
q1 1 q2
start
Exemplo 3: exercı́cio
0 1
q1 1 q2
start
Exemplo 4
b a
a
r1 r2
b
b
start s a b
a
b
q1 q2
a
Exemplo M4
Exemplo M4
Exemplo M4
Exemplo 5
Exemplo 5
q1
1
1
0, < RESET >
2
2, < RESET >
start q0 q2 0
2
Exemplo 5
q1
1
1
0, < RESET >
2
2, < RESET >
start q0 q2 0
2