Algoritmos Genéticos Distribuidos Marco Antonio Castro Liera [email protected] La Paz, B.C.S., Marzo de 2007 1 Organización de la Plática: Algoritmos Genéticos Elementos y funcionamiento Operadores genéticos Paralelización de los AG Máquinas paralelas vs Clusters Formas de paralelización AG distribuidos Migración Aplicaciones Sistemas de identificación difusa (TSK) Aplicación a un proceso biotecnológico Demo 2 Algoritmos Genéticos (Orígenes) John H. Holland “Adaptación en Sistemas Naturales y Artificiales” (1975) Universidad de Michigan Inspirados en: Evolución natural de poblaciones. Darwin (supervivencia del más apto). Mendel, (transferencia de información genética). 3 Un Espacio de Búsqueda 4 Algoritmo Genético Simple Población: (conjunto de soluciones candidato) . P={C 1 , , C i , , C μ} Cromosoma (cadena binaria que representa a una solución candidato) C i={c i1 , , c ij , , c i n } Gen (cada uno de los bits que componen al cromosoma) 5 Algoritmo Genético Simple 6 Selección Seleccionar individuos para formar parte de la siguiente generación. Los Individuos más adaptados pueden ser seleccionados varias veces, mientras que los menos adaptados pueden no ser seleccionados. Los dos métodos más comunes son por torneo y el método de la ruleta En el método de torneo, simplemente se escoge el elemento con mejor aptitud de una muestra de z soluciones posibles. 7 Selección Proporcional P i=F c i μ ∑ F C j j =1 F x = f x c min si f x c min 0 0 en otro caso F x =c max − f x si c max f x 0 en otro caso Método de la Ruleta Para implementarlo puede generarse una variable aleatoria uniforme en el rango [0,1] y asignando rangos de diferente longitud a cada individuo dependiendo de su aptitud relativa. 8 Cruce Selección aleatoria de dos individuos: Selección aleatoria del punto de cruce: Intercambio de genes: 9 Mutación Se determina si el individuo deberá mutarse, esto usualmente con una probabilidad bastante baja Individuo original: Selección del gen a mutar: Nuevo individuo: 10 Representación Real El cromosoma es un vector de números reales, en vez de una cadena de bits: C i =[ x i1 , x ij , x in ] i=1, , μ ∀ j∣ j∈[1,n ] , x j ∈ℜ 11 Cruce Real C ' 1 =λC 1 1−λ C 2 C ' 2 = 1− λ C 1 λC 2 λ=0,1 Por ejemplo: C 1={x 11 , x 12 } C 2 ={x 21 , x 22 } C ' 1 ={λx111−λ x 21 , λx 12 1− λ x 22 } C ' 2 ={ 1−λ x 11 λx 21 , 1−λ x 21λx22 } 12 Mutación Real Mutación Uniforme C i ={x i1 , , x ij , , x in } C ' i={x i1 , , xij , , x in } xij =número aleatorio uniforme 13 Mutación Real Mutación No Uniforme xij = { x ij Δ g , x ij max − xij , si h=0 x ij Δ g , x ij −x ij min , si h=1 g Δ g , y = y⋅r⋅ 1− g max b h es un bit aleatorio (0 o 1), r es un # aleatorio [0,1] b parámetro que determina cuanto depende Δ del número de generación 14 Un Espacio de Búsqueda 15 Factores a considerar Representación Función de Aptitud Parámetros Tamaño de la población GMAX Presión de selección Elitismo Probabilidad de selección Tamaño de torneo Probabilidad de mutación Entre otros…. Convergencia Prematura El algoritmo puede converger hacia un óptimo local 16 Paralelización de los AG Ayuda a mantener la diversidad genética al buscar en diferentes sub-espacios de forma simultánea, por lo que reducen la posibilidad de convergencia prematura. Algunos problemas requieren el mantener poblaciones que necesitan grandes cantidades de memoria. En algunos casos esto no permite su ejecución en una sola computadora, lo cual trae consigo la necesidad de usar cómputo paralelo. Usar una forma de paralelización puede reducir el tiempo necesario para completar el algoritmo. 17 Computadoras Paralelas Vs. Clusters Un cluster es un conjunto de computadoras que intercambian mensajes a través de una red, para emular una máquina paralela PVM LAM/MPI MPICH Factores a considerar: Costo Velocidad de Interconexión de los procesadores 18 Formas de Paralelización de los AG Maestro-Esclavo Síncronos Asíncronos Sub-Poblaciones Estáticas Superpuestas Sub-Poblaciones Estáticas con Migración Algoritmos Genéticos Masivamente Paralelos Sub-Poblaciones Dinámicas Algoritmos Genéticos de Estado Estable Algoritmos Genéticos Desordenados (Messy) Métodos Híbridos 19 Algoritmos Genéticos Distribuidos Sub-Poblaciones Estáticas con Migración. Tambien conocidos como Modelo de Islas. Utilizan la migración como forma de intercambio de material genético entre las sub-poblaciones. Tienen como ventaja al implementarse en clusters, el que se puede limitar el uso del ancho de banda de interconexion entre procesadores. Cada sub-población es una tarea independiente 20 Migración Cada MP generaciones se intercambian MR individuos entre las sub-poblaciones. Se llama Período Migratorio al número de generaciones que se ejecutan entre migraciones Se llama Razón de Migración a la cantidad de individuos que se intercambian en cada proceso de migración 21 AG Distribuidos sobre PVM La unidad mínima de paralelización es una tarea (task) Se usó una tarea maestra encargada de iniciar la ejecución de las sub-poblaciones, y de coordinar las migraciones y el despiegue final de resultados Se crea una tarea esclava por cada sub-población que se encarga de operar el AG y migrar individuos via la tarea maestra. 22 Clusters Heterogéneos Aquellos en los que los nodos tienen diferente poder de procesamiento Si la aplicación trata a todos los nodos igual, los más rápidos deben esperar cada migración a que los más lentos terminen su tarea. Una alternativa es variar los parámetros del AG (tamaño de población o periodo migratorio) según el poder de procesamiento de cada nodo 23 Aplicación (Identificación de Sistemas) Planeación del experimento Selección del modelo Determinación de parámetros Validación del modelo 24 Proceso biotecnológico Fermentación en un tanque Biomasa Sustrato Sustrato de entrada (constante) Predecir la biomasa en el siguiente instante 25 Modelos TSK IF x t IS j AND s t IS k THEN x t 1=a 0a1 x ta2 s t , , = 1 ∣ 1 x− 2 2 ∣ x t 1= m i=1 i i m i =1 i yh h h i=T j , k T Es un operador de consolidación, normalmente el producto (pero puede ser min, max, suma, etc.) 26 Implementación 18 sub-poblaciones Cromosoma: [ j , j , j , k , k , k ,∣∣a0 , a1 , a 2 ] Dos fases Aptitud: n s=1 ∣xms− xps∣ max∣xm1−xp1∣, ,∣xms−xps∣, ,∣xmn −xpn∣ 27 Parámetros de Ejecución Primera Fase ● ● ● ● ● ● ● ● ● ● Tamaño de población MU=400. Número máximo de generaciones GMAX=120. Selección por torneo, con tamaño de torneo Z=2. Probabilidad de cruce PC=0.7 Parámetro de cruce generado con una distribución uniforme en (0,1). Mutación uniforme, con probabilidad de mutación PM=0.2 Período migratorio MP=15 generaciones. Máximo período migratorio MPMAX=20. Razón de migración MR=2 individuos 28 Parámetros de Ejecución Segunda Fase ● ● ● ● ● ● ● ● ● ● Tamaño de población IMU=200. Número máximo de generaciones IGMAX=30. Selección por torneo, con tamaño de torneo Z=2. Probabilidad de cruce PC=0.7 Parámetro de cruce generado con una distribución uniforme en (0,1). Mutación uniforme, con probabilidad de mutación PM=0.2 Período migratorio IMP=15 generaciones. Máximo período migratorio IMPMAX=20. Razón de migración MR=2 individuos 29 Modelos TSK Calidad de la Solución 30 Modelos TSK Velocidad de Ejecución 31 DEMO Función de Goldstein-Price: 32 Otras Aplicaciones Programación evolutiva (John Koza) Optimización de múltiples objetivos (MOGA) Entrenamiento de redes neuronales Hardware Evolucionado (VLSI) Machine learning Redes Modelado y control de tráfico Determinación de estructuras de modelos Soft-Computing 33 Fuentes de Información Recomendadas MITCHELL, Melanie “An Introduction to Genetic Algorithms”, MIT Press, 1996 MAN, K.F.; TANG, K.S. KWONG, S. “Genetic Algorithms” Springer-Verlag 1999 GOLDBERG, David E. “Genetic Algorithms in Search Optimization & Machine Learning”, Addison Wesley, 1989 HOLLAND, J.H.”Adaptation in Natural and Artificial Systems” (1975) 6th Ed. 2001 MIT Press CORDON, Oscar, et al. “Genetic Fuzzy Systems, Evolutionary tunning learning of fuzzy knowledge bases”, 2001, World Scientific Http://sistemas.itlp.edu.mx/noticias/archivos/clusterFinal.pdf 34 Gracias Por Su Atención!!!!! [email protected] http://www.itlp.edu.mx http://sistemas.itlp.edu.mx 35