La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Grupo 6 Sharón Benasús Michell Vanrell

Presentaciones similares


Presentación del tema: "Grupo 6 Sharón Benasús Michell Vanrell"— Transcripción de la presentación:

1 Grupo 6 Sharón Benasús Michell Vanrell
Algoritmos Genéticos Grupo 6 Sharón Benasús Michell Vanrell

2 Agenda Introducción Por qué funcionan Algoritmos genéticos paralelos
Cómo funcionan Ejemplo Por qué funcionan Algoritmos genéticos paralelos

3 Introducción Provienen de la familia de modelo computacional basado en la evolución Introducidos por Holland en 1975 Proveen una solución potencial a un problema específico en una estructura tipo cromosoma y aplican operadores de recombinación para preservar la información crítica Cualquier modelo basado en población que usa selección y recombinación para generar nuevos elementos en el espacio de búsqueda Abstracto por lo siguiente: (a.g. estricto) es el modelo que refiere al ingresado por Holland y sus estudiantes con posibles variantes que se mencionan mas adelante. En un sentido mas amplio, es “cualquier modelo….”

4 Introducción Población Individuo
Conjunto de soluciones potenciales, donde la población inicial puede ser elegida randómicamente Cambia con el tiempo pero su tamaño se mantiene Individuo Elemento de la población Cada individuo es representado por una cadena de caracteres Estos padres potenciales forman lo que se llama como mating pool . Esta mating pool va a tener N elementos (igual que la población inicial), pero algunos van a ser duplicados, con lo cual puede contener varias copias de un mismo cromosoma pero ninguna de algún otro. Los individuos que no son elegidos para el mating pool, se pierden.

5 Introducción Crossover Mutación Resultado -> Un nueva generación
Dos nuevos individuos pueden ser obtenidos de dos padres en el mating pool, recombinando a ambos padres Mutación Individuos en el mating pool también pueden cambiar a través de mutación randómica Resultado -> Un nueva generación El proceso se repite y converge a una población con individuos muy similares entre si No es necesario que todos los miembros de la mating pool sean ‘apareados’ algunos van a pasar al otro lado sin ningun cambio Mutación: caracteres del string cambian directamente. En general esto se hace con una probabilidad muy baja, dejando a la mayoría de los individuos incambiados

6 Algoritmo genético Canónico
Los individuos son cadenas binarias de largo fijo codificadas según el problema a resolver En general las poblaciones iniciales se eligen de forma randómica Luego de creada la población inicial se le aplica a cada individuo la función de evaluación En base al resultado de dicha función se calcula el fitness Fitness = fi/f Diferencia entre evaluación y fitness: EVALUACION – provee una medida de performance con respecto a cierto set de parametros. Es independiente del resto de las cadenas FITNESS – Transforma esa medida en una medida de oportunidad de reproduccion.

7 Algoritmo genético Canónico
Una vez calculado el fitness de cada individuo, se pasa a la selección para generar la generación intermedia Los individuos con mayor nivel de fitness son copiados en la generación intermedia Stochastic Sampling with Replacement Remainder Stochastic Sampling ‘sampling estocastico con reposicion’: cada individuo se le asigna un lugar en la ruleta proporcional a su valor de fitness, y dando la cantidad de vueltas necesarias a la ruleta se van pasando a la generación intermedia’ ‘Remainder Stochastic Sampling’: se calcula fi/f y para aquellos valores cuyo fitness es mayor que 1, se pone una copia del individuo en la generación intermedia y tiene una probabilidad de 0,xx de que se vuelva a colocar otro. Los individuos cuyo fitness es < que 1 es lo mismo.

8 Algoritmo genético Canónico
Crossover Se eligen pares de individuos randómicamente que serán recombinados con una probabilidad p Se elige un punto aleatorio del individuo y se intercambian sus partes Mutación Es aplicada con una probabilidad muy baja a cada bit Diferentes variantes Generar un nuevo bit Invertir un bit Generar un nuevo bitte muta el string con solo un 50% de probabilidad

9 Algoritmo Repetir para i=1 hasta (N/2) Hasta ‘condición de parada’
para cada individuo i evaluar y calcular fitness f(i) Crear mating pool de tamaño N basado en los valores de fitness f(i) para i=1 hasta (N/2) quitar pares de individuos {j,k} del mating pool recombinar usando los individuos j y k aplicar mutación Hasta ‘condición de parada’ Condición de parada: cantidad de generaciones, convergencia, tiempo en el de holland se elige uno por fitness, si no hay que hacerle crossover, se pone en la siguiente generacion. Si no, se elige uno con probabilidad uniforme, se elige un punto de curce con probabilidad uniforme y se ponen los dos en la nueva poblacion

10 Consideraciones Diferentes implementaciones. Idea básica: nuevas buenas soluciones pueden ser obtenidas a partir de bloques de soluciones existentes El tiempo de corrida va a depender de los parámetros con gran probabilidad de que si se deja correr por un buen tiempo se obtenga una solución óptima o casi óptima Trabajan sobre toda una población otorgando mayor paralelismo Pueden trabajar sobre un problema sin conocer los detalles del mismo con demasiada exactitud Gran diferencia: paralelismo, sobretodo con simulated annealing Generalidad: En general siempre va a haber un algoritmo mas especifico que provea una mejor solución sobre un problema dado

11 Ejemplo Assembly Line Balancing Problem
Diseño de línea de fabricación usando n estaciones En cada estación se realizan ciertas operaciones en cada producto fabricado y luego se pasa a otra estación en la línea Problema: asignar las operaciones a las n estaciones de forma de que la línea de producción sea balanceada, dado el tiempo que lleva cada operación Algunas operaciones deben realizarse antes de que otras puedan empezar El tiempo total de la línea va a estar dado por la estación mas lenta, que es la que tiene mayores operaciones para realizar. Objetivo: minimizar el trabajo de esta estación, y así maximizar el total de tiempo de la línea

12 Grafo de precedencia Estación 1: operaciones 1, 2 y 4… etc.
Hay mecanismos específicos para combatir el problema ALBP y no se espera que el algoritmo genético sea mejor que ellos. Se muestra para mostrar el potencial que tienen los algoritmos para problemas de este estilo. A continuación vamos a ver como se resuelven los diferentes temas involucrados en un algoritmo genético para este problema tomando los mecanismos esenciales mas que los que sean computacionalmente mejores

13 Pasos a seguir Codificación Espacio de soluciones
Fitness y selección de generación intermedia Recombinación

14 Codificación Se utilizará un string de números
El número en el i-écimo lugar del string corresponde a la estación en la cual la i-écima operación se llevará a cabo Los números de las operaciones van a ser consistentes con el grafo de precedencia Según el grafo presentado: Esto es importante porque la operación de crossover va a romper dos genes uno al lado del otro con una probabilidad mas baja que si están separados. La mayoría de los algoritmos genéticos fueron estudiados usando un alfabeto binario. Esto no es apropiado dado el problema que estamos manejando

15 Espacio de soluciones Soluciones no posibles porque rompen las reglas de precedencia Opciones Crossover y mutación espaciales para mantener las restricciones Dejar que se generen soluciones no aceptables Función de penalización para ‘alejar’ las soluciones no aceptables Forzar cada string a formar una solución aceptable Se mantiene el string no aceptable pero se decodifica de forma que represente una solución posible Forzar cada string: después de mutación y crossover, aplicar una rutina de corrección Se probo con algunos experimentos y la mejor es la de la función de penalización

16 Fitness y selección de la generación intermedia
El fitness para el ALBP incluye un elemento correspondiente al tiempo total de la estación mas lenta Un costo de penalización para las soluciones que no sean viables por restricciones de precedencia max i (Si) + KNv Si – Tiempo total para las operaciones asignadas a la estación i Nv – Número de violaciones de precedencia K – Constante igual al tiempo de la operación mas larga

17 Fitness y selección de la generación intermedia
Hay diferentes opciones para obtener el fitness Fitness = constante – función_objetivo Fitness = Recíproco (función objetivo) Fitness i = exp(-hvi) Con h elegida para que el fitness caiga en cierto rango particular Superar las dificultades graduando el valor de fitness explícitamente. Esto da control de la velocidad de convergencia del algoritmo El valor de la función no es una medida de fitness porque queremos maximizar el fitness, no minimizarlo La constante se elige de forma que el fitness sea positivo Los dos segundos alteran la relatividad del fitness entre individuos de forma complicada y el primero involucra una constante arbitraria

18 Fitness y selección de la generación intermedia
Si el problema es de maximización, el fitness del individuo i va a ser el valor de su evaluación de la función objetivo (vi) Si el problema es de minimización, se toma como fitness el opuesto a ese valor (-vi) Se realiza una escala lineal de los valores para obtener una distribución de fitness con las siguientes propiedades Donde lambda es el scaling factor elegido para tener cierto nivel de convergencia No siempre se pueden cumplir estos tres objetivos y en esos casos se varia el valor de lambda

19 Fitness y selección de la generación intermedia
Selección de la generación intermedia a través de Stochastic Universal Sampling Se toman los integrantes de la población y se ordenan randómicamente A cada uno se le asigna un intervalo proporcional a su fitness y escalado de forma que el total de los intervalos sea N Se consideran los intervalos alineados en una línea que va de 0 a N Se elige un número x (aleatorio uniforme entre 0 y 1) y se pone a los individuos correspondientes a los intervalos x, x+1, …, x+N en el mating pool Pares de individuos del mating pool son recombinados usando crossover y mutación

20 Recombinación Crossover Mutación
Ocurre en un único punto randómico con probabilidad p Mutación Para cada operación, con una probabilidad pequeña q, se le cambia la estación asignada a la anterior o a la siguiente en el string Se hicieron estudios en algunos casos para incluir funciones de mutación y crossover que incorporen conocimiento especifico del problema, pero en este caso algo así no ayuda en nada. La mutación, cuando se implementa, para hacer la mas efectiva se genera una variable randómica que determina cual va a ser la próxima posición en el string que va a mutar

21 Recombinación – ajustes
Ajustes incluidos por los autores Elitismo Incluir en una posición aleatoria de la población el individuo con mejor valor de fitness de la generación anterior Luego de que se genera la nueva generación, si algún descendiente tiene peor valor de fitness que cualquiera de la generación anterior, se lo retira y se deja a uno de sus padres que siga adelante incambiado en la próxima generación Elitismo: garantiza que la generación final contenga la mejor solución encontrada (lo cual es interesante para evaluar las performance de diferentes variaciones del algoritmo) El segundo: el efecto es que el peor miembro de una generación nunca es peor que el de la población anterior. (esto nunca había sido probado). Esto hace que la convergencia sea mas rápida. Sin embargo puede no ser bueno ya que si converge muy rápidamente se corre el riesgo de terminar con una solución de baja calidad. Si esto pasa se puede ‘escalar’ con el ‘elitismo’ y mantener equilibrio en la convergencia Pero en realidad resulta en un incremento de la performance

22 Resultados experimentales
Consideraciones previas No se realizaron optimizaciones en el código Las comparaciones se realizan fijando el número de generaciones en una corrida y observando al mejor individuo en la población final Método de inicialización de la primer población Aleatoriamente Arcus Si bien tiene resultados muy buenos, se tiene el problema de convergencia prematura por poca variabilidad 50 operaciones a asignar a 5 estaciones Se prestara atención a la cantidad de generaciones en el algoritmo mas que al tiempo computacional Todos los resultados mostrados son a partir de poblaciones generadas randómicamente. Se puede comparar con otros metodos solo cuando el numero de generaciones usado es mas o menos el mismo. Cambiando el scaling factor es posible hacer que el algoritmo converja en mas o menos generaciones. Corridas en que un numero grande de generaciones fue necesario para lograr la convergencia va a haber considerado una mayor cantidad de posibles soluciones y solo por esta razon tienen mayor probabilidad de tener una mejor solucion que una corrida que converge mas rapidamente, si a todas las corridas se las dejara correr hasta converger. Es peligroso asumir que algun cambio en un parametro puede mejorar la performance cuando en realidad lo que modifica es la velocidad de convergencia (la cual puede traer apareada una peor calidad en la solucion). Por eso se decidio comparar fijando el numero de generaciones en una corrida y comparando a los mejores individuos en la ultima generacion de cada corrida. Se puede usar el scaling factor para mas o menos controlar la velocidad de convergencia. Resultados experimentales muestran que es mejor ajustar el scaling factor de forma de asegurar la convergencia mas o menos sobre el final de la corrida.

23 Resultados experimentales
Valores fijados para la condición de parada de 350 generaciones Probabilidad de crossover 0.6 0.7 0.8 Probabilidad de mutación {0.005, 0.01, 0.015, 0.020, 025, 0.030, 0.035, 0.04} Scaling factor {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 2.5}

24 Resultados experimentales
5 problemas generados randómicamente 8 corridas para cada problema con diferentes semillas para generación de valores aleatorios Valores en la tabla (a) promedio del porcentaje de la desviación de las mejores soluciones en la última generación de la mejor solución encontrada (b) promedio del porcentaje de individuos de la población final que tuvieron el mismo valor que el mejor de la generación (c) primer generación en la que un promedio del 90% o mas de los individuos de la población tienen el mismo valor que el mejor de la población Medida de calidad de las soluciones obtenidas (cuanto mas chica, menor la desviación) y (c) : medidas de convergencia Se omitieron valores para los que se convergía mucho antes de la generación 350 o mucho después (antes de las 150 o que en la 350 el promedio de individuos con el mismo (mejor) valor era menor que 3)

25 Resultados p = 0.06 Q = 0.03, scaling = 1.8
Mayor nivel de mutación que el recomendado en estudios anteriores (1%). Como cada individuo esta representado por un string de largo 50 la probabilidad de que un individuo no reciba mutación es de Esto se puede porque sobre el final de la corrida la mutación casi ni afecta porque el individuo mutado no es tomado en cuenta ya que en general es peor que los existentes.

26 Otros resultados Comparaciones eliminando el crossover y realizando selección de la siguiente manera Realizando mutación solo si la solución anterior es mejorada El porcentaje de desviación del valor óptimo es mayor que el encontrado en los resultados anteriores Dejando que la mutación genere peores soluciones y dejar que la selección mejore la calidad global de la generación, agregando elitismo y eliminando aquellos individuos que luego de la mutación son peores soluciones que el peor de la generación anterior Las mejores soluciones después de 350 generaciones estaban en promedio a un 32% de la mejor solución encontrada La combinación de crossover y selección es mas efectiva que la utilización de cada una por separado Similar a local search solo que se descartan soluciones que no estén progresando bien y se incluyen otras que puedan estar funcionando mejor

27 Solo selección, se reemplaza si mejora
0.05 – 1.15

28 Solo selección, se reemplaza siempre
0.01 – 2.0

29 Fundamentos Matemáticos de los Algoritmos Genéticos
¿ Por qué funcionan los Algoritmos Genéticos? Los Esquemas (Hiperplanos) El Teorema Fundamental Paralelismo Implícito.

30 Fundamentos Matemáticos de los Algoritmos Genéticos
Los Algoritmos Genéticos no procesan estrictamente individuos, sino similitudes entre ellos: patrones de similitud entre individuos o esquemas Dado que cada individuo encaja en muchos patrones a la vez, la eficiencia de la búsqueda se multiplica.

31 Los Esquemas El esquema es una herramienta para estudiar la forma en que una cadena representa a otras cadenas. Es un patrón de similitud que describe un subconjunto de cadenas con similitudes en ciertas posiciones de la cadena. Consideramos el alfabeto binario extendido { 0, 1, *} . Un esquema recoge una determinada cadena si en cada posición del esquema un 1 corresponde a un 1 en la cadena, un 0 a un 0, y el * se corresponde con cualquier cosa

32 Los Esquemas Ejemplos El esquema *0000 encaja con las cadenas {00000, 10000}. El esquema 0*0*1 encaja con las cadenas {00001, 00011, 01001, }.

33 Los Esquemas Proposición: Se verifican las siguientes propiedades:
Si un esquema contiene k símbolos de indeferencia ( * ) entonces representa a 2k cadenas binarias. Una cadena binaria de longitud L encaja en 2L esquemas distintos. Considerando cadenas binarias de longitud L, existen en total 3L posibles esquemas. Una población de n cadenas binarias de longitud L contiene entre 2L y n2L esquemas distintos.

34 Los Esquemas Consideraremos los efectos de las operaciones de reproducción, cruce y mutación de los esquemas contenidos en la población. En cada instante de tiempo t (generación) consideraremos una población de cadenas individuales P(t) compuestas por Pj, j= 1..n

35 Los Esquemas Ciertos esquemas son más específicos que otros.
Ciertos esquemas abarcan más parte de la longitud total de la cadena que otros. Para cuantificar estas ideas introducimos dos propiedades de los esquemas:

36 Los Esquemas Orden de un esquema, : Es el número de posiciones fijas (con 0 ó 1) que contiene dicho esquema. Ejemplo: H = 011*1**  = 4 Longitud característica de un esquema, : Es la distancia entre la primera y última posiciones fijadas de la cadena. H = 011*1**  H = 0****** 

37 Los Esquemas Un esquema H representa a
cadenas: cuanto mayor sea el orden del esquema a menos cadenas representará. El orden de un esquema da una medida de su especificidad. La longitud característica da una medida de la compacidad de la información contenida en el esquema.

38 Diferentes vistas del Muestreo de los hiperplanos

39 Diferentes vistas del Muestreo de los hiperplanos (2)

40 Los Esquemas Dados una población de cadenas binarias P en un instante t y un esquema H se definen: Presencia de H en P en el instante t, m(H,t): Es el número de cadenas de la población P en el instante t que encajan en el esquema H. Aptitud del esquema H en P en el instante t, Es el promedio de las aptitudes de todas las cadenas de la población que encajan en el esquema H en el instante t.

41 Los Esquemas Aptitud media de la población en el instante t, Es el promedio de las aptitudes de todas las cadenas de la población en el instante t.

42 EL TEOREMA FUNDAMENTAL
Buscamos una formulación de cómo evoluciona en promedio un esquema dentro de una población de un A.G. Consideramos los efectos individuales y combinados de la reproducción, cruce y mutación sobre los esquemas de una población de cadenas.

43 El Efecto de la Selección
Asumimos que las cadenas son copiadas a la nueva generación con una probabilidad basada en su valor de capacidad (fitness fi ) divida por la capacidad total de la generación:

44 El Efecto de la Selección
Supongamos que en un instante dado de tiempo t hay m ejemplares de un esquema particular H contenido en la población P(t) (m = m(H,t) ). Tomamos una población de tamaño n.

45 El Efecto de la Selección
Mediante reemplazamientos a partir de la población P(t), esperamos tener m(H,t+1) representantes del esquema en la población en el instante t +1 donde: Siendo f(H) la aptitud media de las cadenas representadas por el esquema H en el instante t.

46 Los Esquemas Recordando ...
Aptitud media de la población en el instante t, Es el promedio de las aptitudes de todas las cadenas de la población en el instante t.

47 El Efecto de la Selección
Ecuación de crecimiento reproductivo del esquema: Un esquema particular crece como el porcentaje de la aptitud media del esquema respecto de la aptitud de la población.

48 El Efecto de la Selección
Sea un esquema particular H que permanece por encima de la media una cantidad ( c constante), entonces: La reproducción asigna un número exponencialmente creciente (decreciente) de ejemplares a los esquemas por encima (por debajo) de la media.

49 El Efecto de la Cruza El valor esperado de cadenas representantes de H que han sido seleccionadas y a las que no se les aplica cruzamiento es:

50 El Efecto de la Cruza El valor esperado del número de cadenas representantes de H que fueron seleccionadas y permanecen en el esquema después de aplicárseles cruzamiento es: Siendo la probabilidad de ruptura del esquema H bajo el tipo de cruzamiento que esté siendo utilizado.

51 El Efecto de la Cruza Sea el número de cadenas ganadas por el esquema H durante el procedimiento de cruza:

52 El Efecto de la Cruza Resumiendo las anteriores diapositivas, el valor esperado del número de representantes del esquema H tras haber efectuado selección y cruzamiento es: Aporte de las cadenas de H que no intervinieron en la cruza. Aporte de las cadenas de H que se cruzan y se mantienen en H + las cadenas que no eran de H, pero luego del cruce pasan a formar parte de él.

53 El Efecto de la Cruza Si las cadenas se cortan en un solo punto, la probabilidad de romper el esquema H con un corte es: Volviendo a la ecuación: Eliminando g y haciendo cuentas...:

54 El Efecto de la Cruza En el algoritmo original de Holland se elige a un compañero, para realizar la cruza, sin predisposición. A sí que la probabilidad de que esa cadena encaje en el esquema H es: Tomando en cuenta esto, podemos definir nuevamente

55 El Efecto de la Cruza De esta manera llegamos a:
Selección del 2do padre basado en su aptitud

56 El Efecto de la Mutación
Suponemos que la mutación se aplica con probabilidad pm y que tiene el efecto de invertir un bit (cambiar un 1 por un 0 ó viceversa). Para que una cadena representante del esquema H permanezca en él tras una mutación, debe ocurrir que ninguno de los bits definidos del esquema sea invertido. Estamos suponiendo que los eventos de invertir un bit son independientes entre si.

57 El Efecto de la Mutación
Añadiendo a la expresión que teníamos:

58 El Teorema Fundamental
Este resultado recibe el nombre de Teorema del esquema o Teorema Fundamental de los algoritmos genéticos: La presencia de un esquema H en la población P de la generación del instante t en un Algoritmo Genético evoluciona estadísticamente de modo exponencial según la ecuación anterior. Los esquemas de orden bajo adaptados por encima de la media reciben un número exponencialmente creciente de oportunidades en siguientes generaciones.

59 El Teorema Fundamental
Factor de Crecimiento Factor de Supervivencia

60 El Teorema Fundamental
Los esquemas con una aptitud por encima de la media incrementan exponencialmente su presencia en sucesivas generaciones Los que tienen la aptitud por debajo de la media decrementan exponencialmente su presencia en la población La tendencia de los esquemas aventajados a incrementar su presencia en sucesivas generaciones se acentúa cuando el esquema es corto y de bajo orden, pues entonces

61 Críticas al Teorema Sólo es una cota inferior, es decir, no es exacto.
No es muy útil para predecir a largo plazo el comportamiento de un algoritmo genético. Sólo considera los efectos destructivos de los operadores genéticos y no los efectos constructivos. Es muy particular. Está hecho para un AGS con selección proporcional (de ruleta), cruzamiento de un punto y probabilidad de mutación uniforme.

62 El problema de la Ineficiencia
Los AGs sólo se pueden considerar eficientes en comparación con otros métodos estocásticos, pero si se encuentra un método determinista para resolver un problema lo hará más eficientemente. Tendencia al extravío de la búsqueda: el AG realiza la búsqueda de los mejores puntos utilizando únicamente la aptitud de los individuos para recombinar internamente los bloques constructivos. A veces esta información proporcionada es insuficiente para orientar la búsqueda del óptimo: desorientación (deception).

63 El problema de la Ineficiencia
Un caso especialmente desfavorable ocurre cuando hay una fuerte interacción entre dos o más atributos (genes), de tal forma que la contribución a la aptitud de un individuo que realiza cierto gen depende grandemente de los valores que tomen otros (epistasis o acoplamiento). Existen mecanismos para atenuar estos efectos. En otras ocasiones es necesario incorporar conocimiento específico al AG.

64 Diversidad en los AGs Diversidad en individuos Diversidad en Aptitudes

65 Diversidad en los AGs Con poca variedad de individuos
poca variedad de esquemas el operador de cruce pierde la capacidad de intercambio de información útil entre individuos

66 Diversidad en los AGs Con poca diversidad de aptitudes todos los individuos tienen similares posibilidades de sobrevivir búsqueda aleatoria. Una gran disparidad de aptitudes suele afectar negativamente a la diversidad de la población.

67 Convergencia Prematura
En algún momento de la evolución de un AG puede ocurrir que un individuo o un grupo de ellos obtengan una aptitud notablemente superior a los demás (fases tempranas de la evolución). Riesgo de que se produzca una evolución en avalancha: al incrementar los individuos más aptos su presencia en la población, la diversidad disminuye, ello hace que en la siguiente generación se favorezca aún más a los individuos más aptos hasta que dominan toda la población (súper individuos). Los súper individuos sólo son los más aptos en cierto momento

68 Diversidad en los AGs Deriva genética: Favorecer más de lo que les corresponde a individuos ocasionalmente más aptos. convergencia prematura hacia tal `individuo afortunado'. Conclusión: es necesario tener control sobre la diversidad de aptitudes de la población para evitar que se produzca una convergencia prematura (avalancha) ya sea por exceso diversidad (superindividuos) o por falta de ella (deriva genética).

69 Paralelismo Implícito
La eficacia a los AGs se basa en que, aunque el AG sólo procesa n estructuras en cada generación, se puede probar que, bajo hipótesis muy generales, se procesan de modo útil al menos esquemas. Este paralelismo implícito se consigue sin ningún dispositivo o memoria adicionales, sólo con la propia población. A pesar de la ruptura de los esquemas largos de orden alto por los operadores de cruce y mutación, los algoritmos genéticos procesan inherentemente una gran cantidad de esquemas mientras procesan una cantidad relativamente pequeña de cadenas.

70 Algoritmos genéticos paralelos
Paralelismo inherente proporcional al tamaño de la población Sugiere que se puede incrementar el tamaño de la población sin afectar la performance Problemas en performance generados por sincronización y envío de mensajes Si se explotan todas las fuentes de paralelismo el tiempo de ejecución para generar una generación no depende del tamaño de la población (Gordon, Whitley y Bohm) Grandes poblaciones convergen mas lentamente

71 Poblaciones globales con paralelismo
Implementación del algoritmo genético canónico pero con ‘Selección por torneo’ Se eligen dos individuos de la población actual, el mejor de ambos pasa a la generación intermedia Se utilizan N/d procesadores donde N es el tamaño de la población Los procesadores se numeran de 1 a N/2 y el tamaño de la población es par En cada procesador x habitan dos individuos: 2x y 2x-1

72 Poblaciones globales con paralelismo (2)
Se evalúan los individuos Cada procesador realiza dos sorteos independientes y guarda los individuos ganadores de los dos sorteos El crossover se realiza en los procesadores numerados con un número menor a p*N/2 Todos los procesadores realizan mutación en sus individuos (si corresponde) Es bastante granulado y mantiene el esquema de los algoritmos genéticos canónicos

73 Modelos isla 6400 individuos en 64 procesadores, por ejemplo
Dividir la población total en subpoblaciones de 100 individuos cada una Cada subpoblación ejecuta un algoritmo genético Cada x cantidad de generaciones, las subpoblaciones intercambian algunos individuos intercambiando material genético Si un gran número de individuos migra en cada generación, se pierden las diferencias entre las islas Si la migración es poco frecuente, podría llevar a que cada población converja prematuramente

74 Algoritmos genéticos celulares
2500 procesadores dispuestos en una grilla de 50 x 50 Los procesadores solo se comunican con sus vecinos inmediatos Cada string (cada procesador) se fija en sus vecinos inmediatos y elige el mejor individuo que encuentra Recombina su individuo con el elegido del vecino Si un vecindario esta a 20 o 25 movimientos de otro, estos vecindarios están aislados como en el modelo de islas Luego de algunas generaciones hay algunos focos conteniendo individuos similares Se elige al mejor de los hijos generados o se elige probabilísticamente

75 Paralelismo en el ALBP Se eligió la implementación de forma de minimizar el pasaje de mensajes Locations vs procesadores En una location habita un único individuo Un procesador puede manejar varios individuos Cada location está conectada con un pequeño grupo de locations -> vecindario Definición del vecindario El vecindario de una location estará formado por aquellas locations que no están a mas de 4 links La asignacion de locations a procesadores deberia ser optimizada para que los costos de comunicación sean minimos El tamaño de la vecindad es 8.

76 Paralelismo en el ALBP En cada location el algoritmo selecciona un individuo del vecindario basándose en fitness para recombinarlo con el individuo residente La selección se realiza de forma que el individuo i es elegido del vecindario con probabilidad dada por La reproducción produce dos descendientes Se sustituye el individuo actual por su mejor descendiente siempre que sea mejor que el peor individuo del vecindario Esta selección asi es para achicar costos de comunicación: la otra opcion es elegir dos individuos del vecindario

77 Paralelismo en el ALBP Repetir
Para cada individuo i Evaluar f(i) Transmitir f(i) para todos los individuos j en el vecindario Elegir un individuo j para combinar basado en fitness Pedir el individuo j Reproducir usando los individuos i y j Hasta que la variación en la población es pequeña

78 Conclusiones El tiempo computacional está dominado por la evaluación del fitness incluyendo el chequeo de validez de la nueva generación de soluciones Los resultados no son tan buenos como para el algoritmo no paralelo La convergencia es mas lenta y hay muchos casos en que no converge La performance del algoritmo paralelo es menos sensitiva al scaling factor que la secuencial El asincronico lleva a mejores soluciones aunque es mas lento. Con el asincronico puede ser que pida un individuo j y en su lugar me devuelvan su descendiente. Esto no afecta el resultado.

79 FIN


Descargar ppt "Grupo 6 Sharón Benasús Michell Vanrell"

Presentaciones similares


Anuncios Google