Upcoming SlideShare
×

# Clase7 2004

376 views

Published on

Published in: Technology
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
376
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
7
0
Likes
0
Embeds 0
No embeds

No notes for slide
• In rank-based fitness assignment, the population is sorted according to the objective values. The fitness assigned to each individual depends only on its position in the individuals rank and not on the actual objective value. Rank-based fitness assignment overcomes the scaling problems of the proportional fitness assignment. (Stagnation in the case where the selective pressure is too small or premature convergence where selection has caused the search to narrow down too quickly.) The reproductive range is limited, so that no individuals generate an excessive number of offspring. Ranking introduces a uniform scaling across the population and provides a simple and effective way of controlling selective pressure. Rank-based fitness assignment behaves in a more robust manner than proportional fitness assignment and, thus, is the method of choice. [BH91] , [Why89] Consider Nind the number of individuals in the population, Pos the position of an individual in this population (least fit individual has Pos =1, the fittest individual Pos = Nind ) and SP the selective pressure. The fitness value for an individual is calculated as:
• Como asignar los valores de los parámetros es aun materia de discusion en el área
• En el caso de bit strings, la mutación de un bit consiste en cambiarlo de 0 a 1 o vice versa La probabilidad de que un bit sea mutado, es dada por un parámetro, p m , tasa de mutación Los bits de un string son mutados de manera independiente, es decir, la mutación de un bit, no afecta la probabilidad de otros bits Tradicionalmente en GAs la mutación tiene un rol secundario cuya finalidad es restaurar material genético perdido. Algunos investigarores afirman que la importancia de la mutación en Gas ha sido sub-estimada y que el rol de la recombinación sobre-estimada. Afirman que un algoritmo basado en mutación- selección, puede ser un muy poderoso algoritmo de búsqueda
• La recombinación o crossover es considerada el operador principal en GAs. Produce descendencia mezclando porciones de dos padres. La idea detrás del operador de recombinación es que segmentos de padres diferentes deben combinarse para producir nuevos individuos que se benefician de combinaciones de bits ventajosas de ambos padres. Los operadores de recombinacion mas conocidos son el de 1 punto, multi-punto y el crossover uniforme.
• Se ha realizado considerable trabajo de investigación para comparar el desempeño de distintos operadores de recombinación, pero no hay evidencia conclusiva de cual es mejor. Probablemente la elección más acertada dependa del problema a resolver. Sin embargo, parece haber consenso en cuanto a que la recombinación de 2 puntos y la recombinación uniforme son generalmente preferibles a la recombinación de 1 punto
• ### Clase7 2004

1. 1. Clase 7 : Componentes Básicos del Algoritmo Genético (Continuación) Computación Evolutiva Gabriela Ochoa http://www.ldc.usb.ve/~gabro/
2. 2. Componentes Básicos de un AG <ul><li>Representación o codificación </li></ul><ul><li>Inicialización de la Población </li></ul><ul><li>Función de Fitness (Función de Aptitud) </li></ul><ul><li>Selección </li></ul><ul><li>Operadores Genéticos </li></ul><ul><li>Reemplazo de la Población </li></ul><ul><li>Elitismo </li></ul><ul><li>Criterio de Terminación </li></ul><ul><li>Medidas de Desempeño </li></ul>
3. 3. Selección por Ranking <ul><li>La población se ordena de acuerdo a sus valores de la función objetivo </li></ul><ul><li>El fitness asignado a cada individuo depende de su posición en el rango y no de su valor objetivo </li></ul><ul><li>Solventa los problemas de la selección proporcional </li></ul><ul><ul><li>Estancamiento : cuando la presión selectiva es muy baja </li></ul></ul><ul><ul><li>Convergencia prematura : Súper-individuo </li></ul></ul><ul><li>El rango de reproducción es limitado, ningún individuo genera un número excesivo de hijos </li></ul><ul><li>Escalamiento Uniforme, permite control sobre la presión selectiva </li></ul>
4. 4. Selección por Ranking <ul><li>Sea Nind en número de individuos en la población, Pos la posición del individuo en la población (el menos apto tiene Pos =1, el mas aptop Pos = Nind ). SP es la presion selectiva. El fitness de cada individuo se calcula como: </li></ul><ul><li>El Ranking lineal perimte valores de la presión selectiva en el rango [1.0, 2.0]. </li></ul>
5. 5. Selección por Ranking Best … … … … worst 0.0 1.0 2.0 Los valores recomendados para ranking lineal es una pendiente lineal de 2.0 to 0.0 como se ve en la figura. Esto significa que el mejor individuo espera tener el doble de la descendencia que el individuo promedio . Los individuos debajo del promedio tienen un chance pequeño de reproducirse
6. 6. Operadores Genéticos <ul><li>Introducen diversidad en la población </li></ul><ul><li>Crean nuevos individuos a partir de estructuras en la población actual </li></ul><ul><li>2 tipos principales de operador </li></ul><ul><ul><li>Mutación (reproducción asexual) </li></ul></ul><ul><ul><li>Recombinación (reproducción sexual) </li></ul></ul><ul><li>Cada operador tiene un parámetro que controla la probabilidad de su aplicación </li></ul>
7. 7. Mutación (Bit Strings) 1 1 1 1 1 1 1 Antes La Mutación se aplica con probabilidad p m para cada gen Gen Mutado 1 1 1 0 1 1 1 Despues
8. 8. Mutación <ul><li>Para otras representaciones, puede tenerse mas de un operador de mutación </li></ul><ul><li>Al menos uno de ellos debe permitir el espacio de búsqueda sea explorado en su totalidad </li></ul><ul><li>La magnitud de la mutación es importante y debe ser controlada </li></ul><ul><li>La mutación debe producir cromosomas válidos </li></ul>
9. 9. Mutación (Números Reales) <ul><li>Perturbar los valores agregando ruido aleatorio </li></ul><ul><li>Comúnmente se usa una distribución Normal/Gaussiana N(0,  ): x’ i = x i + N(0,  i ) </li></ul><ul><li>Otros Operadores de Mutación: ( No Uniforme, Uniforme, de limite etc.) </li></ul>
10. 10. Mutación (Permutaciones) <ul><li>Mutación por inserción </li></ul><ul><li>Mutación por Desplazamiento </li></ul><ul><li>Mutación por Intercambio Recíproco </li></ul><ul><li>Mutación Heurística </li></ul>
11. 11. Mutación por Inserción <ul><li>Se selecciona un valor en forma aleatoria y se le inserta en una posición arbitraria. </li></ul><ul><li>Ejemplo: </li></ul><ul><li>P = 9 4 2 1 5 7 6 10 3 8 </li></ul><ul><li>^ </li></ul><ul><li>Elegimos la posición 7 y movemos ese valor a la posición 2, tendríamos: </li></ul><ul><li> P'= 9 6 4 2 1 5 7 10 3 8 </li></ul>
12. 12. Mutación por Desplazamiento <ul><li>Generalización de la mutación por inserción. En vez de mover un solo valor, se cambian de lugar varios a la vez. Por ejemplo: </li></ul><ul><li>P= 9 4 2 1 5 7 6 10 3 8 </li></ul><ul><li>La cadena después de mutación sería: </li></ul><ul><li>P'=9 2 4 1 3 5 6 7 10 8 </li></ul>
13. 13. Mutación por Intercambio Recíproco (2-swap) <ul><li>Se seleccionan dos puntos al azar y se intercambian estos valores de posición. </li></ul><ul><li>P = 9 4 2 1 5 7 6 10 3 8 </li></ul><ul><li>^ ^ </li></ul><ul><li>P‘ = 9 10 2 1 5 7 6 4 3 8 </li></ul>
14. 14. Mutación Heurística (1/2) <ul><li>Seleccionar genes al azar. </li></ul><ul><li>Generar vecinos de acuerdo a todas las permutaciones posibles de los genes seleccionados. </li></ul><ul><li>Evaluar todos los vecinos y seleccionar el mejor </li></ul><ul><li>P = 9 4 2 1 5 7 6 10 3 8 </li></ul><ul><li>^ ^ ^ </li></ul><ul><li>Generar todas las permutaciones de: 4 5 10 </li></ul><ul><li>1) 4 10 5 2) 5 4 10 3) 5 10 4 </li></ul><ul><li>4) 10 5 4 5) 10 4 5 </li></ul>
15. 15. Mutación Heurística (2/2) <ul><li>Individuos generados: </li></ul><ul><li>P1 = 9 4 2 1 10 7 6 5 3 8 </li></ul><ul><li>P2 = 9 5 2 1 4 7 6 10 3 8 </li></ul><ul><li>P3 = 9 5 2 1 10 7 6 4 3 8 </li></ul><ul><li>P4 = 9 10 2 1 5 7 6 4 3 8 </li></ul><ul><li>P5 = 9 10 2 1 4 7 6 5 3 8 </li></ul><ul><li>De entre ellas, se selecciona a la mejor. En este caso, supondremos que es P4: </li></ul><ul><li>P'= 9 10 2 1 5 7 6 4 3 8 </li></ul>
16. 16. Recombinación <ul><li>Naturaleza : proceso complejo que ocurre entre cromosomas homólogos. Los cromosomas se alinean, luego se fraccionan en ciertas partes y posteriormente intercambian fragmentos entre sí. </li></ul><ul><li>Computación Evolutiva : se simula la recombinación intercambiando segmentos de cadenas lineales de longitud fija (los cromosomas). </li></ul>
17. 17. Recombinación o Crossover Población: Cada cromosoma es cortado en n porciones que son luego recombinadas (Ejemplo para n=1 ) hijos Parámetro p C controla la aplicación de la precombinación . . . 1 1 1 1 1 1 1 0 0 0 0 0 0 0 padres corte corte 1 1 1 0 0 0 0 0 0 0 1 1 1 1
18. 18. Recombinación <ul><li>El cruce de un punto presenta varias desventajas. Ej., trata preferencialmente algunas posiciones del cromosoma: los extremos de una cadena. </li></ul><ul><li>No existe consenso en torno al uso de valores para n que sean mayores o iguales a 3. </li></ul><ul><li>En general, es aceptado que la cruza de dos puntos es mejor que la cruza de un punto. </li></ul><ul><li>Asimismo, el incrementar el valor de n se asocia con un mayor efecto disruptivo de la cruza. </li></ul>
19. 19. Cruce de 2 Puntos <ul><li>Se seleccionan 2 puntos, y se intercambian los substrings entre ellos </li></ul><ul><li>P1 = 10 | 1010 | 1010 </li></ul><ul><li>P2 = 11 | 1000 | 1110 </li></ul><ul><li>H1 = 11 | 1010 | 1110 </li></ul><ul><li>H2 = 10 | 1000 | 1010 </li></ul>
20. 20. Cruce Uniforme <ul><li>Se intercambian bits. Para cada bit del hijo se selecciona aleatoriamente de que padre viene </li></ul>
21. 21. Recombinación Parents offspring 1-point crossover 2-point crossover Uniform crossover = 50/50 at each locus
22. 22. Recombinación <ul><li>Para otras representaciones, puede tenerse mas de un operador de recombinación </li></ul><ul><li>Los hijos deben heredar algo de cada padre, sino sería un operador de mutación </li></ul><ul><li>La recombinación debe producir cromosomas válidos </li></ul>
23. 23. Recombinación Discreta (Representación Real) Crossover Uniforme a d b f c e g h F D G E H C B A a b C E d H g f
24. 24. Crossover Aritmético  Recombinación Intermedia (Representación Real) a d b f c e F D E C B A (a+A)/2 (b+B)/2 (c+C)/2 (e+E)/2 (d+D)/2 (f+F)/2
25. 25. Recombinaci ón para Permutaciones <ul><li>Order Crossover (Davis, 1995) </li></ul><ul><li>Partially Mapped Crossover PMX (Goldberg y Lingle, 1985). </li></ul><ul><li>Position-Based Crossover </li></ul><ul><li>Order-Based Crossover </li></ul><ul><li>Cycle Crossover </li></ul><ul><li>Otros </li></ul>
26. 26. Order Crossover (1/3) <ul><li>Sean P1 y P2 los padres </li></ul><ul><ul><li>Seleccionar (aleatoriamente) una subcadena de P1 </li></ul></ul><ul><ul><li>Producir un hijo copiando la subcadena en las posiciones correspondientes a P1, las restantes se dejan en blanco. </li></ul></ul><ul><ul><li>Borrar los valores que ya se encuentren en la subcadena de P2. </li></ul></ul><ul><ul><li>La secuencia resultante contiene los valores faltantes. </li></ul></ul><ul><ul><li>Colocar los valores en posiciones no conocidas del hijo de izquierda a derecha. </li></ul></ul><ul><ul><li>Para obtener el segundo hijo, se repiten los pasos del 1 al 4, pero tomando ahora </li></ul></ul>
27. 27. Order Crossover (2/3) <ul><li>P1 = 9 8 4 5 6 7 1 2 3 10 </li></ul><ul><li>P2 = 8 7 1 2 3 10 9 5 4 6 </li></ul><ul><li>Sub-cadena elegida: 5 6 7 1 (de P1) </li></ul><ul><li>Primer hijo: </li></ul><ul><li>H1 = X X X 5 6 7 1 X X X </li></ul>
28. 28. Order Crossover (3/3) <ul><li>Borrar de P2 la sub-cadena tomada de P1: </li></ul><ul><li>P2' = 8 X X 2 3 10 9 X 4 X </li></ul><ul><li>Determinar los valores faltantes de H1 sustituyendo (de izquierda a derecha) los valores que aparecen en P2': </li></ul><ul><li>H1 = 8 2 3 5 6 7 1 10 9 4 </li></ul><ul><li>Para obtener H2, el procedimiento es similar, aunque ahora la sub-cadena se tomará de P2 y la sustitución se hará a partir de P1'. </li></ul>
29. 29. Partially Mapped Crossover (PMX) <ul><li>Elegir aleatoriamente dos puntos de cruce </li></ul><ul><li>Intercambiar estos 2 segmentos en los hijos que se generan </li></ul><ul><li>El resto de las cadenas se obtienen haciendo mapeos entre los 2 padres: </li></ul><ul><ul><li>Si un valor no está contenido en el segmento intercambiado, permanece igual. </li></ul></ul><ul><ul><li>Si está contenido en el segmento intercambiado, entonces se sustituye por el valor que tenga dicho segmento en el otro padre. </li></ul></ul>
30. 30. Partially Mapped Crossover (PMX) <ul><li>P1 = 9 8 4 | 5 6 7 | 1 3 2 10 </li></ul><ul><li>P2 = 8 7 1 | 2 3 10 | 9 5 4 6 </li></ul><ul><li>Seleccionar 2 pts., intercambiar segmentos </li></ul><ul><li>H1 = X X X | 2 3 10 | X X X X </li></ul><ul><li>H2 = X X X | 5 6 7 | X X X X </li></ul><ul><li>Copiar valores que no están en el segmento intercambiado: </li></ul><ul><li>H1 = 9 8 4 | 2 3 10 | 1 X X X </li></ul><ul><li>H2 = 8 X 1 | 5 6 7 | 9 X 4 X </li></ul><ul><li>Mapear los valores restantes: </li></ul><ul><li>H1 = 9 8 4 2 3 10 1 6 5 7 </li></ul><ul><li>H2 = 8 10 1 5 6 7 9 2 4 3 </li></ul>
31. 31. Valores para de los Parámetros <ul><li>Probabilidad de cruce, p c, es normalmente escogida en el rango {0.6,…1.0} </li></ul><ul><li>Crossover aplicado con probabiliad p c y clonación con probabibildad 1- p c </li></ul><ul><li>Probabilidad de mutación p m normalmente baja, generalmente en el rango {0.001,0.01} </li></ul><ul><li>Una buena regla heurística es : </li></ul><ul><li>p m =1/(longitud del cromosoma) </li></ul>
32. 32. Reemplazo de la Población <ul><li>Generacional : toda la población es reemplazada en cada generación </li></ul><ul><li>Estado – Estacionario (steady – state): Solo pocos individuos son reemplazados cada generación (típicamente uno o dos) </li></ul><ul><li>Gap Genracional : Entre los dos esquemas anteriores, se define un porcentaje (gap) de los individuos que serán reemplazados cada generación </li></ul>
33. 33. GA de Estado Estacionario <ul><li>Dos decisiones deben considerarse </li></ul><ul><ul><li>a) Cómo seleccionar los individuos que serán padres </li></ul></ul><ul><ul><li>b) Cómo seleccionar los individuos que serán eliminados </li></ul></ul><ul><li>3 Maneras </li></ul><ul><ul><li>1) Padres de acuerdo al fitnees, indiv. a eliminar aleatoriamente </li></ul></ul><ul><ul><li>2) Padres aleatoriamente, indiv. a eliminar por fitness inverso </li></ul></ul><ul><ul><li>3) Tanto padres como indiv. A eliminar según fitness (inverso) </li></ul></ul><ul><li>Ejemplo GENITOR, selecciona padres según fitness ordenado, los hijos reemplazan a los 2 peores miembros de la población </li></ul>
34. 34. Criterios de Terminación <ul><li>Número fijo de generaciones o evaluaciones </li></ul><ul><li>Considerando medidas de diversidad en la población </li></ul><ul><li>Cuando se alcance el óptimo (si es conocido) </li></ul><ul><li>Luego de varias generaciones sin ninguna mejora </li></ul><ul><li>Luego de un tiempo de computo fijo </li></ul>
35. 35. Elitismo <ul><li>Asegura que al menos una copia del mejor individuo de la población, siempre pasa a la siguiente generación </li></ul><ul><li>Ventaja : Se garantiza la convergencia, i.e si se encuentra el óptimo, el GA converge a ese valor </li></ul><ul><li>Desventaja : Hay riesgo de quedar atrapado en máximos locales </li></ul>
36. 36. Alternativa al Elitismo <ul><li>Salvar al mejor individuo encontrado hasta el momento, en una variable para tal fin </li></ul><ul><li>Al final de la corrida se considera este la solución del problema, si es mejor que el mejor individuo de la ultima generación </li></ul>
37. 37. Medidas de Desempeño (Medidas Estándard) <ul><li>Dado que los GAs son métodos estocásticos, no pueden sacarse conclusiones de un sola corrida </li></ul><ul><li>Deben considerarse estádisticas ( promedio, Desv. Estándard ), de un número suficientemente grande de corridas independientes </li></ul><ul><li>Medidas éstandard : valores de fitness promedio y mejor, promediados sobre varias corridas </li></ul>
38. 38. Medidas de Desempeño (Aspectos Dinámicos) <ul><li>Es común correr el GA hasta un criterio fijo de terminación y luego presentar los resultados. Esto ignora el aspecto dinámico del Algoritmo </li></ul><ul><li>Las conclusiones pueden ser fuertemente dependientes del criterio de terminación, pueden invertirse si se utilizan distintos puntos de parada del algoritmo </li></ul><ul><li>Es buena práctica mostrar resultados a lo largo de toda la corrida </li></ul>
39. 39. Medidas de Desempeño (Evaluaciones antes de solución) <ul><li>Número de generaciones o evaluaciones requeridas antes de que el algoritmo encuentre una solución aceptable (o el óptimo global si este es conocido) </li></ul><ul><li>La meta es minimizar el número de generaciones o evaluaciones requeridas para encontrar la solución </li></ul><ul><li>Nro. de evaluaciones es preferido sobre nro. de generaciones, pues la evaluación del fitness domina el tiempo de ejecución </li></ul>