Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Introducción a los Algoritmos GenéticosIntroducción a los Algoritmos Genéticos
Héctor Alejandro [email protected]
http://scfi.uaemex.mx/hamontes
3 de octubre de 2015 Héctor Alejandro Montes 2
Problema
● Los principios de Selección Natural han sido fundamentales en laevolución de la vida
● Éstos mismo principios de evoluciónse pueden utilizar como un modelo oparadigma para encontrar solucionesa problemas
3 de octubre de 2015 Héctor Alejandro Montes 3
Algoritmos Genéticos (AGs)
● Algoritmos de búsqueda basados en losmecanismos de genética y selección natural
● Combinan– Sobreviviencia del más apto (entre un conjunto de
soluciones)
– Intercambio de información estructurada yaleatoria
● Para formar un algoritmo de búsqueda queincluye algo de la habilidad humana
3 de octubre de 2015 Héctor Alejandro Montes 4
Estructura general de un AG
Procedimiento Algoritmo GenéticoInicio (1)
t = 0;inicializar P(t);evaluar P(t);Mientras (no se cumpla la condición de parada) hacerInicio(2)
t = t + 1seleccionar P(t) desde P(t-1)recombinar P(t)mutación P(t)evaluar P(t)
Final(2)Final(1)
3 de octubre de 2015 Héctor Alejandro Montes 5
Ejecución de un AG
● En cada generación:– Un nuevo conjunto de soluciones se crea
utilizando partes de sus predecesores másaptos
– Ocasionalmente, partes nuevas también seañaden y se prueban
– Los AGs no son simples búsquedas al azar
– Explotan información histórica para especularen nuevas direcciones de búsqueda en buscade mejorar
3 de octubre de 2015 Héctor Alejandro Montes 6
Objetivos de Investigación en AGs
● Explicar y abstraer los procesosadaptables de los sistemas naturales
● Diseñar sistemas artificiales de softwareque retenga los mecanismos que hansido útiles en los sistemas naturales.– Se busca imitar su robustez
3 de octubre de 2015 Héctor Alejandro Montes 7
Sistemas Biológicos
● Características:– Se auto-reparan
– Se auto-guían
– Se reproducen● Aunque son la regla en los sistemas
biológicos, rara vez existen en la mayoríade los sistemas artificiales sofisticados
3 de octubre de 2015 Héctor Alejandro Montes 8
Conclusión preliminar
● Donde sea que se requiera desempeñorobusto, la naturaleza es la mejor
● Los secretos de adaptación ysobrevivencia se entienden mejor a travésde un cuidadoso estudio de ejemplosbiológicos
3 de octubre de 2015 Héctor Alejandro Montes 9
Métodos de búsqueda“convencionales”
● ¿Son suficientemente robustos?● Hay de tres tipos principales:
– Basados en cálculo– Enumerativos o exahustivos o de fuerza
bruta– Aleatorizados
3 de octubre de 2015 Héctor Alejandro Montes 10
Métodos basados en cálculo
● Indirectos: Buscan óptimos locales resolviendoel conjunto de ecuaciones usualmente nolineales que resultan de igualar el gradiente de lafunción objetivo a cero
Una función de un solo'pico' es sencilla para los
métodos basados encálculo
3 de octubre de 2015 Héctor Alejandro Montes 11
Métodos basados en cálculo
● Directos: Buscan óptimos locales 'saltando' sobrela curva de la función, moviéndose en direcciónrelativa al gradiente local
● Ejemplo: Hill-climbing. Para encontrar unasolución mejor, escala la función en la direcciónde mayor inclinación permisible
● Ambos métodos han sido mejorados,extendidos, seccionados, divididos y vueltos adividir, pero les falta robustez
3 de octubre de 2015 Héctor Alejandro Montes 12
Métodos basados en cálculo
● Funciones con más de un pico provocan un dilema:¿Cuál pendiente escalamos?
3 de octubre de 2015 Héctor Alejandro Montes 13
Métodos basados en cálculo
● Comenzar en la cercanía de la base de unpico (cero, por ejemplo), causará queperdamos el pico más alto (o viceversa).
● Una vez que alcancemos alguno de losextremos, otra mejora debe buscarse através de un re-inicio aleatorio (o lo que senos ocurra...)
3 de octubre de 2015 Héctor Alejandro Montes 14
Problema adicional...… y muy real
● Muchas funciones son ruidosas y discontinuas y,por tanto, inadecuadas para un búsqueda pormétodos tradicionales
3 de octubre de 2015 Héctor Alejandro Montes 15
Métodos enumerativos
● Dentro de un espacio de búsqueda finito,o de un espacio de búsqueda infinitodiscretizado, el algoritmo prueba todostodos losvalores posibles, uno a la vez.
● Es ineficiente y no puede resolverproblemas grandes en tiempos útiles.
3 de octubre de 2015 Héctor Alejandro Montes 16
Métodos aleatorizados
● Han alcanzado una crecientepopularidad
● Esquemas puramente aleatoriosdeberían ser descartados debido a noser eficientes– A la larga, es de esperar que no tengan
mejor desempeño que los métodosenumerativos
3 de octubre de 2015 Héctor Alejandro Montes 17
Aleatorio vs. Aleatorizado
● Técnicas aleatorizadas– Algoritmos genéticos
– Recocido simulado (simulated annealing)
● Utilizan una serie de decisiones aleatoriaspara explotar el espacio de búsqueda
● Los métodos tadicionales funcionan bien enespacios pequeños
● Los métodos enumerativos y los aleatoriosfuncionan por igual de manera ineficiente
3 de octubre de 2015 Héctor Alejandro Montes 18
Eficiencia
● Eficiencia de los diferentes métodos según el tipode problema:
3 de octubre de 2015 Héctor Alejandro Montes 19
Objetivos en Optimización
● La optimización busca la mejora de lasolución en dirección de un punto opuntos óptimos
● Hay una distinción entre el procesode mejora y el mejor en sí mismo.
3 de octubre de 2015 Héctor Alejandro Montes 20
Conclusiones adicionales
● Llegar (converger) al mejor usualmente no estema relevante en los negocios, la política, losdeportes, o en la mayoría de los asuntoscotidianos
● Nos ocupa (¿preocupa?) más ser mejores enrelación a otros
● Llegar al óptimo es mucho menos importante enlos sistemas complejos, lo que se busca es lamejora contínua
● ¿Es lo mismo en la solución de problemascomputacionales?