Fui apresentado a algoritmos genéticos recentemente por este artigo do MSDN , no qual ele os chama de evolução combinatória, mas parece ser a mesma coisa, e estou lutando para entender como a combinação de duas soluções em potencial sempre produzirá uma nova solução que seja pelo menos tão bom como seus pais.
Porque isto é assim? Certamente combinar pode produzir algo pior.
Pelo que entendi, o algoritmo baseia-se no conceito de que quando um macho e uma fêmea de uma espécie produzem filhotes, esses filhotes terão características de ambos os pais. Algumas combinações serão melhores, outras piores e outras igualmente boas. Os que são melhores (para qualquer definição de "melhor" é apropriado) têm mais chances de sobreviver e produzir frutos que tenham as características aprimoradas. No entanto, haverá combinações mais fracas. Por que isso não é um problema do GA?
Why isn't this an issue with GA?
Bem, é, ou mais exatamente, pode ser. Um dos muitos (muitos) parâmetros para otimizar o uso de AGs é o tamanho da população: se for muito baixo, você poderá produzir apenas indivíduos mais fracos, mas se for muito alto, o tempo de computação associado à função de fitness poderá ser muito alto.
However, there will be combinations that are weaker. Why isn't this an issue with GA?
- Porque as combinações mais fracas são descartadas.