Algoritmo evolutivo

Um algoritmo evolutivo (EA) é um algoritmo que usa mecanismos inspirados pela natureza e resolve problemas através de processos que imitam os comportamentos dos organismos vivos. O EA é um componente tanto da computação evolutiva como da computação de inspiração biológica.

EAs são inspirados pelos conceitos da Evolução Darwiniana. Nas EA, as soluções desempenham o papel dos organismos individuais na a população. A mistura de soluções potenciais para um problema é povoada aleatoriamente em primeiro lugar. Em seguida, a população é testada quanto à aptidão física - quão bem e quão rapidamente ela resolve um problema. A seguir, os indivíduos mais aptos são selecionados para reprodução. O ciclo começa novamente à medida que a adequação da população é avaliada e os indivíduos menos aptos são eliminados.

Como os mecanismos pelos quais as EAs funcionam são inspirados pela evolução e organismos vivos, as funções podem incluir seleção, reprodução, mutação  e  recombinação. O processo adaptativo de escolher as melhores soluções disponíveis para um problema onde a seleção ocorre de acordo com a aptidão física é análogo à sobrevivência de Darwin do mais apto. As soluções algorítmicas que funcionam melhor entre as opções disponíveis reproduzem-se; as menos aptas, sendo eliminadas, não o fazem. Ao testar a aptidão física de acordo com o desempenho medido, a otimização ocorre ao longo de gerações através de funções como  mutação .

EAs are excelente na otimização de soluções. É importante notar que enquanto EAs optimize efetivamente, eles não necessariamente encontram a solução ótima. Em vez disso, os EAs constantemente encontram encontram soluções de trabalho e medem o desempenho uns contra os outros, que podem ou não encontrar a melhor solução possível. EAs relativamente elevados os requisitos computacionais, que também podem ser uma consideração, são em grande parte devidos à complexidade da determinação da aptidão física. Esta complexidade pode ser reduzida através da aproximação da aptidão física.