Algoritmos geneticos
Algoritmos genéticos são implementados como uma simulação de computador em que uma população de representações abstratas de solução é selecionada em busca de soluções melhores. A evolução geralmente se inicia a partir de um conjunto de soluções criado aleatoriamente e é realizada por meio de gerações. A cada geração, a adaptação de cada solução na população é avaliada, alguns indivíduos são selecionados para a próxima geração, e recombinados ou mutados para formar uma nova população. A nova população então é utilizada como entrada para a próxima iteração do algoritmo.
Algoritmos genéticos diferem dos algoritmos tradicionais de otimização em basicamente quatro aspectos:
Baseiam-se em uma codificação do conjunto das soluções possíveis, e não nos parâmetros da otimização em si; os resultados são apresentados como uma população de soluções e não como uma solução única; não necessitam de nenhum conhecimento derivado do problema, apenas de uma forma de avaliação do resultado; usam transições probabilísticas e não regras determinísticas.
A função-objetivo é o objeto de nossa otimização. Pode ser um problema de otimização, um conjunto de teste para identificar os indivíduos mais aptos, ou mesmo uma "caixa preta" onde sabemos apenas o formato das entradas e nos retorna um valor que queremos otimizar. A grande vantagem dos algoritmos genéticos esta no fato de não precisarmos saber como funciona esta função objetivo, apenas tê-la disponível para ser aplicada aos indivíduos e comparar os resultados.
O indivíduo é meramente um portador do seu