Introducción a los Algoritmos Bio ... - Posgrados de CBI

146
Introducci ´ on a los Algoritmos Bio-Inspirados. Paradigmas B´ asicos y Nuevos Enfoques. Dr. Efr´ en Mezura Montes Laboratorio Nacional de Inform ´ atica Avanzada LANIA A.C. ebsamen No. 80, CENTRO, Xalapa, Veracruz, 91000, M ´ EXICO [email protected] http://www.lania.mx/˜emezura Fifth Mexican International Conference on Artificial Intelligence (MICAI 2006) Apizaco, Tlaxcala, Noviembre, 2006 Efr ´ en Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 1 / 142

Transcript of Introducción a los Algoritmos Bio ... - Posgrados de CBI

Page 1: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Introduccion a los Algoritmos Bio-Inspirados.Paradigmas Basicos y Nuevos Enfoques.

Dr. Efren Mezura Montes

Laboratorio Nacional de Informatica AvanzadaLANIA A.C.

Rebsamen No. 80, CENTRO, Xalapa, Veracruz, 91000, [email protected]

http://www.lania.mx/˜emezura

Fifth Mexican International Conference on Artificial Intelligence(MICAI 2006)

Apizaco, Tlaxcala, Noviembre, 2006

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 1 / 142

Page 2: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 2 / 142

Page 3: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 2 / 142

Page 4: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 2 / 142

Page 5: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 2 / 142

Page 6: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 2 / 142

Page 7: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 3 / 142

Page 8: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Planteamiento del problema

Problema general de programacion no linealEncontrar ~x que optimice f (~x)sujeto a:gi(~x) ≤ 0, i = 1, . . . , mhj(~x) = 0, j = 1, . . . , pdonde ~x ∈ IRn es el vector de soluciones ~x = [x1, x2, . . . , xn]

T , dondecada xi , i = 1, . . . , n esta delimitada por los lımites inferiores ysuperiores Li ≤ xi ≤ UiSi denotamos con F la region factible y con S al espacio total debusqueda, entonces deberıa ser claro que F ⊆ S.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 4 / 142

Page 9: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 5 / 142

Page 10: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimo global

En las siguientes definiciones asumiremos minimizacion (sin perdidade generalidad). ~x∗ = [x∗

1 , x∗2 , . . . , x∗

n ]T se refiere al punto optimo y a suvalor correspondiente de la funcion objetivo f (~x∗) se le llama valoroptimo. Al par ~x∗ y f (~x∗) se le llama solucion optima.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 6 / 142

Page 11: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Mınimo global

Una funcion f (~x) definida en un conjunto S alcanza su punto mınimoglobal ~x∗ ∈ S si y solo si: f (~x∗) ≤ f (~x) para toda ~x ∈ S

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 7 / 142

Page 12: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Mınimo local

Una funcion f (~x) definida en un conjunto S tiene un mınimo local(mınimo relativo) en un punto ~x l ∈ S si y solo si: f (~x l) ≤ f (~x) para toda~x dentro de una distancia ε de ~x l . Es decir, que existe un ε > 0 tal quepara toda ~x satisface |~x − ~x l | < ε, f (~x l) ≤ f (~x).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 8 / 142

Page 13: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Condiciones de Kuhn Tucker

Kuhn y Tucker desarrollaron las condiciones necesarias y suficientesde optimalidad para los problemas no lineales asumiendo que lasfunciones f , gj , y hk , son diferencialbes o doblemente diferenciables.Estas condiciones de optimizacion, conocidas comunmente comocondiciones de Kuhn-Tucker (KTC) consisten en encontrar unasolucion a un sistema de ecuaciones no lineales. Sin embargo, esalgo dıficil que las KTC se ajusten a problemas del mundo real. Por lotanto, el problema de programacion no lineal es un problema abierto.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 9 / 142

Page 14: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 10 / 142

Page 15: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Dos categorıas

Utilizan una sola solucion por cada iteracion, la cual es mejoradadurante el proceso.Dos categorıas:

Metodos directos.Metodos indirectos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 11 / 142

Page 16: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Metodos directos

Estos metodos usan solo la informacion de la funcion objetivo paraencontrar direcciones de busqueda.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 12 / 142

Page 17: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Metodos indirectos

Estos metodos requieren que la funcion objetivo sea diferenciable odoblemente diferenciable. Esta informacion se usa para guiar labusqueda con un operador de busqueda local.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 13 / 142

Page 18: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 14 / 142

Page 19: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Motivacion

A pesar del gran numero de tecnicas de programacion matematicadesarrolladas, varios problemas presentan caracterısticas que loshacen difıciles de resolver usando este tipo de metodos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 15 / 142

Page 20: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Dificultades encontradas

Problemas con funciones objetivo no diferenciables (incluso conrestricciones no diferenciables)Problemas con regiones factibles disjuntas y problemas confunciones objetivo no disponibles en forma algebraica.Es relativamente simple plantear problemas en los que lascondiciones de Kuhn-Tucker para optimizacion no se puedenaplicar.Problemas donde ninguna tecnica de programacion matematicapueda garantizar convergencia al optimo global.Espacios de busqueda muy grandes.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 16 / 142

Page 21: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 17 / 142

Page 22: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Fundamentos

La Computacion Evolutiva (CE) se basa en el concepto delNeo-Darwinismo el cual surge de la union de la Seleccion Natural deDarwin, la Teorıa del Germoplasma de Weismann y las Leyes de laHerencia de Mendel

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 18 / 142

Page 23: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Fundamentos

Basandose en esta idea , toda la vida en la Tierra puede ser explicadaa partir de los siguientes procesos:

1 Reproduccion: Una forma de crear nuevos individuos a partir deun conjunto actual de ellos.

2 Mutacion: Pequenos cambios en el codigo genetico, los cualescausan cambios notables en sus caracterısticas.

3 Competencia: Un mecanismo para medir que tan apto es unindividuo para sobrevivir en un medio ambiente especıfico.

4 Seleccion: Lleva a mantener o incrementar la aptitud de lapoblacion, donde la aptitud se define como la habilidad desobrevivir y reproducirse en un medio ambiente especıfico.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 19 / 142

Page 24: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Darwiniana

La Teorıa de la Evolucion de Darwin establece que, dado (1) unentorno que solo puede alojar un numero limitado de individuos, y (2)el instinto basico de los individuos para reproducirse, la seleccion sevuelve inevitable, de otra manera, la poblacion crecerıaexponencialmente.La seleccion natural favorece a los individuos que compiten por losrecursos disponibles de manera mas efectiva (supervivencia del masapto).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 20 / 142

Page 25: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Genetica

Los genes son las unidades de la herencia que codificancaracterısticas fenotıpicas y que estan distribuidos en varioscromosomas. Las formas de vida mas elevadas (plantas y animales)contienen un par de cromosomas en la mayorıa de sus celulas(llamadas diploides). Los gametos, como las celulas delespermatozoide y el ovulo, contienen una sola copia de sucromosoma y son llamados haploides.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 21 / 142

Page 26: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 22 / 142

Page 27: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Elementos de los AEs

Se requieren cinco elementos principales para modelar un procesoevolutivo en una computadora [Michalewicz, 1996]

Una adecuada representacion para las soluciones del problema aresolver (individuos).Un mecanismo para generar una poblacion inicial de individuos.Una funcion de aptitud que juega el papel del ambiente y esta acargo de evaluar el desempeno de cada individuo. Desde unpunto de vista practico, es imposible incluir todos los factoresposibles de un ambiente en la defincion de la funcion de aptitud.En relacion a los problemas de optimizacion, la funcion de aptitudrepresenta la abstraccion del ambiente, incluyendo solo aquellasvariables involucradas en la tarea de optimizacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 23 / 142

Page 28: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Elementos de los AEs

Los operadores de reproduccion usados para generar masindividuos, (particularmente los de cruza y mutacion).Valores para los parametros del algoritmo (tamano de lapoblacion, porcentajes de cruza y de mutacion, etc.)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 24 / 142

Page 29: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

La aptitud de un individuo se refiere a la evaluacion de la funcionobjetivo y es una medida de que tan bueno es un individuo (solucion alproblema) con respecto a otros individuos en una poblacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 25 / 142

Page 30: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

De sus principios biologicos, la CE toma algunos terminos: Uncromosoma es una estructura de datos representando a un individuoen la poblacion. Usualmente es un arreglo de enteros, donde a cadaposicion se le conoce como gen. Cada gen normalmente codifica unvalor de los parametros de decision del problema. Cada posiciondentro de un gen puede obtener un valor, al cual se le conoce comoalelo.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 26 / 142

Page 31: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Hay dos niveles de representacion usados en CE: (1) genotıpico y (2)fenotıpico. El genotipo es la codificiacion representada por loscromosomas y los genes. El fenotipo es el resultado de decodficar losvalores del cromosoma a valores de las variables del problema a serresuelto. A cada iteracion del proceso se le conoce como generacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 27 / 142

Page 32: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Al conjunto de individuos conocido como poblacion se le puede dividiren subpoblaciones. De esta forma, se puede modelar la evolucion delas especies, porque normalmente solo los individuos de la mismasubpoblacion se pueden recombinar. Si algunos individuos sontransferidos a otra subpoblacion, se modela el operador de migracion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 28 / 142

Page 33: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Representacion de solucionesLas representaciones mas utilizadas en CE son:

Binaria [Holland, 1975].Binaria con codigos de gray [Whitley, 1998].Entera [Coello, 1998].Real [Schwefel, 1995].Arboles [Koza, 1992].Listas binarias de longitud variable[Goldberg, 1991].Hıbrida [Dasgupta, 1994].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 29 / 142

Page 34: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Operadores de reproduccionTambien conocidos como operadores geneticos, su funcion esmodificar la manera en que la informacion genetica se transmite depadres a hijos. Hay dos categorıas principales:

1 Cruza: Usa partes del cromosoma de un conjunto de padres paragenerar un nuevo individuo:

Un punto [Holland, 1973].Dos puntos [De Jong, 1975] .Uniforme [Syswerda, 1989].

2 Mutacion: Un nuevo individuo se forma por pequenasmodificaciones geneticas de un solo padre [Michalewicz, 1996].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 30 / 142

Page 35: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Explotacion VS exploracionHay dos subprocesos relacionados con los operadores geneticos[Eiben, 2003]:(1) Explotacion: Se basa en movimientos finos para muestrear zonasprometedoras de espacio de busqueda del problema. Luego, sepueden encontrar, ya sea optimos locales o globales en estas zonas.La cruza es responsable de crear varios individuos en una zonaprometedora para muestrearla en un rango suficiente para encontrarel optimo global.(2) Exploracion: Se refiere a la busqueda de zonas prometedoras yevitar quedar atrapado en optimos locales. La mutacion es laresponsable de realizar grandes saltos en el espacio de busquedapara explorarlo.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 31 / 142

Page 36: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

SeleccionLa seleccion de individuos es el mecanismo para guiar la busquedahacia buenas soluciones (ya sean optimos locales o globales). Unataxonomıa para la seleccion es la siguiente:

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 32 / 142

Page 37: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

SeleccionSeleccion proporcional [Goldberg, 1991]: Los individuos seseleccionan con base en su contribucion de aptitud al total deaptitud de la poblacion. Algunas propuestas son:

La ruleta [Dejong, 1975].Sobrante estocastico:

Con reemplazo [Booker, 1982].Sin reemplazo [Brindle, 1981].

Universal estocastica [Baker, 1987].Muestreo determinıstico [De Jong, 1975].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 33 / 142

Page 38: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

SeleccionSeleccion mediante torneo [Wetzel, 1983]: Comparacionesdirectas de aptitud entre los individuos. Puede ser binaria (dosindividuos) o con mas de dos individuos. El mas apto gana. Haydos tipos principales:

Determinıstico: El mas apto siempre gana.Probabilıstico: El mas apto gana con cierta probabilidad (P.E. enalgunos casos, la solucion mas apta no sera seleccionada).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 34 / 142

Page 39: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

SeleccionSeleccion de estado uniforme [Whitley, 1989]: Se utiliza enalgoritmos geneticos no generacionales.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 35 / 142

Page 40: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

DiscusionLa presion de seleccion se refiere a la probabilidad de que lassoluciones menos aptas sobrevivan. Cuando la presion deseleccion es alta, las soluciones menos aptas tienen poca o ceroprobabilidad de sobrevivir. Por otro lado, cuando la presion deseleccion es moderada, tienen oportunidad de ser seleccionadaspara la reproduccion o ser parte de la poblacion de la siguientegeneracion.La seleccion mediante torneo tiene una presion de seleccion masalta que la seleccion proporcional.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 36 / 142

Page 41: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

DiscusionEntre las tecnicas de seleccion proporcional, hay algunas de ellasdonde la solucion menos apta tiene mayores probabilidades desobrevivir. Por ejemplo, el muestreo de la seleccion universalestocastica asigna una mayor probabilidad de sobrevivir a lassoluciones menos aptas que, por ejemplo, la ruleta.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 37 / 142

Page 42: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Control de parametrosHay diferentes maneras de controlar los valores de los parametros enun AE. Basandose en la clasificacion propuesta por Hinterding et al.[Hinterding, 1997] y explicada por Back [2001], las aproximacionesexistentes son:

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 38 / 142

Page 43: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Control de parametrosEstatico: Se asigna un valor inicial a cada uno de los parametrosy permanecen sin cambio durante todo el proceso evolutivo.Dinamico: El ajuste de los parametros es modificado de acuerdoa una agenda determinıstica prescrita por el desarrollador del AE(usualmente los valores de los parametros varıan dependiendodel numero de la generacion actual).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 39 / 142

Page 44: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Conceptos de CE

Control de parametrosAdaptacion en lınea: Los nuevos valores de los parametros seobtienen mediante un mecanismo de retroalimentacion quemonitorea la evolucion y recompensa o castiga a los valores delos parametros de acuerdo a si el efecto causado por ellos fueuna mejora o un deterioro en el comportamiento esperado del AE.Auto adaptacion: Los valores de los parametros son codificados yevolucionan usando el mismo algoritmo evolutivo, al aplicaroperadores a su codificiacion de una manera similar a la utilizadasobre las representaciones de las soluciones al problema. El AEtambien se utiliza para determinar si los cambios de losparametros son ventajosos respecto a su impacto en elcomportamiento esperado del algoritmo.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 40 / 142

Page 45: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 41 / 142

Page 46: Introducción a los Algoritmos Bio ... - Posgrados de CBI

AE General

De una manera general, para resolver un problema usando un AE, sedeben seguir los pasos mostrados a continuacion [Michalewicz, 1996]:

1 Generar una poblacion inicial aleatoria de n > 0 individuos, la cualrepresenta el conjunto de soluciones potenciales al problema.

2 Seleccionar a los individuos con base en el valor de su funcion deaptitud.

3 Aplicar operadores de reproduccion (cruza, mutacion, etc.) paragenerar nuevos individuos.

4 Ciclar hasta que una condicion de paro se satisfaga.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 42 / 142

Page 47: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Entonces, ¿por que diferentes paradigmas?

De los pasos generales para resolver un problema usando un AE, sedistinguen tres diferentes paradigmas. En sus versiones originales,difieren en el nivel en el cual simulan la evolucion, en sus operadoresprimarios y secundarios y en el tipo de representacion que usan. Esimportante notar, sin embargo, que en la literatura actual es mascomun referirse a “Algoritmos Evolutivos” en su sentido general,puesto que sus caracterısticas especıficas tienden a serindistinguibles.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 43 / 142

Page 48: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Los AGs fueron llamados originalmente “Planes Reproductivos” yfueron concebidos por John H. Holland [Holland, 1993] en los 1960’s.La principal motivacion de esta propuesta fue el Aprendizaje deMaquina. Goldberg [1989] proporciona una defincion de AG:

Los Algoritmos Geneticos son algoritmos de busqueda,basandose en los mecanismos de la seleccion natural y lagenetica natural. Combinan la supervivencia del mas aptoentre estructuras de cadenas, con un cambio de informacionestructurado pero aleatorio, para formar un algoritmo debusqueda con algo del innovativo talento de la busquedahumana.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 44 / 142

Page 49: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

El AG trabaja a un nivel genotıpico y la cruza sexual es su principaloperador, porque ellos emulan la evolucion a nivel del individuo. Lamutacion es el operador secundario. La seleccion de padres estabasada probabilısticamente en la aptitud. Usualmente no son autoadaptativos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 45 / 142

Page 50: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Caracterısticas de un AG simpleCodificacion: Cadenas de bitsRecombinacion: Cruza de un puntoMutacion: Bit-flip.Seleccion de padres: De acuerdo a aptitud.Seleccion de sobrevivientes: Generacional.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 46 / 142

Page 51: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Pseudocodigo de un algoritmo genetico (AG)Empezar

Generar aleatoriamente una poblacion inicial de soluciones.Calcular la aptitud de la poblacion inicial.Repetir

Seleccionar una pareja de padres basandose en su aptitud.Crear dos hijos utilizando la cruza.Aplicar la mutacion a cada hijo.Evaluar el hijo mutado.Todos los hijos estaran en la nueva poblaciony los padres moriran.

Hasta que se satisfaga una condicion de paro.Fin

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 47 / 142

Page 52: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Codificacion tradicional usada en un AG.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 48 / 142

Page 53: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Puesto que los AGs trabajan a nivel genotıpico, se requiere de unproceso de decodificacion para obtener los valores de las variables dedecision para calcular la aptitud de una solucion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 49 / 142

Page 54: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Seleccion de padresSeleccion de aptitud proporcional: La probabilidad de selecciondepende del valor de la aptitud absoluta del individuo, comparada conel valor de aptitud del resto de la poblacion [Holland, 1975].Caracterısticas:

Los individuos que son mucho mejores que el resto, dominan lapoblacion muy rapidamente.Cuando los valores de aptitud son muy cercanos, casi no haypresion de seleccion (la seleccion se vuelve aleatoria).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 50 / 142

Page 55: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Seleccion de PadresSeleccion por jerarquıas: Conserva una presion de seleccionconstante, ordenando a la poblacion de acuerdo a su aptitud, y luego,asigna probabilidades de seleccion a los individuos de acuerdo a sujerarquıa en vez de hacerlos de acuerdo a los valores de su aptitud.Caracterısticas:

Es menos sensible a fomentar la convergencia prematura.El mapeo del numero de jerarquıa hasta la probabilidad deseleccion es arbitrario y puede ser hecho de muchas formas (P.E.lineal, exponencial, etc.).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 51 / 142

Page 56: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Seleccion de PadresSeleccion mediante torneo: Se basa en una relacion de orden quepueda clasificar cualquier subconjunto de individuos (tıpicamentedos). Caracterısticas:

Conceptualmente simple y facil de implementar.La probabilidad de que un individuo sea seleccionado depende decuatro factores:

Su clasificacion en la poblacion.El tamano del torneo.La probabilidad p de que el miembro mas apto del torneo seaseleccionado (torneo determinıstico p = 1, torneo estocasticop < 1).Si los individuos son seleccionados con o sin reemplazo.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 52 / 142

Page 57: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Seleccion de sobrevivientesReemplazo basado en la edad: La aptitud de un individuo no estomada en cuenta. En su lugar, cada individuo puede permanecer enla poblacion por un numero definido de generaciones (P.E. en un AGtıpico, todos los individuos viven solo una generacion).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 53 / 142

Page 58: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Seleccion de sobrevivientesReemplazo basado en la aptitud: Basandose en el valor de aptitud deun individuo, pueden ser reemplazados. Se distinguen dos tipos:

Reemplazar el peor: El peor miembro de la poblacion serareemplazado.Elitismo: Las mejores soluciones actuales se conservan en lapoblacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 54 / 142

Page 59: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Operadores GeneticosCruza: Es el proceso mediante el cual se crea un nuevo individuo apartir de la informacion contenida dentro de dos (o mas) solucionespadre. Se considera el operador primario en los AG’s. Tipos:

Cruza de un punto.Cruza de N-puntos.Cruza uniforme.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 55 / 142

Page 60: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Ejemplo de cruza.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 56 / 142

Page 61: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Operadores GeneticosMutacion: Es el nombre generico dado a aquellos operadores devariacion que solo utilizan un padre para crear un hijo aplicando alguntipo de cambio aleatorio a la representacion. La forma depende de lacodificacion utilizada. Principales tipos:

Mutacion bitwise.Mutacion uniforme.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 57 / 142

Page 62: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Ejemplo de mutacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 58 / 142

Page 63: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Algoritmo Genetico (AG)

Una de las contribuciones teoricas mas importantes en los AG’s es elteorema de los Esquemas [Holland, 1975]. Este teorema da una ideade la forma en que trabajan los AGs. Ademas, existe una prueba deconvergencia para un AG elitista [Rudolph, 1994].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 59 / 142

Page 64: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Las EE fueron desarrolladas en Alemania en 1964 para resolverproblemas complejos de hidrodinamica. Los investigadoresinvolucrados en este trabajo fueron Ingo Rechenberg, Hans-PaulSchwefel y Paul Bienert [Schwefel, 1995].Las EE simulan la evolucion a nivel de los individuos, existe unoperador de cruza, ya sea sexual o panmıctico (mas de dos padres),el cual, sin embargo actua como un operador secundario.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 60 / 142

Page 65: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

La mutacion es el operador principal y utiliza numeros aleatoriosgenerados con una distribucion Gaussiana. Los valores de mutacionvarian con el tiempo y son auto adaptables. La representacion en lasEE es a nivel fenotıpico (P.E. no se requiere un proceso decodificacion) y el proceso de seleccion de sobrevivientes esdeterminıstico y extintivo (el peor de los individuos tiene ceroprobabilidad de sobrevivir).Las primeras versiones de una EE fueron la (1 + 1)-EE, la (1 + λ)-EEy la (µ + 1)-EE. Todas ellas fueron los puntos de partida para lasversiones mas conocidas: (µ + λ)-EE y (µ, λ)-EE.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 61 / 142

Page 66: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Caracterısticas de una EE simpleCodificacion: Vectores con numeros realesRecombinacion: Discreta o intermediaMutacion: Perturbacion Gaussiana.Seleccion de padres: Aleatoria uniforme.Seleccion de sobrevivientes: Determinıstica: (µ, λ) o (µ + λ).Especialidad: Auto-adaptacion del tamano de paso de lamutacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 62 / 142

Page 67: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Pseudocodigo de una EE multimiembro.Empezar

Generar aleatoriamente una poblacion inicial de soluciones.Calular la aptitud de la poblacion inicial.Repetir

Seleccionar dos o mas padres aleatoriamente.Aplicar la cruza para crear hijos.Aplicar el operador de mutacion a todos los hijos.Evaluar cada hijo.Seleccionar los mejores individuos (“+” o “,”) parala proxima generacion basandose en su aptitud.

Hasta que se satisfaga una condicion de paro.Fin

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 63 / 142

Page 68: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Diferencias de codificacion entre AG’s y EE’s. Las EE no requieren unproceso de decodificacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 64 / 142

Page 69: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Seleccion de padresSeleccion aleatoria: No es sesgada por los valores de aptitud. Lospadres son seleccionados de entre la poblacion de manera aleatoriacon una distribucion uniforme. Cada padre puede ser seleccionadomas de una vez o bien puede no ser seleccionado.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 65 / 142

Page 70: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Seleccion de sobrevivientes(µ, λ): Los mejores µ individuos son seleccionados solamente deentre los λ hijos.(µ + λ): Los mejores µ individuos son seleccionados de la unionde los µ padres y los λ hijos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 66 / 142

Page 71: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Operadores GeneticosMutacion: Es el operador principal y esta basado en una distribucionnormal (Gaussiana), por lo que requiere de dos parametros(usualmente estaticos durante el proceso evolutivo): la media y ladesviacion estandar. El operador de mutacion trabaja sobre lasvariables de decision y tambien con los parametros de la estrategia.La mutacion se calcula de la siguiente manera:

σ′i = σi · exp(τ ′ · N(0, 1) + τ · Ni(0, 1))

θ′j = θj + β · Nj(0, 1)

~x ′ = ~x + ~N(~0, C(~σ′, ~θ′))

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 67 / 142

Page 72: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Operadores GeneticosDonde τ y τ ′ son interpretados como “porcentajes de aprendizaje” yson definidos por Schwefel [1996] como: τ = (

√2√

n)−1 yτ ′ = (

√2n)−1 y β ≈ 0.0873. Ni(x , y) es una funcion que regresa un

numero real aleatorio con distribucion normal con media “x” ydesviacion estandar “y ”. El ındice “i” indica que este numero aleatorioes generado nuevamente para cada variable de decision (gen delcromosoma).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 68 / 142

Page 73: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Operadores Geneticos

C(~σ′, ~θ′) es la matriz de covarianza representada por el conjunto de ntamanos de paso y n(n − 1)/2 angulos de rotacion. Para calcular esto~N(~0, C(~σ′, ~θ′)), que representa el vector de tamanos de paso peroahora actualizado usando mutacion correlacionada (llamamos a estevector ~σ′′) realizamos lo siguiente: Para cada angulo θ′k , calculamossu dos valores de tamanos de paso en sus ejes correspondientes σ′

i yσ′

j y calculamos lo siguiente: σ′′

i = σ′i · cos θk − σ′

j · sin θk yσ′′

j = σ′i · sin θk + σ′

j · cos θk [Schwefel, 1995].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 69 / 142

Page 74: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Operadores Geneticos

De esta manera, los ~σ′′ valores ahoran han mutado de una maneracorrelacionada y pueden ser usados para mutar el vector ~x devariables de decision.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 70 / 142

Page 75: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Operadores GeneticosAlgunos autores usan la mutacion correlacionada, pero implica unesfuerzo computacional extra para procesar los valores de cadaangulo y tambien para rotar al individuo. Ademas, se necesita espacioextra de memoria para almacenar todos los angulos diferentes porindividuo (estos angulos se forman por la combinacion de todos losejes basandose en el numero de variables de decision del problema).Si se prefiere una mutacion no correlacionada, el costo computacionaly el espacio de almacenamiento para cada individuo disminuye.Si se usa una mutacion no correlacionada, la expresiones de mutacionson:

σ′i = σi · exp(τ ′ · N(0, 1) + τ · Ni(0, 1))

x ′i = xi + σ′

i · Ni(0, 1)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 71 / 142

Page 76: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Diferentes formas de una solucion (caso 2D) cuando se usa un solovalor de tamano de paso para todas las soluciones, usando un valorde tamano de paso para cada variable por cada individuo y finalmente,agregando mutacion correlacionada.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 72 / 142

Page 77: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Operadores geneticosRecombinacion: Puede ser sexual (dos padres) o panmıtica (mas dedos padres). Se puede aplicar a las variables de decision delproblema y tambien a los parametros de la estrategia (P.E. los valores“σ”). Dos tipos:

Intermedia: zi = (xi + yi)/2.Discreta: zi = xi or zi = yi elegido aleatoriamente con igualprobabilidad.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 73 / 142

Page 78: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Auto AdaptacionComo se puede notar, el valor de “σ” representa el tamano de pasousado por cada variable dentro del cromosoma de un individuo.Ademas, los operadores geneticos (recombinacion y mutacion) sonaplicados a estos valores “σ”.

σi(0) =∆xi√

n

donde ∆xi es aproximado con la expresion ∆xi ≈ xui − x l

i , donde xui y

x li son los lımites superior e inferior de la variable de decision i .

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 74 / 142

Page 79: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Estrategias Evolutivas (EE)

Auto AdaptacionPor lo tanto, el usuario no necesita definir valores para el operador demutacion. En su lugar, el proceso evolutivo, evolucionara y adaptaraestos tamanos de paso. Finalmente, es importante remarcar quetampoco es necesario definir un porcentaje de cruza, porque en lasEE, el operador de cruza tıpicamente se aplica, ya sea, siempre, onunca. La mutacion tampoco requiere un parametro de aplicacion,pues siempre se utiliza.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 75 / 142

Page 80: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Fue propuesta por Fogel en 1960, donde remarca las relaciones deherencia y el comportamiento entre padres e hijos. La adaptacion seconcibe en este paradigma como un tipo de inteligencia.El modelo de PE simula la evolucion a nivel de las especies, por lotanto, no hay un operador de cruza (en la naturaleza no es posiblecruzar animales de diferentes especies, P.E. un leon con un raton). Latecnica de seleccion de sobrevivientes se basa en torneosestocasticos. El principal y unico operador es la mutacion. Ademas, laPE opera a nivel fenotıpico (no requiere codificacion). En la propuestaoriginal de la PE, no fue considerada la auto adaptacion de losparametros de mutacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 76 / 142

Page 81: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Caracterısticas de la PE simpleCodificacion: Vectores con numeros realesRecombinacion: NINGUNAMutacion: Perturbacion Gaussiana .Seleccion de padres: Determinıstica (cada padre crea un hijomediante la mutacion).Seleccion de sobrevivientes: Probabilistica (µ + µ).Especialidad: Auto adaptacion de los tamanos de paso de lamutacion en la meta-EP.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 77 / 142

Page 82: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Pseudocodigo del algoritmo de PE.Empezar

Generar aleatoriamente un poblacion inicial de soluciones.Calcular la aptitud de la poblacion inicial.Repetir

Aplicar la mutacion a toda la poblacion para crear hijos.Evaluar cada hijo.Seleccionar (mediante torneos estocasticos) los individuosde la proxima generacion.

Hasta que se satisfaga una condicion de paro.Fin

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 78 / 142

Page 83: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

CodificacionLa codificacion en la PE es similar a la que se usa en las EE.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 79 / 142

Page 84: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Fue originalmente propuesta para evolucionar maquinas de estadofinito. Se usaron cinco operadores de mutacion: Cambiar un sımbolode salida, cambiar un estado de transicion, agregar un estado, borrarun estado y cambiar el estado inicial.Desde los 1990’s, se han propuesto variantes de la PE para laoptimizacion numerica.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 80 / 142

Page 85: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Seleccion de PadresDeterminıstica: Un padre crea exactamente un hijo mediantemutacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 81 / 142

Page 86: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Seleccion de sobrevivientes(µ + µ): Se sostienen competencias mediante torneos en parejas enun formato round-robin involucrando a ambas poblaciones (padres ehijos). Cada solucion a ∈ (µ + µ) se evalua contra otras “q” solucionesescogidas aleatoriamente. Por cada comparacion, se asigna un triunfoa “a” si es mejor que su oponente. Las µ soluciones con el numeromas grande de victorias se mantienen para ser padres de la proximageneracion (se recomienda q = 10).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 82 / 142

Page 87: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Operadores GeneticosMutacion: Es el unico operador. No existe un operador universal demutacion en la EP. Sin embargo, se discute el operador de mutacionmas asociado con meta-EP (la variante con auto adaptacion deparametros de estrategia y representacion de valores reales).

σ′i = σi · (1 + α · Ni(0, 1))

~x ′ = ~x + ~σ′ · Ni(0, 1)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 83 / 142

Page 88: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Operadores GeneticosRecombinacion: No hay operador de recombiancion en la PE original.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 84 / 142

Page 89: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Evolutiva (PE)

Auto AdaptacionComo se puede notar, la version meta-PE es auto adaptativa. Sinembargo, no todas las versiones de la PE tienen esta caracterısticaincorporada.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 85 / 142

Page 90: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

La PG difiere de un AG basicamente en el tipo de codificacion y ensus operadores correspondientes. La PG se centra en encontrarmodelos con la maxima aptitud.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 86 / 142

Page 91: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Caracterısticas de la PG simpleCodificacion: Estructuras de arbolesRecombinacion: Intercambio de subarbolesMutacion: Cambios aleatorios en los arboles.Seleccion de padres: Proporcional a la aptitud.Seleccion de sobrevivientes: Generacional.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 87 / 142

Page 92: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Pseudocodigo del algorimto de PG.Empezar

Generar aleatoriamente una poblacion inicial de soluciones.Calcular la aptitud de la poblacion inicial.Repetir

Seleccionar un par de padres basandose en su aptitud.Crear dos hijos mediante la cruza.Aplicar la mutacion a cada hijo.Evaluar al hijo mutado.Todos los hijos estaran en la nueva poblaciony todos los padres moriran.

Hasta que se satisfaga una condicion de paro.Fin

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 88 / 142

Page 93: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Codificacion tradicional usada en la PG para la expresion2 · π +

((x + 3)− y

5+1

).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 89 / 142

Page 94: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Seleccion de padresSeleccion mediante aptitud proporcional con una variacion(sobre-seleccion) debido a que se utilizan frecuentemente poblacionesde gran tamano.

La poblacion es ordenada de acuerdo a su aptitud. Entonces sedivide en dos grupo: Uno conteniendo el maximo “x%” y otroconteniendo el “(100− x)%”.80% de las selecciones vienen del primer grupo y el otro 20% delsegundo grupo. Tıpicamente, los valores de “x” dependen deltamano de la poblacion (el numero de individuos en los cuales serealiza la seleccion, permanece constante):

Tam. Pobl. x

1000 32%2000 16%4000 8%8000 4%

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 90 / 142

Page 95: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Seleccion de sobrevivientesReemplazo Basado en la edad: Las soluciones tienen un lapso devida de una generacion. Han sido propuestas versiones elitista y deestado uniforme para la PG [Banzhaf, 1998].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 91 / 142

Page 96: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Operadores GeneticosCruza: Se crea un hijo mediante el intercambio de material geneticoentre los padres seleccionados (cruza de subarbol). Note que laprofunidad de los arboles hijos puede sobrepasar aquella de losarboles padres.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 92 / 142

Page 97: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Ejemplo de cruza en PG

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 93 / 142

Page 98: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Operadores GeneticosMutacion: La aproximacion mas comun consiste en reemplazar unsubarbol, empezando en un nodo elegido aleatoriamente por un arbolgenerado de la misma manera. Se recomiendan pequenosporcentajes de mutacion (inclusive, un porcentaje de cero).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 94 / 142

Page 99: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

Ejemplo de mutacion en PG.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 95 / 142

Page 100: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

InicializacionEl metodo de inicializacion requiere una profunidad inicial maxima deDmax para arboles, donde los elementos son tomados de un conjuntode funciones F y de terminales T . Dos subprocesos:

1 metodo completo: Cada rama tiene una profundidad de Dmax . Loscontenidos de los nodos a la profunidad d son escogidos de F sid < Dmax o de T si d = Dmax .

2 metodo de crecimiento: Las ramas de los arboles pueden tenerdiferentes profundidades, hasta el lımite Dmax . El arbol estaconstruido empezando desde la raız, con el contenido de un nodoseleccionado estocasticamente de F ∪ T si d < Dmax .

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 96 / 142

Page 101: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Programacion Genetica (PG)

BloatUn efecto especial de variacion del tamano de los cromosomas en PGes que tienden a crecer en el proceso evolutivo. A esto se le llamabloat. Este fenomeno debe ser controlado o eliminado. Dosaproximaciones comunes son las siguientes:

1 Definir un tamano maximo de arbol (parametro adicional).2 Parsimony pressure: Termino de penalizacion para castigar a los

cromosomas mas grandes [Iba et al., 1994].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 97 / 142

Page 102: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

ED es una estrategia de busqueda poblacional, muy similar a un AEestandar y fue propuesta por Storn & Price [1995]. La principaldiferencia son sus operadores de cruza y mutacion. Los autoresafirman que la DE puede ser usada en superficies planas. A pesar deser un AE nuevo, la ED ha sido aplicada ampliamente para resolverproblemas, tanto artificiales como del mundo real, con un desempenosuperior a los mostrados por otros AEs.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 98 / 142

Page 103: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

A diferencia de otros AEs (como las EE), el operador de mutacion dela ED no esta basado en una funcion de distribucion de probabilidadpredefinida (P.E. la distribucion Gaussiana). En su lugar, la distribuciondel operador de mutacion depende en la distribucion actual de lassoluciones en la poblacion, y esa parece ser una de sus principalesventajas.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 99 / 142

Page 104: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

El operador de mutacion consiste en una simple diferencia aritmeticaentre pares de individuos seleccionados aleatoriamente. Cada padregenerara solo un hijo. Para hacer esto, tres soluciones seleccionadasaleatoriamente de entre la poblacion actual participaran (con el padre)para generar al hijo. Si el hijo es mejor que el padre, lo reemplazarapara la siguiente generacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 100 / 142

Page 105: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Diseno de una EDCodificacion: Vectores con numeros realesRecombinacion: UniformeMutacion: Basado en la distribucion de la poblacion.Seleccion de padres: Determinıstica (cada padre crea un hijousando los operadores de la ED).Seleccion de sobrevivientes: Estado uniforme.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 101 / 142

Page 106: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Pseudocodigo de la ED simple.Empezar

Generar aleatoriamente una poblacion inicial de soluciones.Calcular la aptitud de la poblacion inicial.Repetir

Por cada padre, seleccionar tres soluciones aleatoriamenteCrear un hijo usando los operadores de la EDSi el hijo es mejor que su padreel hijo tomara el lugar del padre

hasta que se satisfaga una condicion de paro.Fin

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 102 / 142

Page 107: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

CodificacionLa ED utiliza una codificacion real, como las EE, pero no hayparametros de estrategia codificados y no se lleva a cabo ningunproceso de auto adaptacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 103 / 142

Page 108: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Seleccion de padresDeterminıstica: Un padre crea exactamente un hijo usando losoperadores de ED. Los tres individuos, los cuales participaran en elproceso, son seleccionados aleatoriamente.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 104 / 142

Page 109: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Seleccion del sobrevivienteEstado uniforme: La solucion mas apta entre el padre y su hijopermanecera en la poblacion. Por lo tanto, el elitismo es implıcito y lassoluciones pueden permanecer en la poblacion mas de unageneracion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 105 / 142

Page 110: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Operadores GeneticosMutacion: Obtiene un vector de ruido el cual se calcula como ladiferencia escalada entre dos (r1, r2) de las tres solucionesseleccionadas aleatoriamente, sumadas al valor de la tercerasolucion. F es un parametro definido por el usuario.

uij,G+1 = x r3

j,G + F (x r1j,G − x r2

j,G)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 106 / 142

Page 111: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Operadores GeneticosCruza: Se realiza entre el vector de ruido y el padre actual para crearel hijo correspondiente. La cruza en la ED es tıpicamente discreta,controlada por el parametro CR.

If (randj [0, 1) < CR or j = jrand ) Thenui

j,G+1 = x r3j,G + F (x r1

j,G − x r2j,G)

Elseui

j,G+1 = x ij,G

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 107 / 142

Page 112: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

Ejemplo de Mutacion y Cruza utilizados en la ED.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 108 / 142

Page 113: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Evolucion Diferencial (ED)

A pesar de su simplicidad, la ED es uno de los mas poderoso AEs.Otra ventaja es que sus parametros (F , CR) no requieren un ajustemuy fino.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 109 / 142

Page 114: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 110 / 142

Page 115: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Kennedy y Eberhart [1995] propusieron la Optimizacion medianteCumulos de Partıculas (PSO), que es un algoritmo de busquedabasado en la simulacion del comportamiento social de los pajarosdentro de una parvada. En PSO, los individuos, llamados partıculas“vuelan” a traves de un espacio de busqueda multidimensional. Loscambios a la posicion de las partıculas dentro del espacio debusqueda se basan en la tendencia socio-psicologica de los individuosa emular el exito de otros individuos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 111 / 142

Page 116: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Un cumulo consiste en un conjunto de partıculas, donde cadapartıcula representa una solucion potencial al problema. La posicionde cada partıcula cambia de acuerdo a su propia experiencia y a la desus vecinos. Sea ~xi(t) que denota la posicion de la partıcula pi , en eltiempo t . La posicion de pi cambia al agregarse una velocidad ~vi(t):

~xi(t) = ~xi(t − 1) + ~vi(t)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 112 / 142

Page 117: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

El vector velocidad conduce el proceso de optimizacion y refleja lainformacion intercambiada socialmente (factores sociales y cognitivos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 113 / 142

Page 118: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Diseno de la PSOCodificacion: Vectores con numeros realesOperadores: Formula de VueloMutacion: Opcional (cualquier operador de mutacion paracodificacion real)Seleccion de lıderes: Pbest, Gbest, Lbest.Seleccion de sobrevivientes: Las partıculas solo vuelan en elespacio de busqueda. Nunca mueren y no se crean nuevaspartıculas.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 114 / 142

Page 119: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Pseudocodigo de PSO.Empezar

Generar aleatoriamente un cumulo inicial de soluciones.Calcular la aptitud del cumulo inicial.Repetir

Seleccionar al lıder (o lıderes del cumulo)Para cada partıcula, actualizar la posicion (vuelo)Evaluar cada partıculaActualizar el pbest de cada partıcula

Hasta que se satisfaga una condicion de paro.Fin

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 115 / 142

Page 120: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

CodificacionPSO utiliza codificacion real, como la ED, sin parametros de estrategiacodificados y sin que se lleve a cabo un proceso de auto adaptacion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 116 / 142

Page 121: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

OperadoresFormula de Vuelo: En la version de PSO llamada “global-best”, elvector de velocidad cambia de la siguiente manera:

~vi(t) = W~vi(t − 1) + C1r1(~xpbesti − ~xi(t)) + C2r2(~xgbesti − ~xi(t))

Donde W es el peso de la inercia, C1 y C2 son los factores deaprendizaje (usualmente definidos como constantes), y r1, r2 ∈ [0, 1]son valores aleatorios. Despues de eso, se ejecuta el vuelo:

~xi(t) = ~xi(t − 1) + ~vi(t)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 117 / 142

Page 122: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

OperadoresMutacion: PSO es una tecnica de rapida convergencia. Por lo tanto eloperador de mutacion es util para evitar que el algoritmo se quedeatrapado en un optimo local. Varios operadores de mutacionpropuestos para los AEs de codificacion real han sido incorporados alPSO [Reyes, 2005].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 118 / 142

Page 123: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Seleccion de lıderesIndividual-best: Cada partıcula compara unicamente su posicionactual con respecto a su mejor posicion (pbest).Global-best: Cada partıcula es influenciada por la mejor solucionde todo el cumulo (gbest), ası como por su propia experiencia(pbest).Local-best: Cada partıcula es influenciada por la mejor soluciondentro de su vecindario (lbest), ası como por su propiaexperiencia (pbest).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 119 / 142

Page 124: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Seleccion de sobrevivientesNinguna: Las partıculas solo se mueven en el espacio de busqueda yla forma en que vuelan se ve afectada por la posicion del lıder y/o laspartıculas que posean la mejor posicion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 120 / 142

Page 125: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Tipos de vecindariosLa estructura social en PSO esta determinada mediante la formacionde vecindarios. Se distinguen tres tipos:

Topologıa de estrella: Cada partıcula se comunica con todas lasdemas partıculas. Una red social totalmente conectada. Se utilizacon el modelo gbest .Topologıa de anillo: Cada partıcula se comunica con sus nvecinos inmediatos. Se utiliza con el modelo lbest .Topologıa de ruedas: Solamente una partıcula se conecta a todaslas otras. En cuanto la partıcula focal ajusta su posicion hacia lamejor partıcula, el resto de las partıculas tambien ajusta suposicion.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 121 / 142

Page 126: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Diferentes topologıas usadas en PSO.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 122 / 142

Page 127: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante Cumulos de Partıculas (PSO)

Hoy en dıa, PSO es una de las heurısticas mas usadas paraoptimizacion con parametros reales. Esto es debido a las siguientesventajas: (1) es muy sencillo de implementar, (2) converge mas rapidoque los AE’s en algunos problemas y (3) tiene un mejor desempeno enalgunos casos del que proveen los AE’s. Ademas, se han propuestavarias nuevas versiones y, en algunas de ellas, se han incluidooperadores de recombinacion para generar nuevas partıculas[Lovbjerg et al., 2001].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 123 / 142

Page 128: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Organizacion de la presentacion

1 IntroduccionEl problema de optimizacion.Algunos conceptos importantesMetodos de Programacion Matematica¿Por que las heurısticas?

2 Algoritmos EvolutivosInspiracion biologicaTerminologıaPrincipales paradigmas

3 Algoritmos de Inteligencia en CumulosOptimizacion mediante Cumulos de PartıculasOptimizacion mediante la Colonia de Hormigas

4 Aplicaciones

5 Conclusiones

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 124 / 142

Page 129: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

De los 108 organismos vivos, solo el 2% son insectos sociales. Deltotal de los insectos sociales, el 50% son hormigas. La Optimizacionmediante la Colonia de Hormigas modela una de las tareas que serealizan dentro de un hormiguero: La recoleccion de comida. Lashormigas tienen la habilidad de encontrar el camino mas corto entresu nido y la fuente de comida. Este comportamiento se explica con laferomona, una sustancia segregada por las mismas hormigas.Durante su busquda por comida, y en el regreso de la fuente deencontrada, cada hormiga deja caer cierta cantidad de feromona en elcamino. Para elegir el camino a seguir, las hormigas prefieren elcamino con mas alta concentracion de feromona.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 125 / 142

Page 130: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 126 / 142

Page 131: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

El camino mas corto tendra concentraciones mayores de feromona,puesto que las hormigas regresan por ese camino de la fuente decomida mas rapido. Ademas, los depositos de feromona se evaporancon el tiempo. La fuerza de los depositos de feromona en el caminomas largo disminuira de manera mas acelerada que en el camino mascorto.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 127 / 142

Page 132: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Caracterısticas en ACOEspecialidad: Reglas de transicion y actualizacion de depositosde feromona.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 128 / 142

Page 133: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Algunas definicionesSea G = (N, A) un grafo conectado con n nodos. Se puede usar ACOpara encontrar una solucion para el problema del camino mas cortodefinido en el grafo G, donde una solucion es un camino en el grafoconectando un nodo fuente f a un nodo destino d , y la longitud delcamino se da por costos asociados con cada transicion (conexion oarco) entre nodos.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 129 / 142

Page 134: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Mejores opciones a elegirAsociada con cada arco (i , j) del grafo existe una variable τij llamadarastro de feromona. Los rastros de feromona son leıdos y escritos porlas hormigas. La cantidad (intensidad) del rastro de feromona esproporcional a la utilidad, como lo estiman las hormigas, de usar esearco para construir buenas soluciones.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 130 / 142

Page 135: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

A donde irLa informacion de cada nodo y aquella contenida en sus arcos desalida es utilizada por cada hormiga de una forma estocastica paradecidir el siguiente nodo a visitar. La regla de decision de una hormiga“k ” localizada en el nodo “i” utiliza los rastros de feromona τij paracomputar la probabilidad con la cual deberıa elegir el nodo j ∈ Nicomo el proximo nodo a moverse (donde Ni es un conjunto de vecinosdel nodo “i”) [Dorigo, 1999]. Al comienzo del proceso de busqueda,una pequena cantidad de feromona τij se asigna a todos los arcos.

pkij =

{ τijPj∈Ni

τijif j ∈ Ni

0 if j /∈ Ni

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 131 / 142

Page 136: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Mas feromona a un arcoMientras se construye una solucion, las hormigas depositan feromonaen los arcos que usan. La cantidad puede ser constante o variable.

τij = τij + ∆τ

Usando esta idea, el arco “ij” incrementara la probabilidad de que lashormigas usen el mismo arco en el futuro.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 132 / 142

Page 137: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Evaporacion de FeromonasPara evitar la convergencia prematura de todas las hormigas a uncamino suboptimo, la feromona se evapora. De esta forma, laintensidad de un rastro dado disminuira con el paso del tiempo (P.E.en cada generacion).

τij = (1− ρ)τij , ρ ∈ (0, 1]

Usando esta idea, el arco “ij” disminuira la probabilidad de que lashormigas usen el mismo arco en el futuro.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 133 / 142

Page 138: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Pseudocodigo del algoritmo basico de ACO.Empezar

Inicializar los depositos de feromona en cada nodo.Colocar las hormigas en un punto inicial.Sea T + el viaje mas corto y L+ la longitud de ese viaje.Repetir

Construir el viaje para cada hormiga eligiendo el siguiente nodoActualizar los depositos de feromona en cada nodopara simular la evaporacionComputar la longitud de la ruta de cada hormigaSi se encuentra una ruta mejorada, se actualiza T + y L+

Hasta que se satisfaga una condicion de paro.End

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 134 / 142

Page 139: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

Procedimientos externosAdemas de la evaporacion de feromona, se tienen accionescentralizadas, las cuales no pueden ser realizadas por una solahormiga (P.E. la activacion de un procedimiento de optimizacion local,recoleccion de informacion global para actualizar fuera de lınea losrastros de feromona, etc.).

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 135 / 142

Page 140: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Optimizacion mediante la Colonia de Hormigas (ACO)

ACO se usa principalmente para resolver problemas de optimizacioncombinatoria. [Colorni et al., 1994] [Di Caro and Dorigo, 1998]. Perohay algunos intentos para utilizarla en espacios de busquedacontinuos. [Bilchev & Parmee, 1995].

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 136 / 142

Page 141: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Donde aplicar estos algoritmos

Ambas propuestas, la Computacion Evolutiva y la Inteligencia deCumlos (conocidos en su conjunto como algoritmos bio-inspirados)son ampliamente usados para resolver problemas de optimizacion.Deben ser usados despues de intentar resolver el problema conmetodos de programacion matematica, no antes.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 137 / 142

Page 142: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Areas

Optimizacion (numerica y combinatoria).Prediccion.Juegos.Control automatico.Problema del viajero.Ruteo.Diseno y entrenamiento de redes neuronales.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 138 / 142

Page 143: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Areas

Bioquımica.Optica.Diseno de ingenierıa.Magnetismo.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 139 / 142

Page 144: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Areas

Aprendizaje de maquina.Optimizacion de busquedas en bases de datos.Reconocimiento de patrones.Generacion de gramaticas.Planificacion de movimiento de robots.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 140 / 142

Page 145: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Breves conclusiones

Los algoritmos bio-inspirados son una area de investigacion muydinamica, donde mas tecnicas y variantes son propuestas pararesolver problemas del mundo real.Ademas, existe mucho trabajo enfocado al diseno de operadores,tecnicas de seleccion, tecnicas de aproximacion de aptitud paradisminuir el costo computacional asociado con los algoritmosbio-inspirados, esquemas de autoadaptacion, mecanismos dediversidad, tecnicas para el manejo de restricciones, etc.Sin embargo, se requiere mas trabajo teorico para dar masconfianza sobre la manera en que estos algoritmos trabajan.

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 141 / 142

Page 146: Introducción a los Algoritmos Bio ... - Posgrados de CBI

Breves conclusiones

Para mas informacionMi pagina web:http://www.lania.mx/˜[email protected] de manejo de restricciones en AEs:http://www.cs.cinvestav.mx/˜constraintRepositorio de optimizacion evolutiva multiobjetivo:http://delta.cs.cinvestav.mx/˜ccoello/EMOO

Efren Mezura Montes () Algoritmos Bio-Inspirados MICAI 2006 142 / 142