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

La programación genética es el proceso de usar un programa de computadora para escribir otro programa de computadora utilizando una metodología evolutiva basada en algoritmos. Este proceso a menudo se compara con la programación lineal, en la que el programador escribe instrucciones específicas para que la computadora realice. LISP y el esquema son los lenguajes de programación más comunes para este tipo de trabajo debido a su funcionalidad y flexibilidad de alto nivel. Como resultado de su similitud conceptual con la evolución biológica, la programación genética a menudo se cita como un ejemplo de informática bioinspirada. Por ejemplo, se podría usar un GP para crear un programa para dibujar un boceto de una fotografía. Lo primero que haría el GP es crear un conjunto de programas que usen varias funciones de dibujo de computadora en combinaciones aleatorias. Entonces el GP ejecutaría cada uno de estos programas en orden, lo que generará los resultados de cada uno a la imagenarchivos.

El siguiente paso para el GP es seleccionar lo mejor de esos programas del conjunto. Este proceso es generalmente la parte más difícil de la programación genética. En el caso del programa de dibujo, el GP utilizaría el software de comparación de imágenes para determinar cuál de los dibujos aleatorios era más similar a la imagen que el software intentaba dibujar. De los programas generados aleatoriamente, el GP seleccionaría los mejores y descartaría el resto. El proceso de selección se conoce como evaluación de fitness, y generalmente se considera la parte más difícil de la programación genética.

Una vez que se hayan seleccionado los principales programas, el GP los usará como base de un nuevo lote de programas. Cada nuevo lote se llama generación. Las dos formas de crear la nueva generación son la mutación y el crossover. La mutación funciona tomando uno de los programas existentes y haciendo cambios aleatorios, con suerte paraCuanto mejor. Crossover, también llamado Breeding, trabaja tomando dos de los mejores programas y combinando elementos de ellos para crear nuevos programas.

Después de crear un nuevo lote de programas, el GP repite el proceso de ejecutarlos y evaluarlos, y luego repite los procesos de selección, eliminación y generación. GPS frecuentemente ejecutará cientos de generaciones antes de encontrar un solo programa con un resultado satisfactorio. A pesar de esta limitación, la programación genética es una forma común de resolver algunos tipos de problemas de computación difíciles, incluidos los problemas de ingeniería robótica y inteligencia artificial.

OTROS IDIOMAS