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.

Slides:



Advertisements
Presentaciones similares
IBD Plan 90 y 2003 Clase 10.
Advertisements

ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE
Jacqueline Chávez Cuzcano
4. ANÁLISIS FACTORIAL Introducción Modelo factorial ortogonal
Inteligencia Artificial
Diseño y análisis de algoritmos
Introducción a la minería de datos
Algoritmo GENETICO.
DESCRIPCION DE SISTEMAS
Grupo 4 Matías Melgar Pablo Carbonell
Mauricio Granada Echeverri Universidad Tecnológica de Pereira
INTELIGENCIA ARTIFICIAL
“Impulsando la Sociedad
Combinadores SK.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Telekom Solutions.
Investigación Algorítmica
Metaheurísticas para el Diseño de Redes Multioverlay Robustas
Clase # 8: Análisis Conformacional (II)
ESTRUCTURAS DE DATOS AVANZADAS
Máquinas con Vectores de Soporte - SVM
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Inteligencia Artificial Búsqueda informada y exploración
1 Alumno: Javier Insa Cabrera Director: José Hernández Orallo 23 de septiembre de 2010.
Inteligencia Artificial Adquisición automática del conocimiento
Investigación Operativa
RECONOCIMIENTO DE OBJETOS
Metaheurística ACO Aplicada a Problemas de Planificación en Entornos Dinámicos de San Pedro M., Pandolfi D., Lasso M., Villagra A. Laboratorio de Tecnologías.
Definición Los Algoritmos Genéticos son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. los Algoritmos Genéticos.
Tema 3. Optimización de Código
“En lugar de envidiar la naturaleza debemos emularla” Holland
Sistemas Inteligentes Algoritmos Evolutivos
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Introducción a las Metaheurísticas
Sistemas Inteligentes Algoritmos Geneticos
Inteligencia Artificial Resolver problemas mediante búsqueda
Inteligencia Artificial Resolver problemas mediante búsqueda
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
La interdisciplinariedad.
Capítulo 4 BUSQUEDA INFORMADA.
Scatter Search y Path Relinking Grupo 7 Giovanna Garula Rodrigo Guridi Referencias Fundamentals of Scatter Search and Path Relinking. Fred Glover Manuel.
Optimización, Búsqueda Heurística
Bibliografía “Metaheuristics in Combinatorial Optimization: Overview and conceptual Comparison” C. Blum and A. Roli- TR/IRIDIA/ “An introduction.
Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H
Computación Evolutiva
Experimentación Numérica
Algoritmos genéticos Introducción Esquema básico Codificación
Una introducción a la computación evolutiva
Nuevas Metaheurísticas basadas en población
Propuesta del algoritmo
Mary C. Jarur M. ww.udec.cl/~mjarur
Incorporando Búsqueda Local a un Algoritmo ACO para el Problema de Scheduling de Tardanza Ponderada Lasso M., de San Pedro M Laboratorio de Tecnologías.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Búsqueda en Vecindades Variables (Variable Neighborhood Search - VNS)
Optimización Combinatoria y Grafos Búsqueda Tabú
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
ALGORITMOS GENETICOS.
INTELIGENCIA ARTIFICIAL. Redes Neuronales Artificiales Mecanismos de aprendizaje ◦ Entrada x ◦ Salida y ◦ Peso w ◦ Transferencia ~
Taller: Inteligencia Computacional
Ing. Uziel Quiroz Castañeda Blanca Esthela Carranza Ortega 8º Semestre Junio/2013.
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Conclusiones: En este trabajo se ha demostrado que se pueden aplicar los algoritmos OCH al ajuste de los parámetros de un modelo borroso mediante la discretización.
Transcripción de la presentación:

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

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

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

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.

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)

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.

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

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

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

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.

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

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.

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.

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”

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

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.

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.

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

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.

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.

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

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

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

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.