Transcript
Page 1: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

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 5

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 2: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

Representacion hıbrida propuesta por Dipankar Dasgupta a principios de los1990s.

Es un compromiso entre la representacion lineal del algoritmo geneticotradicional y la de arbol usada por la programacion genetica.

Usa una representacion jerarquica con un mecanismo de dominancia similaral de los diploides.

Dipankar Dasgupta and Douglas R. McGregor, “Nonstationary Function Optimization using the StructuredGenetic Algorithm”, in Proceedings of Parallel Problem Solving from Nature (PPSN 2), pp. 145–154,Springer-Verlag, Brussels, Belgium, September 1992.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 3: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

El algoritmo genetico estructurado codifica estructurasgeneticas de varios niveles (grafos dirigidos o arboles) como semuestra en la imagen de arriba.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 4: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

Los genes en cualquier nivel pueden ser pasivos o activos,pero los genes de alto nivel activan o desactivan conjuntos degenes de mas bajo nivel, lo que significa que cualquier cambiopequeno en un alto nivel se magnifica en los niveles inferiores.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 5: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

La idea principal del algoritmo genetico estructurado es que losgenes de alto nivel deben explorar las areas potenciales delespacio de busqueda y los de bajo nivel deben explotar esesub-espacio.

El uso principal de este tipo de tecnica es para funcionesdinamicas.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 6: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

A pesar de tener una estructura jerarquica, en un algoritmogenetico estructurado se codifica como un cromosoma linealde longitud fija:

(c1 c2 c3 c11 c12 c13 c21 c22 c23 c31 c32 c33)

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 7: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

Sin embargo, el algoritmo genetico estructurado requiere deuna estructura de datos mas complicada que la del algoritmogenetico tradicional.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 8: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Algoritmo Genetico Estructurado

CaracterısticasMostro ser util para resolver problemas dinamicos(aquellos donde la posicion del optimo cambia en eltiempo).Su implementacion es bastante mas complicada que la deun algoritmo genetico tradicional.El mapeo entre el genotipo y el fenotipo esextremadamente complejo.Su desempeno se degrada rapidamente conforme seaumenta el numero de jerarquıas utilizadas.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 9: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Otras Representaciones

Existen muchas otras representaciones posibles para los algoritmosgeneticos. Por ejemplo:

Grafos

Matrices

Gramaticas

Pilas

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 10: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Recomendaciones para el diseno de buenasrepresentaciones

Palmer [1994] hizo varias recomendaciones en el contexto derepresentaciones de arbol, en torno los puntos clave a tomarse en cuenta alproponer una representacion:

1. Nuestra codificacion debe poder representar todos los fenotiposposibles.

Charles Chamber Palmer, “An approach to a problem in network designusing genetic algorithms”, PhD thesis, Polytechnic University, Troy, NewYork, USA, 1994.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 11: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Recomendaciones para el diseno de buenasrepresentaciones

2. Nuestra codificacion no debe tener sesgos, de manera quetodos los individuos posibles se encuentren representadosde manera equitativa en el conjunto de todos los genotiposposibles.

3. Nuestra codificacion no deberıa permitir solucionesinfactibles.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 12: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Recomendaciones para el diseno de buenasrepresentaciones

4. La decodificacion del genotipo al fenotipo debiera sersimple.

5. Una codificacion debe poseer localidad (o sea, cambiospequenos en el genotipo debieran resultar en cambiospequenos en el fenotipo).

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 13: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Recomendaciones para el diseno de buenasrepresentaciones

Ronald [1995] hizo tambien sugerencias en torno a como elegiruna buena representacion:

1. Las codificaciones deben ajustarse a un conjunto deoperadores geneticos de tal forma que se preserven (otransmitan) los bloques constructores de padres a hijos.

S.P. Ronald, “Genetic algorithms and permutation-encoded problems:Diversity preservation and a study of multimodality”, PhD thesis, TheUniversity of South Australia, 1995.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 14: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Recomendaciones para el diseno de buenasrepresentaciones

2. Una buena codificacion debe minimizar la epıstasis.3. Deben preferirse las soluciones factibles.4. El problema debe estar representado a un nivel correcto

de abstraccion.5. Las codificaciones deben explotar un mapeo apropiado del

genotipo al fenotipo en caso de que no sea posibleproducir un mapeo simple entre estos 2 espacios.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 15: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Recomendaciones para el diseno de buenasrepresentaciones

6. No debieran usarse formas isomorficas, en las cuales elfenotipo de un individuo es codificado con mas de ungenotipo (Rothlauf [2002] mostro que las formasisomorficas mejoran el desempeno de un algoritmoevolutivo).

Franz Rothlauf, Representations for Genetic and EvolutionaryAlgorithms, Physica-Verlag, Heidelberg, Germany, 2002, ISBN3-7908-1496-2.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 16: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Seleccion ProporcionalSeleccion mediante torneoSeleccion de Estado Uniforme

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 17: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Seleccion Proporcional

Este nombre describe a un grupo de esquemas de seleccionoriginalmente propuestos por Holland que eligen individuos deacuerdo a su contribucion de aptitud con respecto al total de lapoblacion.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 18: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Tecnicas de Seleccion ProporcionalLa RuletaSobrante EstocasticoUniversal EstocasticaMuestreo Determinıstico

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 19: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Tecnicas de Seleccion Proporcional

Existen tambien mecanismos complementarios (oaditamentos) a las tecnicas de seleccion proporcional:

Escalamiento SigmaJerarquıasSeleccion de Boltzmann

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 20: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

La RuletaFue propuesta por Kenneth De Jong [1975] en su tesis doctoral.

Fue el metodo mas comunmente usado en los orıgenes de los algoritmosgeneticos.

El algoritmo de esta tecnica es simple, pero ineficiente. Su complejidad esO(N2).

Principal problema: El individuo menos apto puede ser seleccionado masde una vez, desviandose ası del valor esperado.

A. K. De Jong, “An Analysis of the Behavior of a Class of GeneticAdaptive Systems”, PhD thesis, University of Michigan, Ann Arbor, USA,1975.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 21: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

La Ruleta: Implementacion de De Jong1 Calcular la suma de valores esperados T .2 Repetir N veces (N es el tamano de la poblacion):

1 Generar un numero aleatorio r entre 0.0 y T .2 Ciclar a traves de los individuos de la poblacion sumando

los valores esperados hasta que la suma sea mayor o iguala r.

3 El individuo que haga que esta suma exceda el lımite es elseleccionado.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 22: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Sobrante EstocasticoEsta tecnica fue propuesta por Brindle [1981] y Booker [1982] con el objetivode acercarse mas a los valores esperados de cada individuo.

La idea fundamental de este metodo es asignar de manera determinista laspartes enteras de los valores esperados para cada individuo.

A. Brindle, “Genetic Algorithms for Function Optimization”, PhD thesis,Department of Computer Science, University of Alberta, Edmonton, Alberta,Canada, 1981.

Lashon B. Booker, “Intelligent Behavior as an Adaptation to the TaskEnvironment”, PhD thesis, Logic of Computers Group, University ofMichigan, Ann Arbor, Michigan, USA, 1982.

Principal problema: Aunque reduce las diferencias con respecto a losvalores esperados, puede causar convergencia prematura.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 23: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Sobrante EstocasticoHay 2 variantes de esta tecnica que difieren en la forma en quese manejan las partes decimales de los valores esperados:

1. Sin Reemplazo: Usar flip con las partes decimales paraelegir los padres restantes.

2. Con Reemplazo: Construir una ruleta con las partesdecimales y usarla para seleccionar los padres faltantes.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 24: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Sobrante Estocastico (Complejidad Algorıtmica)

La version con reemplazo es O(n2)

La version sin reemplazo es O(n)

La mas popular es la version sin reemplazo, la cual parece sersuperior a la ruleta [Booker, 1982].

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 25: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Seleccion Universal EstocasticaEsta tecnica fue propuesta por Baker [1987].

Su principal objetivo es minimizar la mala distribucion de los individuos en lapoblacion en funcion de sus valores esperados.

Su complejidad algorıtmica es: O(n)

James Edward Baker, “Reducing Bias and Inefficiency in the SelectionAlgorithm”, in John J. Grefenstette (Editor), Genetic Algorithms and TheirApplications: Proceedings of the Second International Conference onGenetic Algorithms, pp. 14–22, Lawrence Erlbaum Associates, Hillsdale,New Jersey, USA, 1987.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 26: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Seleccion Universal Estocastica (Algoritmo)

ptr=Rand( ); /* Regresa un aleatorio en el rango [0,1] */for (sum = 0, i = 1; i <= n; i ++)

for (sum+ = Valesp(i , t); sum > ptr ;ptr ++)Seleccionar (i);

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 27: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Seleccion Universal EstocasticaPuede ocasionar convergencia prematura.

Hace que los individuos mas aptos se multipliquen muy rapidamente.

Aunque permite un trato mas justo a los individuos, independientemente desu ubicacion en la poblacion, no resuelve el problema mas serio de laseleccion proporcional.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos

Page 28: Introduccion a la Computaci´ on Evolutiva´delta.cs.cinvestav.mx/~ccoello/compevol/clase5-cinvestav-2019.pdf · James Edward Baker, “Reducing Bias and Inefficiency in the Selection

Tecnicas de Seleccion

Muestreo Determinıstico (Algoritmo)1 Calcular Pselect = fi/

∑f .

2 Calcular Valespi = pselect × n.3 Asignar de manera determinista la parte entera de Valespi .4 Ordenar la poblacion de acuerdo a las partes decimales

(de mayor a menor).5 Obtener los padres faltantes de la parte superior de la lista.

Carlos A. Coello Coello Introduccion a los Algoritmos Geneticos


Recommended