Algoritmos Genéticos: Uso de Lógica Nebulosa e Análise de Convergência por Cadeia de Markov
Otimização, Cadeia de Markov, Algoritmo Genético
Neste trabalho, a cadeia de Markov será a ferramenta usada tanto na modelagem quanto na análise de convergência do algoritmo genético, tanto na sua versão padrão quanto nas demais. A escolha deste algoritmo deve-se ao fato do mesmo ter se tornado, nos últimos trinta anos, uma das ferramentas mais usadas para achar uma solução do problema de otimização. Esta escolha deve-se à sua comprovada eficácia na busca de uma solução de boa qualidade para o problema, considerando que o conhecimento de uma solução de boa qualidade torna-se aceitável tendo em vista que pode não existir um outro algorimo capaz de obter a solução ótima, para muitos desses problemas. Entretanto, esse algoritmo pode ser definido, levando em conta que o mesmo é dependente não apenas da forma como o problema é representado mas também como são definidos alguns dos operadores, desde sua versão padrão, quando os parâmetros são mantidos fixos, até suas versões com parâmetros variáveis. Por isso, para se alcançar um bom desempenho com o aludido algoritmo é necessário que o mesmo tenha um adequado critério na escolha de seus parâmetros, principalmente a taxa de mutação e taxa de cruzamento ou, até mesmo, o tamanho da populaçao. É importante lembrar que naquelas implementações em que parâmetros são mantidos fixos durante toda a execução, a modelagem do algoritmo por cadeia de Markov resulta numa cadeia homogênea e quando permite a variação de parâmetros ao longo da execução, a cadeia de Markov que o modela passa a ser do tipo não-homogênea. Portanto, na tentativa de melhorar o desempenho do algoritmo, alguns trabalhos têm procurado realizar o ajuste dos parâmetros através de estratégias que captem características intrínsecas ao problema. Essas características são extraidas do estado presente de execução, com o fim de identificar e preservar algum padrão relacionado a uma solução de boa qualidade e, ao mesmo tempo, descartando aquele padrão de baixa qualidade. As estratégias de extração das características tanto podem usar técnicas precisas quanto técnicas nebulosas, sendo neste último caso feita através de um controlador nebuloso. Com o fim de avaliar o desempenho de um algoritmo não-homogêneo, apresenta-se testes onde se compara o algoritmo genético padrão com o algoritmo genético nebuloso, sendo a taxa de mutação ajustada por um controlador nebuloso. Para isso, escolhe-se problemas de otimização cujo número de soluções varia exponencialmente com o número de variáveis.