Fundamentos Algoritmos
Evolutivos
Msc.Ing. José Fabián Díaz Silva
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.
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.
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.
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.
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.
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.
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.
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.
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.
Algoritmos evolutivos
POBLACION
HIJOS
PADRES
Mutación /
Crossover
Generación,
nueva
población.
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
MSC.ING. JOSE FABIAN DIAZ SILVA
@josefabiandiaz

Algoritmos evolutivos

  • 1.
  • 2.
    Algoritmos evolutivos • Sonmé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 • Elementosiniciales. – 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 • Elementosiniciales. – 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.
  • 11.
  • 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
  • 13.
    MSC.ING. JOSE FABIANDIAZ SILVA @josefabiandiaz