En algoritmos genéticos , la herencia es la capacidad de los objetos modelados de aparearse , mutar (similar a la mutación biológica ) y propagar sus genes de resolución de problemas a la siguiente generación , con el fin de producir una solución evolucionada para un problema particular. La selección de objetos que se heredarán en cada generación sucesiva está determinada por una función de aptitud , que varía según el problema que se aborde. [1]
Los rasgos de estos objetos se transmiten a través de los cromosomas por un medio similar a la reproducción biológica . Estos cromosomas generalmente están representados por una serie de genes , que a su vez suelen representarse utilizando números binarios . Esta propagación de rasgos entre generaciones es similar a la herencia de rasgos entre generaciones de organismos biológicos . Este proceso también puede verse como una forma de aprendizaje de refuerzo , porque la evolución de los objetos está impulsada por la transmisión de rasgos de objetos exitosos que pueden verse como una recompensa por su éxito, promoviendo así los rasgos beneficiosos. [1]
Proceso
Una vez que se está a punto de crear una nueva generación, todos los individuos que han tenido éxito y han sido elegidos para reproducirse se emparejan aleatoriamente. Luego, los rasgos de estos individuos se transmiten mediante una combinación de cruce y mutación. [1] Este proceso sigue estos pasos básicos:
- Empareje objetos exitosos para el apareamiento.
- Determinar aleatoriamente un punto de cruce para cada par.
- Cambie los genes después del punto de cruce en cada par.
- Determinar aleatoriamente si hay genes mutados en los objetos secundarios.
Después de seguir estos pasos, se producirán dos objetos secundarios por cada par de objetos primarios utilizados. Luego, después de determinar el éxito de los objetos en la nueva generación, este proceso se puede repetir utilizando los nuevos objetos que hayan tenido más éxito. Por lo general, esto se repetirá hasta que se alcance una generación deseada o se encuentre un objeto que cumpla con un resultado mínimo deseado de la función de aptitud.
Si bien el cruce y la mutación son los operadores genéticos comunes utilizados en la herencia, también existen otros operadores como la reagrupación y la colonización-extinción. [ cita requerida ]
Ejemplo
Supongamos que estas dos cadenas de bits representan los rasgos que transmiten dos objetos principales:
- Objeto 1: 1100011010110001
- Objeto 2: 1001100110011001
Ahora, considere que el punto de cruce está ubicado aleatoriamente después del quinto bit:
- Objeto 1: 11000 | 11010110001
- Objeto 2: 10011 | 00110011001
Durante el cruce, los dos objetos intercambiarán todos los bits después del punto de cruce, lo que dará lugar a:
- Objeto 1: 11000 | 00110011001
- Objeto 2: 10011 | 11010110001
Finalmente, se simula la mutación en los objetos al haber cero o más bits invertidos aleatoriamente. Suponiendo que el décimo bit del objeto 1 está mutado, y el segundo y séptimo bits están mutados para el objeto 2, los hijos finales producidos por esta herencia serían:
- Objeto 1: 1100000111011001
- Objeto 2: 1101110010110001
Véase también
Referencias
- ^ abc Russell, Stuart J.; Norvig, Peter (1995). Inteligencia artificial: un enfoque moderno . Englewood Heights, Nueva Jersey: Prentice-Hall.
Enlaces externos
- BoxCar 2D Un ejemplo interactivo del uso de un algoritmo genético para construir automóviles bidimensionales.