Você está na página 1de 24

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Aula 04
Mquinas de Estado Finito
(Autmatos Finitos Determinsticos)
Fontes principais:
- Newton Vieira. Introduo aos Fundamentos da Computao Linguagens e
Mquinas. Pioneira Thomson Learning, 2006;
- Thomas A. Sudkamp. Languages and Machines. 3rd edition. Pearson, 2006

Prof. Andr Alves Nogueira, MSc.

2015

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Exemplo de Sistema de Estados Finitos


Um homem, um leo, um coelho e um repolho devem
atravessar um rio usando uma canoa
Restries:
o homem deve transportar no mximo um dos trs de
cada vez de uma margem outra;
o leo no pode ficar na mesma margem que o coelho
sem a presena do homem;
o coelho no pode ficar com o repolho sem a presena
do homem
possvel executar a travessia de modo que o coelho nem o
repolho sejam comidos?
2

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Exemplo de Sistema de Estados Finitos


Representao do exemplo como um diagrama de estados:
um grafo dirigido que modela o espao de estados (vrtices) e
transies (arestas), com estados inicial e final destacados
estados:
cada estado representa o conjunto dos que esto na margem
esquerda (o complemento do conjunto est na margem direita)
supe-se que no incio todos esto na margem esquerda
h representa homem, l representa leo, etc.
transies:
se existe uma aresta com rtulo a do estado 1 para o estado 2 ,
diz-se que h uma transio de 1 para 2 sob a
s representa o homem atravessa sozinho; l representa o homem
atravessa levando o leo; c, levando o coelho; etc.
3

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Exemplo de Sistema de Estados Finitos


Representao do exemplo como um diagrama de estados:

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Exemplo de Sistema de Estados Finitos


Uma sequncia de movimentaes de uma margem outra
pode ser representada por uma palavra sobre {s, l, c, r}*
Um problema modelado desta maneira pode ser visto como:
encontrar uma palavra que represente uma sequncia de
transies que leve de um estado inicial a um estado
final
no exemplo:
estado inicial: {h, l, c, r}; estado final: {}
infinitas solues sendo duas de tamanho mnimo:
cslcrsc e csrclsc
5

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Exemplo de Sistema de Estados Finitos


Dada uma palavra w de {s, l, c, r}*, w uma soluo se seu
caminho correspondente partindo do estado inicial chega
ao estado final, i.e.:
w pode ser processada da esquerda para a direita,
smbolo a smbolo at o ltimo
se o estado alcanado pertence ao conjunto de estados
finais, diz-se que w reconhecida ou aceita
seno, diz-se que w no reconhecida ou rejeitada

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Atividade Extra Valendo 1 ponto


Tem trs jesutas e trs canibais esto do lado esquerdo do rio
e precisam atravessar de barco para o outro lado.
Restries:
O barco s pode levar duas pessoas;
Os jesutas no podem ficar em menor nmero em
nenhuma das margens, porque os canibais devoram os
jesutas;
necessrio que haja mais jesutas ou um numero igual.
1- Como eles iro atravessar??????? Faa um esquema mostrando
as duas margens.
2- Faa o diagrama de estados representando apenas o lado
esquerdo da margem.

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Atividade Extra
Representao do exemplo 2 como um diagrama de estados:

JJJC

JJJCCCB
D

JJJ

JJJCCB

JJJCB

Y Y

JJCC

JC
C 1 canibal
J 1 jesuta
D 1 canibal e 1 jesuta
X 2 canibais
Y 2 jesutas

JJCCB

JCB

CCB

J
J

{}

CC

CCCB

C
8

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Autmatos Finitos
O diagrama de estados representa uma mquina de estados
finitos do tipo reconhecedora de linguagens, ou um autmato
finito
duas sadas possveis: aceitao ou rejeio da entrada

Seja w = xy. No reconhecimento de w, tendo x processada,


necessria para continuao do processo apenas uma
configurao instantnea composta de:
o estado atual e y
O estado atual a nica memria do sistema: condensa o
processamento j ocorrido do prefixo da palavra e
juntamente com y (ainda no processada) determina o
comportamento subsequente da mquina
9
ex.: mecanismo de controle de um elevador

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Autmatos Finitos e Linguagens


O conjunto de todas as solues (de um problema sobre um
sistema de estados finitos) o conjunto das palavras
correspondentes aos caminhos do estado inicial ao final,
onde:
cada palavra formada concatenando-se os rtulos das
arestas percorridas
Assim, um autmato finito define uma linguagem:
o conjunto de todas as palavras que rotulam os caminhos
do estado inicial ao estado final, i.e., as palavras
reconhecidas pelo autmato

10

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Caractersticas do exemplos
Caractersticas comuns a autmatos finitos
o nmero de estados finito
Caractersticas comuns a autmatos finitos determinsticos
Para cada par (estado, smbolo) existe no mximo uma
transio, i.e.:
se existe uma transio do estado 1 para 2 sob
a, ento no existe outra transio de 1 para
qualquer outro estado sob a; ou ainda
dada uma palavra w, existe um nico estado que
pode ser atingido a partir de qualquer estado,
processando-se w
11

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Caractersticas do exemplos
Caractersticas especficas do exemplo:
a toda transio de um estado 1 para um estado 2
corresponde uma transio inversa sob o mesmo smbolo

existe um nico estado final

12

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Autmatos Finitos Determinsticos


Um Autmato Finito Determinstico (AFD) uma estrutura
matemtica constituda de 3 tipos de entidades:
um conjunto de estados
um conjunto de transies
um alfabeto
Def.:

um AFD uma quntupla (E, , , i, F), onde:


E um conjunto finito de um ou mais estados
um alfabeto
: E x E a funo de transio, uma funo total
i E o estado inicial
F E o conjunto de estados finais
13

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

AFD Funo de transio


Funo de transio : E x E
uma funo total, logo h exatamente um estado
para cada par (e, a), e E, a :

determinismo de um AFD

14

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

AFD Funo Resulta em


Em qualquer ponto do processamento de uma palavra, seu
reconhecimento s depende da configurao instantnea
[ ,w], onde o estado corrente e w * o sufixo ainda
no processado da palavra:

[ , aw] [ , w] denota que a configurao [ , w]


alcanada a partir de [ , aw] atravs de uma transio
do autmato
Def.: A funo de E x + para E x *, que leva de uma
configurao instantnea, a outra, definida como:
[ , aw] [( , a), w]
para a e w *, onde a funo de transio do
autmato
15

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

AFDs - Exemplo
Assim, formalmente, o autmato do exemplo da travessia do
rio a quntupla: (E, {s,l,c,r}, , {h, l, c, r}, {{}}), onde:
E = {{h, l, c, r}, {l, r}, {h, l, r}, {l}, {r}, {h, l, c}, {h, c, r},
{c}, {h, c}, {}, t}
dada pela tabela de transio:

16

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

17

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

AFDs - Exemplo
Ex. 3: Seja o autmato ({0, 1, 2, 3, 4, 5}, {0, 1}, , 0, {0}), que
determina se um nmero binrio divisvel por 6, sendo dada
por:

Construa o diagrama de estados correspondente


18

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

AFDs - Exemplo
Ex. 3: Resoluo:

1 1

0
0

0 0
1

19

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Diagrama de Estados Simplificado


Para um diagrama de estados simplificado, assume-se que
caso alguma transio de algum estado e sob algum smbolo a
no esteja no diagrama, ento existe um estado de erro
implcito e' tal que:
existe uma transio de e para e' sob a
e' no estado final
existe um transio de e' para e' sob cada smbolo do
alfabeto
OBS.: se e' alcanado aps o processamento de um prefixo
de uma palavra, ento para qualquer sufixo a ser processado
a palavra no ser reconhecida
20

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Funo de Transio Estendida


Def. 2: Seja um AFD M = (E, , , i, F). A funo de transio
estendida para M, uma funo de E x * para E, definida
recursivamente como:
(a) (e, ) = e;
(b) (e, ay) = ((e, a), y), para todo a e y *
Ex.: Processamento da palavra 1010 pelo autmato do ex. 3:
(0,1010) = ((0,1),010)
por (b)
0 1
= (1,010)
pois (0,1) = 1
0 0 1
= ((1,0),10)
por (b)
1 2 3
= (2,10)
pois (1,0) = 2
2 4 5
= ((2,1),0)
por (b)
3 0 1
= (5,0)
pois (2,1) = 5
4 2 3
= ((5,0), )
por (b)
5 4 5
= (4, )
pois (5,0) = 4
21
=4
por (a)

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Atividade 4
1. Construa um autmato que aceita nmeros binrios divisveis por
dois.

2. Construa um autmato que aceita strings de tamanho par sobre


o alfabeto {a, b}.
3. Construa um autmato que aceita strings que iniciam com 0
(zero) sobre o alfabeto {0, 1}.
4. Construa um autmato que aceita strings que terminam com 1
(um) sobre o alfabeto {0, 1}.
5. Construa um autmato que aceita nmeros binrios divisveis por
trs.
6. Construa um autmato que aceita nmeros binrios divisveis por
quatro.
7. Construa um autmato que aceita nmeros binrios divisveis por
cinco.

0-0
1-1
2 - 10
3 - 11
4 - 100
5 - 101
6 - 110
7 - 111
8 - 1000
9 - 1001
10 - 1010
11 - 1011
12 - 1100
13 - 1101
14 - 1110
15 - 1111
16 - 10000
17 - 10001
18 - 10010
19 - 10011
20 10100
21 10101
22 10110
23 10111
24 - 11000
22

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Atividade 4
8. Construa um AFD que aceita a linguagem L sobre o alfabeto {0,1} cujos
strings possuem tamanho mltiplo de 3 ou terminam com 1.
9. Construa um AFD que aceita a linguagem L sobre o alfabeto {0,1} cujos
strings comeam com 0 e terminam com 10 ou com 11
10. Construa um autmato que aceita a linguagem expressa por 03 12 0 | n
IN.
11. O conjunto dos strings sobre {a, b, c} na qual todos os as precedem os
bs, que por sua vez precedem os cs. possvel que no haja as, bs ou cs.
12. O conjunto dos strings sobre {a, b, c} com comprimento maior que trs.
13. (0+1)*(00+11)(0+1)*

14. (0+1)*01(11)*
15. Construa um autmato que aceite strings sobre {0,1} em que a quantidade
de a par e a quantidade de b mpar.
23

CENTRO UNIVERSITRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

Linguagem Reconhecida por um AFD


Def.: A linguagem reconhecida (aceita) por um AFD M = (E, ,
i, F) o conjunto L(M) = {w * | (i, w) F}

Exerccio: Considere os seguintes diagramas de estado que


representam autmatos finitos. Descreva os autmatos
formalmente e diga que linguagens eles reconhecem

24