Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Temario del Curso RNG y EA. Temario • Introducción a la Computación Evolutiva. Miguel Cárdenas Montes Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain [email protected] • Aplicaciones a Problemas Cientı́ficos y Tecnológicos. • Algoritmos Genéticos. • Algoritmos Basados en Evolución Diferencial. • Algoritmos Evolutivos para Problemas Multiobjetivo. 15-19 de Octubre de 2011 • RND y EA • Modelos Basados en Adaptación Social: abejas, hormigas y enjambres. M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Tabla de Contenidos 1 Tabla de Contenidos 2 Introducción 3 Trabajos con RNG Primeros Trabajos Secuencias de Baja Discrepancia Introducción 4 Nuestro Trabajo Funciones Artificiales Problemas Reales 5 Bibliografı́a M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Introducción I • Los ordenadores son máquinas determinı́sticas. • Sin embargo, desde los primeros usos de los computadores, se ha tratado de reproducir secuencias de números aleatorios, ¡verdaderamente aleatorios! • Tiene especial relevancia la interacción de estas secuencias de números aleatorios con la simulación de procesos en computadores. M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Introducción II • Cada año hay numerosos artı́culos publicados en la optimización de problemas con EA que implementan RNG de diferente calidades. • Por lo tanto es importante conocer el papel que juegan los RNG en la calidad de los resultados finales de estas optimizaciones. M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Introducción III • Las técnicas evolutivas están muy ligadas al uso de RNG. • Por ejemplo, desde en la generación inicial de los individuos de las poblaciones, hasta los operadores propios de cada algoritmo: mutación, selección de individuos, punto de cruce, etc... Trabajos con RNG • Por lo tanto es razonable saber como afecta la elección del RNG al rendimiento final del EA. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Trabajos con RNG I Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Trabajos con RNG II • Los primeros trabajos en este campo [1] y [2] examinaron el impacto de la elección del RNG en el rendimiento de GA. • En estos trabajos el GA era bastante simple, siendo aplicado a una colección bien conocida de funciones de benchmark. • En este estudio no apareció evidencia estadı́stica de que el cambio del RNG produjera cambios en el rendimiento del GA. • Sin embargo, la antigüedad del estudio, la antigüedad y el tipo de RNG utilizado, y la estadı́stica de grano grueso empleada deberı́a poner en cuarentena las conclusiones extraı́das de los resultados. • Un estudio posterior usando una estadı́stica de grano más fino [3], no encontró correlación el uso de buenos RNG (Diehard tests) y buen rendimiento del GA. • Sin embargo, se encontró que algunos RNG de baja calidad (Diehard test) producı́an mejores resultados que otros RNG de alta calidad. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Trabajos con RNG III • Por lo tanto, parace que los tests de Diehard no tienen capacidad predictiva respecto al rendimiento final cuando es usado en un GA [2], [1], [4]. Trabajos con RNG IV • Estos estudios son considerados como obsoletos debido a la baja dimensionalidad de las funciones y los RNG usados. • Además, son pocos los EA usados. • Es dicı́fil de extrapolar los resultados de estos trabajos. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Trabajos con RNG V • Otros trabajos [5] han estudiado la sensibilidad de los GA al RNG focalizando en qué parte del algoritmo más sensible al cambio de RNG. • El trabajo presenta un experimento de ablación con el uso de dos RNG y una fuente real de números aleatorios (basada en ruido atmosférico). Secuencias de Baja Discrepancia • El experimiento de ablación consiste en aislar los componentes estocásticos del EA (solo GA en este trabajo) utilizandos dos RNG de calidades muy diferentes. • Estos experimentos muestran que el RNG usado para inicializar la población es crı́tico, mientras que el RNG usado para los otros operadores (cruce y mutación) no afecta significativamente al rendimiento. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Primeros Trabajos Secuencias de Baja Discrepancia Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Secuencias de Baja Discrepancia • Otros trabajos han estudiado el efecto del cambio de RNG por secuencias de baja discrepancia para crear individuos más uniformemente [6]. • Los experimentos numéricos muestran que los generadores de secuencia de baja discrepancia mejoran el rendimiento de GA. • En estos experimentos las secuencias de baja discrepancias fueron utilizadas solo para la generación de la población inicial. M. Cárdenas-Montes RNG-EA Nuestro Trabajo: Funciones Artificiales M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Actualización Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Funciones Objetivo Table: Funciones objetivo • Se hizo una actualización del trabajo anterior: • 11 funciones objetivo, • 2 RNG, • 4 EA: GA, DE, PSO y FA, algoritmo de luciérnagas (fireflies algorithm). • 400 casos para cada uno. Expression PD 2·xi f1 = i=1 [sin(xi ) + sin( 3 )] PD−1 2·x ·x f2 = [sin(x · x ) + sin( i 3 i+1 )] i i+1 Pi=1 D 2 f3 = [(x + 0.5) ] i i=1 PD 2 f4 = i=1 [(xi ) − 10 · cos(2πxi ) + 10] PD 2 f5 = [(x i) ] Pi=1 D f6 = i=1 [xi · sin(10 · π · xi )] rP Optimum ≃ −1.21598 · D −2 · D + 2 0 0 0 ≃ −5 · D D x2 P cos(2πxi ) i=1 i )) − exp( D f7 = 20 + 20 · exp(−20 · exp(−0.2 ) i=1 D D p PD f8 = 418.9828 · D − i=1 [xi · sin( |xi |)] PD−1 2 2 2 [100 · (xi+1 − xi ) + (xi − 1) ] f9 = Pi=1 D 2 f10 = i=1 [i · (xi ) ] P PD PD 2 4 2 i i f11 = [(x ) ] + [ D i i=1 i=1 ( 2 · xi )] + [ i=1 ( 2 · xi )] M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Funciones Objetivo 0 0 0 0 0 Los RNG Table: Caracterı́sticas de las funciones objetivo Function Interval f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 [3, 13] [3, 13] [-100, 100] [-5.12, 5.12] [-5.12, 5.12] [-1, 2] [-30, 30] [-500, 500] [-5.12, 5.12] [-5.12, 5.12] [-5.12, 5.12] M. Cárdenas-Montes Characteristics Multimodal Multimodal Monomodal Monomodal Monomodal Multimodal Monomodal Multimodal Monomodal Monomodal Monomodal RNG-EA Separable Full-non-separable Separable Separable Separable Separable Separable Separable Full-non-separable Separable Separable • Los dos RNG usados han sido: Mersenne Twister y GCC RAND (sobre UNIX). • Ambos RNG tienen alta calidad y son ampliamente utilizados en problemas de optimización. M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Inferencia Estadı́stica Funciones Artificiales Problemas Reales Sensibilidad de EA • El volumen de datos requiere establecer procedimientos de toma de decisión basados en inferencia estadı́stica. • En nuestro estudio, esta herramienta es fundamental para poder inferir el impacto del cambio de RNG en el redimiento del algoritmo. • En nuestro caso, se utilizó tanto inferencia paramétrica como no paramétrica. • Los test ejecutados demostraron que cada EA tiene una sensibilidad muy diferente en relación con el cambio de RNG. • Algunos como DE y GA son muy sensibles al cambio, y otros como PSO y FA tienen baja sensibilidad. • Para todos los EA, al menos una función ha mostrado una diferencia significativa en el rendimiento debido al cambio de RNG. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Sensibilidad de EA Table: p-value de Wilcoxon signed-rank test. Funcción f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 PSO 1.79e-06 0.572 3.40e-06 0.783 0.816 0.0001 0.222 0.130 0.640 0.013 0.0002 DE nan 0.0 0.0 0.0 0.0 2.62e-12 0.0 0.0 0.0 0.0 0.0 M. Cárdenas-Montes RNG-EA GA 8.31e-11 0.0 0.292 0.0 2.78e-10 0.0 0.0 0.0 0.003 0.646 0.002 FA 0.034 0.574 0.885 0.834 5.89e-06 0.013 0.558 0.522 0.014 0.355 0.135 Nuestro Trabajo: Problemas Reales M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Introducción I Funciones Artificiales Problemas Reales Introducción II • Problema real: ajustar un conjunto de datos experimentales a una curva teórica. • Los datos experimentales son la velocidad orbital de estrellas en las galaxias espirales: NGC2460, NGC3370, NGC4800 and NGC5394. 160 180 140 160 120 Velocity (Km/s) Velocity (Km/s) 150 140 100 100 80 0 4 20 400.0 5 60 0.5 1.0 1.5 2.0 2.5 Radius (Kpc) 3.0 3.5 4.0 00 2 4 6 Radius (Kpc) 8 10 2 3 Radius (Kpc) 80 • Tres EAs: Particle Swarm Algorithm (PSO), Differential Evolution (DE) y Genetic Algorithm (GA). • Trabajo con escenario similar al anterior pero con diferente Orbital Velocity Curve for n5394 Galaxy 40 60 1 Orbital Velocity Curve for n3370 Galaxy 100 120 50 500 Orbital Velocity Curve for n4800 Galaxy 200 Velocity (Km/s) Orbital Velocity Curve for n2460 Galaxy 200 Velocity (Km/s) 250 • Dos RNGs: Mersenne Twister y GCC rand() 80 70 60 50 40 30 20 10 0 100.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 Radius (Kpc) problema para optimizar. ¿Variarán los resultados? M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Fitness Function and Legendre Polynomial serries Polinomios de Legendre Se usa una serie de polinomios de Legendre. Ajustar los coeficientes de cada polinomio. N X ai · LPi (x) (1) ysimulated − yobserved 2 ) σ (2) F (x) = i=0 Fitness function, χ2 χ2 = X all points ( • 25 ejecuciones por caso. • 10 partı́culas/individuos como tamaño de población y 1,000 ciclos/generaciones. • Modelo panmı́tico y generacional. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Resultados Comparativos: NGC2460 50 0 1.0 Velocity (Km/s) 50 0 1.0 50 0.8 1.0 10 GA_PL20_MT GA_PL20_NC 150 100 50 1.0 500.0 0.2 0.4 0.6 Radius (Kpc) 0.8 1.0 50 Velocity (Km/s) Velocity (Km/s) 0.4 0.6 Radius (Kpc) 0.8 1.0 1.0 0.4 0.6 Radius (Kpc) RNG-EA 0.8 1.0 10 GA_PL20_MT GA_PL20_NC 100 50 500.0 0.2 500.0 0.2 0.4 0.6 Radius (Kpc) 0.8 1.0 0.4 0.6 Radius (Kpc) 0.8 1.0 20 80 70 60 50 40 30 20 10 0 100.0 GA 40 20 0 0.2 0.4 0.6 Radius (Kpc) 0.8 1.0 0.4 0.6 Radius (Kpc) 0.8 1.0 0.4 0.6 Radius (Kpc) 0.8 1.0 40 20 0 200.0 0.2 0.4 0.6 Radius (Kpc) 0.8 1.0 GA_PL20_MT GA_PL20_NC 80 20 M. Cárdenas-Montes 20 100 DE_PL20_MT DE_PL20_NC 60 400.0 60 40 0 0.2 80 PSO_PL20_MT PSO_PL20_NC 0.2 200.0 GA_PL10_MT GA_PL10_NC 80 60 40 20 0 0.2 0.4 0.6 Radius (Kpc) RNG-EA 0.8 1.0 0.2 50 100 DE_PL10_MT DE_PL10_NC 60 M. Cárdenas-Montes 1.0 1.0 0.8 0 0.8 100 DE 80 PSO_PL10_MT PSO_PL10_NC 0 0.4 0.6 Radius (Kpc) 150 Velocity (Km/s) 50 0.2 200 DE_PL20_MT DE_PL20_NC Velocity (Km/s) 100 500.0 Velocity (Km/s) Velocity (Km/s) Velocity (Km/s) 0.8 150 220 200 180 160 140 120 100 80 60 400.0 0.2 80 70 60 50 40 30 20 10 0 100.0 PSO_Poly20_MT PSO_Poly20_NC 50 400.0 1.0 0.8 100 0 60 20 0.4 0.6 Radius (Kpc) Velocity (Km/s) 150 80 1.0 0 0.2 PSO GA_PL10_MT GA_PL10_NC Velocity (Km/s) 180 0.8 GA_PL20_MT GA_PL20_NC 150 Velocity (Km/s) GA 200 DE_PL10_MT DE_PL10_NC 0.4 0.6 Radius (Kpc) Resultados Comparativos: NGC5394 Velocity (Km/s) DE 200 100 0.4 0.6 Radius (Kpc) 1.0 Funciones Artificiales Problemas Reales 120 0.2 0.8 0.2 200 DE_PL20_MT DE_PL20_NC Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a 50 500.0 0.4 0.6 Radius (Kpc) 00.0 1.0 Funciones Artificiales Problemas Reales 140 200 0.8 Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a 100 250 0.4 0.6 Radius (Kpc) RNG-EA 160 0.4 0.6 Radius (Kpc) 0.2 60 20 0.2 M. Cárdenas-Montes PSO_Poly10_MT PSO_Poly10_NC 0.2 180 160 140 120 100 80 60 40 20 00.0 PSO_PL20_MT PSO_PL20_NC 0 20 00.0 1.0 RNG-EA 150 00.0 0.8 M. Cárdenas-Montes PSO 10 0.4 0.6 Radius (Kpc) 50 Resultados Comparativos: NGC4800 200 0.2 80 40 20 100 1000.0 60 0.8 500.0 100 80 40 150 0.4 0.6 Radius (Kpc) 50 200 0 0.2 500.0 1.0 0.4 0.6 Radius (Kpc) 0.8 0.2 120 100 100 GA_PL10_MT GA_PL10_NC 140 120 Velocity (Km/s) 0.4 0.6 Radius (Kpc) 500.0 140 0 200 0 0.2 50 250 DE_PL20_MT DE_PL20_NC 100 100 20 0.8 150 50 1500.0 0.4 0.6 Radius (Kpc) 200 150 100 0.2 250 PSO_Poly20_MT PSO_Poly20_NC 200 500.0 100 250 0.8 0.4 0.6 Radius (Kpc) 0.2 150 0 Velocity (Km/s) 50 1000.0 Velocity (Km/s) 100 150 GA 160 DE_PL10_MT DE_PL10_NC Velocity (Km/s) 0 150 200 DE 160 PSO_PL10_MT PSO_PL10_NC Velocity (Km/s) 50 PSO 200 GA_PL10_MT GA_PL10_NC Velocity (Km/s) 100 10 200 Velocity (Km/s) Velocity (Km/s) 150 Velocity (Km/s) 200 GA 250 DE_PL10_MT DE_PL10_NC Velocity (Km/s) DE 250 PSO_Poly10_MT PSO_Poly10_NC Resultados Comparativos: NGC3370 Velocity (Km/s) PSO 250 Funciones Artificiales Problemas Reales Velocity (Km/s) Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a 200.0 0.2 0.4 0.6 Radius (Kpc) 0.8 1.0 Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Algoritmo Evolutiov PSO DE GA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Funciones Artificiales Problemas Reales Resultados Conclusiones Table: p-value de Wilcoxon signed-rank test • De los resultados se observa que las variaciones para PSO y NGC2460 10 20 0.026 0.443 0.065 0.367 0.040 0.619 Galaxia y Grado del Polinomio NGC3370 NGC4800 10 20 10 20 0.288 0.098 0.638 0.925 0.638 0.861 0.757 0.619 0.545 0.657 0.135 0.638 NGC5394 10 20 0.158 0.058 0.946 0.276 0.946 0.109 DE son leves, y por lo tanto, estos algoritmos tienen una baja sensibilidad al cambio de RNG. • Para GA, los resultados no detectan cambios. Por lo tanto, el algoritmos muestra una sensibilidad nula al cambio de RNG. • Escala de sensibilidad: DE = PSO > GA. M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Funciones Artificiales Problemas Reales Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Conclusiones - Comparativa RNG-EA Bibliografı́a [1] Meysenburg, M.M., Foster, J., Saghi, G., Dickinson, J., Jacobsen, R.T., Shreeve, J.M.: The effect of pseudo-random number generator quality on the performance of a simple genetic algorithm. Master’s thesis, University of Idaho, Idaho (1997) • Escala obtenida de [Cárdenas-Montes et al: Real-World Problem for Checking the Sensitiveness of Evolutionary Algorithms to the Choice of the Random Number Generator. HAIS, LNAI 7208, 2012] DE = PSO(1/4) > GA(0/4). • Escala obtenida de [Cárdenas-Montes et al: Sensitiveness of Evolutionary Algorithms to the Random Number Generator. ICANNGA, LNCS 6593, 2011] DE (11/11) > GA(9/11) > PSO(5/11). [2] Meysenburg, M.M., Foster, J.A.: The quality of pseudo-random number generations and simple genetic algorithm performance. In Bäck, T., ed.: ICGA, Morgan Kaufmann (1997) 276–282 [3] Meysenburg, M.M., Foster, J.A.: Randomness and GA performance, revisited. In Banzhaf, W., Daida, J., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M., Smith, R.E., eds.: Proceedings of the Genetic and Evolutionary Computation Conference. Volume 1., Orlando, Florida, USA, Morgan Kaufmann (13-17 July 1999) 425–432 [4] Meysenburg, M.M., Hoelting, D., McElvain, D., Foster, J.A.: How random generator quality impacts genetic algorithm performance. [7] 480–487 [5] Cantú-Paz, E.: On random numbers and the performance of genetic algorithms. [7] 311–318 [6] Kimura, S., Matsumura, K.: Genetic algorithms using low-discrepancy sequences. In: GECCO ’05: Proceedings of the 2005 conference on Genetic and evolutionary computation, New York, NY, USA, ACM (2005) 1341–1346 [7] Langdon, W.B., Cantú-Paz, E., Mathias, K.E., Roy, R., Davis, D., Poli, R., Balakrishnan, K., Honavar, V., Rudolph, G., Wegener, J., Bull, L., Potter, M.A., Schultz, A.C., Miller, J.F., Burke, E.K., Jonoska, N., eds.: GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, New York, USA, 9-13 July 2002. In Langdon, W.B., Cantú-Paz, E., Mathias, K.E., Roy, R., Davis, D., Poli, R., Balakrishnan, K., Honavar, V., Rudolph, G., Wegener, J., Bull, L., Potter, M.A., Schultz, A.C., Miller, J.F., Burke, E.K., Jonoska, N., eds.: GECCO, Morgan Kaufmann (2002) M. Cárdenas-Montes RNG-EA M. Cárdenas-Montes RNG-EA Tabla de Contenidos Introducción Trabajos con RNG Nuestro Trabajo Bibliografı́a Gracias Gracias ¿Preguntas? ¿Más preguntas? M. Cárdenas-Montes RNG-EA