Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPurificación Botella Modificado hace 6 años
1
Computación Evolutiva: un repaso a las técnicas más utilizadas y su aplicación en MASS.
Carlos Cervigón
2
Contenidos Orígenes y antecedentes biológicos
Estructura general de un algoritmo evolutivo AE Modelos sobre el esquema general Algoritmo genético simple Mejoras y alternativas al AGS Programación genética Programación automática. Arte Evolutivo Extensiones de un AE Algoritmos Evolutivos Multiobjetivo Algoritmos Evolutivos Paralelos Algoritmos Evolutivos Meméticos, híbridos Algoritmos Evolutivos
3
Contenidos Vida artificial Inteligencia colectiva:
Optimización basada en colonias de hormigas ACO Optimización basada en partículas PSO EC (Evolutionary Computation) y MASS (Multi-Agent System and Simulaton) Métodos de computación evolutiva aplicados a la simulación con sistemas multi-agente Ejemplos ECOMASS Algoritmos Evolutivos
4
* Purposive Multi-Agent Systems
* What is an Agent ? External Definition : a real or virtual entity that evolves in an environment, that is able to perceive this environment, that is able to act in this environment, that is able to communicate with other agents, and that exhibits an autonomous behaviour autonomous agents, robots the autonomy principle * Purposive Multi-Agent Systems Yves DEMAZEAU Algoritmos Evolutivos
5
Orígenes Los Algoritmos Evolutivos recogen un conjunto de modelos basados en la evolución de los seres vivos. Inspirados en la Naturaleza. Basados en la teoría de la evolución de Darwin: cambio adaptativo de las especies por el principio de la selección natural Se favorece la supervivencia y evolución de aquellas especies que están mejor adaptadas a las condiciones de su entorno. Algoritmos Evolutivos
6
Antecedentes biológicos
Cromosoma : cadena de ADN que se encuentra en el núcleo de las células Gen: sección de ADN Alelo es cada una de las formas del gen Algoritmos Evolutivos
7
Estructura de un algoritmo evolutivo
Un AE trabaja con una población de individuos, que representan soluciones candidatas a un problema. Esta población se somete a ciertas transformaciones y a un proceso de selección, que favorece a los mejores, según su aptitud. En la población tiene que haber diversidad. Cada ciclo de transformación y selección constituye una generación. Se espera que después de cierto número de generaciones el mejor individuo de la población esté cerca de la solución buscada. Algoritmos Evolutivos
8
Estructura de un algoritmo evolutivo
Población inicial Selección Cruce Mutación Algoritmos Evolutivos
9
Esquema general Algoritmos Evolutivos
10
Esquema Algoritmo Genético Simple
Inicializar aleatoriamente una población P con soluciones candidatas Evaluar cada individuo de P Mientras no se cumpla condición de parada 1. Seleccionar progenitores S de P 2. Recombinar progenitores seleccionados obteniendo descendencia D 3. Mutar descendencia D 4. Evaluar nuevos candidatos ¿Selección = Competencia ? ¿Recombinación = Cooperación ? Algoritmos Evolutivos
11
Modelos sobre el esquema general
Algoritmos Genéticos: Población de individuos como cadenas binarias. Estrategias Evolutivas: Población de individuos como valores con codificación real Programas Evolutivos: Población de individuos representados mediante estructuras de datos Programas Genéticos: Población de individuos como programas o expresiones Algoritmos Evolutivos
12
Modelos sobre el esquema general
De Jong dice que estas variantes son realmente instancias concretas de un Sistema Evolutivo General que incluye: Una o más poblaciones de individuos compitiendo por recursos limitados. Poblaciones cambiantes por el nacimiento y muerte de individuos El concepto de fitness (aptitud) que refleja la capacidad de un individuo de sobrevivir y reproducirse El concepto de herencia modificada: los descendientes se parecen a sus padres pero no son idénticos Algoritmos Evolutivos
13
Aspectos implicados Búsqueda
Optimización: El objetivo es encontrar un conjunto de parámetros tales que maximicen o minimicen cierto criterio de calidad. Optimización Numérica Optimización Combinatoria Algoritmos Evolutivos
14
AG simple: operadores genéticos
23/04/2019 AG simple: operadores genéticos Hacen evolucionar a la población y permiten la convergencia Se aplican con una determinada probabilidad Selección : Ruleta, Torneo, Ranking … Cruce: Un punto, Varios … Mutación: Fija , Variable … Parámetros típicos de un Algoritmo genético: Criterio de terminación, número máximo de generaciones Tamaño de la población Probabilidad de cruce, Pc Probabilidad de mutación, Pm Política de reemplazo . . . Algoritmos Evolutivos
15
Operadores genéticos Operador de cruce: actúa sobre parejas de individuos y los descendientes combinan características de los progenitores. Operador de mutación: operador básico de alteración y se aplica a algunos individuos realizando una pequeña modificación en alguno de sus genes o en el conjunto. Algoritmos Evolutivos
16
Otras mejoras y alternativas
Asegurar diversidad de aptitudes e individuos Mecanismos de selección mejorados Desplazamiento o escalado de la aptitud Elitismo: se reservan los k mejores individuos de la generación anterior. Mecanismo fundamental para alcanzar el valor óptimo y acelerar la convergencia Inclusión de conocimiento específico del problema Codificación adaptada al problema Introducción de restricciones a las soluciones Construcción de nuevos operadores Creación de algoritmos híbridos con otras técnicas heurísticas Algoritmos Evolutivos
17
Codificación adaptada al problema
Representación TSP: Enumeración de las ciudades en orden. Para un problema con nueve ciudades el recorrido 7 8 3 1 6 4 2 5 Se representa con el individuo: Los operadores de cruce son más complejos y son específicos de cada representación: PMX, OX, CX, ERX, ordinal. . . Intercambio, inserción, heurístico… 7 8 3 1 6 4 2 5 Algoritmos Evolutivos
18
Programación genética
Hacer evolucionar programas o instrucciones representadas en forma de árbol Aplica un proceso evolutivo a una población de programas Los individuos se almacenan en un árbol los nodos representan funciones Las hojas representan símbolos terminales Todos los programas en la población inicial han de ser sintácticamente correctos (ejecutables) y los operadores genéticos (cruce, mutación, …) también han de producir programas sintácticamente correctos Algoritmos Evolutivos
19
Ejemplo : Representación
Representamos cada individuo se representa mediante un árbol. Por ejemplo: Algoritmos Evolutivos
20
Operador cruce Algoritmos Evolutivos
21
Operador mutación La mutación consiste en generar un nuevo programa a partir de un único individuo. Mutación terminal Mutación funcional Mutación de árbol Algoritmos Evolutivos
22
Ejemplo: Apilamiento de bloques (Koza)
El objetivo es encontrar un programa que a partir de una configuración inicial de bloques los coloque en el orden correcto en la pila. Objetivo: UNIVERSAL. Algoritmos Evolutivos
23
Ejemplo: Apilamiento de bloques (Koza)
Terminales: CP (cima pila): BS (bloque superior correcto) SN (siguiente necesario) Funciones MP <x>(Mover a pila) MM <x>(Mover a mesa.) DU(acción, predicado) (“do until”) NOT(expresión1) EQ(expresión1, expresión2) Algoritmos Evolutivos
24
Ejemplo: Apilamiento de bloques (Koza)
El algoritmo trabaja con árboles que representan programas construidos con los terminales y funciones descritos. El programa: (EQ(MP SN) (EQ (MP SN) (MP SN))) Mueve el siguiente bloque que se necesite a la pila tres veces: La aptitud de cada programa es número de casos de prueba en los que se produce el resultado correcto Algoritmos Evolutivos
25
Ejemplo: Apilamiento de bloques (Koza)
(EQ (MM CP) SN) Mover la cima actual de la pila a la mesa, y ver si es igual al siguiente necesario. Aptitud 0. (MP BS) Mover a la pila el bloque más alto correcto de la pila. Aptitud 1 (EQ(MP SN) (EQ (MP SN) (MP SN))) Mover el siguiente bloque que se necesite a la pila tres veces. Aptitud 4 (EQ (DU (MM CP) (NOT CP)) (DU (MP SN) (NOT SN))) Vacía la pila sobre la mesa y después mueve el siguiente bloque que se necesita a la pila hasta que ya no se necesitan más bloques. Aptitud 166 Algoritmos Evolutivos
26
Ejemplo: Rastro de Santa Fe
Se trata de buscar la estrategia de movimientos de una hormiga artificial capaz de encontrar toda la comida situada a lo largo de un rastro irregular. Algoritmos Evolutivos
27
Ejemplo: Rastro de Santa Fe
Terminales: AVANZA (A) DERECHA (D) IZQUIERDA (I) Funciones SIC (a,b) PROG2 (a,b) PROG3 (a,b,c) (SIC (PROG3N (AVANZA IZQUIERDA AVANZA)) (PROG2N (IZQUIERDA AVANZA))) SIC PROG3 A PROG2 Algoritmos Evolutivos
28
Ejemplo: Rastro de Santa Fe
Algoritmos Evolutivos
29
Arte Evolutivo La idea es utilizar algoritmos evolutivos para hacer evolucionar las imágenes, música, etc, sobre una base estética, en lugar de una función de aptitud estricta. La función de aptitud la proporciona el usuario que selecciona sus individuos "favoritos" para la reproducción. Evolving Assemblages, by Fernando Graça and Penousal Machado Algoritmos Evolutivos
30
Arte Evolutivo Se genera una población aleatoria de imágenes
El usuario las evalúa y asigna un valor de aptitud La selección se realiza según la aptitud o “calidad” : las imágenes con los valores de aptitud más altos tienen mayores probabilidades de ser seleccionadas para reproducción El programa crea una nueva población de imágenes mediante el cruce y mutación de los individuos (imágenes) de la población actual Algoritmos Evolutivos
31
Arte Evolutivo Los individuos son imágenes y el genotipo es un árbol con funciones y terminales. Se utilizan funciones simples: operaciones aritméticas, trigonométricas, lógicas, etc. El conjunto de terminales serán variables y constantes La imágenes son representaciones gráficas de expresiones matemáticas. Cruce y mutaciones de la imágenes (árboles) Algoritmos Evolutivos
32
Arte Evolutivo La expresión en formato de árbol / + 2 x y
f (x) = (x + y) / 2 en formato de árbol Gráfica 3-d de la expresión f (x) = (x + y) / 2 Imagen generada por la asignación de un valor de escala de grises a cada valor de f(x). / + 2 x y Algoritmos Evolutivos
33
Arte Evolutivo : ejemplos
Algoritmos Evolutivos
34
Otras extensiones del algoritmo genético
Algoritmos Evolutivos Multiobjetivo Algoritmos Evolutivos Paralelos Algoritmos meméticos, híbridos Algoritmos de Estimación de Distribuciones Algoritmos Evolutivos
35
Algoritmo Evolutivo Multiobjetivo
Optimizar simultáneamente varias funciones El óptimo global ya no es inmediato: ¿Optimizar una función sacrificando el resto, la media de todas las funciones …? Óptimo de Pareto: una solución xX es un óptimo de Pareto cuando no existe ninguna solución mejor en ningún objetivo: soluciones no dominadas Algoritmos Evolutivos
36
Algoritmos evolutivos Multiobjetivo
Algoritmos que no utilizan el concepto de dominancia Funciones agregativas lineales Algoritmos que sí utilizan el concepto de dominancia VEGA: selección proporcional según las funciones a optimizar MOGA (Multi-Objective Genetic Algorithm) NSGA-II (Elitist Non-Dominated Sorting Genetic Algorithm) SPEA, SPEA2, MOMGA, MOMGA-II, PAES. . . Aplicaciones: Planificación, empaquetado, diseño de circuitos, diseño de sistemas de control, detección de ataques en redes, procesamiento de imágenes, problemas de predicción, optimización de párametros en mercados financieros*, etc. * Multiobjective optimization of technical market indicators. Diego J. Bodas-Sagi, Pablo Fernández, José Ignacio Hidalgo, Francisco J. Soltero, José Luis Risco-Martín. Algoritmos Evolutivos
37
Algoritmos Evolutivos Paralelos
23/04/2019 Algoritmos Evolutivos Paralelos Paralelización Global (Misma estructura del AG) Ejecución de varios AGs en Paralelo Sólo la Evaluación en paralelo Grano Grueso (Islas) Subpoblaciones que evolucionan por separado (Cambia la estructura del AG) Grano Fino (AC) Híbrido (grano fino y grueso) Algoritmos Evolutivos
38
Grano grueso: Modelos de Islas
Se divide la población en subpoblaciones mas pequeñas que evolucionan independientemente en cada procesador o isla. En cada procesador se lleva a cabo un Algoritmo Evolutivo Cada cierto número de generaciones (época) intercambian individuos entre las poblaciones: migraciones. Esto genera diversidad genética. Diferentes topologías que define como se intercambian individuos Anillo Maestro-esclavo Todos con todos Algoritmos Evolutivos
39
Grano fino: modelo celular
Simula relaciones personales entre individuos de una misma localidad. Los individuos se disponen en una parrilla de dos dimensiones con un individuo en cada una de las posiciones de la rejilla. La evaluación se realiza simultáneamente para todos los individuos La selección, reproducción y cruce de forma local con un reducido número de vecinos. Con el tiempo se van formando grupos de individuos que son homogéneos genéticamente como resultado de la lenta difusión de individuos. aislamiento por distancia Algoritmos Evolutivos
40
MUCHAS GRACIAS
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.