140 likes | 285 Views
Algoritmos genéticos. Transformaciones de la función objetivo. En muchos problemas el objetivo es MINIMIZAR una función costo (g(x)), en vez de maximizar una función utilidad. La función adaptación debe ser siempre 0
E N D
Transformaciones de la función objetivo • En muchos problemas el objetivo es MINIMIZAR una función costo (g(x)), en vez de maximizar una función utilidad. • La función adaptación debe ser siempre 0 • No se puede multiplicar por –1, porque no hay garantía de que en algunos casos se vuelva negativa. • f(x) Cmax – g(x) si g(x) < Cmax • f(x) • f(x) 0 en cualquier otro caso • Cmax puede ser: • máximo valor g(x) observado hasta ahora • máximo valor g(x) en la población actual • máximo valor g(x) en las k últimas generaciones • f(varianza de la población)
La regulación del número de copias es especialmente im-portante en AG de pequeñas poblaciones. Al comenzar a correr AG es común tener unos pocos indivi-duos extraordinarios. Si se permite la regla de selección nor-mal (pselección = fi/ fi ), los individuos extraordinarios elimi-narían una proporción significativa de la población en solo una generación y esto es indeseable, es la principal causa de convergencia prematura. Mas adelante en la corrida, puede haber todavía diversidad significativa en la población; sin embargo la adaptación promedio de la población estará cer-cana a la mejor adaptación de la población. En esta situación los miembros promedio y los mejores miembros obtienen aproximadamente el mismo número de copias en las futuras generaciones. Regulación del número de copias
Regulación del número de copias (continuación) Una forma de llevar a escala el grado de apti-tud es la escala lineal. f’ = af + b 2.f’med Aptitud en escala f’med= fmed para asegu-rar que cada miembro promedio de la pobla-ción contribuya con 1 descendiente. Además Cmáx = 1.2-2.0 fmin fmed fmax Aptitud en crudo
Regulación del número de copias (continuación) 2.f’med Cuando han avanzado las corridas puede dar-se el caso en que cade-nas “letales” den f’min < 0 una solucion es hacer f’min = 0 Aptitud en escala fmin fmed fmax Aptitud en crudo
Codificación • Dos principios básicos para elegir la codificación en AG. • Principio de bloques con sentido • Principio de mínimo alfabeto • Principio de bloques con sentido • El usuario debería seleccionar una codificación tal que esquemas cortos y de bajo orden sean relevantes para el problema específico y relativamente no relacionados con otros esquemas en otras posiciones fijas. Este procedi-miento es raramente práctico. El diseño de codificación para bloques con sentido es un arte.
Principio de mínimo alfabeto Se debería seleccionar el alfabeto más pequeño que per-mita una expresión natural del problema. Ej. los enteros [0,31] se representan con 5 bits en binario (baja cardinali-dad) o con 32 representaciones donde no se pueden obser-var similaridades relacionadas con la adaptación. 2l =kl’ para igualar el numero de puntos en cada espacio. 3l es el numero de esquemas posibles para el código bina-rio, mayor que (k+1)l’ numero de esquemas posibles para el código k-ario Para construir una codificación multiparamétrica, pode-mos concatenar tantos códigos de parámetros como se re-quieran. Cada codificación puede tener sus propios valo-res Umin y Umax (ej. l = 4: rango 0000 - 1111) Codificacion (cont.)
Dado que muchos problemas prácticos son altamente res-tringidos; encontrar un punto posible es casi tan difícil co-mo encontrar el mejor. Por esto, queremos obtener alguna información de las soluciones no posibles, por ej. degra-dando su ranking de adaptación en relación con el grado de violación de restricciones. Esto es realizado por el mé-todo de castigos: un problema restringido en optimización se transforma en un problema sin restricciones asociándo-le un costo o castigo a todas las violaciones de restricción. Ej. minimizar g(x) sujeta a hi(x) 0 i=1,2,…,n donde x es un m-vector lo transformamos en n minimizar g(x) + r. ∑Ø| hi(x) | donde Ø: func. costo, r = coeficiente de costoGeneralmente hacemos Ø| hi(x) | = hi2 (x) para todas las restricciones i. Restricciones
Optimizacion de funciones: De Jong • De Jong construyó un ambiente de prueba de cinco pro-blemas de minimización de funciones. Incluyó funciones con las siguientes características: • Continuas/discontinuas • Convexas/no convexas • Unimodales/multimodales • Cuadráticas/no cuadráticas • Baja dimensionalidad/alta dimensionalidad • Determinística/estocástica
Optimizacion de funciones: De Jong • De Jong creó dos mediciones de performance para cuanti-ficar la efectividad de diferentes AGs: • off-line (convergencia), promedio de los mejores valores de performance hasta un tiempo particular t. • on-line (paso a paso), promedio de todas las funciones evaluación hasta e incluido el intento actual • Con las 5 funciones y las dos medidas de performance, De Jong investigó variaciones del algoritmo genético simple. • R1.- Operadores: Selección por rueda de ruleta, entrecru-zam. simple (con apareamiento al azar), mutación simple.
Optimizacion de funciones: De Jong Para mejorar la performance de su AG base, De Jong investigó 5 variaciones del plan R1: R2 Modelo elitista R3 Modelo del valor esperado R4 Modelo del valor elitista esperado R5 Modelo del factor de agrupación R6 Modelo de entrecruzamiento generalizado R2 mejoró significativamente la performance on-line y off-line en superficies unimodales, pero en la función polimodal F5, el plan elitista degradó ambas medidas.
Optimizacion de funciones: De Jong R3 fue diseñado para reducir los errores estocásticos de la rueda de ruleta. Su performance on-line y off-line fue mejor en gral. que R1 y R2 para todas las funciones. R4 combinación de los planes R2 y R3 para formar el modelo de valor elitista esperado. Se observaron conside-rables mejoras en las funciones unimodales F1-F4, pero en la F5 la performance estuvo degradada respecto del plan de valor esperado. R5 Fuerza la presión de agrupamiento haciendo que los nuevos individuos reemplacen a los adultos similares. R6 con variación del número de puntos de entrecruza-miento.
Implementación de AG en arquitectura paralela Prototipo de red: k algoritmos genético simples corren con memorias independientes, operaciones genéticas independientes, y funciones evaluación independientes. Los k procesos trabajan normalmente, excepto que los mejores individuos descu- biertos en una generación son distribuidos a las otras subpoblaciones sobre una red de comunicación. La confiabilidad de este es-quema es alta gracias a la autonomía de los procesos independientes. GA GA GA GA GA GA