Clase 12 Computación Evolutiva Técnicas Avanzadas: Incorporación de Conocimiento, Paralelización...
-
Upload
jesus-ayala-rojas -
Category
Documents
-
view
222 -
download
0
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