presentg6 ga

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

Upload: zalmaeurquidi

Post on 15-Jan-2016

230 views

Category:

Documents


0 download

DESCRIPTION

dsfsdfdsf

TRANSCRIPT

Page 1: PresentG6 GA

Algoritmos Genéticos

Grupo 6

Sharón Benasús

Michell Vanrell

Page 2: PresentG6 GA

Agenda

Introducción Cómo funcionan Ejemplo

Por qué funcionan Algoritmos genéticos paralelos

Page 3: PresentG6 GA

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

Page 4: PresentG6 GA

Introducción

Población 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

Page 5: PresentG6 GA

Introducción

Crossover 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

Page 6: PresentG6 GA

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

Page 7: PresentG6 GA

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

Page 8: PresentG6 GA

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

Page 9: PresentG6 GA

Algoritmo

Repetirpara 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’

Page 10: PresentG6 GA

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

Page 11: PresentG6 GA

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

Page 12: PresentG6 GA

Grafo de precedencia

Page 13: PresentG6 GA

Pasos a seguir

Codificación Espacio de soluciones Fitness y selección de generación

intermedia Recombinación

Page 14: PresentG6 GA

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:

Page 15: PresentG6 GA

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

Page 16: PresentG6 GA

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

Page 17: PresentG6 GA

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

Page 18: PresentG6 GA

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

11

N

iiF

1

max /N

i i ii

F F N

0i iF

Page 19: PresentG6 GA

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

Page 20: PresentG6 GA

Recombinación

Crossover 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

Page 21: PresentG6 GA

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

Page 22: PresentG6 GA

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

Page 23: PresentG6 GA

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}

Page 24: PresentG6 GA

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

Page 25: PresentG6 GA

Resultados p = 0.06

Page 26: PresentG6 GA

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

Page 27: PresentG6 GA

Solo selección, se reemplaza si mejora

Page 28: PresentG6 GA

Solo selección, se reemplaza siempre

Page 29: PresentG6 GA

Fundamentos Matemáticos de los Algoritmos Genéticos

¿ Por qué funcionan los Algoritmos Genéticos?

Los Esquemas (Hiperplanos) El Teorema Fundamental Paralelismo Implícito.

Page 30: PresentG6 GA

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.

Fundamentos Matemáticos de los

Algoritmos Genéticos

Page 31: PresentG6 GA

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

Los Esquemas

Page 32: PresentG6 GA

El esquema *0000 encaja con las cadenas {00000, 10000}.

El esquema 0*0*1 encaja con las cadenas {00001, 00011, 01001, 01011}.

Los EsquemasEjemplos

Page 33: PresentG6 GA

Proposición: Se verifican las siguientes propiedades:1. Si un esquema contiene k símbolos de indeferencia

( * ) entonces representa a 2k cadenas binarias.2. Una cadena binaria de longitud L encaja en 2L

esquemas distintos.3. Considerando cadenas binarias de longitud L,

existen en total 3L posibles esquemas.4. Una población de n cadenas binarias de longitud L

contiene entre 2L y n2L esquemas distintos.

Los Esquemas

Page 34: PresentG6 GA

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

Los Esquemas

Page 35: PresentG6 GA

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:

Los Esquemas

Page 36: PresentG6 GA

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.Ejemplo:

H = 011*1** H = 0******

H

H H

5 1 4H 1 1 0H

Los Esquemas

Page 37: PresentG6 GA

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.

2L H

Los Esquemas

Page 38: PresentG6 GA

Diferentes vistas del Muestreo de los hiperplanos

Page 39: PresentG6 GA

Diferentes vistas del Muestreo de los hiperplanos (2)

Page 40: PresentG6 GA

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.

, :f H t

1

1,

i m

ii

f H t Aptitud vm

siendo , y

1.. las cadenas de P que encajan en H.i

m m H t

v i m

Los Esquemas

Page 41: PresentG6 GA

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.

:f

1

1( )

i n

ii

f Aptitud vn

Los Esquemas

Page 42: PresentG6 GA

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.

Page 43: PresentG6 GA

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:

ii

jj

fp

f

Page 44: PresentG6 GA

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.

El Efecto de la Selección

Page 45: PresentG6 GA

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.

,, 1 ,

jj

f H tm H t m H t n

f

El Efecto de la Selección

Page 46: PresentG6 GA

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.

Los Esquemas

:f

1

1 i n

ii

f fn

Page 47: PresentG6 GA

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.

,, 1 ,

f H tm H t m H t

f

El Efecto de la Selección

Page 48: PresentG6 GA

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.

, 1 , 1 ,

Comenzando en 0 :

, ,0 1t

f c fm H t m H t c m H t

f

t

m H t m H c

c f

El Efecto de la Selección

Page 49: PresentG6 GA

El valor esperado de cadenas representantes de H que han sido seleccionadas y a las que no se les aplica

cruzamiento es:

,1 ,C

f H tp m H t

f

El Efecto de la Cruza

Page 50: PresentG6 GA

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.

,, 1c R

f H tp m H t p

f

Rp

El Efecto de la Cruza

Page 51: PresentG6 GA

Sea el número de cadenas ganadas por el esquema H durante el procedimiento de cruza:

,, 1c R

f H tp m H t p g

f

g

El Efecto de la Cruza

Page 52: PresentG6 GA

Resumiendo las anteriores diapositivas, el valor esperado del número de representantes del esquema H tras haber efectuado selección y cruzamiento es:

, ,, 1 , , 1C c R

f H t f H tm H t sel cru p m H t p m H t p g

f f

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.

El Efecto de la Cruza

Page 53: PresentG6 GA

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...:

1R

Hp

L

, ,, 1 , , 1C c R

f H t f H tm H t sel cru p m H t p m H t p g

f f

,, , 1 C R

f H tm H t sel cru m H t p p

f

El Efecto de la Cruza

Page 54: PresentG6 GA

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

,,

m H tP H t

n

Rp

1 ,1R

Hp P H t

L

El Efecto de la Cruza

Page 55: PresentG6 GA

De esta manera llegamos a:

,, 1 , 1 1 ,

1C

f H t HP H t P H t p P H t

Lf

, ,, 1 , 1 1 ,

1C

f H t H f H tP H t P H t p P H t

Lf f

El Efecto de la Cruza

Selección del 2do padre basado en su aptitud

Page 56: PresentG6 GA

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.

1

H

m mp p

Estamos suponiendo que los eventos de invertir un bit

son independientes entre si.

El Efecto de la Mutación

Page 57: PresentG6 GA

Añadiendo a la expresión que teníamos:

, ,, 1 , 1 1 , 1

1H

C m

f H t H f H tP H t P H t p P H t p

Lf f

El Efecto de la Mutación

Page 58: PresentG6 GA

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.

El Teorema Fundamental

Page 59: PresentG6 GA

Factor de Crecimiento

Factor de Supervivencia

, ,, 1 , 1 1 , 1

1H

C m

f H t H f H tP H t P H t p P H t p

Lf f

gK

SK

El Teorema Fundamental

Page 60: PresentG6 GA

Los esquemas con una aptitud por encima de la mediaincrementan exponencialmente su presencia en sucesivas generaciones

Los que tienen la aptitud por debajo de la mediadecrementan 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

1gK

1gK

1SK

El Teorema Fundamental

Page 61: PresentG6 GA

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.

Críticas al Teorema

Page 62: PresentG6 GA

El problema de la Ineficiencia

Los AGs sólo se pueden considerar eficientes encomparació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).

Page 63: PresentG6 GA

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.

Page 64: PresentG6 GA

Diversidad en los AGs

Diversidad en individuos

Diversidad en Aptitudes

Page 65: PresentG6 GA

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

Page 66: PresentG6 GA

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.

Page 67: PresentG6 GA

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

Convergencia Prematura

Page 68: PresentG6 GA

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).

Page 69: PresentG6 GA

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.

Paralelismo Implícito

3n

Page 70: PresentG6 GA

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

Page 71: PresentG6 GA

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

Page 72: PresentG6 GA

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)

Page 73: PresentG6 GA

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

Page 74: PresentG6 GA

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

Page 75: PresentG6 GA

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

Page 76: PresentG6 GA

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

( )

i

jj vecind i

f

f

Page 77: PresentG6 GA

Paralelismo en el ALBP

RepetirPara cada individuo i

Evaluar f(i)Transmitir f(i) para todos los individuos j en el

vecindarioElegir un individuo j para combinar basado en

fitnessPedir el individuo jReproducir usando los individuos i y j

Hasta que la variación en la población es pequeña

Page 78: PresentG6 GA

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

Page 79: PresentG6 GA

FIN