El algoritmo genético (GA) es un método de optimización heurístico que opera a través de búsquedas aleatorias. El conjunto de soluciones posibles para el problema de optimización se considera como una población de individuos. El grado de adaptación de un individuo a su entorno se especifica mediante su fitness (aptitud).
Las coordenadas de un individuo en el espacio de búsqueda están representadas por cromosomas, que son en esencia un conjunto de cadenas de caracteres. Un gen es una subsección de un cromosoma que codifica el valor de un solo parámetro que se está optimizando. Las codificaciones típicas para un gen pueden ser de tipo binario o entero.
A través de la simulación de las operaciones evolutivas de recombinación, mutación y selección, se encuentran nuevas generaciones de puntos de búsqueda que muestran una aptitud promedio más alta que sus ancestros. La Figure 61.1 ilustra estos pasos.
Figure 61.1. Estructura de un algoritmo genético
Según las preguntas frecuentes (FAQ) de comp.ai.genetic, es sumamente importante recalcar que un GA no es una búsqueda puramente aleatoria de una solución a un problema. Un GA utiliza procesos estocásticos, pero el resultado es claramente no aleatorio (mucho mejor que el aleatorio).