Estudo sobre máquinas de estados finitos
Paulo Giovani de Faria Zeferino
Uma Máquina de Estados Finitos divide o comportamento dos agentes em pedaços, e em condições de transição entre esses estados. Apresenta como vantagens o fato de ser fácil de codificar, fácil de debugar, possuir baixo custo computacional, serem intuitivas e flexíveis. Podem ser divididas em duas categorias: Tradutoras: autômatos finitos com saída. Reconhecedoras: autômatos finitos de linguagem. Quando as saídas são associadas às transições, temos o que chamamos de Máquina de Mealy. Já quando as saídas são associadas aos estados, temos a chamada Máquina de Moore. O comum é que o sistema combine as duas formas. Um estado descreve um nó de comportamento do sistema, que se encontra à espera de uma condição para executar uma transição. O mesmo estímulo pode desencadear ações diferentes, dependendo do estado em que se encontra: Ação de Entrada: o que é realizado ao entrar no estado. Ação de Saída: o que é realizado ao sair do estado. Uma transição representa o conjunto de ações a serem executadas quando uma determinada condição for cumprida ou quando um evento é recebido. Ela pode ter características determinísticas ou não determinísticas. Determinística: para cada estado há exatamente uma transição para cada entrada possível. Não determinístico: pode haver uma ou mais transições de um determinado estado para uma entrada possível. As Máquinas de Estados também podem ser representadas em formato tabular. Nesse caso, a tabela é organizada em colunas. Na coluna da esquerda estão listados todos os possíveis estados da Máquina de Estados e todas as condições que possibilitam as transições desses estados para outro qualquer. Na coluna da direita, estão listados todos os estados possíveis de destino, assim como as ações a serem executadas em caso de haver uma transição para aquele destino. Nesse estudo, foi feita a modelagem de um pequeno teste, bem simples, simulando o acesso às informações de