20
Introducción a los Algoritmos Genéticos Introducción a los Algoritmos Genéticos Héctor Alejandro Montes [email protected] http://scfi.uaemex.mx/hamontes

Introducción a los Algoritmos Genéticos

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción a los Algoritmos Genéticos

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?