1 / 28

Algoritmos genéticos

Algoritmos genéticos. Concepto.

candida
Download Presentation

Algoritmos genéticos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmos genéticos

  2. Concepto Algoritmo de búsqueda basado en la mecánica de la ge-nética y la selección natural.Un algoritmo genético pue-de resolver problemas que aún no están completamente caracterizados o son demasiado complejos para permitir una completa caracterización. Es decir, problemas para los cuales no necesariamente conocemos cómo llegar a una buena solución, pero si podemos evaluar por alguna medida cuantificable el valor relativo de una solución (o al menos el valor relativo de una solución potencial en comparación con otra). El concepto básico de un algoritmo genético es la codi-ficación de una solución potencial de un problema como una serie de parámetros.

  3. Un conjunto de valores de parámetros es tratado como el genoma o material genético de una solución individual. Se crea una gran población de soluciones candidatas (ini-cialmente con valores de parámetros al azar). Estas solu-ciones son esencialmente apareadas unas con otras por va-rias generaciones simuladas bajo el principio de supervi-vencia del más apto. El apareamiento tiene lugar haciendo uso de operadores tales como el entrecruzamiento, y la mutación (esencial-mente la introducción de ruido). El tercer operador básico es la reproducción. AG explota eficientemente la información histórica para especular sobre nuevos puntos de búsqueda con la espe-ranza de un mejor rendimiento.

  4. Robustez La robustez, balance entre eficiencia y eficacia necesario para sobrevivir en muchos ambientes diferentes, es el te-ma central de investigación en algoritmos genéticos. Los AGs, teórica y prácticamente han probado que pro-veen una búsqueda robusta en espacios complejos. Son simples computacionalmente y no están limitados por su-posiciones restrictivas acerca del espacio de búsqueda (suposiciones acerca de continuidad, existencia de deriva-das, unimodalidad y/u otras cuestiones).

  5. Robustez de métodos tradicionales de búsqueda Métodos basados en cálculo Son locales, en área de influen-cia. Además dependen de la existencia de derivadas. Pero... El mundo real de búsqueda está lleno de discontinuidades, multi-modalidad y espacios de búsque-da con ruídos. Métodos enumerativos Buscan valores de la función ob-jetivo en cada punto en el espa-cio, uno por vez. Su principal fa-lla es la falta de eficiencia. Eficiencia Esquema robusto Esquema especializado Enumeración ó búsq.al azar combinat. unimodal multimodal Tipo de problema

  6. Diferencias entre AGs y los métodos tradicionales de búsqueda 1.- Trabajan con la codificación del conjunto de paráme- tros, no con los parámetros. 2.- Buscan a partir de una población de puntos, no un punto único. 3.- Usan información deunafunción objetivo (o más), no derivadas u otro conocimiento adicional. 4.- Usan reglas de transición probabilísticas, no reglas determinísticas.

  7. Problema Usar un algoritmo genético para maximizar la función f(x) = x2 en el rango x ={0, ..., 31}. (Supongamos que x es entero). La función se muestra a continuación:

  8. POBLACION INICIAL (GENERADA AL AZAR) CADENA NUMERO VALOR DE X 01101 11000 01000 10011 Generación de la población inicial Para usar un algoritmo genético primero debemos codificar las va-riables de decisión de nuestro pro-blema en un conjunto de cadenas de longitud finita. Hacemos esto codificando la variable ‘x’ en un conjunto de 5 bits. Generación de la población inicial al azar: definimos cada bit en cua-tro conjuntos de bits con probabi-lidad 0.5, por ej. lanzando una moneda 20 veces y asociando cara con ‘1’ y cruz con ‘0’

  9. POBLACION INICIAL (GENERADA AL AZAR) CADENA NUMERO 13 169 576 1 01101 24 64 11000 8 2 19 361 01000 3 10011 4 VALORES DE APTITUD O ADAPTACION VALOR DE X f(x)=x2 1170 SUMA = Cálculo de f(x)

  10. Cálculo del valor de ajuste Luego debemos maximizar f(x). Definimos: valor de aptitud = f(x) = x2 El valor de aptitud, también llamado función objetivo, en este caso es uno solo. En la realidad, normalmente opti-mizamos una función multiobjetivo, o un vector de fun-ciones objetivo. Para poder realizar la reproducción debemos calcular los valores de probabilidad de selección. Probab.selecc. =

  11. VALORES DE APTITUD POBLACION INICIAL (GENERADA AL AZAR) VALOR DE X CADENA NUMERO f(x)=x2 1 01101 11000 2 01000 64 3 8 10011 19 361 4 1170 SUMA = Cálculos resultantes CANTIDAD. REAL (usando Roulette Wheel) PROBAB. SELECC. fi/f CANTIDAD ESPERADA fi/fMEDIO 13 169 0.14 0.58 1 576 24 0.49 1.97 2 0.06 0.22 0 0.31 1.23 1 4 1 4 293 0.25 1 1 PROMEDIO = 1.97 576 0.49 2 MAXIMO =

  12. Reproducción La siguiente generación de cadenas se produce aplicando primeramente el operador reproducción. Seleccionamos las cadenas de la generación actual que habrán de ser copiadas en el pool de la generación próxi-ma,usando reproducción como proceso de multiplicación. Esto producirá un pool de cadenas con altos valores de aptitud. Seleccionamos el pool de la próxima generación hacien-do girar cuatro veces la rueda de ruleta con zonas asigna-das en proporción a la aptitud de cada cadena.

  13. Entrecruzamiento Las cadenas del pool de apareamiento se aparearán al aplicar este operador. Un procedimiento posible es: 1.- Las cadenas se aparean al azar. 2.- Las parejas de cadenas apareadas se entrecruzan pro- duciendo generalmente nuevas cadenas. Usando un método al azar de selección de parejas seleccionamos: cadena 4 entrecruza con cadena 2 y cadena 1 entrecruza con cadena 2. Ahora debemos seleccionar la posición de bit k donde tendrá lugar el entrecruzamiento. k se obtiene al azar.

  14. VALORES DE APTITUD POOL DE APAREAMIENTO LUEGO DEL ENTRECRUZAM. PAREJA SELECCIONADA AL AZAR POSICION DEL ENTRECRUZAM. (ELEGIDO AL AZAR) VALOR DE X NUEVA POBLACION f(x)=x2 0110Z1 2 4 12 144 01100 1100Z0 1 25 625 4 11001 11Z000 4 11011 27 2 729 10Z011 2 10000 16 2 256 Z = posición. de entrecruz. Suma = 1754 Max = 729 Tabla de pares y entrecruzamiento

  15. Nota Ya podemos ver que luego de una iteración parcial o en medio del camino en la producción de una generación he-mos incrementado la suma de las funciones objetivo de 1170 a 1754, y el valor máximo se ha incrementado de 576 a 729. Hemos seleccionado un mejor conjunto de valores x, que provee una aptitud maximizada f(x) = x2mayor que nues-tras 4 selecciones iniciales.

  16. Mutación El último operador, MUTACION, se aplica bit a bit. Asumamos que la probabilidad de mutación en esta prueba es P(mut) = 0.001. Con 20 bits en las cuatro cadenas esperamos que muten: 20 * 0.001 = 0.02 bits

  17. Mutación Durante una generación se espera entonces que 0.02 bits sufran mutación. La simulación de este proceso indica que ningún bit sufre mutación con este valor de probabilidad, por lo menos en esta prueba. Normalmente, esto se hubiera llevado a cabo en un programa que usa un generador de números al azar, y puede haber una posibilidad. Como resultado no habrá cambio de bits de 0 a 1 o vice versa durante esta generación.

  18. Mutación • Nota: Una vez que todo el proceso: • Reproducción • Entrecruzamiento • Mutación • se ha completado para producir una nueva generación, podemos calcular nuestros nuevos valores objetivo como se mostró previamente en la tabla de entrecruzamiento.

  19. Terminología de Computación Evolutiva o Algoritmos Genéticos Los sistemas basados en cadenas son análogos a conjuntos de cromosomas (organismos) en un sistema biológico. En sistemas naturales, uno o más cromosomas se combinan para formar la prescripción genética total para la construc-ción de todo organismo. Genotipo es el nombre dado a todo el paquete genético en sistemas naturales. Estructura es el nombre dado a todo el paquete de cadenas en sistemas genéticos artificiales. En sistemas naturales, el organismo formado por la interac-ción del paquete genético total con su ambiente se denomi-na fenotipo.

  20. Terminología de Computación Evolutiva o Algoritmos Genéticos (continuación) En sistemas genéticos artificiales, las estructuras se decodifican para formar un “conjunto de parámetros” particular, “alternativa de solución”, o “punto” en el espacio de solución. En la búsqueda genética artificial decimos que las cade-nas están compuestas de “características” o “detectores”, que toman diferentes valores. En terminología natural, decimos que los cromosomas están formados por “genes”.

  21. Esquemas (Plantillas de Similaridad) ¿De qué manera una cadena es representativa de otras clases de cadena con similaridad en ciertas posiciones? Esquema: plantilla de similaridad que describe un sub-conjunto de cadenas con similaridad en ciertas posicio-nes. A partir del alfabeto binario {0,1}, el esquema tendrá el alfabeto {0,1,*}. Para alfabetos con cardinalidad k, ha-brá (k + 1)l esquemas [l = long. de cadena]. Ej: si l = 5 y k = 2  3.3.3.3.3 = 3 5 esquemas posibles. Una cadena cualquiera contiene kl esquemas. (ej. 11111 contiene 25 esquemas porque cada posición es 1 o *). Por lo tanto, una poblac. de tamaño n contiene esquemas en el rango kl y n.kl dependiendo de la diversidad de la poblac.

  22. Esquemas (Plantillas de Similaridad)(contin.) La motivación original de considerar importantes simila-ridades fue la de obtener más información para ayudar a guiar la búsqueda. Orden (o): número de posiciones fijas del esquema. Longitud de definición: distancia entre bits extremos(defi-nidos como 1 o 0 en el caso del alfabeto binario) en un esquema. Si consideramos sólo reproducción: supongamos que en cierto momento t hay m ejemplos de un esquema particular H dentro de la población A(t). La ecuación de crecimiento reproductivo del esquema es: m(H, t+1) = m(H, t) . f(H)/fmedia f(H) = promedio de aptitud de las cadenas que represen-tan el esquema H.

  23. Esquemas (Plantillas de Similaridad)(contin.) Un esquema particular crece según la relación de la aptitud media del esquema respecto de la aptitud media de la población. Si asumimos que un esquema particular H se mantiene sobre el promedio en una cantidad c.fmediacon c constan-te, entonces: m(H, t+1) = m(H, t). fmedia + c.fmedia  =m(H, t).(1 + c)  fmedia  Comenzando a tiempo t = 0 y asumiendo valor estaciona-rio de c: m(H, t) = m(H, 0). (1 + c)t

  24. considerando además entrecruzamiento y mutación (valores de pm << 1) m(H, t+1)  m(H, t). f(H)/fmedio .1-pc.(H) – o(H).pm m(H, t+1)  m(H, t). f(H)/fmedio .l – 1  Nota: (1 – pm)o(H) para pequeñas pm es equivalente a: 1 – o(H).pm Esquemas (Plantillas de Similaridad)(contin.)

  25. Otra perspectiva: mínimo problema de decepción Dado un conjunto de cuatro esquemas de orden 2, cada esquema estando asociado con el valor de aptitud según: ***0*****0* f00promedio del esquema ***0*****1* f01 ***1*****0* f10 ***1*****1* f11 (H) Asumamos que f11 es el óptimo global: f11 > f00 ; f11 > f01 ; f11 > f10

  26. Mínimo problema de decepción (continuación) Introducimos el elemento de decepción necesario para hacer de éste un problema complejo para un AG simple, queremos que se cumpla una de las sig. condiciones: f(0*) > f(1*); ó f(*0) > f(*1); Es decir f(00)+f(01) > f(10)+f(11) ; 2 2 ó f(00)+f(10) > f(01)+f(11) ; 2 2

  27. 01 11 01 11 00 10 00 10 Mínimo problema de decepción (continuación) A partir de esto,asumiendo que se cumple lo primero (f(0*)>f(1*)) encontraremos dos tipos de problemas de 2 bits: Tipo I: f01 > f00 Tipo II: f00 > f01 Ninguno de estos casos puede ser expresado como combinación lineal , esto es un problema epistáctico biológicamente hablando. Tipo I Tipo II Aptitud Aptitud

  28. A partir del teorema de esquema esperamos tener dificultad cuando: f(11)/fmedio .1-pc.(H)  1 (asumiendo pm = 0) . f(H)/fmedio .l – 1  Sorprendentemente para muchas condiciones iniciales posibles MPD no es AG-hard. (Ver figuras 2.10, 2.11 y 2.12 en pág. 51 y 52 de AG.) Mínimo problema de decepción (continuación)

More Related