Вы находитесь на странице: 1из 6

Autmatos Finitos Determinsticos com JFLAP Bruno Oliveira <bruno@ingg.com.br> Felipe Monteze <felipemonteze@msn.com> Rafael Casemiro Bonfim<raphael_embratel@hotmail.

com> Thales Will Silva Reis <thaleswill@yahoo.com.br> Bacharelado em Sistemas de Informao Compiladores - Faculdade de Imperatriz (FACIMP) Av. Prudente de Morais, n 100 Residencial Kubitscheck, Imperatriz MA BRASIL

1 DEFINIO DE AUTMATO FINITO O Autmato Finito pode ser definido como uma mquina (um procedimento aceitador, ou reconhecedor). A palavra finito para ressaltar que um autmato Finito s pode conter uma quantidade finita e limitada de informao. Essa informao representada por um estado da mquina, e s existe um nmero finito de estados.

Essa restrio faz com que o autmato Finito seja muito limitado na classe de linguagens que pode reconhecer, composta apenas pelas linguagens regulares.

Existem dois tipos de autmato Finito, determinstico (afd) e o autmato Finito no determinstico (afnd). Uma linguagem regular pode ser definida de quatro formas:

Atravs de uma gramtica regular; Atravs de um Autmato Finito Determinstico que reconhece a linguagem; Atravs de um Autmato Finito No-Determinstico; Atravs de uma expresso regular, um mecanismo a ser introduzido com essa expressa finalidade.

A informao que um autmato Finito guarda sobre a entrada (mais precisamente sobre a parte da entrada j lida) representada por um estado, escolhido em um conjunto finito de estados.

2 AUTMATO FINITO DETERMINSTICO

Definio. Um Autmato Finito Determinstico (afd) M, sobre um alfabeto um sistema (K, , , i, F), onde

K um conjunto de estados finito, no vazio; um alfabeto de entrada (finito) :Kx i F K a funo de transio

K o estado inicial K o conjunto de estados finais.

O nome determinstico faz referncia ao fato de que

uma funo (tambm

chamada funo prximo-estado ), que determina precisamente o prximo estado a ser assumido quando a mquina M se encontra no estado q e l da entrada o smbolo a: o estado (q, a).

De forma simplificada, podemos dizer que um Autmato Finito Determinstico aceita uma cadeia se, partindo do estado inicial, e mudando de estado de acordo com a funo de transio , o Autmato Finito Determinstico atinge um estado final ao terminar de ler a cadeia. Uma das maneiras de visualizar o funcionamento de um Autmato Finito Determinstico atravs de um controle finito que l smbolos de uma fita de entrada (onde se encontra a cadeia de entrada), sequencialmente, da esquerda para a direita. Os elementos do conjunto de estados K representam os estados possveis do controle finito. A operao se inicia no estado inicial i, lendo o primeiro smbolo da fita de entrada. Por convenincia, considera-se que a cabea de leitura se move sobre a fita, ao contrrio do que seria de se esperar.

Considere o Autmato Finito Determinstico M = (K, , , i, F), onde temos K = { q0, q1, q2, q3 } = { a, b } i = q0 F = { q3 } E onde a funo de transio : { q0, q1, q2, q3 } x { a, b } { q0, q1, q2, q3 } dada pela tabela abaixo

Tabela 1 q0 q1 q2 q3 a q1 q0 q3 q2 b q2 q3 q0 q1

Fonte: Pesquisa do autor

Alternativamente, podemos representar o Autmato Finito Determinstico M por um diagrama de transies, ou diagrama de estados, como o da Figura 1. Note que o diagrama de transies determina completamente o autmato M, atravs de algumas convenes: Os estados so os ns do grafo, ou seja, K = { q0, q1, q2, q3 }; O estado inicial indicado pela seta, ou seja, i = q0; Os estados finais so indicados pelo crculo duplo: q3 o nico estado final, ou seja, F = { q3 }; As transies so as indicadas pelas arestas: (q0, a) = q1, (q0, b) = q2, (q1, a) = q0, etc., ou seja, cima. Cada estado de um Autmato Finito corresponde a uma determinada informao sobre a parte da cadeia de entrada j lida. No caso do exemplo, a informao pode ser descrita em frases curtas, mas isso nem sempre acontece. Para o estado q2, por exemplo, podemos dizer "se o estado atingido q2, o nmero de smbolos a j lidos par, e o nmero de smbolos b j lidos mpar". a mesma funo representada pela tabela a-

FIGURA 1: diagrama de transies. Fonte: Pesquisa do autor

A linguagem aceita ou reconhecida por M a linguagem formada pelas cadeias em que os nmeros de a's e de b's so ambos mpares. Isso se deve ao fato de que o nico estado final q3. Por exemplo, a cadeia abaa da linguagem de M, porque, com essa cadeia, os seguintes estados so atingidos: q0, q1, q3, q2, q3. Como o ltimo estado final, a cadeia aceita.

3 AUTMATO FINITO COM JFLAP Ao implementar mos o exemplo da figura 1(diagrama de transio) utilizando o JFLAP obteremos os seguintes resultados:

FIGURA 2: diagrama de transies. Fonte: Imagem software JFLAP

Na tela de input ou seja entrada de dados, digitamos a expresso que desejamos testar:

FIGURA 3: Tela de input do software JFLAP. Fonte: Imagem software JFLAP

Caso a expresso de entrada esteja correta, teremos ento o seguinte retorno do teste:

FIGURA 4: Tela de retorno do software JFLAP. Fonte: Imagem software JFLAP

REFERNCIAS

LOUDEN, KENNETH C. Compiladores, Princpios e Prticas. 2004. So Paulo, Thomson. p34 - 64.

PRICE e TOSCANI. Implementao de Linguagens: Compiladores. Porto Alegre, Sagra-Luzzatto.

DEITEL, M. D. C++, Como Programar. So Paulo, Bookman.

AHO, A. V.; Lam, M.; Sethi, R.; Ullman, J. D.: Compiladores: Principios, Tcnicas y Herramientas. 2 ed. Addison-Wesley. 2008.

GUEDES, L. C. C. Linguagens formais. Autmatos Finitos e expresses regulares. Disponvel em: <www.inf.puc-rio.br/~inf1302/Apostila/lf4.pdf> Acessado em: 22 de novembro de 2010.

Вам также может понравиться