Escolar Documentos
Profissional Documentos
Cultura Documentos
A memria de uma mquina de estados finitos limitada e organizada em torno do conceito de estado.
Exemplo 1
Um homem, um leo, um coelho e um repolho devem atravessar um rio usando uma canoa, com a restrio de que o homem deve transportar no mximo um dos trs de cada vez de uma margem a outra. Alm disso, o leo no pode ficar na mesma margem que o coelho sem a presena do homem, e o coelho no pode ficar com o repolho sem a presena do homem. O problema consiste em determinar se possvel fazer a travessia.
Exemplo 2
Projetar uma mquina que, dada uma seqncia de 0s e 1s, determinar se o nmero representado por ela na base 2 divisvel por 6.
0 1
0 1
0 1
0 1
0 1
0 1
0 1
REJEITA!
1 mod 3
2,5,8
0 mod 3
2,5,8 0,3,6,9 1,4,7
2,5,8
1,4,7
2 mod 3
0,3,6,9
Definio Formal de FA
DEF: Um autmato finito (determinstico) (FA) consiste de um conjunto de estados Q, um alfabeto , transies rotuladas entre estados , um estado inicial q0 Q, e um conjunto de estados de aceitao F. M = (Q, , , q0, F )
Definio Formal de FA
Note que o string de entrada, assim como a fita que contm o string de entrada, so implcitos na definio de um FA. Ou seja, a definio prov apenas uma viso esttica. necessria explicao adicional para entender como um FA interage com a sua entrada.
Porque Determinstico?
Determinstico significa que existe informao suficiente para sempre determinar qual o prximo estado para o qual vai o Autmato, ao ler um dado smbolo. Nosso Exemplo de Mquina de Venda de fato no era determinstico porque, depois de terem sido depositados $.45, os efeitos de depsitos adicionais so indefinidos.
0,3,6,9
0 mod 3
0,3,6,9 1,4,7 Exercicio: Obtenha a descrio formal deste autmato.
1 mod 3
2,5,8
1,4,7
2 mod 3
0,3,6,9
A funo de transio
Determina o estado para o qual vai o autmato, dado o estado corrente e o smbolo corrente na entrada. I.e., dado um estado q Q e um smbolo a , define um nico estado alvo q Q. Em outras palavras, uma funo do produto Cartesiano Q x em Q :
:Q Q
A funo de transio
:Q Q ( q0 ,2) = q2 , ( q0 ,9) = q0 , ( q1 ,2) = q0 , ( q1 ,7 ) = q2 , ( q2 ,3) = q2 , ( q2 ,5) = q1 . Questo : ( qi , j ) = ?
A funo de transio
Linguagens Regulares
Veremos mais adiante que nem toda linguagem pode ser descrita como uma linguagem aceita por um FA. Uma linguagem que aceita por algum FA exibe um alto grau de regularidade. DEF: Uma linguagem L chamada linguagem regular se existe um FA M tal que L = L (M ).
L( M ) = {w * | (q0 , w) F }
Algumas propriedades
Sejam os AFDs M1=(Q1, , 1, i1, F1) e M2 =(Q2, , 2, i2, F2). Existem AFDs para as seguintes linguagens.
(1) ( 2) (3) L( M 1 ) L( M 1 ) L( M 2 ) L( M 1 ) L( M 2 )
(1) Pode ser obtido a partir de M1 simplesmente colocando-se como estados finais aqueles que no so finais em M1.
Algumas propriedades
(2) Seja o AFD M3= (Q1xQ2, , 3, [i1,i2], F3), construdo com
3([e1,e2],a) = [1(e1, a), 2(e2, a)] F3 = F1 x F2
Exerccio
Defina um AFD que aceita a linguagem L sobre o alfabeto {0,1} cujos strings possuem tamanho mltiplo de 3 ou terminam com 1. Defina um AFD que aceita a linguagem L sobre o alfabeto {0,1} cujos strings comeam com 0 e terminam com 10 ou com 11