Documentos de Académico
Documentos de Profesional
Documentos de Cultura
9-Algoritmos Geneticos
9-Algoritmos Geneticos
v v v v v v v v
Introduccin Esquema bsico El problema de la mochila Asignacin de recursos El problema del viajante Variantes del esquema bsico Por qu funciona? Observaciones finales
2 3 7 10 13 15 19 20
Inventados por John Holland a mitades de los 70. Inspirados en el modelo de evolucin biolgica. Utilizan el principio de seleccin natural para resolver problemas de optimizacin complicados. Idea:
Partiendo de una poblacin inicial (soluciones factibles) Seleccionar individuos (favorecer a los de mayor calidad) Recombinarlos Introducir mutaciones en sus descendientes Insertarlos en la siguiente generacin
Generacin actual
Generacin intermedia
Generacin siguiente
De la poblacin intermedia se seleccionan parejas de forma aleatoria. Cruce: elegir un punto intermedio e intercambiar los genes de los padres a partir de ese punto.
11 000 10 011 11 011 10 000
Codificacin:
Utilizar cadenas de bits para representar las soluciones Los bits pueden codificar nmeros enteros, reales, conjuntos, Ventaja: los operadores de cruce y mutacin son simples. Inconveniente: no siempre resulta natural.
Seleccin:
Asignar una probabilidad de supervivencia proporcional a la calidad Generar una poblacin intermedia Elegir parejas de forma aleatoria No se pueden cruzar elementos de dos generaciones distintas.
v v
El problema de la mochila
v
Recordar...
Se tienen n objetos y una mochila El objeto i tiene peso pi y la inclusin del objeto i en la mochila produce un beneficio bi El objetivo es llenar la mochila, de capacidad C, de manera que se maximice el beneficio.
maximizar sujeto a con
1i n
bi xi pi x i C
1i n
Problemas:
Codificacin gentica: cmo representar las soluciones Calidad de las soluciones: cmo se mide
El problema de la mochila
v
Representacin:
x = (x 1 , ,xn ), x i {0,1}
Funcin de calidad:
C bi x i 1i n f (x) = bi x i 1i n si
1i n
bi x i
>C
en otro caso
Penalizar la no factibilidad. Obliga al algoritmo a elegir soluciones factibles porque son mejores. v
Inicializacin:
Generar secuencias de ceros y unos
El problema de la mochila
v
Asignacin de recursos
vHay m recursos de capacidades c1,c2,,cm y n tareas a ejecutar que consumen parte de los recursos. La tarea i-sima consume wij partes del recurso j. vLa ejecucin de la tarea i-sima produce un beneficio bi. vSe trata de decidir qu tareas se ejecutan de manera que se maximice el beneficio total.
Asignacin de recursos
vRepresentacin de un individuo:
x = (x1,x2,,xn), con xi{0,1} (xi=1 significa ejecutar la tarea i-sima) para ser factible debe verificar: i=1wijxi c j, para j=1,2,,n y para ser ptima debe maximizar: B(x) = i=1xibi
vEl tamao de la poblacin elegido es =50, la tasa de mutacin pm=1/n, y la tasa de recombinacin pc=06 .
Asignacin de recursos
v
n=15, m=10 n=20, m=10 n=28, m=10 n=50, m=5 n=60, m=30 n=105, m=2 f5103(x) N 4015 4005 3955 83 16 1 f104 (x) 6120 6110 6100 6090 6060 6050 6040 N 33 20 29 11 3 1 3 f5104(x) 12400 12390 12380 12370 12360 12330 11960 11950 N 33 30 10 1 19 5 1 1 f105 (x) 16537 16524 16519 16518 16499 16497 16494 16473 16472 16467 16463 f=40127 f=61023 f=123747 f=16378 N 1 1 2 5 1 1 1 1 1 1 1 f105(x) 7772 7761 7758 7741 7739 7738 7725 7719 7715 7711 7706 f=7626 N f2105(x) N
5 1095445 4 1095382 10 11 1095357 3 7 1095266 1 1 1095264 9 3 1095206 3 1 1095157 2 1 1095081 1 1 1095035 2 2 1095035 8 1 1094965 1 f=1093897
Recordar
Encontrar un recorrido de longitud mnima para un viajante que tiene que visitar varias ciudades y volver al punto de partida, conocida la distancia existente entre cada dos ciudades. v
Cruce:
De un punto:
[3, 2, 5, 4, 1] [3, 5, 1, 4, 2]
u u
[3, 2, 1, 4, 2] [3, 5, 5, 4, 1]
Otra codificacin:
Asignar a cada ciudad un valor entre 0 y 1 aleatoriamente. El recorrido se obtiene al ordenar estos nmeros de mayor a menor. Ejemplo:
[0.2, 0.8, 0.4, 0.7, 0.9] 5 2 4 3 1
Cruce:
Cualquiera de los habituales, de un punto por ejemplo.
Cambio de generacin:
Manteniendo el tamao de la poblacin u Reemplazar padres por hijos u Reemplazar un par de individuos elegidos aleatoriamente por los hijos u Otros Aumentando el tamao de la poblacin u Crear una poblacin temporal formada por los padres y los hijos y seleccionar de ah los mejores para formar la nueva generacin u Dados n padres generar m hijos (m>n) y de ah seleccionar los n mejores.
Seleccin:
Asignar a cada individuo una probabilidad de ser elegido definida como
f (x i )
poblacin
f (x j )
donde f puede ser u la funcin de calidad (quizs escalada o centrada) u la posicin de la solucin si se ordenan segn su calidad
L. Recalde - C.P.S. Esquemas algortmicos - Algoritmos genticos Pg. 16
Cruce
De un punto: seleccionar aleatoriamente un punto en el cromosoma e intercambiar el final de cada cromosoma a partir de dicho punto.
De dos puntos:
padre madre hijo 1 hijo 2
Mutacin
Evita que solo se considere un subconjunto de las posibles soluciones
Por qu funciona?
v
Teorema del esquema: Relaciona la calidad de los miembros de un esquema en una generacin con el nmero esperado de miembros en la siguiente generacin.
<Ns(g+1)>= Ns(g)* ms(g)/m(g)
Ns(g) es el nmero de elementos del esquema s en la generacin g m(g) la calidad media de los cromosomas en la generacin g ms(g) una estimacin de la calidad media de los cromosomas de la generacin s que pertenecen al esquema s <x> es el valor esperado
Observaciones finales
v
Observaciones:
La evolucin est dirigida por la calidad relativa Existe un paralelismo implcito, las operaciones se hacen implcitamente sobre todo un esquema. Encontrar un equilibrio entre explotacin/exploracin