Title: Algoritmos Gen
1Algoritmos Genéticos
- Grupo 6
- Sharón Benasús
- Michell Vanrell
2Agenda
- Introducción
- Cómo funcionan
- Ejemplo
- Por qué funcionan
- Algoritmos genéticos paralelos
3Introducció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
4Introducció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
5Introducció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 -gt Un nueva generación
- El proceso se repite y converge a una población
con individuos muy similares entre si
6Algoritmo 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
7Algoritmo 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
8Algoritmo 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
9Algoritmo
- Repetir
- 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 i1 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
10Consideraciones
- 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
11Ejemplo 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
12Grafo de precedencia
13Pasos a seguir
- Codificación
- Espacio de soluciones
- Fitness y selección de generación intermedia
- Recombinación
14Codificació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
-
15Espacio 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
16Fitness 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
17Fitness 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
18Fitness 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
19Fitness 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, x1, , xN en el mating pool - Pares de individuos del mating pool son
recombinados usando crossover y mutación
20Recombinació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
21Recombinació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
22Resultados 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
23Resultados 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
24Resultados 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
25Resultados p 0.06
26Otros 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
27Solo selección, se reemplaza si mejora
28Solo selección, se reemplaza siempre
29Fundamentos Matemáticos de los Algoritmos
Genéticos
- Por qué funcionan los Algoritmos Genéticos?
- Los Esquemas (Hiperplanos)
- El Teorema Fundamental
- Paralelismo Implícito.
30Fundamentos 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.
31Los 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
32Los EsquemasEjemplos
- El esquema 0000 encaja con las cadenas 00000,
10000. - El esquema 001 encaja con las cadenas 00001,
00011, 01001, 01011.
33Los 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.
34Los 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
35Los 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
36Los Esquemas
- Orden de un esquema, Es el número de
posiciones fijas (con 0 ó 1) que contiene dicho
esquema. - Ejemplo
- H 0111 ? 4
- Longitud característica de un esquema,
Es la distancia entre la primera y última
posiciones fijadas de la cadena. - Ejemplo
- H 0111 ?
- H 0 ?
37Los 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.
38Diferentes vistas del Muestreo de los hiperplanos
39Diferentes vistas del Muestreo de los
hiperplanos (2)
40Los 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.
41Los 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.
42EL 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.
43El 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
44El 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.
45El Efecto de la Selección
- Mediante reemplazamientos a partir de la
población P(t), esperamos tener m(H,t1)
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.
46Los 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.
47El 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.
48El 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.
49El 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
50El 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.
51El Efecto de la Cruza
- Sea el número de cadenas ganadas por el
esquema H durante el procedimiento de cruza
52El 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.
53El 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...
54El 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
55El Efecto de la Cruza
- De esta manera llegamos a
Selección del 2do padre basado en su aptitud
56El 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.
57El Efecto de la Mutación
- Añadiendo a la expresión que teníamos
-
58El 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.
59El Teorema Fundamental
- Factor de Crecimiento
- Factor de Supervivencia
60El 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
61Crí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. -
62El 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).
63El 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.
64Diversidad en los AGs
- Diversidad en individuos
- Diversidad en Aptitudes
65Diversidad 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
66Diversidad 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.
67Convergencia 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 -
68Diversidad 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).
69Paralelismo 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. -
70Algoritmos 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
71Poblaciones 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
72Poblaciones 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 pN/2 - Todos los procesadores realizan mutación en sus
individuos (si corresponde)
73Modelos 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
74Algoritmos 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
75Paralelismo 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 -gt vecindario - Definición del vecindario
- El vecindario de una location estará formado por
aquellas locations que no están a mas de 4 links
76Paralelismo 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
77Paralelismo 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
78Conclusiones
- 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
79FIN