introducción a los algoritmos genéticos
TRANSCRIPT
![Page 1: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/1.jpg)
Introducción a los Algoritmos GenéticosIntroducción a los Algoritmos Genéticos
Héctor Alejandro [email protected]
http://scfi.uaemex.mx/hamontes
![Page 2: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/2.jpg)
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
![Page 3: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/3.jpg)
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
![Page 4: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/4.jpg)
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)
![Page 5: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/5.jpg)
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
![Page 6: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/6.jpg)
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
![Page 7: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/7.jpg)
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
![Page 8: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/8.jpg)
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
![Page 9: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/9.jpg)
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
![Page 10: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/10.jpg)
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
![Page 11: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/11.jpg)
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
![Page 12: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/12.jpg)
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?
![Page 13: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/13.jpg)
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...)
![Page 14: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/14.jpg)
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
![Page 15: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/15.jpg)
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.
![Page 16: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/16.jpg)
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
![Page 17: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/17.jpg)
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
![Page 18: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/18.jpg)
3 de octubre de 2015 Héctor Alejandro Montes 18
Eficiencia
● Eficiencia de los diferentes métodos según el tipode problema:
![Page 19: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/19.jpg)
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.
![Page 20: Introducción a los Algoritmos Genéticos](https://reader035.vdocuments.site/reader035/viewer/2022070706/62c41ad78a89ff4d07511ea8/html5/thumbnails/20.jpg)
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?