El cálculo evolutivo, o algoritmos evolutivos, son algoritmos de optimización que, cuando se aplican a una red neuronal (como la neuroevolución) pueden clasificarse como una forma de aprendizaje de refuerzo, aunque funcionan de forma diferente a la habitual algoritmo de aprendizaje de refuerzo.
Generalmente, en algoritmos evolutivos como algoritmos genéticos o estrategia de evolución, tiene una población completa de individuos para optimizar. Para cada uno de esos individuos, se utiliza una función de calidad para determinar su "aptitud" (como en "supervivencia del más apto"), y los mejores individuos se seleccionan para la próxima generación. Esos "padres" se duplican aleatoriamente, se modifican, se mutan o incluso se recombinan entre sí: cómo se hace exactamente esto es algo diferente en cada uno de los diferentes algoritmos. Finalmente, esos nuevos padres mutados y/o recombinados forman la población para la próxima generación, y el proceso comienza de nuevo, hasta que se alcanza cierta calidad deseada, o la calidad se nivela.
En el caso de la neuroevolución, los individuos son redes neuronales, que están mutadas al cambiar aleatoriamente los pesos (mientras que en las redes neuronales clásicas los pesos se actualizan según reglas matemáticas muy precisas) o incluso alteran su topología, y la calidad de los individuos está determinada por su desempeño en los datos de entrenamiento.
Lo sentimos, no hay referencias científicas duras aquí, pero tal vez esto todavía ayudó a aclarar un poco las cosas.
Esta es la mejor respuesta hasta el momento, pero seguiré buscando ... ¡Gracias por la excelente respuesta! –