Automatos Finitos Evolutivos

O que são autômatos finitos evolutivos?

Autômatos finitos evolutivos (AFE) são máquinas de estados que aprendem por evolução artificial. Cada indivíduo é um autômato finito determinístico (AFD) com estados, transições e saídas. A evolução altera o número de estados, as transições ou os símbolos de saída. Diferentemente de redes neurais, eles são discretos, interpretáveis e leves. A aptidão mede o quão bem o autômato resolve uma tarefa sequencial. Por exemplo, ele pode prever o próximo elemento de uma série temporal. Ou pode classificar padrões binários que chegam ao longo do tempo. A programação evolutiva foi originalmente criada para evoluir esses autômatos. Portanto, os AFE são a aplicação clássica da programação evolutiva.

Como funciona a evolução de um autômato?

Inicialmente, uma população de autômatos aleatórios é gerada. Cada um tem um número fixo de estados (ex.: 5) e alfabeto de entrada. As transições são tabelas que mapeiam (estado, símbolo) para próximo estado. Cada estado também possui uma saída (ex.: 0 ou 1 para classificação). A mutação pode alterar uma transição, uma saída ou adicionar/remover estados. O crossover pode trocar sub-tabelas de transição entre dois autômatos. A avaliação percorre o autômato com uma sequência de entrada conhecida. A saída gerada é comparada com a saída desejada (supervisionado). A aptidão é a acurácia ou o erro acumulado ao longo da sequência. Os melhores autômatos são selecionados para a próxima geração.

Aplicações e vantagens práticas

AFE são usados em reconhecimento de padrões temporais e linguagens regulares. Eles também são aplicados em controle de robôs com sensores discretos. Uma grande vantagem é a total interpretabilidade do comportamento aprendido. O engenheiro pode inspecionar estados e transições para entender a decisão. Além disso, eles exigem pouca memória e executam em tempo real. Contudo, eles não lidam bem com entradas contínuas ou ruidosas. Para esses casos, pré-processamento ou fuzzificação é necessário. Ainda assim, os AFE são uma ferramenta didática e poderosa.

Os autômatos finitos evolutivos foram popularizados por Fogel no final dos anos 1960. Ele usou AFE para prever o comportamento de sinais de radar e econômicos. Cada autômato previa o próximo bit de uma sequência binária. A aptidão era a porcentagem de acertos ao longo de todo o histórico. A mutação podia trocar uma transição ou inverter a saída de um estado. Não havia crossover na versão original, apenas mutação pura. Com o tempo, variantes com crossover e auto-adaptação surgiram. Hoje, os AFE são usados em jogos, segurança e bioinformática. Por exemplo, eles podem detectar anomalias em tráfego de rede. Também podem modelar o comportamento de usuários em sistemas interativos. Sua simplicidade os torna ideais para dispositivos embarcados. Eles são frequentemente comparados a redes neurais recorrentes discretizadas. A principal diferença é a ausência de pesos contínuos. Assim, os AFE oferecem um equilíbrio entre expressividade e clareza.

Um exemplo clássico é o problema de previsão do próximo símbolo em uma sequência. Dada uma sequência binária gerada por uma máquina de estados oculta. O AFE deve inferir a regra subjacente sem conhecer a máquina original. Por exemplo, a sequência alterna entre 0 e 1 após cada dois dígitos. O autômato evolui sua tabela de transições até acertar a previsão. Esse problema é simples, mas ilustra perfeitamente o mecanismo de aprendizado.


Enunciado do exemplo clássico

Evolua um autômato finito determinístico com 4 estados para prever o próximo bit da sequência de Fibonacci binária (módulo 2). A sequência é: 0,1,1,0,1,1,0,1,1,… (período 3: 0,1,1 repetido). Use 100 exemplos de treinamento (bits) e 50 de teste (após o treino). População de 50 autômatos, mutação de transição (10%) e saída (5%) por geração. Execute 100 gerações, com seleção por torneio de tamanho 3. Plote a acurácia de treino e teste ao longo das gerações. Plote também um diagrama do melhor autômato encontrado (texto).

Este código evolui um AFD para prever a sequência de Fibonacci binária. A curva de acurácia mostra a melhoria tanto em treino quanto em teste. O diagrama textual exibe as transições e saídas do melhor autômato. Observe que o autômato converge para o período 3 (0,1,1) após algumas gerações. A interpretabilidade é total: cada estado e transição podem ser lidos. Para iniciantes, este exemplo conecta evolução, autômatos e previsão. Os autômatos finitos evolutivos são, portanto, uma ferramenta educativa e prática.

Deixe um comentário