Você está na página 1de 6

AUTÔMATOS DE ESTADOS FINITOS – REVISÃO DE LITERATURA

Allan Patrick dos Santos, Caroline Lara de Oliveira, Elcio Hintze, Jeferson
Gomes da Silveira, Rithyele Oliveira dos Santos, Juliana Facchini de Souza,
Ingrid Solange Sepúlveda Muñoz

Centro Universitário Facvest – UNIFACVEST /Ciência da Computação, Av. Mal, Floriano, 947 -
Centro Lages – SC. allanpatrick022@gmail.com; carolinelara35@gmail.com;
elcio.hintze@nddigital.com.br; jefersongomes0101@gmail.com; rithyele.oliv@gmail.com;
professoraingrid2009@hotmail.com.

Resumo - Autômatos finitos são máquinas reconhecedoras de palavras ou caracteres. É um modelo


computacional de interpretação de linguagens que são definidas por mecanismos de reconhecimento.
Sua aplicação se dá no processo de automatização de diversas áreas desde processos industriais a
processos mais complexos. Esta literatura é uma introdução à autômatos de estados finitos, foi
desenvolvida com base em artigos científicos com o objetivo de esclarecer o conceito de autômatos
nas mais diversas áreas. Esta revisão tem como objetivo, introduzir um conhecimento básico a
respeito de autômatos de estados finitos, assim, auxiliando estudantes que necessitam o
conhecimento do mesmo. O desenvolvimento desta revisão literária conta com o embasamento em
30 artigos científicos. Após o estudo, concluímos que autômatos de estados finitos é um modelo
computacional de definição de linguagens que são definidas por mecanismo de reconhecimento.

Palavras-chave: Autômatos finitos, linguagens formais.


Área do Conhecimento: Ciência da Computação.

Introdução

O autômato finito é baseado em linguagens formais, as quais seus estudos tiveram início em 1950
com o objetivo de desenvolver teorias relacionadas com as linguagens naturais, [...] foi verificado que
esta teoria era importante para o estudo de linguagens artificiais e, em especial, para as linguagens
originarias da ciência da computação. Desde então o estudo das linguagens formais desenvolveu-se
[...] com destaque para aplicações em analise léxica e sintática [...]. (Menezes 2000). Os autômatos
finitos ou máquina de estados finitos é um modelo matemático usado para representar programas de
computadores ou circuitos lógicos. O conceito é concebido como uma máquina abstrata que deve
estar em de seus finitos estados. Um estado descreve um nó de comportamento do sistema em que
está à espera de uma condição para executar uma transição, normalmente um estado é introduzido
quando um sistema não reage da mesma forma para uma mesma condição (ISIDRO, 2008).
A transição é um conjunto ações a serem executadas, a máquina realiza uma transição por vez,
quando uma condição é cumprida ou quando um evento é recebido, isso é, chamado de estado atual.
As máquinas de estados finitos são utilizadas para descrever circuitos sequenciais, um estado
armazena informações sobre o passado, isto é, ele reflete as mudanças desde a entrada de um
estado, no início do sistema, até o momento presente (BRITO, 2003).
Os autômatos auxiliam também na biologia e na inteligência artificial que, por sua vez, são utilizadas
para descrever sistemas neurológicos e em linguísticas para descrever as gramaticas das linguagens
naturais (PESSOA, 2013).

Metodologia

Para o desenvolvimento da revisão de literatura, foram pesquisados aproximadamente 56 artigos


entre os anos 2000 a 2015, dos quais, 30 foram selecionados para um maior aprofundamento do
assunto em pauta. As bases de dados consultadas foram SciELO e Google Acadêmico. As palavras
chaves usadas na pesquisa foram: “autômatos finitos”, “afd”, “afnd”, “linguagens formais”.

XX Encontro Latino Americano de Iniciação Científica, XVI Encontro Latino Americano de Pós-Graduação e VI 1
Encontro de Iniciação à Docência – Universidade do Vale do Paraíba.
Resultados

De acordo com o estudo realizado para esta revisão de literatura foram selecionados 30 artigos,
os quais estão dispostos na tabela abaixo.

Tabela 1: Síntese dos estudos levantados sobre autômatos de estados finitos.

De acordo com a tabela, segue abaixo o resultado sobre os artigos que mencionam Máquina
de Moore em suas pesquisas.

O assunto Máquina de Moore diz respeito a autômatos finitos, os quais são determinados
pelo estado corrente e são de mútua importância para a solução de problemas (BRITO. 2003).

XX Encontro Latino Americano de Iniciação Científica, XVI Encontro Latino Americano de Pós-Graduação e VI 2
Encontro de Iniciação à Docência – Universidade do Vale do Paraíba.
Artigos com Máquina de Moore

Figura 1 Porcentagem Máquina de Moore

Através da tabela, segue o resultado abaixo quanto a porcentagem de artigos que fazem
uso da Máquina de Mealy.

Máquina de Mealy

Figura 2 Porcentagem Máquina de Mealy

A Máquina de Mealy é uma máquina de estados finitos na qual o próximo estado é definido
pelo estado presente, ou seja, o estado em que se encontra. Auxiliam nas tomadas de decisões
(BRITO, 2003).

No gráfico tem-se o resultado da porcentagem de artigos que mencionam ou não AFD em


suas pesquisas.
Artigos com AFD

Figura 3 Porcentagem AFD.

XX Encontro Latino Americano de Iniciação Científica, XVI Encontro Latino Americano de Pós-Graduação e VI 3
Encontro de Iniciação à Docência – Universidade do Vale do Paraíba.
Os AFDs são autômatos de estados finitos em que um estado já tem o próximo estado bem
definido, ordenado, ou seja, um estado já tem os estados posteriores pré-programados. São
utilizados na complexidade da computação para tomada de decisões (ISIDRO, 2008).

Na figura, conforme a tabela1, é apresentado o resultado em relação a quantidade de artigos


que fazem uso ou não dos artigos com AFNDs.

Artigos com AFND

Figura 4 Porcentagem AFNDs

AFNDs são autômatos de estados finitos em que um estado pode ter várias saídas, não é
pré-definida como os AFDs. Os AFNDs assim como os AFDs são utilizados na complexidade da
computação auxiliando na tomada de decisões possíveis (RICARTE, 2003).

As Linguagens formais são utilizadas para poder compreender como é dado o processo dos
modelos matemáticos. As linguagens formais são utilizadas na análise de linguagens de
programação (FERNANDES et al, 1998). Nos artigos analisados 100% fazem uso de linguagens
formais.

Discussão

Conforme Menezes [...]as Linguagens Formais foram desenvolvidas em 1950 com o objetivo
de desenvolver teorias relacionadas com as linguagens naturais [Menezes, 2005]. Mas logo foi
verificado que as linguagens formais eram ideais para o estudo de linguagens na área de
Computação e Informática. No estudo das linguagens foram encontrados dois tipos de problemas a
serem tratados, o sintático e o semântico. A sintaxe trata da verificação gramatical dos programas,
das propriedades livres da linguagem, já a semântica trata da interpretação da linguagem, como o
significado de um programa. [...]
Fernandes nos diz que [...]um programa é uma entidade abstrata, porque é composto de
bytes que fazem sentido apenas para o computador. Por outro lado, o ser humano tem a sua própria
linguagem, que embora seja bastante rica em construções não serve para se comunicar com o
computador; portanto é necessário utilizar outros idiomas que estejam mais próximos da linguagem
usada pela máquina [...] (Fernandes et al,1998).
Segundo Machado, afirma que: As linguagens de controle evoluem no sentido de permitir a
interação mais amigável com os usuários, utilizando interfaces gráficas, como Windows (janelas) e
ícones. No futuro, com a introdução das linguagens naturais, os sistemas operacionais passarão a
reconhecer comandos falados e escritos, como fazemos naturalmente. (Machado et al, 1997).
Machado também ressalta que: A linguagem de máquina de um computador é a linguagem
de programação que o processador realmente consegue entender. Cada processador possui um
conjunto único de instruções máquina, definido pelo próprio fabricante. As instruções especificam

XX Encontro Latino Americano de Iniciação Científica, XVI Encontro Latino Americano de Pós-Graduação e VI 4
Encontro de Iniciação à Docência – Universidade do Vale do Paraíba.
detalhes, como registradores, modos de endereçamento e tipos de dados, que caracterizam um
processador e suas potencialidades. (Machado et al, 1997).
Fernandes nos diz também que [...] um programa de computador consiste em um conjunto de
instruções que, ao serem executados ordenadamente, realizam tarefas rotineiras e minimizam o
esforço que o ser humano deve despender em seu trabalho [...]. (Fernandes et al, 1998)
Teixeira nos diz que [...] uma característica importante das linguagens formais é que elas
podem contemplar um número infinito de cadeias, embora cada cadeia seja finita e oriunda de um
alfabeto também finito. Por exemplo, seja {a, b}. Uma linguagem L que contempla todas as cadeias
possíveis em ∗ corresponde a L = {e, a, b, aa, bb, ab, ba, aab, · · · }. Nesse caso, L contém um
número infinito de cadeias finitas. [...]. (Teixeira, 2013).
Máquina de Mealy é um Autômato Finito modificado de forma a gerar uma palavra de saída
para cada transição entre os estados. Neste tipo de máquina de estados estas palavras de saída
dependem do estado atual e do valor das entradas. [...] para cada entrada, existem duas saídas
possíveis, uma para as sentenças válidas e outra para as sentenças inválidas da linguagem em
questão, que devem ambas ser geradas a partir de gramáticas regulares. Todas as máquinas de
estado finito têm memória finita e baseada no conceito de "estados”. (Brito; Martendal; Oliveira,
2003).
A Máquina de Moore possui uma função que gera uma palavra de saída (que pode ser vazia)
para cada estado da máquina. Esta saída só depende do estado atual da máquina.
Para as entradas vazias enquanto a Máquina de Mealy não gera qualquer saída, pois não
executa transição alguma, a Máquina de Moore gera a palavra correspondente ao estado inicial.
(Brito; Martendal; Oliveira, 2003). Segundo a autora Julia Pessoa, autômatos finitos não
determinísticos (AFN), são similares ao AFD, autômatos finitos determinísticos, lê uma cadeia de
símbolos de entrada. Para cada símbolo da entrada há uma transição para um novo estado, até que
todos os símbolos de entrada sejam lidos, porém existe pelo menos um estado tal que ao ler um
mesmo símbolo há mais de uma possibilidade de estado destino. Assim, o próximo estado é um
elemento do conjunto das partes dos estados. (Pessoa, 2013).
Ricarte apresenta um Algoritmo de Thompson para a construção de um autômato finito para
reconhecer uma dada expressão regular. Esse procedimento determina como construir um autômato
finito não-determinístico para reconhecer sentenças de uma gramática regular. (Ricarte, 2003).
Segundo o autor Julião Braga utiliza o autômato finito não determinístico (NFA), trata das
etapas necessárias para que se possa implementar, de forma correta, o tratamento da entrada do
programa proposto, um deles é a construção de um NFA. “Construir um NFAa partir de uma
expressão regular utilizando-se do algoritmo disponível em várias referências é uma tarefa
extremamente agradável, muito embora, um pouco trabalhosa. Entretanto, na Internet existem
diversos ambientes para construção do NFA, de forma automática. Um deles é o Regular Expression
to NFA”. (Braga, 2016).
Para Isidro, os autômatos finitos determinísticos (AFD), são de grande importância para o
estudo das linguagens de computação. Autômatos finitos determinísticos constituem um modelo
computacional. Os AFD são máquinas de estados que para todas as transições existe um estado
bem determinado (Isidro. 2008).

Conclusão

O Objetivo deste artigo é evidenciar a importância dos Autômatos finitos, sua aplicação e suas
características.
Os autômatos finitos ou máquina de estados finitos pode ser visto como um modelo matemático o
qual é usado para representar programas de computadores ou circuitos lógicos. O conceito é
concebido como uma máquina abstrata que deve estar em seus finitos estados. Um estado descreve
um nó de comportamento do sistema, que está à espera de uma condição para executar uma
transição, normalmente um estado é introduzido. Em outras palavras podemos concluir que as
máquinas de estados finitos é o primeiro modelo computacional de definição de linguagens que são
definidas por mecanismo de reconhecimento, que pode ser visto como um teste aplicado a cada
caractere da palavra.

XX Encontro Latino Americano de Iniciação Científica, XVI Encontro Latino Americano de Pós-Graduação e VI 5
Encontro de Iniciação à Docência – Universidade do Vale do Paraíba.
A linguagem reconhecida pelo autômato finito é constituída por todas as palavras que passem no
teste. O teste é aplicado de forma incremental e percorre todos os símbolos da palavra, conferindo a
qualidade computacional dos autômatos finitos.
Devido está qualidade computacional, os autômatos estão presentes dentro de nossas casas, em
industrias e também na biologia e na inteligência artificial que, por sua vez, são utilizadas para
descrever sistemas neurológicos e em linguísticas para descrever as gramaticas das linguagens
naturais.
Os resultados obtidos através do estudo para o desenvolvimento deste artigo são que, os
Autômatos finitos podem ser aplicados em diversas áreas e contemplar com resultados fantásticos,
que antes não eram possíveis.
A sua utilização representa precisão nas ações a serem executadas, como em testes de
plataforma ou na produção industrial.

Referências

- BRITO, R. C. D.; MARTENDAL, D. M.; OLIVEIRA, H. E. M. D. Máquinas de estados finitos de


Mealy e Moore. Universidade Federal de Santa Catarina UFSC - Ciências da Computação, 2003.

- BRAGA, J. Expressões regulares, autômato finito não determinístico e autômato finito


determinístico. 2014. Disponível em: <https://ii.blog.br/2014/06/26/expressoes-regulares-automato-
finito-nao-deterministico-e-automato-finito-deterministico/>. Acesso em: 25 maio 2016.

- FERNADES, L. M. P.; OLIVEIRA, R. S. Organização de Sistemas. Ed Senac Nacional. Rio de


janeiro 1998.

ISIDRO, C. R. G. Uma abordagem quântica para o uso de expressões regulares. Universidade


Federeal de Campinas Grande, 2008.

- MACHADO, F. B.; MAIA, L. P. Arquitetura de Sistemas Operacionais. LTC. 2. Ed. Rio de janeiro
1997.

- MENEZES, P. B. Linguagens Formais e Autômatos. Ed Sagra luzzatto. 3 Ed Rio Grande o Sul,


2000.

- PESSOA, J. Autômatos Finitos não Determinísticos (AFN) e Determinísticos (AFD). 2013.


Disponível em: <http://www.dsc.ufcg.edu.br/~pet/jornal/junho2014/materias/recapitulando.html>.
Acesso em: 25 maio 2016.

- RICARTE, I. L. M. Construção do autômato finito não-determinístico. 2003. Disponível em:


<http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node47.html>. Acesso em: 25 maio
2016.

- TEIXEIRA, M. Explorando o uso de Distinguidorês e de Autômatos Finitos Estendidos na


Teoria do Controle Supervisório de Sistemas a Eventos Discetos. Tese (Doutorado em
Engenharia de Automação de Sistemas) - Universidade Federal de Santa Catarina, 2013.

XX Encontro Latino Americano de Iniciação Científica, XVI Encontro Latino Americano de Pós-Graduação e VI 6
Encontro de Iniciação à Docência – Universidade do Vale do Paraíba.