La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran.

Presentaciones similares


Presentación del tema: "Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran."— Transcripción de la presentación:

1 Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran en los mecanismos de evolución natural –Algoritmos genéticos –Algoritmos meméticos –Búsqueda dispersa (“Scatter search”) y caminos reconectados ( “path relinking”) –Algoritmos evolutivos basados en modelos probabilísticos Colonias de hormigas (“Ant colony optimization”): basado en el comportamiento y dinámica real de las colonias de hormigas

2 Métodos basados en poblaciones 2 Computación evolutiva (EC) Amplio espectro de técnicas heurísticas que funcionan emulando mecanismos de evolución natural. Trabaja sobre una población de individuos o conjunto de soluciones, que evoluciona utilizando mecanismos de selección y construcción de nuevas soluciones candidatas mediante recombinación de características de las soluciones seleccionadas. Etapas del mecanismo evolutivo: –Evaluación: función de fitness –Selección : de individuos adecuados (de acuerdo al fitness) para la aplicación de operadores evolutivos –Aplicación de operadores evolutivos –Reemplazo o recambio generacional

3 Métodos basados en poblaciones 3 Algoritmo 13 Computación Evolutiva Generación  0 P (0)  GenerarPoblacionInicial() Mientras no se cumple condición de fin do Evaluar (P(generación)) Q  Seleccionar(P (generación)) (Padres) R  AplicarOperadoresEvolutivos(Q) (Hijos) P´  Reemplazar(R,P(generación)) generación  generación + 1 P(generación) = P´ End mientras

4 Métodos basados en poblaciones 4 Operadores evolutivos: determinan el modo en que el algoritmo explora el espacio de búsqueda. Gran diversidad de tipos de operadores, que dan origen a diferentes variantes de algoritmos evolutivos. Los más comunes son los de recombinación de dos o mas individuos y los de mutación (autoadaptación) Condición de parada: cantidad de generaciones, variación de valores de la función de fitness, estimación de la distancia al óptimo, etc.

5 Métodos basados en poblaciones 5 Características de los algoritmos de EC: Descripción de los individuos. Los individuos de una población no necesariamente son soluciones. En problemas de optimización combinatoria, la representación de los individuos comunmente se hace como strings de bits o permutaciones de enteros. Proceso evolutivo: decide en cada iteración qué individuos entrarán en la próxima población. Estructura de vecindad (para poblaciones estructuradas) : es una estructura que permite obtener para todo individuo, cuáles son los posibles individuos con los cuales puede ser recombinado. Pueden existir poblaciones desestructuradas (se permite cualquier recombinación de individuos)

6 Métodos basados en poblaciones 6 Fuentes de información: trasmisión de información entre parejas de padres o múltiples (más de dos individuos padres) a hijos. Infactibiliddad: los EC pueden trabajar con individuos no factibles. Los individuos no factibles se pueden rechazar, se pueden penalizar o tratar de encontrar soluciones factibles a partir de no factibles. Estrategia de intensificación: uso de algoritmos para la mejora de la función de fitness, por ejemplo búsquedas locales (algoritmos meméticos) o uso de recombinaciones especiales utilizando individuos con buenas propiedades. Estrategia de diversificación: importante pues problema de EC es convergencia prematura en soluciones sub-óptimas. Introducción de ruido. Introducción sistemática de individuos de áreas no exploradas.

7 Métodos basados en poblaciones 7 Algoritmos genéticos Cruzamiento es el operador principal, mientras que la mutación es un operador secundario, solamente para agregar mayor diversidad al mecanismo de exploración Grado de adaptación de un individuo se evalúa a través de la función de fitness

8 Métodos basados en poblaciones 8 Algoritmo 13-1 Generación  0 P (0)  GenerarPoblacionInicial() Mientras no se cumple condición de fin do Evaluar (P(generación)) Q  Seleccionar(P (generación)) (Padres) R  AplicarRecombinación(Q) (Hijos) R  AplicarMutación(R) (Hijos) P´  Reemplazar(R,P(generación)) generación  generación + 1 P(generación) = P´ End mientras

9 Métodos basados en poblaciones 9 Algoritmos meméticos (MA) Técnicas basadas en la combinación de conceptos y estrategias de diferentes heurísticas: poblaciones y búsqueda local. Usan algoritmos de mejora de la función de fitness de los individuos Para cada individuo, utilizan local search como estrategia de intensificación que permite identificar buenas áreas de búsqueda Son de naturaleza poblacional

10 Métodos basados en poblaciones 10 Características: –En todo momento hay una población de soluciones al problema considerado –Agente: es una solución al problema (individuo) –Agentes relacionados en un marco competitivo y de cooperación –Interacciones entre agentes: estructurada en sucesión de pasos temporales, llamados generaciones. –Cada generación es la actualización de la población de agentes. –La nueva población recombinación de características de agentes seleccionados –Competencia entre agentes: selección y actualización.

11 Métodos basados en poblaciones 11 Esquema de una generación: PROC Paso_Generacional Pob:Agente[ ] (parámetro de E/S) Ops:Operador[ ] (parámetro de entrada) Variables Criadores,nueva_pob:Agente[ ] Inicio criadores  Seleccionar(pob) nueva_pob  Reproducir(criadores,ops) pob  Actualizar(pob,nueva_pob ) fin

12 Métodos basados en poblaciones 12 Selección: se encarga de elegir una muestra de los mejores agentes de la población actual. Función de guía F g : cuantifica la bondad de un agente en la resolución del problema Actualización: aspecto competitivo en la tarea de limitar el tamaño de la población, eliminando algunos agentes para permitir la entrada de nuevos (se puede hacer a través de F g ). Fase de selección y reemplazo: varía la distribución de agentes Fase de reproducción: lo más típico es utilizar operadores de recombinación (cooperación) y mutación.

13 Métodos basados en poblaciones 13 Operadores de mutación: Meta-operador: basado en la aplicación iterativa de operador de mutación sobre un agente Meta-operadores iteran la mutación conservando los cambios que llevan a una mejora en la bondad del agente (optimizador local) Optimizadores locales: constituyen otro operador que puede aplicarse en diferentes fases de la reproducción Algoritmo MA es una colección de agentes que realizan exploraciones autónomas cooperando ocasionalmente a través de la recombinación y compitiendo contínuamente por los recursos computacionales a través de la selección y el reemplazo.

14 Métodos basados en poblaciones 14 “Scatter search” y “path relinking” Path relinking es una generalización de scatter search Se genera un conjunto de soluciones (llamado conjunto prueba) combinando subconjuntos de un conjunto seleccionado o conjunto de soluciones de referencia (factibles). Las soluciones del conjunto prueba no necesariamente son factibles y usualmente se factibilizan mediante un proceso de “reparación”. Luego estas soluciones pueden ser mejoradas mediante, por ejemplo, una búsqueda local. Estas constituyen el conjunto de soluciones “dispersas” En la próxima iteración se utiliza el conjunto de referencia actualizado con el conjunto de soluciones “dispersas”

15 Métodos basados en poblaciones 15 Algoritmo 14 Scatter search y path relinking Fase 0: GeneraciónSoluciones semillas() Repeat GenerarDiversificación() Mejora() Acutualizarconjunto de referencia() Until conjunto de referencia con cardinalidad n Fase 1 Repeat GenerarSubconjuntos() CombinarSoluciones() Mejora() Acutualizarconjunto de referencia() Until criterio fin

16 Métodos basados en poblaciones 16 Scatter search: –soluciones codificadas como puntos en el espacio Euclediano y las nuevas soluciones se obtienen por combinaciones lineales de las soluciones de referencia permitiendo utilizar pesos positivos y negativos –Al realizara las CL se puede salir de la región factible Path relinking: –El espacio Euclediano se sustituye por espacios de vecindades, combinaciones lineales de puntos en el espacio Euclediano pueden ser re-interpretadas como caminos entre soluciones en el espacio de vecindades –Caminos habilitados: desde la solución inicial los movimientos deben introducir sucesivamente atributos seleccionados en una búsqueda guiada.

17 Métodos basados en poblaciones 17 –Se pueden considerar caminos con múltiples puntos de inicio si se consideran atributos combinados proporcionados por un conjunto de soluciones guiadas. Se deben establecer pesos para los atributos de forma de establecer prioridades.

18 Métodos basados en poblaciones 18 EC basados en modelos probabilísticos La recombinación de soluciones presenta algunas desventajas que los algoritmos basados en estimaciones de distribuciones (EDA) pretenden mejorar. Algoritmo 15 (EDA) P  GenerarPoblacionInicial() Mientras no se cumple condición de fin do P sel  Seleccionar(P)  (x)   (x/ P sel )  EstimarDistribuciónPoblación() P  MuestraDistribuciónPoblación() End mientras

19 Métodos basados en poblaciones 19 Basados en teoría de probabilidades y la población evoluciona con la búsqueda. EDA utiliza el modelo probabilístico de la población seleccionada para estimar la distribución del espacio de búsqueda. Con la distribución estimada, se toma una muestra del espacio que constituye la nueva población.

20 Métodos basados en poblaciones 20 Colonias de hormigas Heurísticas que se basan en imitar el comportamiento de las hormigas. Si bien cada hormiga tiene individualmente capacidades básicas, la colonia en conjunto logra un comportamiento inteligente. A pesar de ser insectos casi ciegos logran encontrar el camino más corto entre el hormiguero y una fuente de comida y regresar, en base a una comunicación entre ellas de orígen químico que se potencia con la presencia simultánea de muchas hormigas Comunicación en base a feromonas, que dejan un ¨rastro¨ que sirve de referencia a otras hormigas.

21 Métodos basados en poblaciones 21 Fuente de comida Hormiguero Fuente de comida Hormiguero Fuente de comida obstáculo Hormiguero obstáculo

22 Métodos basados en poblaciones 22 En los algoritmos ANT, una hormiga artificial construye artificialmente una solución adiccionando componentes a una solución parcial en consideración. Algortimo 16 (ANT) InicializarValoresFeromona() Mientras no se cumple condición de fin do Para todas hormigas a  A do s a  ConstruirSolucion( ,  ) End Para todas ActualizarValorFeromona() End mientras

23 Métodos basados en poblaciones 23 Hormigas artificiales hacen caminos randómicos en un grafo conexo G=(C,L), siendo el conjunto de vértices C, un conjunto de componentes de soluciones y L un conjunto de conexiones. G es el grafo de construcción Procedimiento constructivo Factibilidad  = rastro de feromona  = valor heurístico que representa una información a priori, o actualizada a lo largo del algoritmo, sobre la instancia del problema que se esta procesando y de cómo moverse en el grafo de construcción

24 Métodos basados en poblaciones 24 ConstruirSolucion( ,  ): la hormiga decide en forma probabilística la próxima componenete a ser adiccionada, usando probabilidades de transición. ActualizarValorFeromona(): la regla de actualización incrementa la feromona en las componentes de solución que han tenido mejor calidad que otras.


Descargar ppt "Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran."

Presentaciones similares


Anuncios Google