Escolar Documentos
Profissional Documentos
Cultura Documentos
software por meio dos chamados objetos automatizados controlados, sendo estes divididos em
duas partes que são um objeto de controle e um autômato finito. A finalidade do autômato é levar
eventos e variáveis de entrada à um conjunto de saídas, chamados de ações de saída do objeto
controlado. Segundo os autores, para alguns problemas o automato finito pode ser construído
manualmente. No entanto, existem problemas para os quais a construção manual é muito difícil,
como por exemplo o controle de aeronave não tripulado. Uma das abordagens para solução deste
problema é o uso de algoritmos genéticos para a geração de autômatos finitos. Desta forma, os
autores propõe um algoritmo genético para modelagem de autômatos finitos, sem o uso de
modelagem para a função de aptidão, tornando-a mais geral, podendo ser utilizada para outros
objetos de controle. Outra vantagem é a possibilidade de atribuir valores contínuos
(representados por números reais) às ações de saída. Um conjunto de teste é dado como entrada
do algoritmo. A partir desta entrada, o algoritmo deve modelar um autômato finito para o qual o
comportamento dos testes de entrada é o mais próximo possível do desejado. Segundo os autores,
um objeto controlado é representado por seus parâmetros de estado (chamados no artigo de
parâmetros de entrada) e seus parâmetros de controle (por exempo, altitude e iniciador,
respectivamente, se o objeto controlado for um avião). Os parâmetros de controle podem ser
discretos ou contínuos. As ações de saída que alteram parâmetros discretos são chamadas de
ações discretas, e a mudança de parâmetros contínuos é chamada de ações contínuas. As ações
contínuas consecutivas são equivalentes à soma dessas ações e as ações discretas consecutivas
são equivalentes a última ação. Cada teste T, que representa os dados de treino do algoritmo, é
constituído de duas partes chamadas T.in e T.ans, de comprimento T.len cada um. A primeira
parte contém os valores dos parâmetros de entrada e a segunda parte contém os valores de
referência dos parâmetros de controle. Cada elemento T.in[t] contém P números que representam
o valor do parâmetro de entrada no instante de tempo t. Cada elemento T.ans[t] contém duas
coleções de números. A primeira coleção contém os valores de D parâmetros discretos,
referênciada como T.ans[t].d. A segunda coleção contém os valores de C parâmetros contínuos,
referênciada como T.ans[t].c. A coleção T.out representa sequência de parâmetros de controle
produzida pelo autômato finito no teste T, seguindo a mesma estrutura de T.ans. O i-ésimo teste
é denotado por T[i] e N representa o número total de testes. Segundo os autores, antes de tudo
devem ser definidos os predicados do objeto controlado. Um predicado representa o estado do
objeto controlado, descrito por meio de uma fórmula matemática, que pode expressar uma
relação de dependencia entre os parâmetros de entrada no momento atual, ou entre os parâmetros
dos estados em momentos anteriores de tempo. Um predicado pode ser “o avião está
decrescendo”, que significa dizer que a altitude atual do avião é menor em relação a altitude
anterior. É importante descatar que a lista de predicados é construída manualmente antes mesmo
da execução do algoritmo genético, e permanece fixa, não podendo ser alterada em tempo de
execução. Na execução do algoritmo, o número de estado é fixado e é o mesmo para todos os
indivíduos gerados. Cada transição tem uma condição de guarda especificada, sendo que esta
última tem uma de duas formas: “xi” ou “¬xi”, onde xi é o i-ésimo predicado. Cada indivíduo
gerado representa um esqueleto de um autômato finito, não especificando ações de saída nas
transições. As ações de saída são determinadas pelo algoritmo de rotuação de transição, que é
executado antes do calculo da função de aptidão, para maximização do valor da aptidão. Este
passo é o diferencial do método proposto em relação aos algoritmos genéticos clássicos. Cada
ação de saída produzida consiste e uma D-tupla de ações discretas em todos os controles discretos
C-tupla de ações em todos os controles contínuos. O esqueleto é representado por uma tabela de
transição completa, onde para cada estado e para cada valor de predicado (verdadeiro ou falso)
pode haver uma transição. A função de aptidão é calculada com base na minimização da distância
entre entre as ações de saída determinidas pelo algoritmo (T.out) e as ações de saída desejadas
(T.ans), dada pela seguinte fórmula:
1 𝜌(𝑇[𝑖].𝑜𝑢𝑡,𝑇[𝑖].𝑎𝑛𝑠)2
Fitness = 1 − √𝑁 ∑𝑁
𝑖=1 ,e
𝜌(𝑇[𝑖].𝑎𝑛𝑠,0)2
𝑇.𝑙𝑒𝑛 𝐷 𝐶
𝜌(𝑜𝑢𝑡, 𝑎𝑛𝑠) = √ ∑ (∑[𝑜𝑢𝑡[𝑡]. 𝑑[𝑘] ≠ 𝑎𝑛𝑠[𝑡]. 𝑑[𝑘]] + ∑(𝑜𝑢𝑡[𝑡]. 𝑐[𝑘] − 𝑎𝑛𝑠[𝑡]. 𝑐[𝑘])2 )
𝑡=1 𝑘=1 𝑘=1
RESUMO – SEMINÁRIO
ALEXANDROV, Anton et al. Genetic algorithm for induction of finite automata with continuous
and discrete output actions. In: Proceedings of the 13th annual conference companion on
Genetic and evolutionary computation. ACM, 2011. p. 775-778.