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