Este documento describe los fundamentos de los algoritmos evolutivos. Los algoritmos evolutivos se basan en los principios de la evolución biológica para optimizar soluciones mediante la simulación del proceso de selección natural. Inicialmente se crea una población heterogénea de posibles soluciones que luego se modifica a través de generaciones usando cruces y mutaciones. Las mejores soluciones son seleccionadas para la próxima generación basado en su aptitud. Este proceso continúa hasta alcanzar una solución optima o llegar
2. Algoritmos evolutivos
• Son métodos de optimización y búsqueda de
soluciones, fundamentados en los principios
de la evolución biológica.
• Hacen parte de una rama de la inteligencia
artificial junto con la computación evolutiva.
• Programación evolutiva / Estrategias
evolutivas / Algoritmos genéticos.
3. Algoritmos evolutivos
• Elementos iniciales.
– Se inicia con una población base, normalmente
reducida y heterogénea.
– La población se encuentra en un ambiente con
recursos limitados.
– Esta población se va modificando a través de
generaciones y empleando el cruzamiento y las
mutaciones para diversificarla.
– Se evalúan los individuos y sobreviven los mas
actos para volver a generar una nueva población.
4. Algoritmos evolutivos
• Elementos iniciales.
– Por medio de los cruces y las mutaciones se
alcanza la exploración de un amplio rango de
posibles soluciones.
– El aplicar la selección(fitness) permite reducir la
heterogeneidad y aproximarse a una solución de
optimización.
5. Algoritmos evolutivos
• Población.
– Se representan individuos con posibles soluciones.
– Normalmente estos individuos se representan por
arreglos(arrays) codificados con las posibles
soluciones.
– Estos arrays pueden contener representaciones
binarias para referir las posibles soluciones.
6. Algoritmos evolutivos
• Fitness.
– Para seleccionar la población que pasara a la
próxima generación es necesario evaluar el
individuo, si es adecuado, mejorara su
probabilidad de tener descendencia.
– El Fitness es la función que evalúa el grado de
cumplimiento del individuo con lo esperado.
– En la practica, la función recibiría o evaluaría el
array que conforma el individuo.
7. Algoritmos evolutivos
• Variación.
– Para lograr variar la población y no perder
posibilidades de solución se emplean
normalmente dos funciones de variación.
– Crossover: combinación de los individuos .
– Mutación: Toma un descendiente y aplica una
varianza aleatoria.
– Normalmente se aplican estas dos funciones, pero
la forma de su empleo depende de cada
algoritmo.
8. Algoritmos evolutivos
• Variación.
– Crossover:
• Se combinan los padres que han sido seleccionados
como los mejores de la anterior generación y se genera
una nueva población.
• La combinación puede ser a partir de posiciones fijas,
por ejemplo tomando la mitad de los elementos del
padre y la otra mitad de la madre.
• Igualmente puede ser aleatorias posiciones aleatorias
tomadas del padre y la madre.
9. Algoritmos evolutivos
• Variación.
– Mutación :
• La mutación se presenta en los algoritmos evolutivos
para explorar nuevas opciones de solución y no caer en
soluciones locales.
• La mutación al igual que sus referentes biológicos no
ocurre con gran frecuencia y su ocurrencia puede
alterar de forma suficiente la población para mejorar
las posibilidades de un individuo.
10. Algoritmos evolutivos
• Finalización.
– Para finalizar el algoritmo se debe alcanzar
algunas de las siguientes alternativas.
• Se alcanzo el optimo esperado.
• Se alcanzo el limite de generaciones estimado.
• No se mejoro el fitness de la población después de un
tiempo determinado.
• Se alcanzo el mínimo de diversidad.
12. Algoritmos evolutivos
• Caso: Se tiene un área definida con algunas secciones marcadas con
alimento. Una población establecida desea alcanzar el mayor numero de
puntos de alimento posible, pero no conocen donde se encuentra.
• Cada individuo
puede seleccionar
8 espacios del área
para buscar.
• Se simularan 200
generaciones.
• Al localizar el
alimento el individuo
tendrá mejor
puntaje en la función
fitness.
X X X
X
X X
X X