260 likes | 389 Views
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
E N D
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 castigopara incorporar conocimiento (restricciones como forma de comocimiento del dominio • F' = F + f,dondefes 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 • La tasa de Migración • El método de selección de los individous que migrarán • 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