You are on page 1of 17

Linguagens Formais e

Autômatos

Professor
Eder de Oliveira

Contato
eder.analista.ti@gmail.com
1
Autômato Finito
• Autômatos Finitos
– O AF é uma máquina, reconhecedora de palavras
ou cadeia de caracteres, que sempre finaliza
retornando uma resposta:
• sim (cadeia reconhecida) ou não (cadeia não
conhecida)

– Podem ser classificados em:
• Autômatos Finitos Determinísticos (AFD)
• Autômatos Finitos Não-Determinísticos (AFND)
2
Autômatos Finitos Determinísticos
3
AFD – Representação Gráfica
• Um Autômato Finito Determinístico pode ser
por meio de um diagrama similar ao de
“máquinas de estados finitos”

• Serve como uma representação mais intuitiva
das transições
4
Autômatos Finitos Determinísticos –
Representação Gráfica
5
Autômatos Finitos Determinísticos
6
Autômatos Finitos Determinísticos
7
8
Autômatos Finitos Determinísticos
Autômatos Finitos Determinísticos
9
Autômatos Finitos Determinísticos
10
Exemplo: entrada 1101

1. Inicia no estado q1.
2. Lê 1, segue transição de q1 p/ q2.
3. Lê 1, segue transição de q2 p/ q2.
4. Lê 0, segue transição de q2 p/ q3.
5. Lê 1, segue transição de q3 p/ q2.
6. Pára c/ saída reconhece.
Autômatos Finitos Determinísticos
• Um Autômato Finito nunca entra em “loop”
infinito.

• Novos símbolos da entrada são lidos a cada
aplicação da função programa, o processo de
reconhecimento de qualquer cadeia pára de duas
maneiras:

– Aceitando ou;
– rejeitando uma entrada.
11
Autômatos Finitos Determinísticos
• Definir um AF engloba definir:

– Um conjunto finito de estados;

– Um alfabeto de entrada que indica os símbolos de entrada
permitidos;

– Um conjunto de regras de movimento que indicam como ir
de um estado p/ outro, dependendo do símbolo de entrada;

– Um estado escolhido como estado inicial;

– Um conjunto de estados escolhidos como estados finais (de
reconhecimento);
12
Exercício AFD
0) Responde o valor de ?

• w
3
= ?

• (011)
2
= ?

• w = (0011110101), então |w| = ?

• w
2
= (011), então ww
2
= ?

• |ww
2
|= ?
13
Exercício AFD
1) Um autômato que reconhece a linguagem de
números binários com quantidade ímpar de 1s.

M = (Σ, Q, , q
o
, F)

É dado: Q = { q
o
, q
1
}, Σ = { 0, 1 }, F = { q
1
}, pede-
se, a e o ADF.
14
Exercício AFD
2) Diga a sequência de estados pelos quais passa o AFD A
dado abaixo quando recebe como entrada a palavra 01010.
Diga se a palavra é aceita ou rejeitada e justifique.

A = ({q
0
, q
1
, q
2
, q
3
}, {0,1}, δA, q
0
, {q
3
}), onde δA é dado abaixo:






Monte o ADF.




15
Exercício AFD
3) Construir uma um AFD que reconhece a
linguagem a*.

M = (Σ, Q, , q
0
, F)

Q = { q
0,
}, Σ = { a }, F = { q
0
}





16
Exercício AFD
4) Construir uma um AFD que reconhece a
linguagem aa*.

M = (Σ, Q, , q
0
, F)

Q = { q
0,
q
1
}, Σ = { a }, F = { q
1
}





17