Los algoritmos genéticos pertenecen a la computación evolutiva, son considerados también una técnica de inteligencia artificial. A través de millones de años, los organismos han evolucionado biológicamente para sobrevivir y crecer en un mundo cambiante. Los materiales genéticos de todos los organismos vivos consisten de cromosomas que están divididos en genes; su codificación y desarrollo son considerados un proceso clave en la continuación de las especies. El proceso de selección natural y el sobrevivir de los más aptos son considerados elementos importantes en la evolución, que ha sido estudiada desde el siglo XVII. El primer evolucionista fue Lamarck que en 1809 se inclinó por un cambio gradual, según el cual unas especies se transformaron en otras sin necesidad de recurrir a nuevas creaciones. El mecanismo que propuso fue que los organismos desarrollan a lo largo de su vida estructuras que se adaptan mejor al medio ambiente, y que estas modificaciones estructurales son hereditarias. En 1859 Charles Darwin publica “Sobre el Origen de la Especies por medio de la Selección Natural”. Según Darwin en las especies hay una tendencia enorme a la variación sobre las que actúa la selección natural y la selección sexual. Aquellos organismos que poseyeran caracteres que los ajustaran mejor a su ambiente, tendrían una tendencia a reproducirse de una forma más prolífica que los otros, y sus caracteres se transmitirán a las generaciones futuras en mayor proporción. Así, las poblaciones estarían continuamente mejorando, y sus adaptaciones a los ambientes a los que están sometidas, y las poblaciones con adaptaciones no adecuadas acabarían extinguiéndose. Los Algoritmos Genéticos están basados en estos aspectos de evolución.
En los artículos de Holland se establecen las teorías sobre los Algoritmos Adaptativos.
Las teorías sobre los sistemas adaptativos están orientadas a facilitar por un lado la comprensión de las formas complejas de adaptación que aparecen en los sistemas naturales y por otro, la habilidad para diseñar sistemas adaptativos robustos.
Holland se basó en modelos simples de evolución biológica a través de la supervivencia del más adaptado y la producción continua de nueva descendencia para conceptualizar sus ideas.
Las ideas de Holland comenzaron a plasmarse en modelos en computadora, se representan individuos por medio del uso de cromosomas en los que los mecanismos de evolución y herencia eran abstracciones de operadores genéticos como la selección, mutación o el cruce.
El cruce fue el que se estudió con más detalle, implementando diferentes tipos de éste.
También se utilizó la codificación binaria y gray.
Se realizaron estudios en detalle sobre la influencia del cruce y la mutación y se empezaron a utilizar los operadores de cruce basados en múltiples puntos.
Estos estudios fueron ampliados posteriormente de forma teórico práctica con el análisis de la modificación del tamaño de la población, cruce y mutación en el comportamiento de una familia de genéticos utilizados para optimizar un conjunto fijo de funciones de prueba. A partir de estos estudios se empezó a vislumbrar el enorme potencial de los algoritmos genéticos para resolver problemas de optimización.
Se inician trabajos en diversas universidades, en la Universidad de Michigan (Michigan State University) se celebró el congreso An Interdisciplinary World Shop in Adaptive Systems lo cual impulsó su estudio consiguiendo que se establecieran diversos grupos de trabajo.
Holland propuso heurísticos basados en principios genéticos como una metodología para resolver problemas de toma de decisiones.
Se organizó el primer International congress of genetic algorithms donde se presentaron los últimos avances tanto teóricos como prácticos del empleo de estas técnicas. El éxito de esta edición del congreso consiguió que se instaurara su celebración cada 2 años.
Las actividades en el campo de los algoritmos genéticos habían crecido mucho por lo que se fundó la International society for genetic algorithms.
Los algoritmos genéticos utilizan ideas de biología como población de cromosomas, selección natural para selección de pareja, cruza para producción de descendencia y mutación para diversidad. El punto importante de los algoritmos genéticos es la representación de un problema-solución que use un cromosoma de longitud constante o cambiante. La variable representada por la posición es un gen, y su valor se conoce como alelo. Una vez que obtenida la representación (codificado), es decir la manera en que el espacio de soluciones potenciales se transforma en el dominio de trabajo, la metodología de Algoritmos Genéticos puede ser aplicada para alcanzar una buena solución del problema. El codificado más popular por su simplicidad es el binario, donde los alelos son los valores de 0 ó 1. De ser necesario, el codificado basado en valor o de caracteres puede ser usado también. A pesar de que el codificado fijo es popular, los investigadores han usado uno que puede adaptarse para algunos problemas para mejorar los resultados.