Herencia (algoritmo genético)
En los algoritmos genéticos, la herencia es la capacidad de los objetos modelados para aparearse, mutar (similar a la mutación biológica ) y propagar sus genes de resolución de problemas a la próxima generación, con el fin de producir una solución evolucionada a un problema en 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 tratos y beneficios que son llevados a través de los cromosomas que también asemejan a la reproducción biológica. Generalmente estos cromosomas son representados por una serie de genes, que además son representados utilizando números binarios. Esta propagación es similar a la herencia biológica que ganamos de nuestros organismos. Este proceso además puede ser visto como una forma de refuerzo del aprendizaje porque la evolución de ello está conducido por la composición de los rasgos de una manera útil, la cual puede ser renumerada por su éxito, fomentando así rasgos benéficos.
Proceso
[editar]Una vez que una nueva generación está lista para ser creada, todos los individuos que han tenido éxito y han sido elegidos para la reproducción se emparejan al azar. Luego, los rasgos de estos individuos se transmiten a través de una combinación de transversalidad y mutación.[1] Este proceso sigue estos pasos básicos:
- Empareje objetos convenientes para el apareamiento.
- Determine al azar un punto de cruce para cada par.
- Cambie los genes después del punto de cruce en cada par.
- Determine aleatoriamente si algún gen está mutado en los objetos secundarios.
Luego de seguir estos pasos, se producirán dos objetos secundarios por cada par de objetos principales utilizados. Después de determinar el éxito de los objetos en la nueva generación, este proceso puede repetirse utilizando los objetos nuevos que hayan tenido más éxito. Esto generalmente 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 que se utilizan en la herencia, también existen otros operadores, como la reagrupación y la colonización-extinción.
Ejemplo
[editar]Suponga que estas dos cadenas de bits representan las características que transmiten dos objetos principales:
- Objeto 1: 1100011010110001
- Objeto 2: 1001100110011001
Ahora, considere que el punto de cruce se coloca 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 conducirá a:
- Objeto 1: 11000 | 00110011001
- Objeto 2: 10011 | 11010110001
Finalmente, la mutación se simula en los objetos al haber cero o más bits invertidos al azar. Asumiendo que el décimo bit para el 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
[editar]Referencias
[editar]- ↑ a b Russell, Stuart J.; Norvig, Peter (1995). Artificial Intelligence: A Modern Approach. Englewood Heights, NJ: Prentice-Hall.
- Esta obra contiene una traducción total derivada de «Inheritance (genetic algorithm)» de Wikipedia en inglés, concretamente de esta versión del 15 de abril sde 2022, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.
Enlaces externos
[editar]- BoxCar 2D Un ejemplo interactivo del uso de un algoritmo genético para construir coches bidimensionales.