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