Professional Documents
Culture Documents
1. 2. 3. 4. 5. 6. 7.
Introduccin
Propuestos por Holland, mediados 70, computacin evolutiva Popularizados por Goldberg, mediados 80, solucin de problemas del mundo real Inspirados en el modelo de evolucin biolgica sexual Aplicables a problemas de bsqueda y optimizacin complejos
2
Mtodo de bsqueda y optimizacin inspirados en la evolucin biolgica Posibles soluciones: poblacin Seleccin de los individuos ms aptos Generacin de nuevos candidatos: reproduccin sexual
Esquema bsico
funcin ALGORITMO-GENTICO(poblacinInicial) returns una poblacin entrada: poblacinInicial, una poblacin static: poblacin(.), un array de poblacin begin t0 poblacin(t) poblacinInicial EVALUAR(poblacin(t)) while (not condicinTerminacin) do t t +1 poblacin1 SELECCIONAR(poblacin(t-1)) poblacin2 CRUZAR(poblacin1) poblacin3 MUTAR(poblacin2) poblacin(t) REMPLAZAR(poblacin3) EVALUAR(poblacin(t)) end return(poblacin(t)) end
4
Codificacin
Codificacin ptima: alfabeto binario (teorema de los esquemas) Codificacin habitual: cadena de bits
f(x)=1-x2, parbola invertida con mximo en x=0 nico parmetro o atributo: variable x Codificamos el valor de la variable mediante un byte [0,255], ajustado al intervalo real [-1,1], donde queremos hallar el mximo de la funcin
Descodificacin
Valor real
2/255*x -1= y
8-reinas
Atributo: posicin de una dama en una columna (3 bits) Cromosoma: secuencia de atributos, 24 bits
Col. 2 Col. 3 Col. 4 Col. 5 Col. 6 Col. 7 Col. 8
Col.1
0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1
La codificacin es clave en la resolucin del problema Heurstica: parmetros relacionados ente s (genes) deben de estar cercanos en el cromosoma Gran flexibilidad
Evaluacin
En esta etapa hay que cuantificar la calidad de los individuos de la poblacin Generalmente
Para f(x)=1-x2, la funcin de aptitud es la misma Para 8-reinas: nmero total de pares de damas no amenazadas
Aptitud
10
Seleccin
Seleccin de los elementos que se reproducen A partir de la funcin de aptitud Varios mtodos
Rueda de ruleta Basado en el rango Seleccin de torneo Manteniendo el tamao de la poblacin Aumentando el tamao de la poblacin
Cambio de generacin
11
Rueda de ruleta
Se asigna a cada individuo la probabilidad: Si algn individuo domina la poblacin, se escala o normaliza Se elijen parejas aleatorias de individuos de acuerdo a su probabilidad Inconveniente: los individuos con ms aptitud tiende a dominar la poblacin en pocas generaciones
Pr( x ) =
12
Rueda
Valor binario 10010100 10010001 00101001 01000101 Descodi -ficacin 148 145 41 65 Valor real 0,161 0,137 -0,678 -0,490 Aptitud Probabilidad Probabilidad acumulada 0.299 0.600 0.766 1.000
2 13
Basado en el rango
Se ordena la poblacin por orden creciente de aptitud Se eliminan los M primeros (menor aptitud) Se eligen de forma aleatoria, con probabilidad dada por el rango, pares de individuos y sus descendientes se aaden a la poblacin
14
Torneo
Se seleccionan dos individuos aleatoriamente Se elije el ms apto con una probabilidad P y el menos apto con una probabilidad (1-P) Introduce ms diversidad en la poblacin
15
Cambio de generacin
Reemplazar padres por hijos Reemplazar un par de individuos elegidos aleatoriamente por los hijos Otros
Crear poblacin temporal con padres e hijos, seleccionando los mejores Dados n padres generar m (m>n) hijos y de ellos seleccionar los n mejores
16
Principal operador gentico Simula el intercambio de material gentico o genes Se aplica con probabilidad pc a individuos seleccionados Cruce ideal: recombina buenos bloques de construccin de sus progenitores Operadores
Cruce de un punto
Seleccionar aleatoriamente una posicin en el cromosoma Intercambiar el final del cromosoma a partir de dicho punto
1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0
padre madre
hijo 1 hijo 2
1 1
0 0
0 1
1 1
0 1
1 0
0 1
0 1
0 0
0 0
18
hijo 1 hijo 2
1 1
0 0
0 1
1 1
0 1
1 0
0 1
1 0
0 0
0 0
19
Multipunto o uniforme
Cada bit se hereda de un padre aleatoriamente En aquellos problemas donde un cruce aleatorio puede generar individuos no vlidos
Operadores especializados
20
10
Genera individuos vlidos La mezcla de bloques genes- no parece asimilable a un operador del problema real
Seleccionar aleatoriamente un entero 1 y 7 (nmero de genes) Equivale a intercambiar columnas contiguas entre tableros padres
21
1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0
22
11
Aptitud:20
padres
Aptitud:26
Aptitud:25
hijos
Aptitud:27
23
Operador de Mutacin
En la evolucin
Las mutaciones son poco frecuentes En la mayor parte de los casos letales En promedio, contribuyen a la diversidad gentica
Se simula cambiando aleatoriamente el valor de un bit Se aplica con probabilidad baja (10-3 o menor) a cada bit de un nuevo individuo, habitualmente junto al cruce Dependiendo del tamao de la poblacin y del nmero de bits por individuo, la mutacin puede ser extremadamente rara en una generacin
24
12
Utilidad de la mutacin
Genera diversidad
Puede ser de utilidad cuando un algoritmo gentico est estancado Su abuso reduce al algoritmo gentico a una bsqueda aleatoria
25
Otros operadores
Aadir, eliminar Fuerzan a que cromosomas similares slo reemplacen a cromosomas similares Intentan mantener la diversidad
Operadores de nicho
Distintas especies en la poblacin Cada una de ellas puede converger a un mximo diferente
26
13
Codificacin binaria: cadena de 5 bits Tamao poblacin inicial: 4 individuos Poblacin inicial: aleatoria
Funcin de aptitud f(x)=x2 Seleccin: ruleta Cambio de generacin: manteniendo el tamao de la poblacin intermedia
Poblacin inicial
Poblacin inicial 1 2 3 4 Suma Media mejor 01101 11000 01000 10011 x 13 24 8 19 aptitud 169 576 64 361 1170 293 576 Probabilidad seleccin 0.14 0.49 0.06 0.31 Probabilidad acumulada 0.14 0.63 0.69 1.00
28
14
Seleccin: ruleta
Generar cuatro nmeros aleatorios, distribucin de probabilidad uniforme en intervalo (0,1) Un individuo i se selecciona si el nmero aleatorio obtenido est en el intervalo definido por la probabilidad acumulada del individuo i-1 y la del individuo i Suponer que se obtienen: 0.58, 0.84, 0.11 y 0.43 Individuos seleccionados: 2, 4, 1, 2
29
Poblacin seleccionada
Poblacin inicial 2 4 1 2 Suma Media mejor 11000 10011 01101 11000 x aptitud Probabilidad seleccin Probabilidad acumulada
24 19 13 24
15
Cruce
Emparejamiento: emparejarlos segn se han seleccionado -2 con 4, 1 con 2Probabilidad de cruce: 0.8
Generar nmero aleatorio, distribucin uniforme, (0, 1) Suponer se obtienen 0.7, 0.3: se produce el cruce en ambos emparejamientos
Generar puntos de cruce: numero aleatorio, distribucin uniforme en [1, 2 ,L] con L longitud del cromosoma
31
Creacin descendientes
2 4 1 1 0 0 0 1 0 0 1 1 1 2 0 1 1 0 1 1 1 0 0 0
h1 h2
1 1 0 1 1 1 0 0 0 0
h3 h4
0 1 1 0 0 1 1 0 0 1
32
16
Mutacin
33
27 16 8 25
34
17
Ejercicio
Considerar el problema de encontrar el mximo de la funcin f(x)=1-x2, en el intervalo [-1, 1] Utilizar la codificacin y funcin de aptitud propuestas como ejemplo Mtodo de seleccin: torneo Probabilidad de cruce: 0,8 Probabilidad de mutacin:0,001 Cambio de generacin: cambiar padres por hijos Obtener la poblacin tras dos iteraciones
35
18