Você está na página 1de 44

slide 1

Linguagens Formais e Automatos


Introduo
Faculdade Mauricio de Nassau
slide 2
Objetivos
Aps cursar a disciplina, o aluno dever ser capaz de
entender:
Autmatos finitos determinsticos e no
determinsticos
Expresses regulares
Gramticas Livre de Contexto
Automatos de Pilha
Maquina de Turing

slide 3
Avaliao
Uma prova

Listas de exerccios (opcionais valendo ponto)
+ trabalhos em grupo (seminrios ou projeto)
slide 4
INTRODUO
O comeo...
Viso Geral...
slide 5
Conceitos Iniciais
Computadores atuais mais rpidos e poderosos

Modelos matemticos

Autmatos Finitos

slide 6
Autmatos Finitos
Reconhecedor de palavras ou cadeia de caracteres

Bons modelos para computadores com capacidade de
memria reduzida

Fazem parte de vrios dispositivos eletro-mecnicos
do dia-a-dia
slide 7
Autmatos Finitos
Exemplo 1
Viso area de uma porta automtica
slide 8
Autmatos Finitos
Exemplo 1
O controlador passa de um estado para outro dependendo do
estmulo (entrada) que recebe:

O controlador da porta pode estar em 2 estados:
- aberto (significando porta aberta)
- fechado (significando porta fechada)
slide 9
Autmatos Finitos
Exemplo 1
Entradas: Existem 4 condies de entrada possveis

Frente: significando que uma pessoa est em p sobre o tapete da
frente;
Retaguarda: significando que uma pessoa est em p sobre o tapete
de
dentro;
Ambos: significando que existem pessoas sobre os 2 tapetes;
Nenhum: significando que ningum est sobre os tapetes.
slide 10
Autmatos Finitos
Exemplo 1
Entradas: Existem 4 condies de entrada possveis
slide 11
Autmatos Finitos
Exemplo 1
Tabela de Transio
slide 12
Autmatos Finitos
Exemplo 2
Interruptor
Estados: Ligado ou Desligado
slide 13
Autmatos Finitos
Exemplo 3
Palavra AMOR
Qualquer outra palavra deve ser descartada
slide 14
Autmatos Finitos
Exemplo 3
Tentativa de leitura da Palavra AMBIENTE
slide 15
Autmatos Finitos
Controladores para:

Lavadoras de loua/roupa

Termmetros eletrnicos

Relgios digitais

Calculadoras

Mquinas de venda automtica
slide 16
Um alfabeto E um conjunto finito (no-vazio)
de smbolos
Ex.: Alfabetos
E
1
= {0,1}
E
2
= {a, b, c, ., z}
Uma cadeia (string) em um alfabeto E uma
seqncia finita de smbolos deste alfabeto
Ex.: Cadeias
01001
abracadabra
Autmatos Finitos Determinsticos Cadeias e Linguagens
slide 17
Se w = w
1
w
2
.
w
n
uma cadeia sobre E, o
comprimento de w, denotado por |w|, n
A cadeia de comprimento 0, denominada
cadeia nula e representada por
Ex.: |abracadabra| = 11
Autmatos Finitos Determinsticos Cadeias e Linguagens
slide 18
Se u = u
1
u
2
.
u
n
e v = v
1
v
2
.
v
m
so cadeias no
alfabeto E, ento a concatenao de u com
v, denotada por uv, definida por:
uv = u
1
u
2
.
u
n
v
1
v
2
.
v
m

Ex.: u = abra e v = cadabra uv = abracadabra
Propriedades da concatenao
u = u = u
u(vw) = (uv)w
|uv| = |u| + |v|
Autmatos Finitos Determinsticos Cadeias e Linguagens
slide 19
A concatenao da mesma cadeia vrias vezes
definida por:
w
0
= , e
w
n+1
= w
n
w, para n > 0
Se w = w
1
w
2
.
w
n
uma cadeia no alfabeto E,
ento a reversa (inversa) de w, denotada por
w
R
, definida por w
R
= w
n
.
w
2
w
1

Observaes

R
=
(vw)
R
= w
R
v
R

Autmatos Finitos Determinsticos Concatenao
slide 20
Seja E um alfabeto. Ento:
E
0
= { }
E
1
= { w : |w| = 1 }
E
2
= { w : |w| = 2 }
E
n
= { w : |w| = n }

E
*
= E
0
E
1
. E
n
E
n+1
.
ou seja,
E
*
= { w : w uma cadeia em E}
Autmatos Finitos Determinsticos Linguagens
Smbolo, alfabeto, cadeia e linguagem
slide 21
Smbolo
Alfabeto
Cadeia Linguagem
item de
elemento de
elemento de
conjunto de
conjunto de
seqncia de
Reconhecedores
slide 22
slide 23
Autmatos Finitos


O AF uma mquina, reconhecedora de palavras ou cadeia
de caracteres, que sempre pra retornando uma resposta
sim (cadeia reconhecida) ou no (cadeia no conhecida)
Podem ser classificados em:
Autmatos Finitos Determinsticos (AFD)
Autmatos Finitos No-Determinsticos (AFND)
slide 24
Autmatos Finitos Determinsticos Definio Formal
Definio formal de um Autmato Finito Determinstico:

Um Autmato Finito Determinstico (AFD) M uma 5-upla:

M = (Q, E, o, q
0
, F), onde

Q: conjunto finito de estados do autmato;
E: alfabeto de smbolos de entrada;
o: funo programa ou funo de transio (parcial)
o: Q E Q. Significa dizer que permanecendo em um
estado e lendo um smbolo do alfabeto faz o autmato passar
para outro estado ou mesmo ficar no mesmo
q
0
: estado inicial (q
0
eQ)
F: conjunto de estados finais ou estados de aceitao
(F_Q)

slide 25
Exemplo:
Seja = {a, b, c, ..., z}. Sejam A e B as linguagens
sobre dadas por: A = {bom, mau} e B =
{garoto, garota}, ento:

A B = {bom, mau, garoto, garota}
A - B = {bomgaroto, bomgarota, maugaroto,
maugarota}
A* = {, bom, mau, bombom, bommau,
maubom, maumau, bombombom, ...}
Autmatos Finitos Determinsticos Linguagens
slide 26
Autmatos Finitos Determinsticos Representao Grfica
Representao Grfica
slide 27
Autmatos Finitos Determinsticos
Um autmato finito M
1
: (diagrama de estados)
M
1
tem 3 estados, q
1
, q
2
, q
3
;

M
1
inicia no estado q
1
;

M
1
tem um estado final, q
2
;

Os arcos que vo de um estado p/ outro
chamam-se transies.
slide 28
- O autmato finito M
1
recebe os smbolos de
entrada um por um;

- Depois de ler cada smbolo, M
1
move-se de
um estado para outro, de acordo com a
transio que possui aquele smbolo como
seu rtulo;

- Quando M
1
l o ultimo smbolo ele produz
uma sada:
reconhece se M
1
est no estado final
no-reconhece se M
1
no estiver.
Autmatos Finitos Determinsticos
slide 29
Exemplo: entrada 1101

1. Inicia no estado q
1
.
2. L 1, segue transio de q
1
p/ q
2
.

3. L 1, segue transio de q
2
p/ q
2
.

4. L 0, segue transio de q
2
p/ q
3
.

5. L 1, segue transio de q
3
p/ q
2
.

6. Pra c/ sada reconhece.

Autmatos Finitos Determinsticos
slide 30
Percebemos que :
- M
1
reconhece qualquer cadeia que
termine com 1 (vai p/ o estado final
q
2
toda vez que l 1);

- M
1
no reconhece cadeias como 0,
10, 101000.
Vamos aprender!
Testar: 1, 01, 11, 0101 (em M
1
)
Autmatos Finitos Determinsticos
slide 31
Exemplo: Autmato que reconhece a linguagem de nmeros
binrios com quantidade mpar de 1s.
M = (, Q, o, q
o
, F)
Q = { q
o
, q
1
}, = { 0, 1 }, F = { q
1
}
o 0 1
q
par
q
mpar
q
par
q
mpar
q
mpar
q
par
Autmatos Finitos Determinsticos
Funo de Transio
o (q
par
,0) = q
par
...
slide 32
Um Autmato Finito nunca entra em loop infinito

Novos smbolos da entrada so lidos a cada aplicao da
funo programa, o processo de reconhecimento de
qualquer cadeia pra de duas maneiras:

Aceitando ou;
rejeitando uma entrada.
Autmatos Finitos Determinsticos
slide 33
Definir um AF engloba definir
Um conjunto finito de estados;

Um alfabeto de entrada que indica os smbolos de
entrada permitidos;

Um conjunto de regras de movimento que indicam
como ir de um estado p/ outro, dependendo do
smbolo de entrada;

Um estado escolhido como estado inicial;

Um conjunto de estados escolhidos como estados
finais (de reconhecimento);
Autmatos Finitos Determinsticos
Prove que a seguinte linguagem regular exibindo
um autmato que a reconhea:

Qualquer cadeia que termine com um a.

slide 34
Autmatos Finitos Determinsticos Praticando...
w
n
, onde n > 0 o nmero de vezes que a palavra
repetida.
w
3
= ?


(01) = ?
slide 35
Autmatos Finitos Determinsticos Praticando...
Prove que a seguinte linguagem regular exibindo
um autmato que a reconhea:

Conjunto de todas as palavras que contm 101 como
subcadeia.

slide 36
Autmatos Finitos Determinsticos Praticando...
Prove que a seguinte linguagem regular exibindo
um autmato que a reconhea:

{w | w possui ccc como subpalavra}
slide 37
Autmatos Finitos Determinsticos Praticando...
Autmatos Finitos Determinsticos Praticando...
Prove que a seguinte linguagem regular exibindo
um autmato que a reconhea:

{w | w comea e termina por a e possui bb como subpalavra}
slide 38
Autmatos Finitos Determinsticos Praticando...
slide 39
0 1
q
0
q
1
q
2

q
1
q
3
q
2

q
2
q
1
q
3

q
3
q
3
q
3

Diga a seqncia 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:

slide 40
Construir um AFD que reconhece a linguagem a*.

M = (, Q, o, q
o
, F)
Q = { q
o
}, = { a }, F = { q
0
}

o a
q
o
q
o
q
o
a
Autmatos Finitos Determinsticos Praticando...
Funo de Transio
slide 41
Construir um AFD que reconhece a linguagem aa*

M = (, Q, o, q
o
, F)
Q = { q
o
, q
1
}, = { a }, F = { q
1
}
o a
q
o
q
1
q
1
q
1
q
o
q
1
a
a
Autmatos Finitos Determinsticos Praticando...
Funo de Transio
slide 42
Construir um AFD que reconhece a linguagem (abb*a)*


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

Q = { q
o
, q
1
, q
2
}, = { a, b }, F = { q
0
}
q
o
q
1
a
b
q
2
b
a
o a b
q
o
q
1
q
1
q
rej
q
rej
q
2
q
2
q
0
q
2
Autmatos Finitos Determinsticos Praticando...
Funo de Transio
Autmatos Finitos Determinsticos Praticando...
Prove que a seguinte linguagem regular exibindo
um autmato que a reconhea:

Conjunto de todas as palavras que no contm 101
como subcadeia.
slide 43
Referncias
Material baseado nas apresentaes criados
originalmente pelo professor Eduardo Oliveira.


Introduo Teoria da Computao. Professor
Wilson Gallindo. UFRPE.
Introduction to Automata Theory, Languages and
Computation. Jeffrey Ullman [et.al.]. Person
Education. 2 Edio.
slide 44

Você também pode gostar