800 likes | 1.04k Views
Grupo 6 Sharón Benasús Michell Vanrell. Algoritmos Genéticos . Agenda. Introducción Cómo funcionan Ejemplo Por qué funcionan Algoritmos genéticos paralelos. Introducción. Provienen de la familia de modelo computacional basado en la evolución Introducidos por Holland en 1975
E N D
Grupo 6 Sharón Benasús Michell Vanrell Algoritmos Genéticos
Agenda Introducción Cómo funcionan Ejemplo Por qué funcionan Algoritmos genéticos paralelos
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
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
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
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
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
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
Algoritmo 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 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’
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
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
Pasos a seguir Codificación Espacio de soluciones Fitness y selección de generación intermedia Recombinación
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:
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
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
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
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
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
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
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
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
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}
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
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
Fundamentos Matemáticos de los Algoritmos Genéticos • ¿ Por qué funcionan los Algoritmos Genéticos? • Los Esquemas (Hiperplanos) • El Teorema Fundamental • Paralelismo Implícito.
Fundamentos Matemáticos de los Algoritmos Genéticos • Los Algoritmos Genéticos no procesan estrictamente individuos, sino similitudes entre ellos:patrones de similitudentreindividuos oesquemas • Dado que cada individuo encaja en muchos patrones a la vez, la eficiencia de la búsqueda se multiplica.
LosEsquemas • 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 EsquemasEjemplos • El esquema *0000 encaja con las cadenas {00000, 10000}. • El esquema 0*0*1 encaja con las cadenas {00001, 00011, 01001, 01011}.
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.
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
LosEsquemas • 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 • 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******
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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:
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.