Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización...

26
Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs

Transcript of Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización...

Page 1: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Clase 12 Computación Evolutiva

Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de

los AGs

Page 2: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Operadores y Técnicas Avanzadas

Técnicas Basadas en Conocimiento Paralelización de los AGs Inversión y Reordenamiento Dominancia y Diploidia Diferenciación y Determinación Sexual Nichos y Especiación Coevolución Optimización Multiobjetivo

Page 3: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Técnicas Basadas en Conocimiento (Motivación)

Por un lado, la independencia de información específica del problema, da en gran medida a los AGs su ventaja y competencia

Pero por otro lado, el no usar todo el conocimiento disponible sobre un problema particular, pone en desventaja a los AGs frente a métodos que si usan el conocimiento

Veremos algunas maneras de ampliar el AG con conocimiento del dominio

Page 4: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Metodologías para Incorporar Conocimiento

Inicialización de la Población con resultados conocidos

Técnicas híbridas Operadores genéticos guiados por

conocimiento Evaluación aproximada de la función de

fitness Esquemas de Recompensa/Castigo

Page 5: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Esquemas Híbridos

Construir híbridos que combinen y exploten la perspectiva global de los AGs, con la perspectiva local y focalizada de las técnicas específicas del dominio

Ejemplo: Usar el AG para buscar las montañas, y luego un hill-climber (método basado en gradiente) para subir la montaña

Page 6: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Técnicas Híbridas (Método Batch)

Método Batch: El AG y el buscador local son módulos separados. El GA corre primero hasta un nivel de convergencia predefinido. Luego se aplica búsqueda local a partir de los mejores miembros de la población (5 ó 10%)

Algoritmo Genetico

Buscador Local•Calculo•Greedy•Otros

Page 7: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Técnicas Híbridas (Método En-linea)

Método En-Línea: El optimizador local se usa en cada generación Se selecciona uno ó más de los mejores

individuos Se aplica búsqueda local a partir de ellos Las mejores soluciones locales se introducen en

la población, y se sigue la búsqueda genética

Page 8: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Operadores Guiados por Conocimiento

Modificar el componente aleatorio de los operadores de mutación y cruce. Guiarlos más directamente hacia mejores soluciones

Ejemplo 1: En un problema de optimización numérica, en lugar de mutación aleatoria. Usar otro método de optimización o búsqueda

Ejemplo 2: Operador para el TSP (Greff., 85). Usar conocimiento sobre distancias en los padres, para escoger la mejor entre las aristas de los dos padres

Page 9: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Operador de Cruce Basado en Concocimiento (TSP)

Escoger una ciudad aleatoria como inicio del tour en un hijo

Comparar las aristas que salen de esta ciudad de los dos padres, y escoger la más corta

Continuar creando el tour escogiendo la arista más corta entre los padres

Si si produce un ciclo seleccionar una arista aleatoriamente

Continuar hasta completar la ruta

Page 10: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Evaluación Aproximada del Fitness

En algunos problemas es muy costoso, calcular la función de fitness (Ej. Calcular la diferencia acumulada pixel-por-pixel entre dos imágenes de 100 X 100 píxeles)

Sin embargo, muchas veces se sabe suficiente del dominio como para producir un modelo aproximado del problema a tratar

El modelo puede usarse para calcular la función de fitness mas eficientemente (aunque menos preciso)

Page 11: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Esquemas de Recompensa/Castigo

Agregar conocimiento al GA modificando la función de adaptación (E.j. mecanismos de penalización para forzar restricciones)

Mecanismos de recompensa o castigo para incorporar conocimiento (restricciones como forma de comocimiento del dominio F' = F + f ,donde f es una función usada para

decrementar o incrementar ciertas soluciones

Page 12: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Paralelización de los Algoritmos Genéticos

Algoritmos Genéticos Paralelos (PGAs), creados para acelar el cómputo Modelo Global (Master-Slave o Farmer/Worker) Modelo Celular (De difusión, Fine-grained GAs,

Masivamente paralelo) Modelo de Multipoblaciones (Migratorio, GAs

Distribuidos, Coarse-grained GAs, Modelo de Isla,Multi-Deme GA)

Modelo Jerarquico Combinación de Multi-poblaciones con los otros dos métodos

Page 13: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo Global (1)

Una sola población, la evaluación del fitness y/o la aplicación de los operadores genéticos se hace en paralelo

De manera similar a un GA serial, cada individuo puede competir y cruzarse con cualquier otro (selección y apareamiento son globales)

Se implementan como probgramas maestro-esclavo, donde el maestro almacena la población y los esclavos evaluan el fitness

Page 14: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo Global (2)•Oparación mas comunmente paralelizada es la evaluación de fitness

• Comunicación solo ocurre cuando cada esclavo recibe su subconjunto de individuos, y cuando regresan los valores de fitness

• Otro aspecto que puede paralelizarse es la aplicación de los operadores genéticos. Sin embargo, son tan simples, que el overhead de comunicación, puede sobreponerse a las ventajas en desempeño

Page 15: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo Global: Conclusión

GAs Master-slave son fáciles de implementar Muy eficientes cuando la evaluación requiere

mucho cómputo No altera el comportamiento del Algoritmo

secuencial No agrega nuevos parámetros

Page 16: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo Celular (1)

Una sola población estructurada espacialmente Adecuados para máquinas masivamente paralelas Selección y cruce están restringidos a

vencindades pequeñas Las poblaciones se solapan, permitiendo alguna

interacción entre todos los individuos Idealmente, un procesador por individuo

Page 17: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo Celular (2)•Hay difusión de la Información en la población

•Pueden formarse ‘islas’ virtuales

Page 18: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo de Multipoblaciones (1) Varias subpoblaciones Cada subpoblación evoluciona de manera

independiente de las demás durante cierto número de generaciones (tiempo de aislamiento)

Luego de la fase de aislamiento, algunos individuos son distribuidos entre las subpoblaciones (fase de migración). Un parámetro (tasa de migración) determina el numero de individuos a intercambiar

Page 19: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo de Multipoblaciones (2)

Tres aspectos determinan la diversidad genética en las subpoblaciones, y el intercambio de información entre las suboblaciones

1. La tasa de Migración

2. El método de selección de los individous que migrarán

3. El Esquema de Migración

Page 20: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo de Multipoblaciones (3)

Selección de los Individuos que migrarán: Aleaotoriemente (distribución Uniforme) Basado en fitness (selecccionar los mejores individuos

para migración)

Esquemas de Migración: Topología de Red Completa (Entre todas las poblaciones

– sin restricciones) Topología de Anillo Topología de vecindad

Page 21: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Esquemas de Migración: Topología de Red Completa

Topologia mas general: Individuos pueden migrar de cualquier subpoblación a cualquier otra

Para cada subpoblación, un pool de de inmigrantes potenciales se construye de las otras subpoblaciones. Luego se seleccionan los individuos a migrar aleatoriamente de este pool

Page 22: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Ejemplo de Migración: Topología de Red Completa

4 subpoblaciones, selección basada en fitness El ciclo se repite para cada subpoblación

Page 23: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Esquemas de Migración: Topología de Anillo

Esquema de migración mas básico: Los individuos son transferidos entre subpblaciones adyacentes (direccionalmente)

Page 24: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Esquemas de Migración: Topología de Vecindad

Como en la topologia de anillo, la migración solo ocurre entre vecinos cercanos. Sin embargo, la migración puede ocurrir en las dos direcciones

Posible Esquema: estructura 2D, denominada Toro

Page 25: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo Multipoblacional: Discusión (1)

Son los mas populares. Posibles razones: Parecen ser una extensión simple de los GAs seriales:

Correr varios GAs en distintos nodos e itercambiar pocos individuos cada cierto tiempo

Pocos cambios en la implementación. Casi todo el código del GA serial permanece. Solo hacen falta unas pocas rutinas extra

Computadoras paralelas coars-grained, son mas accesibles. Puede simularse con una red de estaciones de trabajo

Page 26: Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización de los AGs.

Modelo de Multipoblaciones Discusión (2)

Muy Distintos a los GAs seriales. Complejos. Preguntas sin resolver: Determinar la tasa de migración que hace que los ‘demes’

distribuidos se comporten igual que una sola población Determinar una topología de comunicación adecuada, que

permita mezclar buenas soluciones, pero que no incurra en costos excesivos de comunicación

Encontrar el número optimo de demes y su tamaño