Função de fitness - Fitness function
Uma função de adequação é um tipo particular de função objetivo que é usado para resumir, como uma única figura de mérito , quão perto uma determinada solução de design está de atingir os objetivos definidos. As funções de aptidão são usadas em programação genética e algoritmos genéticos para orientar as simulações em direção a soluções de design ideais.
Programação genética e algoritmos
Em particular, nos campos de programação genética e algoritmos genéticos , cada solução de design é comumente representada como uma sequência de números (referida como um cromossomo ). Após cada rodada de teste ou simulação, a ideia é excluir as n piores soluções de design e gerar n novas a partir das melhores soluções de design. Cada solução de projeto, portanto, precisa receber uma figura de mérito, para indicar o quão perto esteve de atender à especificação geral, e isso é gerado pela aplicação da função de adequação ao teste, ou simulação, resultados obtidos a partir dessa solução.
A razão pela qual os algoritmos genéticos não podem ser considerados uma forma preguiçosa de realizar o trabalho de design é precisamente por causa do esforço envolvido no design de uma função de aptidão viável. Mesmo que não seja mais o projetista humano, mas o computador que vem com o design final, ainda é o projetista humano que deve projetar a função de adequação. Se isso for mal projetado, o algoritmo convergirá para uma solução inadequada ou terá dificuldade em convergir.
A função de adequação não deve apenas se correlacionar intimamente com o objetivo do designer, mas também deve ser computacionalmente eficiente. A velocidade de execução é muito importante, pois um algoritmo genético típico deve ser iterado muitas vezes para produzir um resultado utilizável para um problema não trivial.
A aproximação de aptidão pode ser apropriada, especialmente nos seguintes casos:
- O tempo de cálculo de aptidão de uma única solução é extremamente alto
- Falta modelo preciso para cálculo de aptidão
- A função de fitness é incerta ou barulhenta.
Existem duas classes principais de funções de adequação: uma em que a função de adequação não muda, como na otimização de uma função fixa ou teste com um conjunto fixo de casos de teste; e aquele em que a função de aptidão é mutável, como na diferenciação de nicho ou co-evolução do conjunto de casos de teste.
Outra maneira de ver as funções de aptidão é em termos de um panorama de aptidão , que mostra a aptidão para cada cromossomo possível.
A definição da função de adequação não é direta em muitos casos e frequentemente é realizada iterativamente se as soluções mais adequadas produzidas por algoritmos genéticos não forem as desejadas. Algoritmos genéticos interativos abordam essa dificuldade terceirizando a avaliação para agentes externos que normalmente são humanos.
Veja também
Referências
links externos
- A Nice Introduction to Adaptive Fuzzy Fitness Granulation (AFFG) ( PDF ), Uma abordagem promissora para acelerar a taxa de convergência de EAs.
- O cyber shack do Adaptive Fuzzy Fitness Granulation (AFFG) projetado para acelerar a taxa de convergência dos EAs.
- Funções de aptidão na robótica evolutiva: Um levantamento e análise (AFFG) ( PDF ), Uma revisão das funções de aptidão usadas na robótica evolucionária .