La selección es la etapa de un algoritmo genético o un algoritmo evolutivo más general en el que se eligen genomas individuales de una población para su posterior reproducción (p. ej., utilizando el operador de cruce ). También se utilizan mecanismos de selección para elegir soluciones candidatas (individuos) para la siguiente generación. Retener a los mejores individuos de una generación sin cambios en la siguiente generación se denomina elitismo o selección elitista . Es una variante exitosa (leve) del proceso general de construcción de una nueva población.
Un procedimiento de selección para la cría utilizada en etapas tempranas [1] puede implementarse de la siguiente manera:
Para muchos problemas, el algoritmo anterior puede resultar muy exigente en términos computacionales. Una alternativa más simple y rápida utiliza la denominada aceptación estocástica.
Si este procedimiento se repite hasta que haya suficientes individuos seleccionados, este método de selección se denomina selección proporcional a la aptitud o selección de ruleta . Si en lugar de un solo puntero que gira varias veces, hay varios punteros igualmente espaciados en una rueda que gira una vez, se denomina muestreo universal estocástico . Seleccionar repetidamente al mejor individuo de un subconjunto elegido al azar es selección de torneo . Tomar la mejor mitad, tercio u otra proporción de los individuos es selección por truncamiento .
Existen otros algoritmos de selección que no tienen en cuenta a todos los individuos para la selección, sino solo a aquellos con un valor de aptitud superior a una constante dada (arbitraria). Otros algoritmos seleccionan de un grupo restringido en el que solo se permite un cierto porcentaje de los individuos, en función del valor de aptitud.
Los métodos enumerados difieren principalmente en la presión de selección, [2] [3] que se puede establecer mediante un parámetro de estrategia en la selección de rango que se describe a continuación. Cuanto mayor sea la presión de selección, más rápido convergerá una población hacia una determinada solución y es posible que el espacio de búsqueda no se explore lo suficiente. Para conocer más métodos de selección y más detalles, consulte [4] [5] .
En la selección de la ruleta , la probabilidad de elegir un individuo para la reproducción de la siguiente generación es proporcional a su aptitud; cuanto mejor sea la aptitud, mayor será la probabilidad de que ese individuo sea elegido. La elección de individuos se puede representar como girar una ruleta que tiene tantos bolsillos como individuos en la generación actual, con tamaños que dependen de su probabilidad. La probabilidad de elegir un individuo es igual a , donde es la aptitud de y es el tamaño de la generación actual (tenga en cuenta que en este método un individuo puede ser extraído varias veces).
En la selección por rangos, la probabilidad de selección no depende directamente de la aptitud, sino del rango de aptitud de un individuo dentro de la población. Esto permite ver las grandes diferencias de aptitud en perspectiva; además, no es necesario disponer de los valores exactos de aptitud, sino solo de una clasificación de los individuos según su calidad.
A menudo se utiliza la clasificación lineal, que se remonta a Baker, [6] [7] . Permite establecer la presión de selección mediante el parámetro , que puede tomar valores entre 1,0 (sin presión de selección) y 2,0 (alta presión de selección). La probabilidad de las posiciones de clasificación se obtiene de la siguiente manera:
Además de la presión de selección ajustable, una ventaja de la selección basada en rangos se puede ver adicionalmente en el hecho de que también da a los peores individuos la oportunidad de reproducirse y, por lo tanto, mejorar. [8] Esto puede ser particularmente útil en aplicaciones con restricciones, ya que facilita la superación de una restricción en varios pasos intermedios, es decir, a través de una secuencia de varios individuos calificados mal debido a violaciones de restricciones.
En cada generación se seleccionan unos pocos cromosomas (buenos, con alta aptitud) para crear una nueva descendencia. Luego se eliminan algunos cromosomas (malos, con baja aptitud) y se coloca la nueva descendencia en su lugar. El resto de la población sobrevive hasta la nueva generación.
La selección por torneo es un método de elección de un individuo de un conjunto de individuos. El ganador de cada torneo es seleccionado para realizar el crossover.
A menudo, para obtener mejores resultados, se utilizan estrategias de reproducción parcial. Una de ellas es el elitismo, en el que una pequeña parte de los mejores individuos de la última generación se transfiere (sin cambios) a la siguiente.
En la selección de Boltzmann, una temperatura que varía continuamente controla la tasa de selección según un cronograma preestablecido. La temperatura comienza alta, lo que significa que la presión de selección es baja. La temperatura se reduce gradualmente, lo que aumenta gradualmente la presión de selección, lo que permite que el AG se reduzca más a la mejor parte del espacio de búsqueda mientras mantiene el grado apropiado de diversidad. [9]