89
Introducci ´ on a la Computaci ´ on Evolutiva Carlos A. Coello Coello [email protected] CINVESTAV-IPN Evolutionary Computation Group (EVOCINV) Departamento de Computaci ´ on Av. IPN No. 2508, Col. San Pedro Zacatenco exico, D.F. 07360, MEXICO Clase 11 Carlos A. Coello Coello Introducci ´ on a los Algoritmos Gen ´ eticos

Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Introduccion a la Computacion Evolutiva

Carlos A. Coello Coello

[email protected]

Evolutionary Computation Group (EVOCINV)Departamento de Computacion

Av. IPN No. 2508, Col. San Pedro ZacatencoMexico, D.F. 07360, MEXICO

Clase 11

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 2: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Tecnicas Recientes

Uso de Informacion Basada en el GradienteHandoko et al. [2010] propusieron un algoritmo memetico que combina unalgoritmo genetico, programacion secuencial cuadratica, aproximacionesfuncionales de segundo orden y una tecnica para modelar la region factible atraves del uso de maquinas de soporte vectorial.

Hamza et al. [2014] propusieron una variante de un algoritmo geneticobasada en consenso, la cual se combina con programacion secuencialcuadratica, pero usando informacion del gradiente de las restricciones.

Stephanus Daniel Handoko and Chee Keong Kwoh and Yew-Soon Ong, “Feasibility Structure Modeling: AnEffective Chaperone for Constrained Memetic Algorithms”, IEEE Transactions on Evolutionary Computation,Vol. 14, No. 5, pp. 740–758, October 2010.

Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy Deb and Saber M. Elsayed, “A ConstraintConsensus Memetic Algorithm for Solving Constrained Optimization Problems”, Engineering Optimization,Vol. 46, No. 11, pp. 1447–1464, November 2014.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 3: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Tecnicas Recientes

Viabilidad MemeticaMaesani et al. [2016] propusieron el uso de una nocion llamada evolucion dela viabilidad, la cual enfatiza la eliminacion de soluciones que no satisfaganlos criterios de viabilidad (o sea, los lımites de los objetivos y lasrestricciones).

Tales lımites se adaptan durante la busqueda de manera analoga a como sehace en ASCHEA. Sin embargo, en este caso, la tecnica (que se basa en eluso de la Covariance Matrix Adaptation Evolution Strategy (CMA-ES))produce una poblacion de motores de busqueda local que pueden serrecombinados usando evolucion diferencial.

Un aspecto interesante de esta tecnica es que usa un programador de tareasadaptativo que cambia entre exploracion y explotacion, eligiendo si avanzarcon uno de los buscadores locales (o individuos) o recombinarlos.

Andrea Maesani and Giovanni Iacca and Dario Floreano, “Memetic Viability Evolution for ConstrainedOptimization”, IEEE Transactions on Evolutionary Computation, Vol. 20, No. 1, pp. 125–144, February 2016.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 4: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Problemas de Prueba

Michalewicz y Schoenauer [1996] propusieron un conjunto de problemas deprueba, que fueron expandidos posteriormente por Runarsson y Yao [2000].

El conjunto de prueba que se uso por muchos anos en el area consiste de 13problemas de prueba.

Estos problemas contienen caracterısticas que son representativas de lo quese considera como “difıcil” en optimizacion con restricciones usandoalgoritmos evolutivos.

Zbigniew Michalewicz and Marc Schoenauer, “Evolutionary Algorithms forConstrained Parameter Optimization Problems”, EvolutionaryComputation, Vol. 4, No. 1, pp. 1–32, 1996.

Thomas P. Runarsson and Xin Yao, “Stochastic Ranking for ConstrainedEvolutionary Optimization”, IEEE Transactions on EvolutionaryComputation, Vol. 4, No. 3, pp. 284–294, September 2000.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 5: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Problemas de Prueba

Existen, sin embargo, otros conjuntos de problemas de prueba. Por ejemplo:

Efren Mezura Montes and Carlos A. Coello Coello, What Makes aConstrained Problem Difficult to Solve by an EvolutionaryAlgorithm, Technical Report EVOCINV-01-2004, EvolutionaryComputation Group at CINVESTAV, Seccion de Computacion,Departamento de Ingenierıa Electrica, CINVESTAV-IPN, Mexico,February 2004.

C. A. Floudas and P. M. Pardalos, A Collection of Test Problems forConstrained Global Optimization Algorithms, Number 455 inLecture Notes in Computer Science. Springer-Verlag, 1990.

Christodoulos A. Floudas et al. (editors), Handbook of Test Problemsin Local and Global Optimization, Kluwer Academic Publishers,Dordrecht, 1999.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 6: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Problemas de Prueba

Problema n Tipo de funcion ρ LI NI LE NEg01 13 cuadratica 0.0003% 9 0 0 0g02 20 no lineal 99.9973% 1 1 0 0g03 10 no lineal 0.0026% 0 0 0 1g04 5 cuadratica 27.0079% 0 6 0 0g05 4 no lineal 0.0000% 2 0 0 3g06 2 no lineal 0.0057% 0 2 0 0g07 10 cuadratica 0.0000% 3 5 0 0g08 2 no lineal 0.8581% 0 2 0 0g09 7 no lineal 0.5199% 0 4 0 0g10 8 lineal 0.0020% 3 3 0 0g11 2 cuadratica 0.0973% 0 0 0 1g12 3 cuadratica 4.7697% 0 93 0 0g13 5 no lineal 0.0000% 0 0 1 2

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 7: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Problemas de Prueba

Se han propuesto conjuntos de problemas de prueba adicionales, ası comoun nuevo conjunto de 24 problemas de prueba (incluyendo los 13 problemaspropuestos en 1996). Ver:

J. J. Liang, T. P. Runarsson, E. Mezura-Montes, M. Clerc, P. N.Suganthan, C. A. Coello Coello, K. Deb, Problem Definitions andEvaluation Criteria for the CEC 2006, Special Session onConstrained Real-Parameter Optimization, Technical Report,Nanyang Technological University, Singapore, 2006.

Existe tambien un conjunto de problemas de prueba que fueron introducidosen el 2010 World Congress on Computational Intelligence (WCCI’2010). Esteconjunto consiste de 18 problemas de prueba escalables.

R. Mallipeddi and P. N. Suganthan, Problem Definitions and EvaluationCriteria for the CEC 2010 Competition on Constrained Real-ParameterOptimization, Technical Report, Nanyang Technological University,Singapore, 2010. Disponible en:http://www.ntu.edu.sg/home/EPNSugan/.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 8: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Generadores de Problemas de Prueba

Michalewicz et al. [2000] propusieron un generador deproblemas de prueba para tecnicas de optimizacion disenadospara problemas con restricciones.

Este generador permite construir problemas de prueba a travesde la modificacion de varias caracterısticas tales como:dimensionalidad, multimodalidad, numero de restricciones,conectividad de la region factible, tamano de la region factiblecon respecto al de todo el espacio del busqueda, ası como larugosidad de la funcion objetivo.

Zbigniew Michalewicz, Kalyanmoy Deb, Martin Schmidt andThomas Stidsen, “Test-Case Generator for NonlinearContinuous Parameter Optimization Techniques”, IEEETransactions on Evolutionary Computation, Vol. 4, No. 3, pp.197–215, September 2000.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 9: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Generadores de Problemas de Prueba

La primera version de este generador de problemas de pruebapresento dificultades porque producıa funciones simetricas.

Esto motivo el desarrollo de una nueva version de estegenerador de problemas de prueba, llamado TCG-2 [Schmidt yMichalewicz, 2000].

Martin Schmidt and Zbigniew Michalewicz, “Test-CaseGenerator TCG-2 for Nonlinear Parameter Optimisation”, inMarc Schoenauer et al. (Editors), Proceedings of the 6thParallel Problem Solving From Nature (PPSN VI), pp. 539–548,Springer-Verlag, Lecture Notes in Computer Science Vol. 1917,Paris, France, September 2000.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 10: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Algunas Recomendaciones

Estudiar y probar primero las tecnicas de programacionmatematica (p.ej., los metodos de gradiente, el metodo deNelder-Mead, el metodo de Hooke-Jeeves, etc.).Si estan interesados en optimizacion numerica, esaconsejable utilizar primero las estrategias evolutivos o laevolucion diferencial, en vez de usar algoritmos geneticos.Sin embargo, si se llegan a usar algoritmos geneticos, serecomienda utilizar seleccion mas.Es importante poner atencion a la diversidad. Mantenerpoblaciones en las que no todos los individuos sonfactibles es siempre una buena idea.Normalizar las restricciones del problema suele ser unabuena idea.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 11: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Temas Actuales de Investigacion

Nuevas tecnicas de manejo de restricciones (p.ej., basadas enconceptos de optimizacion multi-objetivo).

Optimizacion con restricciones a gran escala [Aguilar-Justo &Mezura-Montes, 2016].

Uso de esquemas de votacion como una manera de incorporarpreferencias a fin de permitir la exploracion de una porcion de la regioninfactible [Yu, 2014].

Tecnicas de manejo de restricciones para algoritmos evolutivosmulti-objetivo [Yen, 2009].

Adan E. Aguilar-Justo and Efren Mezura-Montes, “Towards an Improvement of Variable InteractionIdentification for Large-Scale Constrained Problems”, in 2016 IEEE Congress on Evolutionary Computation(CEC’2016), pp. 4167–4174, IEEE Press, Vancouver, Canada, July 24-29, 2016.

Erdong Yu, Qing Fei, Hongbin Ma and Qingbo Geng, “Improving Constraint Handling for Multiobjective ParticleSwarm Optimization”, in Proceedings of the 33rd Chinese Control Conference, pp. 8622–8627, IEEE Press,Nanjing, China, July 28-30, 2014.

Gary G. Yen, “An Adaptive Penalty Function for Handling Constraint in Multi-objective EvolutionaryOptimization”, in Efren Mezura-Montes (Editor), Constraint-Handling in Evolutionary Computation, pp. 121–143,Chapter 6, Springer. Studies in Computational Intelligence, Volume 198, Berlin, 2009.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 12: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Temas Actuales de Investigacion

Tecnicas existentes de manejo de restricciones con nuevos motores debusqueda (p.ej., colonia de hormigas, busqueda dispersa, busquedaarmonica, etc.).

Mecanismos auto-adaptativos para optimizacion con restricciones[Brest, 2009].

Metodos para manejo de restricciones de igualdad en optimizacionmulti-objetivo.

Hıbridos de algoritmos evolutivos con tecnicas de programacionmatematica (p.ej., estrategias evolutivas + metodo de Nelder-Mead,uso de multiplicadores de Lagrange, etc.).

Tecnicas que reducen el numero de evaluaciones de las funcionesobjetivo que se realizan en problemas con restricciones (p.ej., modelossubrogados, herencia de aptitud, aproximacion de aptitud).

Janez Brest, “Constrained Real-Parameter Optimization with ε-Self-Adaptive Differential Evolution”, in EfrenMezura-Montes (Editor), Constraint-Handling in Evolutionary Computation, pp. 73–93, Chapter 4, Springer. Studiesin Computational Intelligence, Volume 198, Berlin, 2009.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 13: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Temas Actuales de Investigacion

Analisis de complejidad temporal de los algoritmos evolutivos usadospara resolver problemas con restricciones (particularmente, el papel delos factores de penalizacion en la complejidad temporal de un algoritmoevolutivo) [Zhou & He, 2007].

Optimizacion restringida robusta [Tagawa y Miyanaga, 2017].

Generadores de problemas de prueba (como construirlos y comohacerlos confiables). Problemas de prueba disponibles en lınea).

Criterios de paro para problemas de optimizacion con restriccionesresueltos con algoritmos evolutivos [Zielinski y Laur, 2008].

Yuren Zhou and Jun He, A Runtime Analysis of Evolutionary Algorithms for Constrained OptimizationProblems, IEEE Transactions on Evolutionary Computation, Vol. 11, No. 5, pp. 608–619, October 2007.

Kiyoharu Tagawa and Shun Miyanaga, “Weighted empirical distribution based approach to ChanceConstrained Optimization Problems using Differential Evolution”, in 2017 IEEE Congress on EvolutionaryComputation (CEC’2017), pp. 97–104, IEEE Press, San Sebastian, Spain, June 5-8, 2017.

Karin Zielinski and Rainer Laur, “Stopping Criteria for Differential Evolution in Constrained Single-ObjectiveOptimization”, in Uday K. Chakraborty (Editor), Advances in Differential Evolution, pp. 111–138, Springer, Berlin,2008.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 14: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Temas Actuales de Investigacion

Nuevas metricas que nos permitan evaluar el desempenoen lınea de una tecnica de manejo de restricciones y lacaracterizacion de espacios de busqueda restringidos (verpor ejemplo la nocion de violation landscape propuestosen [Malan, 2015]).Problemas con restricciones dinamicas

Katherine M. Malan, Johannes F. Oberholzer and Andries P. Engelbrecht,“Characterising Constrained Continuous Optimisation Problems”, in2015 IEEE Congress on Evolutionary Computation (CEC’2015), pp.1351–1358, IEEE Press, Sendai, Japan, 25-28 May, 2015.

Trung Thanh Nguyen and Xin Yao, Continuous Dynamic ConstrainedOptimization—The Challenges, IEEE Transactions on EvolutionaryComputation, Vol. 16, No. 6, pp. 769–786, December 2012.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 15: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Para Saber Mas sobre Manejo de Restricciones conAlgoritmos Evolutivos

Por favor visiten el repositorio de manejo de restricciones con algoritmosevolutivos localizado en:

http://www.cs.cinvestav.mx/˜constraint

El repositorio posee a la fecha (para el 13 de abril de 2018) un total de 1438referencias bibliograficas.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 16: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Lecturas Sugeridas

Efren Mezura-Montes (editor), Constraint-Handling in EvolutionaryOptimization, Springer, 2009, ISBN: 978-3-642-00618-0.

Rituparna Datta and Kalyanmoy Deb (editors), EvolutionaryConstrained Optimization, Springer, 2015, ISBN: 978-81-322-2183-8.

Efren Mezura-Montes and Carlos A. Coello Coello,Constraint-Handling in Nature-Inspired Numerical Optimization:Past, Present and Future, Swarm and Evolutionary Computation, Vol.1, No. 4, pp. 173–194, December 2011.

Carlos A. Coello Coello, Theoretical and NumericalConstraint-Handling Techniques used with EvolutionaryAlgorithms: A Survey of the State of the Art, Computer Methods inApplied Mechanics and Engineering, Vol. 191, No. 11–12, pp.1245–1287, January 2002.

Oliver Kramer, A Review of Constraint-Handling Techniques forEvolution Strategies, Applied Computational Intelligence and SoftComputing, Vol. 2010, Article ID 185063, No. 1, pp. 1–11, January2010.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 17: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Aunque los algoritmos geneticos son simples de describir yprogramar, su comportamiento puede ser muy complicado, ytodavıa existen muchas preguntas abiertas acerca de comofuncionan y sobre el tipo de problemas en los que son masadecuados.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 18: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

La teorıa tradicional de los algoritmos geneticos (formuladaoriginalmente por Holland en 1975) presupone que, en un nivelmuy general de descripcion, los algoritmos geneticos trabajandescubriendo, enfatizando y recombinando buenos “bloquesconstructores” de soluciones en una manera altamenteparalelizada.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 19: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

La idea basica aquı es que las buenas soluciones tienden aestar formadas de buenos bloques constructores(combinaciones de bits que confieren una aptitud alta a lascadenas en las que estan presentes).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 20: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Holland [1975] introdujo la nocion de esquemas para formalizarla nocion de “bloques constructores”.

Un esquema es un conjunto de cadenas de bits que puedendescribirse mediante una plantilla hecha de unos, ceros yasteriscos que funcionan como comodines (pueden tomarcualquier valor dentro del alfabeto en uso).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 21: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Por ejemplo, el esquema H = 1****1 representa el conjunto detodas las cadenas de 6 bits que empiezan y terminan con 1.

Usaremos la notacion H para denotar “hiperplano” [Goldberg,1989], porque los esquemas definen hiperplanos (“planos” devarias dimensiones en el espacio l-dimensional de las cadenasde l bits).

David E. Goldberg, “Genetic Algorithms in Search,Optimization and Machine Learning”, Addison-WesleyPublishing Co., Reading, Massachusetts, USA, 1989.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 22: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Las cadenas que se ajustan a este esquema (por ejemplo,100111 y 110011) son instancias de H.

El esquema H tiene 2 bits definidos (posiciones que no sonasteriscos), por lo que su orden es de 2.

Su longitud de definicion, denotada por δ (o sea, la distanciaentre sus bits definidos mas extremos) es 5.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 23: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

¿Como procesa un algoritmo genetico los esquemas?

Cualquier cadena de bits dada de longitud l es una instanciade 2l esquemas diferentes.

Por ejemplo, la cadena 11 es una instancia de ** (todas lascadenas binarias posibles de 2 bits), *1, 1* y 11 (el esquemaque contiene solo la cadena 11).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 24: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

En otras palabras, cualquier poblacion dada de N cadenascontiene instancias de entre 2l y N × 2l esquemas diferentes.

Si todas las cadenas son identicas, entonces hay 2l instanciasde exactamente 2l esquemas diferentes; de lo contrario, elnumero es menor o igual a N × 2l .

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 25: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Esto significa que, en una cierta generacion, mientras elalgoritmo genetico esta evaluando explıcitamente las aptitudesde las n cadenas en la poblacion, esta tambien estimandoimplıcitamente las aptitudes promedio de un numero muchomayor de esquemas.

En este caso, la aptitud promedio de un esquema se definecomo la aptitud promedio de todas las instancias posibles deese esquema en la poblacion.

A esta propiedad que presumiblemente tienen los algoritmosgeneticos, se le conoce como paralelismo implıcito [Holland,1975].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 26: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Por ejemplo, en una poblacion generada aleatoriamente de ncadenas, en promedio la mitad de las cadenas seraninstancias de 1***...* y la otra mitad seran instancias de 0***...*.

Las evaluaciones de las aproximadamente n/2 cadenas queson instancias de 1***...* nos da un estimado de la aptitudpromedio de ese esquema (es un estimado porque lasinstancias evaluadas en poblaciones de tamanos tıpicos sonsolo una pequena muestra de todas las instancias posibles).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 27: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Ası como los esquemas no se representan o evaluanexplıcitamente por el algoritmo genetico, los estimados de lasaptitudes promedio de los esquemas NO se calculan oalmacenan explıcitamente por el algoritmo genetico.

Sin embargo, el comportamiento del algoritmo genetico, enterminos del incremento y decremento en numeros deinstancias de esquemas dados en la poblacion, puededescribirse como si realmente estuviera calculando yalmacenando estos promedios.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 28: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Podemos calcular la dinamica aproximada de este incrementoy decremento en las instancias de los esquemas de la manerasiguiente.

Hagamos que H sea un esquema con al menos una instanciapresente en la poblacion en la generacion t .

Hagamos que m(H, t) sea el numero de instancias de H en lageneracion t , y que u(H, t) sea la aptitud promedioobservada de H en la generacion t (es decir, la aptitudpromedio de las instancias de H en la poblacion en lageneracion t).

Lo que queremos calcular es E(m(H, t + 1)), o sea el numeroesperado de instancias de H en la generacion t + 1.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 29: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Supongamos que usamos seleccion proporcional.

Bajo este esquema, el numero esperado de descendientes deuna cadena x es igual a f (x)/f (t), donde f (x) es la aptitud de xy f (t) es la aptitud promedio de la poblacion en la generacion t .

Entonces, suponiendo que x esta en la poblacion en lageneracion t , y haciendo que x ∈ H denote “x es una instanciade H”, e ignorando (por ahora) los efectos de la cruza y lamutacion, tenemos:

E(m(H, t + 1)) =∑x∈H

f (x)/f (t) = (u(H, t)/f (t))m(H, t) (1)

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 30: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Esta sustitucion es posible por definicion, puesto que

u(H, t) =( ∑

xεH f (x))/ m(H, t)

para una x que se encuentre en la poblacion en la generaciont .

De tal forma que aunque el algoritmo genetico no calculeexplıcitamente u(H, t), los incrementos o decrementos de lasinstancias de esquemas en la poblacion dependen de estacantidad.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 31: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Tanto la cruza como la mutacion destruyen y crean instanciasde H.

Por ahora incluiremos solo los efectos destructivos de la cruzay la mutacion (es decir, aquellos que decrementan el numerode instancias de H).

Si incluimos estos efectos, modificamos el lado derecho de laecuacion (1) para dar un lımite inferior de E(m(H, t + 1)).

Hagamos que pc sea la probabilidad de cruza (de un punto) ysupongamos que una instancia del esquema H se seleccionapara ser padre.

El esquema H se dice que sobrevive bajo la cruza de un puntosi uno de sus hijos es tambien una instancia del esquema H.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 32: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Podemos proporcionar un lımite inferior de la probabilidadSc(H) de que H sobrevivira la cruza de un punto:

Sc(H) ≥ 1− pc

(δ(H)l−1

)donde δ(H) es la longitud de definicion de H y l es la longitudde las cadenas en el espacio de busqueda.

Esto es, las cruzas que ocurren dentro de la longitud dedefinicion de H pueden destruir a H (es decir, pueden producirhijos que no son instancias de H), ası que multiplicamos lafraccion de la cadena que H ocupa por la probabilidad de cruzapara obtener un lımite superior de la probabilidad de que elesquema sera destruıdo.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 33: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

El valor es un lımite superior porque algunas cruzas dentro delas posiciones definidas de un esquema no lo destruiran (porejemplo, si dos cadenas identicas se cruzan).

Al sustraer este valor de 1 obtenemos un lımite inferior.

En resumen, la probabilidad de supervivencia bajo el efecto deloperador de cruza es alta para esquemas mas cortos.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 34: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Ahora cuantificaremos los efectos de perturbacion de la mutacion.

Hagamos que pm sea la probabilidad de mutacion y que Sm(H) sea laprobabilidad de que el esquema H sobrevivira bajo la m utacion de unainstancia de H.

Esta probabilidad es igual a:

(1− pm)o(H)

donde o(H) es el orden de H (es decir, el numero de bits definidos en H).

Esto es, para cada bit, la probabilidad de que el bit no se mutara es 1− pm,de manera que la probabilidad de que bits no definidos del esquema H semuten es esta cantidad multiplicada por sı misma o(H) veces.

En resumen, la probabilidad de supervivencia bajo mutacion es mas altapara esquemas de menor orden.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 35: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

Estos efectos de perturbacion pueden usarse para modificar laecuacion (1):

E(m(H, t + 1)) ≥ u(H, t)~f (t)

m(H, t)(

1− pcδ(H)l−1

)[(1− pm)o(H)]

A esta expresion se le conoce como el Teorema de losEsquemas [Holland, 1975], y describe el crecimiento de unesquema de una generacion a la siguiente.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 36: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

La interpretacion del Teorema de los Esquemas es lasiguiente: “los esquemas cortos y de bajo orden, cuya aptitudpromedio se mantiene por encima de la media de aptitud (de lapoblacion), recibiran un numero mayor de muestras conformetranscurran las generaciones.”

El Teorema de los Esquemas es un lımite inferior puesto quelidia solamente con los efectos destructivos de la cruza y lamutacion.

Sin embargo, se cree que la cruza es la fuente de mayor poderdel algoritmo genetico, pues tiene la capacidad de recombinarlas instancias de esquemas favorables para formar otrosigualmente buenos o mejores.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 37: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

A partir del Teorema de los Esquemas, se puede formular ladenominada Hipotesis de los Bloques Constructores[Goldberg, 1989]:

Un algoritmo genetico realiza la busqueda a traves de lasyuxtaposicion de esquemas cortos, de bajo orden y elevadaaptitud, a los que se denomina bloques constructores.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 38: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

El efecto de la seleccion es sesgar gradualmente elprocedimiento de muestreo hacia instancias de esquemascuya aptitud se estime esten sobre el promedio.

Con el paso del tiempo, el estimado de la aptitud promedio deun esquema debiera, en principio, volverse cada vez maspreciso puesto que el algoritmo genetico esta muestreandomas y mas instancias de este esquema.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 39: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Como Funcionan los Algoritmos Geneticos?

El Teorema de los Esquemas y la Hipotesis de los BloquesConstructores lidian primordialmente con el papel de laseleccion y la cruza en los algoritmos geneticos, pero ¿cual esel papel de la mutacion?

Holland [1975] propuso que la mutacion previene la perdida dediversidad en una posicion cualquiera. Es una especie de“poliza de seguro” contra fijaciones en una cadenacromosomica.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 40: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Crıticas al Teorema de los Esquemas

El Teorema de los Esquemas es realmente una desigualdad“debil”, no un “teorema”.

Las siguientes afirmaciones sobre el teorema de los esquemasno son del todo demostrables:(a) Los esquemas por arriba del promedio se incrementan

exponencialmente con el tiempo (afirmacion hecha en ellibro de Goldberg [1989]).

(b) Los esquemas por arriba del promedio se exploranrapidamente en paralelo sin alentar de manera significativala busqueda (interpretacion erronea del paralelismoimplıcito).

(c) Aproximadamente, se procesan n3 esquemas de manerautil y en paralelo por cada generacion (afirmacion hechaen el libro de Goldberg [1989]).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 41: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

No Free Lunch Theorem

Fue formulado por David Wolpert y William MacReady (delInstituto Santa Fe) en 1996, y se publico en 1997.

En terminos breves y simples, en este trabajo se demuestraque todas las tecnicas de busqueda heurıstica sonmatematicamente equivalentes en general.

Es decir, se demuestra (matematicamente) que no es posibledisenar una tecnica heurıstica que pueda superar a todas lasdemas en todas las clases de problemas.

David H. Wolpert and William G. Macready, “No Free LunchTheorems for Optimization”, IEEE Transactions onEvolutionary Computation, Vol. 1, No. 1, pp. 67–82, April 1997.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 42: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

No Free Lunch Theorem

Moraleja: el enfasis que suele ponerse en optimizar contecnicas heurısticas (como el algoritmo genetico) es erroneo.

¿Que alternativa tenemos entonces? Investigar elcomportamiento emergente de una tecnica heurıstica.

¿Cual es el costo de esta alternativa? Formalizar nuestromodelo heurıstico y realizar demostraciones a partir de dichaformalizacion.

¿Que ganamos? Una comprension conceptual de la tecnica yuna descripcion a fondo de las circunstancias en las cuales unalgoritmo genetico es la mejor alternativa.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 43: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Ejemplo de un Problema Deceptivo

Supongamos que tenemos una funcion de aptitud que nos devuelve lossiguientes valores para las cadenas binarias de longitud 3:

Cadena Aptitud000 70001 50010 49011 1100 30101 2110 3111 80

Las cadenas con mayor numero de ceros tienen mayor aptitud, pero eloptimo global es la cadena de todos unos.

En este caso, el algoritmo genetico tendera a favorecer durante la selecciona las cadenas con mas ceros y encontrara la cadena de todos ceros (unoptimo local) en vez de llegar al optimo global.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 44: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

Algunas de las preguntas mas importantes que se hanplanteado dentro de la comunidad de los algoritmos geneticosson las siguientes:

1. ¿Que leyes describen el comportamiento macroscopico delos algoritmos geneticos? En particular, ¿que prediccionespueden hacerse acerca del cambio de aptitud en el tiempoy acerca de las dinamica de la poblacion en un algoritmogenetico en particular?

2. ¿Como dan lugar los operadores de bajo nivel (seleccion,cruza y mutacion) al comportamiento macroscopico de losalgoritmos geneticos?

3. ¿En que tipo de problemas es mas probable que losalgoritmos geneticos tengan un buen desempeno?

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 45: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

4. ¿En que tipo de problemas es mas probable que losalgoritmos geneticos tengan un mal desempeno?

5. ¿Que significa para un algoritmo genetico tener un “buendesempeno” o un “mal desempeno” ? Esto es, ¿quecriterios de desempeno son apropiados para un algoritmogenetico?

6. ¿Bajo que condiciones (tipos de algoritmos geneticos ytipos de problemas) superara un algoritmo genetico a otrastecnicas de busqueda tales como escalando la colina y losmetodos de gradiente?

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 46: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

El algoritmo genetico suele considerarse una tecnica que esbuena para encontrar rapidamente regiones prometedoras delespacio de busqueda, pero para realizar verdaderamenteoptimizacion se ha demostrado que en muchas instancias loshıbridos de un algoritmo genetico con otra tecnica (porejemplo, escalando la colina o un metodo de gradiente) suelenobtener mejores resultados.

Aunque los algoritmos geneticos pueden encontrar los optimosglobales de problemas de alta complejidad, la realidad es quemuchas veces el costo computacional que requieren esprohibitivamente alto, y se prefieren para encontrar unasolucion razonable, ya que eso suelen poder hacerlo en untiempo relativamente corto.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 47: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

Como heurıstica, el algoritmo genetico no resulta muyadecuado para problemas crıticos en los cuales el no encontraruna solucion en un perıodo de tiempo muy corto puede causarfallas irreversibles al sistema.

Asimismo, el algoritmo genetico no es apropiado paraaplicaciones en tiempo real en las que la respuesta debeproporcionarse de manera inmediata conforme se interactuacon el ambiente.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 48: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

Algunos autores (por ejemplo, Kenneth De Jong) hanargumentado elocuentemente que, contrario a lo que se cree,los algoritmos geneticos no son optimizadores, sino que masbien son satisfactores de metas (o decisiones) secuencialesque pueden modificarse para actuar como optimizadores defunciones.

Kenneth A. De Jong, “Genetic Algorithms are NOT Function Optimizers”,in L. Darrell Whitley (Editor), Foundations of Genetic Algorithms 2, pp. 5–17,Morgan Kaufmann Publishers, San Mateo, California, USA, 1993.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 49: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

Si bien en la practica han tenido un gran exito comooptimizadores, la realidad es que los algoritmos suelen tenerdificultades para encontrar maximos globales en ciertas clasesde problemas (como por ejemplo, el problema del viajero)sumamente susceptibles a la representacion o aquellos en losque la evaluacion de la funcion de aptitud resulta sumamentecostoso (computacionalmente hablando).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 50: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Fundamentos Teoricos de los Algoritmos Geneticos

El teorema de los esquemas se ha usado por algunos en la comunidad delos algoritmos genetico para proponer una respuesta a la pregunta: “¿quehace que un problema sea difıcil para un algoritmo genetico?”

La comunidad de computacion evolutiva suele suponer que la competenciaentre los esquemas procede aproximadamente de particiones de esquemasde bajo orden a particiones de esquemas de orden alto.

A partir de esta premisa, Bethke [1981] infirio que serıa difıcil para unalgoritmo genetico encontrar el optimo de una funcion de aptitud si lasparticiones de bajo orden contenıan informacion erronea acerca de lasparticiones de orden mas alto.

A.D. Bethke, “Genetic Algorithms as Function Optimizers”, PhD thesis,Department of Computer and Communication Sciences, University ofMichigan, Ann Arbor, Michigan, USA, 1981.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 51: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

Consideremos un ejemplo, un tanto extremo, de lo dicho en elpunto anterior.

Llamemos al esquema H “ganador” si su aptitud estaticapromedio es la mas alta en su particion.

Supongamos que cualquier esquema cuyos bits definidos seantodos unos es un ganador, excepto por el esquema de longitudL correspondiente a 1111 . . . 1, y hagamos que 0000 . . . 0 seaun ganador.

En principio, sera difıcil para un algoritmo genetico encontrar0000...0, porque toda particion de bajo orden da informacionequivocada sobre donde es mas probable encontrar el optimo.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 52: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

A este tipo de funcion de aptitud se le llama “con decepciontotal”.

Afortunadamente, nadie ha podido encontrar un problema delmundo real que exhiba decepcion total. Solo se hanencontrado problemas reales con decepcion parcial.

Tambien es posible definir funciones de aptitud con menorescantidades de decepcion (es decir, algunas particiones daninformacion incorrecta acerca de la localizacion del optimo).

Bethke [1981] uso la “Transformada de Walsh” (analoga a latransformada de Fourier) para disenar funciones de aptitud convarios grados de decepcion.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 53: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

La transformada de Walsh constituye un medio facilmentemanipulable de analisis de paisajes de busqueda binarios, conel valor agregado de que hay una correspondencia naturalentre las particiones de Walsh y los esquemas.

Hoy en dıa, la investigacion en torno a la decepcion hadisminuido considerablemente, aunque existen todavıa algunosinvestigadores interesados en esta area.

Se hace notar, sin embargo, que varios investigadores hancuestionado la relevancia del analisis de los esquemas en lacomprension del funcionamiento verdadero de los algoritmosgeneticos [Grefenstette, 1993; Mason, 1993; Peck, 1995].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 54: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

Por ejemplo, Grefenstette [1993] afirma que mucho del trabajoefectuado en teorıa de los algoritmos geneticos ha asumido unversion mas fuerte de lo que el llama la “Hipotesis Estatica delos Bloques Constructores” (HEBC):

Dada cualquier particion de esquemas de bajo ordeny reducida longitud de definicion, se espera que unalgoritmo genetico converja al hiperplano (en esaparticion) con la mejor aptitud promedio estatica (el‘ganador esperado’).

John J. Grefenstette, “Deception Considered Harmful”, in L. Darrell Whitley(Editor), Foundations of Genetic Algorithms 2, pp. 75–91, Morgan KaufmannPublishers, San Mateo, California, USA, 1993.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 55: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

Esta formulacion es mas fuerte que la original, puesto que diceque el algoritmo genetico convergera a los “verdaderos”ganadores de cada competencia entre particiones cortas y debajo orden en vez de que converja a esquemas con la mejoraptitud observada.

La HEBC no es lo que propuso Holland [1975], y nunca se hademostrado o validado empıricamente, pero implıcitamenteinvolucra la premisa de que las funciones de aptitud condecepcion seran difıciles para un algoritmo genetico.

John H. Holland, Adaptation in Natural and ArtificialSystems, University of Michigan Press, Ann Arbor, Michigan,USA, 1975.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 56: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

Grefenstette proporciona 2 razones posibles por las que la HEBC puedefallar:

1. Convergencia Colateral: Una vez que la poblacion comienza aconverger hacia algun punto, las muestras de algunos esquemasdejaran de ser uniformes.

Por ejemplo, supongamos que las instancias de 111 ∗ . . . ∗ son muy aptas yque la poblacion ha convergido mas o menos a esos bits (o sea, casi todoslos miembros de la poblacion son una instancia de ese esquema).

En este caso, casi todas las muestras de, por ejemplo, ∗ ∗ ∗000 ∗ ...∗, seranrealmente muestras de 111000 ∗ ...∗.

Esto puede impedir que el algoritmo genetico haga una estimacion precisade u(∗ ∗ ∗000 ∗ ...∗). Aquı la u(H) denota la aptitud promedio estatica deun esquema H (el promedio sobre todas las instancias del esquema en elespacio de busqueda).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 57: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

2. Elevada Varianza de la Aptitud: Si la aptitud promedio estatica de unesquema tiene una varianza alta, el algoritmo genetico podrıa no sercapaz de efectuar una estimacion precisa de esta aptitud promedioestatica.

Consideremos, por ejemplo, la siguiente funcion de aptitud:

f (x) =

2 si x ∈ 111 ∗ ...∗1 si x ∈ 0 ∗ ...∗0 de lo contrario

La varianza de 1 ∗ ...∗ es alta, ası que el algoritmo genetico converge a lassubregiones de aptitud elevada de este esquema.

Esto sesga a todas las muestras subsecuentes de este esquema, impidiendoque se puede obtener un estimado preciso de su aptitud estatica.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 58: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Que es lo que hace difıcil un problema para unalgoritmo genetico?

Esto tiene relacion directa con la importancia de la decepcionen el comportamiento de los algoritmos geneticos, porque lasfunciones de aptitud con decepcion se definen completamenteen terminos de las aptitudes estaticas promedio de losesquemas.

Para ilustrar su argumento, Grefenstette [1993] da ejemplos deproblemas con decepcion que son faciles de optimizar con unalgoritmo genetico y de problemas que no tienen decepcion yque son arbitrariamente difıciles para un algoritmo genetico.

Su conclusion es de que la decepcion no es una causanecesaria ni suficiente para que un algoritmo genetico tengadificultades, y de que su relevancia en el estudio de losalgoritmos geneticos debe ser demostrada todavıa.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 59: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

El Teorema de los Esquemas, por sı mismo, no hace referenciaa los efectos positivos de la seleccion (asignar muestras cadavez mayores de los esquemas que han mostrado tener unmejor desempeno), sino unicamente a los aspectos deperturbacion de la cruza.

Tampoco aborda la pregunta de como hace la cruza pararecombinar los esquemas mas aptos, aunque esta parece serla mayor fuente de poder del algoritmo genetico.

La hipotesis de los bloques constructores dice que la cruzacombina esquemas cortos y de alto desempeno demostradopara formar candidatos mas aptos, pero no da una descripciondetallada de como ocurre esta combinacion.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 60: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Para investigar el procesamiento de esquemas y larecombinacion en mas detalle, Stephanie Forrest y MelanieMitchell [1993] disenaron ciertos paisajes de aptitud llamadosde la Carretera Real (Royal Road), que intentaron capturar laesencia de los bloques constructores en una forma idealizada.

Stephanie Forrest and Melanie Mitchell, “What makes aProblem Hard for a Genetic Algorithm? Some AnomalousResults and Their Explanation”, Machine Learning, Vol. 13,pp. 285–319, 1993.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 61: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

La Hipotesis de los Bloques Constructores sugiere 2caracterısticas de los paisajes de aptitud que sonparticularmente relevantes a los algoritmos geneticos:

1 La presencia de esquemas cortos, de bajo orden yaltamente aptos, y

2 La presencia de “escalones” intermedios (esquemas deorden intermedio de aptitud mas alta que resultan decombinaciones de los esquemas de orden menor y que,en turno, pueden combinarse para crear esquemas deaptitud aun mayor).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 62: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Las funciones que disenaron Forrest y Mitchell [1993] se esperaba que(siguiendo la hipotesis de los bloques constructores) tenderıan una“carretera real” al algoritmo genetico de manera que pudiera llegarfacilmente a la cadena optima.

Asimismo, la hipotesis era que las tecnicas escalando la colina tendrıandificultades con estas funciones, porque se necesitaba optimizar un grannumero de posiciones de la cadena simultaneamente para moverse de unainstancia de bajo orden a una de orden intermedio o alto.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 63: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Se utilizaron funciones del tipo siguiente:

R1(x) =8∑

i=1

ciδi(x) (2)

δi(x) =

{1 si x ∈ Si0 en caso contrario

(3)

Donde: Si es un conjunto predefinido de esquemas y ci soncoeficientes asignados a los esquemas.

En este caso, ci = 8 para toda i = 1, . . .8.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 64: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

En los experimentos se utilizo seleccion proporcional contruncamiento sigma.

El numero esperado de copias de un individuo con aptitud Fies:

Fi − F2σ

+ 1 (4)

Donde F denota el valor promedio de aptitud en la poblacion yσ su desviacion estandar.

Se uso un porcentaje de cruza de 0.7 y uno de mutacion de0.005.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 65: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Para los experimentos se usaron tres tipos de hillclimbers:

1. Steepest-Ascent Hill Climbing (SAHC):1 Elegir aleatoriamente una cadena del dominio de

busqueda. Llamarla la cima actual.2 Recorrer la cadena de izquierda a derecha invirtiendo cada

bit, evaluando y recordando la aptitud de la cadenaresultante.

3 Si alguna de las cadenas generadas posee una mejoraptitud que las obtenidas hasta ese momento, llamarla lacima actual.

4 Si no hay incrementos en la aptitud, almacenar la cimaactual e ir al paso 1; si no, ir al paso 2 con la nueva cimaactual.

5 Cuando se hayan efectuado un total de E evaluaciones,regresar la cima actual encontrada hasta ahora.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 66: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

2. Next-Ascent Hill Climbing (NAHC):1 Elegir aleatoriamente una cadena del dominio de

busqueda. Llamarla la cima actual.2 Para cada uno de los bits de la cadena: invertir el bit. Si la

cadena resultante tiene una aptitud mayor que la cimaactual, etiquetarla como la nueva cima actual. Si no,regresar el bit a su valor original.

3 Si no se encontro incremento en la aptitud, almacenar lacima actual e ir al paso 1.

4 Regresar la cima actual despues de E evaluaciones.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 67: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

3. Random Mutation Hill Climbing (RMHC):1 Elegir aleatoriamente una cadena del dominio de

busqueda. Llamarla la cima actual.2 Elegir aleatoriamente una posicion de la cadena e invertir

el bit en esa posicion. Si la cadena resultante posee unaaptitud mayor o igual a la de la cima actual, llamarla cimaactual.

3 Ir al paso 2 hasta que haya sido encontrada la cadena demejor aptitud o hasta que se hayan hecho E evaluaciones.

4 Regresar la cima actual.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 68: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Aunque estas funciones estaban disenadas para hacer que unalgoritmo genetico tuviese un mucho mejor desempeno que loshillclimbers, ocurrieron cosas extranas en los experimentos.

Uno de los hillclimbers que usaron (el RHMC) supero pormucho al algoritmo genetico (encontro la solucion 10 vecesmas rapido que el algoritmo genetico).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 69: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Tras efectuar un analisis de la funcion en la que el algoritmogenetico tuvo problemas, se determino que una de las causasfueron los hitchhikers, que limita seriamente el paralelismoimplıcito del algoritmo genetico, restringiendo los esquemasmuestreados en ciertos lugares.

Estos genes parasitos limitan el efecto de la cruza pararecombinar bloques constructores, y hacen que converjanhacia esquemas equivocados en diversas particiones.

Sin embargo, este fenomeno no debe resultar demasiadosorprendente si se considera que se ha observado en lagenetica real.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 70: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Para lidiar con este problema se propuso un Algoritmo GeneticoIdealizado, y se concluyeron varias cosas importantes en torno a como debedisenarse un algoritmo genetico convencional para evitar el hitchhiking:

1. La poblacion tiene que ser suficientemente grande, el proceso deseleccion debe ser suficientemente lento, y el porcentaje de mutaciondebe ser suficientemente alto para asegurar que no haya ningunaposicion que permanezca fija con un solo valor en ninguna cadena.

2. La seleccion tiene que ser suficientemente fuerte como para preservarlos esquemas deseados que se han descubierto, pero tambien tieneque ser suficientemente lenta (o, de manera equivalente, la aptitudrelativa de los esquemas deseables no traslapados tiene que sersuficientemente pequena) para prevenir que ocurra algun hitchhikingsignificativo en algunos esquemas altamente aptos que pueda eliminaresquemas deseables de otras partes de la cadena.

3. El porcentaje de cruza tiene que ser tal que el tiempo en que ocurrauna cruza que combine dos esquemas deseados sea pequeno conrespecto al tiempo de descubrimiento de los esquemas deseados.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 71: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Las Funciones de la Carretera Real

Estos mecanismos no son compatibles entre sı.

Por ejemplo, un alto porcentaje de mutacion esta encontraposicion con una seleccion fuerte.

Por lo tanto, debe cuidarse de que haya algun equilibrio deestos puntos a la hora de aplicarlos.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 72: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Cuando debe usarse un algoritmo genetico?

Es adecuado si el espacio de busqueda es muy grande,accidentado, poco comprendido, o si la funcion de aptitud tienemucho ruido, y si la tarea no requiere que se encuentre eloptimo global (encontrar una solucion bastante buena concierta rapidez resulta suficiente).

Si el espacio de busqueda es muy pequeno, entonces elproblema se puede resolver mediante busqueda exhaustiva, yno se justifica el uso de un algoritmo genetico.

Si el espacio de busqueda no esta accidentado y es unimodal,entonces una tecnica de gradiente como “escalando la colinacon ascenso empinado” sera mucho mas eficiente que unalgoritmo genetico.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 73: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Cuando debe usarse un algoritmo genetico?

Si el espacio de busqueda se conoce bien (p. ej. algunainstancia pequena del problema del viajero) es posible disenarmetodos de busqueda que usen conocimiento especıfico sobreel dominio para superar facilmente a una tecnica independientedel dominio como el algoritmo genetico.

Si la funcion de aptitud tiene ruido (por ejemplo, si involucratomar medidas sujetas a error de un proceso del mundo real talcomo la vision de un robot), un metodo de busqueda que useun solo candidato a la vez (como escalando la colina) seraarrastrada inevitablemente por rutas erroneas debido al ruido,mientras que el algoritmo genetico tendra un desempenorazonable porque trabaja mediante la acumulacion deestadısticas de aptitud a traves de las generaciones.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 74: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

¿Cuando debe usarse un algoritmo genetico?

Los consejos anteriores deben tomarse con ciertasprecauciones, porque no hay reglas universales sobre cuandoutilizar un algoritmo genetico para resolver un problema ycuando no hacerlo.

Su desempeno normalmente dependera de detalles talescomo el metodo de codificacion de las soluciones candidatas,los operadores, los valores de los parametros, y el criterioadoptado para medir el exito del algoritmo.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 75: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Problema deceptivo mınimo

La idea basica tras el diseno de funciones deceptivas para unalgoritmo genetico es violar de manera extrema la hipotesis delos bloques constructores.

En otras palabras, buscaremos ahora que los bloques cortos yde bajo orden nos conduzcan a bloques constructores largos yde mayor orden que sean incorrectos (suboptimos).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 76: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

El problema deceptivo mas pequeno posible es de dos bits. Sudescripcion se presenta a continuacion.

Supongamos que tenemos un conjunto de cuatro esquemas deorden 2 como se indica a continuacion:

esquema aptitud∗ ∗ ∗0 ∗ ∗ ∗ ∗ ∗ 0∗ f00∗ ∗ ∗0 ∗ ∗ ∗ ∗ ∗ 1∗ f01∗ ∗ ∗1 ∗ ∗ ∗ ∗ ∗ 0∗ f10∗ ∗ ∗1 ∗ ∗ ∗ ∗ ∗ 1∗ f11

f11 es la aptitud maxima posible (optimo global).f11 > f00; f11 > f01; f11 > f10

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 77: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Ahora procederemos a introducir el elemento deceptivo usandola idea siguiente: buscaremos que en nuestro problema uno delos esquemas suboptimos de orden 1 (o los dos) sea mejor quelos esquemas de orden 1 del optimo.

Para poner el problema en una perspectiva mas adecuada,vamos a normalizar todas las aptitudes con respecto alcomplemento del optimo global:

r =f11

f00; c =

f01

f00; c′ =

f10

f00

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 78: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Podemos re-escribir ahora la condicion de globalidad en formanormalizada:

f11

f00>

f00

f00;f11

f00>

f01

f00;f11

f00>

f10

f00

Re-escribamos ahora la condicion deceptiva:

f00 + f01

2>

f10 + f11

2

f00 + f01

f00>

f10 + f11

f00

1 +f01

f00>

f10

f00+

f11

f00

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 79: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

1 + c > c′ + r

r + c′ < c + 1

r < c + 1− c′

f (0∗) > f (1∗)

f (∗0) > f (∗1)

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 80: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

En estas expresiones estamos ignorando todos los demasalelos de las cadenas cromosomicas que no sean las 2posiciones definidas antes indicadas y las expresionesanteriores implican un promedio sobre todas las cadenascontenidas en el subconjunto de similitud.

De tal forma que deben cumplirse las siguientes expresiones:

f (00) + f (01)

2>

f (10) + f (11)

2f (00) + f (10)

2>

f (01) + f (11)

2

Sin embargo, estas 2 expresiones no pueden cumplirsesimultaneamente, pues de hacerlo f11 no serıa el optimo global.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 81: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Sin perdida de generalidad, supondremos que la primeraexpresion es cierta:

f (0∗) > f (1∗)

A partir de lo anterior, podemos concluir que:

c′ < 1; c′ < c

Tenemos entonces 2 clases de problemas deceptivos:TIPO I: f01 > f00 (c > 1)TIPO II: f00 ≥ f01 (c ≤ 1)

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 82: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Representacion grafica del problema deceptivo tipo I.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 83: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Representacion grafica del problema deceptivo tipo II.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 84: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Diseno de Funciones Deceptivas

Estos 2 tipos de problemas son deceptivos y puededemostrarse que ninguno de ellos puede expresarse como unacombinacion lineal de los valores alelicos del individuo.

Ninguno de estos casos puede expresarse como:

f (x1, x2) = b +2∑

i=1

aixi

En terminos biologicos, tenemos un problema epistatico.

Puesto que puede demostrarse que ningun problema de 1 bitpuede ser deceptivo, el problema de 2 bits antes indicado es elproblema deceptivo mınimo.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 85: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Otros Resultados Teoricos Importantes

Altenberg [1995] demostro que el teorema de los esquemas deHolland es realmente un caso especial del teorema de Priceque se usa en genetica poblacional. Notese, sin embargo, queeste teorema incluye tanto terminos disruptivos comoconstructivos.

Lee Altenberg, “The Schema Theorem and Price’s Theorem”, in L. DarrellWhitley and Michael D. Vose (Editors), Foundations of Genetic Algorithms 3,pp. 23–49, Morgan Kaufmann Publishers, San Mateo, California, USA, 1995.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 86: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Otros Resultados Teoricos Importantes

Tambien se han desarrollado versiones exactas del teorema delos esquemas [Stephens & Waelbroeck, 1999], aunque estassiguen siendo impracticas de usar aun para problemas deprueba relativamente simples.

Sin embargo, su uso comienza a ofrecer perspectivas nuevasmuy interesantes.

Chris Stephens and Henri Waelbroeck, “Schemata evolution and buildingblocks”, Evolutionary Computation, Vol. 7, No. 2, pp. 109–124, Summer1999.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 87: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Otros Resultados Teoricos Importantes

Otro de los enfoques interesantes que se han abordado en losultimos anos es la identificacion de bloques constructores.

El messy GA fue el primer intento por construir un algoritmoque explıcitamente discriminara entre esquemas competitivoscon base en su aptitud estimada (es decir, que operara conesquemas y no con cadenas totalmente definidas).

David E. Goldberg, Bradley Korb and Kalyanmoy Deb, “Messy GeneticAlgorithms: Motivation, Analysis, and First Results”, Complex Systems,Vol. 3, No. 5, pp. 493–530, 1989.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 88: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Otros Resultados Teoricos Importantes

Munetomo y Goldberg [1999] identifican tres enfoques para laidentificacion de grupos de enlazamiento (linkage).

El primero de ellos se refiere a la “deteccion directa de sesgoen distribuciones probabilısticas” y su ejemplificacion son losllamados algoritmos de estimacion de distribucion (DEAs, eningles).

Masaharu Munetomo and David E. Goldberg, “LinkageIdentification by Non-monotonicity Detection forOverlapping Functions”, Evolutionary Computation, Vol. 7,No. 4, pp. 377–398, December 1999.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 89: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase11-cinvest... · 2019-07-05 · Noha M. Hamza, Ruhul A. Sarker, Daryl L. Essam, Kalyanmoy

Otros Resultados Teoricos Importantes

Los DEAs identifican una factorizacion del problema en unnumero de subgrupos de tal manera que se minimice un ciertocriterio estadıstico dado, con base en la poblacion actual.

Esto corresponde a aprender un modelo de enlazamiento delproblema.

Una vez que se han derivado estos modelos, se calculanprobabilidades condicionales de las frecuencias de los genesdentro de los grupos de enlazamiento, y se genera una nuevapoblacion con base en ellas, reemplazando la recombinacion yla mutacion de los algoritmos evolutivos tradicionales.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos