¿Qué es la programación genética?

La programación genética es el proceso de mejorar los programas de computadora utilizando algoritmos inspirados en la evolución biológica. Los lenguajes de programación que se prestan naturalmente a la programación genética son aquellos capaces de evaluar su propio código de forma nativa. Un ejemplo clásico es LISP, cuya estructura de datos característica es una lista. Cada programa LISP está escrito como una lista, por lo que los programas LISP son muy buenos para manipular y generar programas LISP.

¿Como funciona?

Un programa genético comienza con un conjunto de instrucciones que sirven como "cromosomas" y una "función de aptitud" que determina qué resultados son ideales. Las instrucciones se combinan al azar para producir una primera "generación" de programas, y luego esos programas individuales se prueban para determinar su condición física.

Los programas más aptos, aquellos que se acercan más al logro del comportamiento definido por la función de aptitud física, se seleccionan para "reproducirse". Los cromosomas de los programas más aptos se combinan, al igual que el código genético se combina en el mejoramiento biológico. Algunos cromosomas están "cruzados" (intercambiados) con los de otros programas, y algunos están "mutados": se modifican aleatoriamente de una manera predefinida. Se pueden producir miles o incluso millones de programas, y cada generación se acerca cada vez más al logro de un resultado deseado.

Instrucciones, términos de programación