x - Maestría en Sistemas Computacionales

Anuncio
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 ={λx111−λ  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 , , xij , , x in }
xij =número
aleatorio uniforme
13
Mutación Real
Mutación No Uniforme
xij =
{
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 0a1 x ta2 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
Descargar