lunes, 8 de agosto de 2011

Definición

Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin. Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas.

Un algoritmo genético consiste en una función matemática o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generación.

Versiones más complejas de algoritmos genéticos generan un ciclo iterativo que directamente toma a la especie (el total de los ejemplares) y crea una nueva generación que reemplaza a la antigua una cantidad de veces determinada por su propio diseño. Una de sus características principales es la de ir perfeccionando su propia heurística en el proceso de ejecución, por lo que no requiere largos períodos de entrenamiento especializado por parte del ser humano, principal defecto de otros métodos para solucionar problemas, como los Sistemas Expertos.

Población
Conjunto de soluciones potenciales, donde la población inicial puede ser elegida randómicamente
Cambia con el tiempo pero su tamaño se mantiene

Individuo
Elemento de la población
Cada individuo es representado por una cadena de caracteres

Crossover
Dos nuevos individuos pueden ser obtenidos de dos padres en el mating pool, recombinando a ambos padres

Mutación
Individuos en el mating pool también pueden cambiar a través de mutación randómica


Resultado -> Un nueva generación
El proceso se repite y converge a una población con individuos muy similares entre si



Mas informacion en Algoritmos Genéticos