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

Post on 02-Feb-2016

225 views 0 download

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

•Pueden formarse ‘islas’ virtuales

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

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

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

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

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

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

Esquemas de Migración: Topología de Anillo

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

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

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

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