131
Introducci´ on a la Computaci´ on Evolutiva Dr. Carlos A. Coello Coello Introducci´ on a la Computaci´ on Evolutiva Dr. Carlos A. Coello Coello Secci´ on de Computaci´ on CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco exico, D.F. 07300 email: [email protected] http: //delta.cs.cinvestav.mx/ccoello Clase No. 16 2006

Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Introduccion a la Computacion Evolutiva

Dr. Carlos A. Coello Coello

Seccion de Computacion

CINVESTAV-IPN

Av. IPN No. 2508

Col. San Pedro Zacatenco

Mexico, D.F. 07300

email: [email protected]

http: //delta.cs.cinvestav.mx/∼ccoello

Clase No. 16 2006

Page 2: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

¿Cuando debe usarse un AG?

Es adecuado si el espacio de busqueda es grande, accidentado, pococomprendido, o si la funcion de aptitud tiene mucho ruido, y si latarea no requiere que se encuentre el optimo global (encontrar unasolucion bastante buena con cierta rapidez resulta suficiente).

Si el espacio de busqueda es muy pequeno, entonces el problema sepuede resolver mediante busqueda exhaustiva, y el AG no tienemucha razon de ser.

Clase No. 16 2006

Page 3: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

¿Cuando debe usarse un AG?

Si el espacio de busqueda no esta accidentado y es unimodal,entonces una tecnica de gradiente como “escalando la colina conascenso pronunciado” sera mucho mas eficiente que un algoritmogenetico.

Clase No. 16 2006

Page 4: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

¿Cuando debe usarse un AG?

Si el espacio de busqueda se conoce bien (p. ej. alguna instanciapequena del problema del viajero) es posible disenar metodos debusqueda que usen conocimiento especıfico sobre el dominio parasuperar facilmente a una tecnica independiente del dominio como elAG.

Clase No. 16 2006

Page 5: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

¿Cuando debe usarse un AG?

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 use unsolo candidato a la vez (como escalando la colina) sera arrastradainevitablemente por rutas erroneas debido al ruido, mientras que elAG tendra un desempeno razonable porque trabaja mediante laacumulacion de estadısticas de aptitud a traves de las generaciones.

Clase No. 16 2006

Page 6: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

¿Cuando debe usarse un AG?

Los consejos anteriores deben tomarse con ciertas precauciones,porque no hay reglas universales sobre cuando utilizar un AG pararesolver un problema y cuando no hacerlo. Su desempenonormalmente dependera de detalles tales como el metodo decodificacion de las soluciones candidatas, los operadores, los valoresde los parametros, y el criterio en particular para medir el exito delalgoritmo.

Clase No. 16 2006

Page 7: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

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 de losbloques constructores. En otras palabras, buscaremos ahora que losbloques cortos y de bajo orden nos conduzcan a bloquesconstructores largos y de mayor orden que sean incorrectos(suboptimos).

Clase No. 16 2006

Page 8: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

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 de orden2 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

Clase No. 16 2006

Page 9: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

Ahora procederemos a introducir el elemento deceptivo usando laidea siguiente: buscaremos que en nuestro problema uno de losesquemas suboptimos de orden 1 (o los dos) sea mejor que losesquemas de orden 1 del optimo.

Para poner el problema en una perspectiva mas adecuada, vamos anormalizar todas las aptitudes con respecto al complemento deloptimo global:

r =f11

f00; c =

f01

f00; c′ =

f10

f00

Clase No. 16 2006

Page 10: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

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

Clase No. 16 2006

Page 11: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

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

Clase No. 16 2006

Page 12: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

1 + c > c′ + r

r + c′ < c+ 1

r < c+ 1− c′

f(0∗) > f(1∗)

f(∗0) > f(∗1)

Clase No. 16 2006

Page 13: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

En estas expresiones estamos ignorando todos los demas alelos delas cadenas cromosomicas que no sean las 2 posiciones definidasantes indicadas y las expresiones anteriores implican un promediosobre todas las cadenas contenidas en el subconjunto de similitud.

Clase No. 16 2006

Page 14: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

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

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

Clase No. 16 2006

Page 15: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

Sin perdida de generalidad, supondremos que la primera expresiones 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)

Clase No. 16 2006

Page 16: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

Graficamente, podemos representar el tipo I de la manera siguiente:

TIPO I:f > f00

10

01

11

aptitud

atractor

01 00

Clase No. 16 2006

Page 17: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

Graficamente, podemos representar el tipo I de la manera siguiente:

f > f

10

01

11

aptitud

TIPO II:00 00

atractor

01

Clase No. 16 2006

Page 18: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Diseno de Funciones Deceptivas

Estos 2 tipos de problemas son deceptivos y puede demostrarse queninguno de ellos puede expresarse como una combinacion lineal delos 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. Puestoque puede demostrarse que ningun problema de 1 bit puede serdeceptivo, el problema de 2 bits antes indicado es el problemadeceptivo mınimo.

Clase No. 16 2006

Page 19: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Altenberg [1995] demostro que el teorema de los esquemas deHolland es realmente un caso especial del teorema de Price que seusa en genetica poblacional. Notese, sin embargo, que este teoremaincluye tanto terminos disruptivos como constructivos.

Clase No. 16 2006

Page 20: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Tambien se han desarrollado versiones exactas del teorema de losesquemas [Stephens, 1999], aunque estas siguen siendo impracticasde usar aun para problemas de prueba relativamente simples. Sinembargo, su uso comienza a ofrecer perspectivas nuevas muyinteresantes.

Clase No. 16 2006

Page 21: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Otro de los enfoques interesantes que se han abordado en losultimos anos es la identificacion de bloques constructores. El messyGA fue el primer intento por construir un algoritmo queexplıcitamente discriminara entre esquemas competitivos con baseen su aptitud estimada (es decir, que operara con esquemas y nocon cadenas totalmente definidas).

Clase No. 16 2006

Page 22: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

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 sesgo endistribuciones probabilısticas” y su ejemplificacion son los llamadosalgoritmos de estimacion de distribucion (DEAs, en ingles).

Clase No. 16 2006

Page 23: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Los DEAs identifican una factorizacion del problema en un numerode subgrupos de tal manera que se minimice un cierto criterioestadıstico dado, con base en la poblacion actual. Esto correspondea aprender un modelo de enlazamiento del problema. Una vez quese han derivado estos modelos, se calculan probabilidadescondicionales de las frecuencias de los genes dentro de los grupos deenlazamiento, y se genera una nueva poblacion con base en ellas,reemplazando la recombinacion y la mutacion de los algoritmosevolutivos tradicionales.

Clase No. 16 2006

Page 24: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Notese que los DEAs, sin embargo, no se basan en analisis a partirde esquemas, sino en modelado estadıstico.

Los otros 2 enfoques identificados por Munetomo y Goldberg usanlas etapas tradicionales de recombinacion y mutacion, pero sesganal operador de recombinacion a fin de usar informacion deenlazamiento.

Clase No. 16 2006

Page 25: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Uno de los enfoques [Kargupta, 1996] usa estadısticas de primerorden basada en perturbacion (por parejas) de valores alelicos paraidentificar los bloques de genes enlazados que manipulan losalgoritmos.

Clase No. 16 2006

Page 26: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

El tercer enfoque no calcula estadısticas en las intereacciones de losgenes con base en perturbaciones, sino que adapta los grupos deenlazamiento explıcita o implıcitamente vıa la adaptacion deoperadores de recombinacion [Harik & Goldberg, 1996].

Clase No. 16 2006

Page 27: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Resultados Teoricos Importantes

Smith [2002] presenta un modelo matematico de los modelos deenlazamiento de diferentes operadores, junto con una investigacionde como debiera ocurrir la adaptacion del enlazamiento a un nivelapropiado.

Clase No. 16 2006

Page 28: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

El teorema de los esquemas hace predicciones en torno al cambioesperado en las frecuencias de los esquemas de una generacion a lasiguiente, pero no hace predicciones directamente sobre lacomposicion de la poblacion, la velocidad de convergencia de lapoblacion o la distribucion de aptitudes de la poblacion conrespecto al tiempo.

Clase No. 16 2006

Page 29: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Como un primer paso para tener una mejor comprension delcomportamiento de los AGs, y para poder hacer mejorespredicciones, varios investigadores han construido modelosmatematicos “exactos” de AGs simples [Goldberg, 1987; De Jong,1994; Vose, 1999].

Estos modelos exactos capturan todos los detalles de un AG simpleusando operadores matematicos.

Clase No. 16 2006

Page 30: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

El principal exponente del denominado enfoque de los sistemasdinamicos para modelar algoritmos evolutivos en espacios debusqueda finitos ha sido Michael Vose. Este trabajo se ha enfocadofundamentalmente a algoritmos geneticos, dada su (relativa)simplicidad.

Clase No. 16 2006

Page 31: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

El enfoque de los sistemas dinamicos puede caracterizarse de lamanera siguiente:

Comenzar con un vector n-dimensional p, donde n es el tamanodel espacio de busqueda y la componente pti representa laproporcion de la poblacion que es de tipo i en la iteracion t.

Construir una matriz de mezclado (mixing matrix) M , querepresenta los efectos de la recombinacion y la mutacion, y unamatriz de seleccion F , que representa los efectos deloperador de seleccion en cada cadena para una funcion deaptitud dada.

Clase No. 16 2006

Page 32: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Componer un “operador genetico” G = F ◦M como elproducto matricial de estas dos funciones.

La accion del algoritmo genetico para generar la siguientepoblacion puede entonces ser caracterizada como la aplicacionde este operador G a la poblacion actual: pt+1 = Gpt.

Clase No. 16 2006

Page 33: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Bajo este esquema, la poblacion puede verse como un punto en loque se conoce como el “simplex” (una superficie en un espacion-dimensional formado por todos los vectores posibles cuyoscomponentes sumen 1.0 y sean no negativos).

Clase No. 16 2006

Page 34: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

La forma de G gobierna la manera en que una poblaciondefinira una trayectoria en esta superficie conforme evoluciona. Unaforma comun de visualizar este enfoque es pensar que G define un“campo de fuerza” sobre el simplex, describiendo la direccion y laintensidad de las fuerzas de evolucion que actuan sobre unapoblacion.

Clase No. 16 2006

Page 35: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

La sola forma de G determina que puntos sobre la superficie actuancomo atractores hacia los que se mueve la poblacion, y el estudioanalıtico de G y sus componentes F y M ha permitido obtenervarios indicios interesantes de la forma en la que se comportan losalgoritmos geneticos.

Clase No. 16 2006

Page 36: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Notese que aunque este modelo predice exactamente lasproporciones esperadas de diferentes individuos presentes en laspoblaciones evolucionadas, estos valores solo pueden lograrse si eltamano de la poblacion es infinito. De tal forma, las trayectoriasque se predigan para una poblacion inicial dada requeriran unajuste correctivo cuando se trate de tamanos de poblacion finitos.Esta es un area actual de investigacion.

Clase No. 16 2006

Page 37: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

El analisis mediante cadenas de Markov es un area bienestablecida en procesos estocasticos y de ahı que su uso hayallamado la atencion de los teoricos de la computacion evolutivadesde hace varios anos.

Clase No. 16 2006

Page 38: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

En terminos simples, decimos que un sistema puede describirsecomo una cadena de Markov en tiempo discreto si se cumplen lassiguientes condiciones:

El sistema puede ser caracterizado en cualquier tiempo dadopor estar en uno de un numero finito (N) de estados.

La probabilidad de que el sistema este en un estado dado Xt+1

en la siguiente iteracion se determina unicamente por el estadoen el que esta en la iteracion actual Xt, sin importar lasecuencia previa de estados.

Clase No. 16 2006

Page 39: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

El impacto de la segunda condicion es que podemos definir unamatriz de transicion Q donde la entrada Qij contiene laprobabilidad de movernos del estado i al estado j en un solo paso(i, j ∈ 1, . . . , N). Es simple demostrar que la probabilidad de quedespues de n pasos el sistema se haya movido del estado i al estadoj esta dada por la (i, j)-esima entrada de la matriz Qn.

Clase No. 16 2006

Page 40: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Existe un buen numero de teoremas y demostraciones que nospermiten hacer predicciones del comportamiento de las cadenas deMarkov tales como el tiempo promedio para alcanzar un conjuntodado de estados, etc.

Clase No. 16 2006

Page 41: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Existe un numero finito de formas en las que podemos seleccionaruna poblacion de tamano finito a partir de un espacio de busquedafinito, de manera que podemos tratar a un algoritmo evolutivo quetrabaje dentro de dicha representacion como una cadena de Markovcuyos estados representan las diferentes poblaciones posibles, ydiversos autores han usado este tipo de tecnica para estudiaralgoritmos evolutivos. De entre ellos destacan Eiben, Goldberg yRudolph.

Clase No. 16 2006

Page 42: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Existen propuestas para modelar convergencia de los AGs usandocadenas de Markov que datan de los 1980s, aunque el trabajo masconocido es el publicado por Rudolph en 1994, en el cual sedemuestra que el elitismo es un operador necesario para garantizarla convergencia de un AG simple.

Clase No. 16 2006

Page 43: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Otros investigadores han propuesto formulaciones exactas para lasmatrices de transicion Q de los algoritmos geneticos conrepresentacion binaria, seleccion proporcional, cruza de un punto ymutacion uniforme. Estas propuestas se basan esencialmente endescomponer la accion de un AG en dos funciones, una queinvolucra recombinacion y mutacion (y la cual es puramente unafuncion de la probabilidad de cruza y la tasa de mutacion), y laotra que representa la accion del operador de seleccion (el cualinvolucra la informacion sobre la funcion de aptitud).

Clase No. 16 2006

Page 44: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Aunque estos trabajos representan un avance significativo hacia eldesarrollo de una teorıa general de los AGs, el problema principalde este enfoque es que su utilidad se ve muy limitada. Esto se debea que las matrices de transicion involucradas son enormes: para un

problema de l bits, hay

µ+ 2l − 1

2l − 1

poblaciones posibles de

tamano µ y la misma cantidad de filas y columnas en la matriz detransicion.

Clase No. 16 2006

Page 45: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Otro tipo de enfoques que han ganado popularidad en los ultimosanos son los basados en mecanica estadıstica. La inspiracion deeste tipo de enfoques consiste en la observacion de que los sistemascomplejos realmente consisten de uniones de partes mas pequenas yque esto se ha modelado en fısica desde hace varios anos.

Clase No. 16 2006

Page 46: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

En vez de intentar rastrear el comportamiento de todos loselementos de un sistema (el enfoque microscopico), este tipo detecnicas se enfocan a modelar el comportamiento de una cuantasvariables que caracterizan el sistema. A esto se le llama el enfoquemacroscopico.

Clase No. 16 2006

Page 47: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Varios investigadores han usado este tipo de enfoque para modelaralgoritmos evolutivos. De entre ellos destacan Prugel-Bennett yCris Stephens.

Clase No. 16 2006

Page 48: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Bajo este tipo de enfoque, si nos interesa la aptitud de unapoblacion que evoluciona, se derivan ecuaciones que nosproporcionen los “momentos” de la aptitud < f >,< f2 >,< f3 >

y ası sucesivamente (donde los signos <> denotan que la media setoma sobre el conjunto de poblaciones posibles) bajo los efectos dela seleccion y los operadores de variacion.

Clase No. 16 2006

Page 49: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

A partir de estas propiedades, pueden predecirse cuestiones talescomo la media, la varianza, etc. de la poblacion evolucionada comouna funcion del tiempo. Notese que estas predicciones sonnecesariamente aproximaciones cuya precision depende del numerode momentos modelados.

Clase No. 16 2006

Page 50: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Las derivaciones de estas ecuaciones se basan en algunos “trucos”de la literatura de mecanica estadıstica y son predominantementepara una forma particular de seleccion (la seleccion de Boltzmann).Este tipo de enfoque no pretende ofrecer predicciones que no seanla media, la varianza y demas, por lo que no se puede usar paramodelar todos los aspectos del comportamiento de un algoritmoevolutivo que uno pudiese desear.

Clase No. 16 2006

Page 51: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Otros Modelos Teoricos

Sin embargo, estas tecnicas han resultado increıblemente precisaspara predecir el comportamiento de AGs reales en una variedad defunciones de prueba simples.

Clase No. 16 2006

Page 52: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Podemos definir el procesamiento en paralelo como la ejecucionconcurrente (o simultanea) de instrucciones en una computadora.Dicho procesamiento puede ser en la forma de eventos que ocurran:

(1) Durante el mismo intervalo de tiempo

(2) En el mismo instante

(3) En intervalos de tiempo traslapados

Clase No. 16 2006

Page 53: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

La motivacion mas obvia del paralelismo es el incrementar laeficiencia de procesamiento.

Existen muchas aplicaciones que demandan grandes cantidades detiempo de procesamiento y que, por ende, resultan beneficiadas decontar con arquitecturas en paralelo.

Clase No. 16 2006

Page 54: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Una de las frecuentes confusiones respecto al paralelismo es que secree que al contar con una computadora que tenga n procesadorestrabajando en el mismo problema, este podra resolverse n vecesmas rapido. Esto es falso.

Clase No. 16 2006

Page 55: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Al usar varios procesadores para una misma tarea, debemos tomaren cuenta que existiran:

Problemas de comunicacion entre ellos.

Conflictos al intentar accesar la memoria.

Algoritmos ineficientes para implementar el paralelismo delproblema.

Por tanto, si tenemos n procesadores, el incremento de velocidadnormalmente no sera de n veces.

Clase No. 16 2006

Page 56: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Existe un lımite inferior respecto del incremento de velocidad realal tener n procesadores. A este lımite inferior se le conoce como laConjetura de Minsky, y es de log2n.

Clase No. 16 2006

Page 57: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Aunque el lımite superior depende realmente de si se considera atodo el programa (incluyendo la parte de entrada y salida, la cualsuele ser secuencial), suele aceptarse que este esta definido por n

ln n

(Hwang & Briggs, 1984).

De estos 2 lımites puede inferirse facilmente que no resulta utilagregar mas y mas procesadores, si lo que queremos es hacer masrapida a una computadora.

Clase No. 16 2006

Page 58: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

La eficiencia de un sistema de computo se mide en terminos de suscapacidades tanto en hardware como en software. A dicha medidade eficiencia se le conoce como rendimiento total (throughput) yse define como la cantidad de procesamiento que puede realizarseen un cierto intervalo de tiempo.

Clase No. 16 2006

Page 59: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Una tecnica que ha conducido a incrementos notables delrendimiento total de un sistema de computo es el proceso deencauzamiento (pipelining).

Clase No. 16 2006

Page 60: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Este proceso de encauzamiento es analogo a una lınea deensamblaje en una planta industrial. Una funcion a ejecutarse poruna computadora es dividida en sub-funciones mas pequenas, y sedisena hardware separado (llamado etapa) para cada una de estassubfunciones. Estas etapas estan conectadas entre sı, de manera queforman un solo cauce (o pipeline) que realiza la funcion original.

Clase No. 16 2006

Page 61: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Michael J. Flynn (1966) introdujo un esquema para clasificar laarquitectura de una computadora basado en la forma en la que lamaquina relaciona sus instrucciones con los datos que procesa.Flynn definio el termino stream (flujo) como una secuencia deelementos, ya sea datos o instrucciones, ejecutados u operados porun procesador.

Clase No. 16 2006

Page 62: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

La clasificacion de Flynn es la siguiente:

SISD: Single Instruction Stream, Single Data Stream

SIMD: Single Instruction Stream, Multiple Data Stream

MISD: Multiple Instruction Stream, Single Data Stream

MIMD: Multiple Instruction Stream, Multiple Data Stream

Clase No. 16 2006

Page 63: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Una computadora SISD es la computadora serial convencional quetodos conocemos, en la cual las instrucciones se ejecutan una poruna, y se usa una sola instruccion para lidiar con, cuando mucho,una operacion sobre los datos. Aunque es posible introducir ciertonivel de paralelismo en estas computadoras (usando pipelining), lanaturaleza secuencial de la ejecucion de sus instrucciones la colocaen esta categorıa.

Clase No. 16 2006

Page 64: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

En una computadora SIMD, una sola instruccion puede iniciar ungran numero de operaciones. Estas instrucciones (llamadasvectoriales) se ejecutan de manera secuencial (una a la vez), peroson capaces de trabajar sobre varios flujos de datos a la vez.Tambien en este caso es posible usar pipelining para acelerar lavelocidad de procesamiento.

Clase No. 16 2006

Page 65: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

La clase MISD implica la ejecucion de varias instruccionesoperando simultaneamente sobre un solo dato. Este modelo esunicamente teorico, porque no existen computadoras que caigandentro de esta categorıa.

Clase No. 16 2006

Page 66: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

Nociones de Paralelismo

Una computadora MIMD se caracteriza por la ejecucionsimultanea de mas de una instruccion, donde cada instruccionopera sobre varios flujos de datos. Ejemplos de esta arquitecturason los sistemas multiprocesadores.

Para lo relacionado con AGs paralelos, solo hablaremos de lascomputadoras SIMD y MIMD.

Clase No. 16 2006

Page 67: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

El metodo mas simple de paralelizar un AG es la llamadaparalelizacion global.

En este caso, solo hay una poblacion, como en el AG convencional,pero la evaluacion de los individuos y los operadores geneticos separalelizan de forma explıcita.

Clase No. 16 2006

Page 68: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Puesto que solo hay una poblacion, la seleccion considera a todoslos individuos y cada individuo tiene oportunidad de aparearse concualquier otro (o sea, hay apareamiento aleatorio). Por lo tanto,el comportamiento del AG simple permanece sin cambios.

Clase No. 16 2006

Page 69: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Clase No. 16 2006

Page 70: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

La paralelizacion global es un metodo relativamente facil deimplementar y puede obtenerse un incremento significativo develocidad si los costos de comunicacion no dominan los costos deprocesamiento.

Una observacion importante es que no debe confundirse el conceptode paralelismo implıcito de un AG (visto antes en clase) con el deparalelismo explıcito.

Clase No. 16 2006

Page 71: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

A la paralelizacion global tambien se le conoce como AGpanmıtico, pues se cuenta con un solo deposito de materialgenetico (gene pool), o sea con una sola poblacion.

Clase No. 16 2006

Page 72: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Los AGs panmıticos son utiles cuando el costo de evaluar la funcionde aptitud es elevado (p.ej., una simulacion).

En el AG panmıtico no se requieren nuevos operadores ni nuevosparametros y la solucion encontrada sera la misma que laproducida con un AG convencional (o sea, serial).

Clase No. 16 2006

Page 73: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Es importante hacer notar que aunque el paralelismo globalnormalmente es sıncrono (o sea, que el programa se detiene yespera a recibir los valores de aptitud de toda la poblacion antes deproceder a producir la siguiente generacion), puede implementarsetambien de forma asıncrona, aunque en ese caso, sufuncionamiento ya no resultara equivalente al de un AGconvencional.

Clase No. 16 2006

Page 74: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Ademas de paralelizarse la evaluacion de la funcion de aptitud, enel paralelismo global es posible incluir tambien los operadoresgeneticos, pero dada la simplicidad de estos, no suelenparalelizarse, pues los costos de comunicacion disiparıan cualquiermejora en el desempeno del programa.

Clase No. 16 2006

Page 75: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Una idea mas sofisticada es usar los llamados AGs de granogrueso. En este caso, la poblacion del AG se divide en multiplessubpoblaciones o demes que evolucionan de manera aislada lamayor parte del tiempo, aunque intercambian individuosocasionalmente.

Clase No. 16 2006

Page 76: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

A este intercambio de individuos se le llama migracion, y seconsidera como un nuevo operador genetico. Ademas de requerirseparametros adicionales en este caso, el comportamiento de un AGde grano grueso es diferente del de un AG convencional.

Clase No. 16 2006

Page 77: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Clase No. 16 2006

Page 78: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

A los AGs de grano grueso se les suele llamar tambien AGsdistribuidos, porque suelen implementarse en computadorasMIMD con memoria distribuida. Asimismo, algunos autores losllaman tambien AGs de isla, haciendo alusion a un modelopoblacional usado en genetica en el cual se consideran demesrelativamente aislados. A este modelo se le conoce como modelode isla.

Clase No. 16 2006

Page 79: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Los AGs de grano grueso son muy populares debido a variasrazones:

Son una extension muy simple de los AGs seriales.Simplemente se toman unos cuantos AGs convencionales(seriales), se corre cada uno de ellos en un procesador diferentey, a ciertos intervalos de tiempo, se intercambian unos cuantosindividuos entre ellos.

Clase No. 16 2006

Page 80: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Aunque no se tenga acceso a una arquitectura paralela, puedeimplementarse un AG de grano grueso a traves de unasimulacion efectuada en una red de estaciones de trabajo, oincluso en una computadora con un solo procesador haciendo lasimulacion mediante software (usando por ejemplo MPI oPVM).

Clase No. 16 2006

Page 81: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Se requiere relativamente de poco esfuerzo para convertir unAG serial en un AG de grano grueso. La mayor parte de laprogramacion permanece igual, y solo se requieren ciertasrutinas adicionales para implementar la migracion.

Clase No. 16 2006

Page 82: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Los parametros que requieren los AGs de grano grueso son:

Numero de demes (esto puede estar determinado por elhardware disponible).

Tamano de cada deme.

Estructura de la interconexion (o sea, la topologıa).

Clase No. 16 2006

Page 83: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Parametros (continua):

Intervalo de migracion

Tasa de migracion

Radio de seleccion

Radio de migracion

Clase No. 16 2006

Page 84: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

De entre estos parametros, algunos como la topologıa, juegan unpapel preponderante en el desempeno del AG. La topologıadetermina que tan rapido (o que tan lentamente) se disemina unabuena solucion hacia los otros demes.

Clase No. 16 2006

Page 85: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Si se usa una topologıa dispersamente conectada (con un diametrogrande), las soluciones se diseminaran mas lentamente y los demesestaran mas aislados entre sı, permitiendo la aparicion desoluciones diferentes, favoreciendo probablemente la diversidad.

Clase No. 16 2006

Page 86: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

La topologıa juega tambien un papel preponderante en el costo delas migraciones.

Por ejemplo, una topologıa densamente conectada puede promoveruna mejor mezcla de individuos, pero a un costo computacionalmas alto.

Clase No. 16 2006

Page 87: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Se sabe, por ejemplo, que una topologıa densa tiende a encontrarsoluciones globales con un menor numero de evaluaciones de lafuncion de aptitud que si se usa una topologıa dispersa.

Clase No. 16 2006

Page 88: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Tambien es posible usar topologıas dinamicas, en las que losdemes no estan limitados a poder comunicarse solo con un ciertoconjunto predefinido de demes, sino que envıa sus migrantes aaquellos demes que satisfacen ciertos criterios.

Clase No. 16 2006

Page 89: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

La idea de este esquema es que puedan identificarse los demesdonde los migrantes tienen mayores probabilidades de produciralgun efecto. Usualmente, se usa la diversidad como el criterioprincipal para definir que tan adecuado es un cierto deme.

Clase No. 16 2006

Page 90: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Algunas topologıas posibles son las siguientes:

Clase No. 16 2006

Page 91: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Es importante mantener en mente la idea de que una topologıa esuna estructura logica que puede diferir de la estructura dehardware disponible. Es decir, la topologıa de un AG paralelo nonecesariamente debe coincidir con la de nuestra computadora. Elproblema de hacer esto, sin embargo, es que los costos decomunicacion resultantes pueden ser muy elevados.

Clase No. 16 2006

Page 92: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Relacionado con las topologıas se encuentra el concepto devecindario.

El vecindario se refiere al area dentro de la cual puede moverse unmigrante de un cierto deme.

Clase No. 16 2006

Page 93: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Asociado al vecindario se encuentra el concepto de radio deseleccion, que se refiere a la cantidad de vecinos entre los cuales sepuede efectuar la seleccion.

Es comun usar un radio de seleccion de cero, o sea, efectuar laseleccion solo dentro del mismo deme, aunque cualquier otro valores valido.

Clase No. 16 2006

Page 94: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Es comun usar vecindarios compactos en computacion evolutiva,motivados por el hecho de qe en la naturaleza, las poblacionesestan limitadas geograficamente.

En AGs paralelos, es facil definir vecindarios compactos, y deahı que sean tan populares en computacion evolutiva.

Clase No. 16 2006

Page 95: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otra forma de paralelizar un AG es usando un esquema de granofino.

En este caso, la poblacion de un AG se divide en un gran numerode subpoblaciones muy pequenas. De hecho, el caso ideal serıa tenersolo un individuo por cada unidad de procesamiento disponible.

Este modelo es adecuado para arquitecturas masivas en paralelo,aunque puede implementarse en cualquier tipo de multiprocesador.

Clase No. 16 2006

Page 96: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

El problema del paralelismo de grano fino es que el costo decomunicacion entre los procesadores puede hacer que el desempenodel algoritmo se degrade con relativa facilidad.

Es comun implementar este tipo de paralelismo colocando losindividuos en una malla bidimensional, debido a que esta es latopologıa usada en hardware para muchas arquitecturas masivas enparalelo.

Clase No. 16 2006

Page 97: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Resulta difıcil comparar de manera justa a un AG paralelo degrano fino con uno de grano grueso, y los pocos estudios al respectosuelen enfatizar solo una cierta metrica (por ejemplo, la calidad delas soluciones encontradas).

De tal forma, no hay un claro ganador entre estos 2 esquemas.

Clase No. 16 2006

Page 98: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otra posibilidad para implementar un AG paralelo es combinar losesquemas descritos anteriormente. Debe cuidarse, sin embargo, deque el esquema resultante no sea mas complejo que los esquemasoriginales.

A continuacion veremos varios hıbridos posibles.

Clase No. 16 2006

Page 99: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Un posible hıbrido consiste en usar un AG de grano fino a bajonivel y otro de grano grueso a alto nivel.

Clase No. 16 2006

Page 100: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Un ejemplo de este tipo de hıbrido es el AG propuesto por Gruau(1994), en el cual la poblacion de cada deme se coloca en unamalla bidimensional y los demes se conectan entre sı en forma detoroide bidimensional.

La migracion entre los demes vecinos ocurre a intervalos regulares.

Clase No. 16 2006

Page 101: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otro posible esquema hıbrido consiste en usar una forma deparalelizacion global en cada uno de los demes de un AG de granogrueso.

Clase No. 16 2006

Page 102: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

En este caso, la migracion ocurre entre los demes de manerasimilar a un AG de grano grueso, pero la evaluacion de losindividuos se maneja en paralelo. Esta tecnica no introduce nuevosproblemas analıticos, y puede ser muy util cuando se trabaja conaplicaciones en las cuales la mayor parte del tiempo deprocesamiento lo consume la evaluacion de la funcion de aptitud.

Clase No. 16 2006

Page 103: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Un tercer metodo hıbrido podrıa consistir en usar un AG de granogrueso tanto a bajo como a alto nivel.

Clase No. 16 2006

Page 104: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

En este caso, la idea es forzar el mezclado panmıtico a bajo nivelusando una alta tasa de migracion y una topologıa densa, y usaruna baja tasa de migracion a alto nivel. Este hıbrido serıaequivalente en complejidad a un AG de grano grueso, siconsideramos a los grupos de subpoblaciones panmıticas como unsolo deme. Segun Cantu Paz (1997), este esquema nunca ha sidoimplementado.

Clase No. 16 2006

Page 105: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otra forma de hablar sobre AGs paralelos, es desde la perspectivadel tipo de arquitectura computacional a utilizarse. Desde estepunto de vista, podemos hablar fundamentalmente de usar:

1) SIMD

2) MIMD

Clase No. 16 2006

Page 106: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Un ejemplo de arquitectura SIMD es el siguiente:

en este caso, cada EP tiene su propia memoria y controla su propioespacio de direccionamiento, aunque tambien podrıa haber una solamemoria global compartida por todos los EPs.

Clase No. 16 2006

Page 107: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Las arquitecturas SIMD normalmente tienen una forma demalla (mesh) o de toroide.

Esta arquitectura (SIMD) suele usarse para AGs de grano fino(o sea, para demes de tamano reducido: 12 a 15 individuoscada uno).

Sin embargo, puede implementarse un AG de grano grueso conla misma arquitectura si se usan tamanos mayores de demes(p.ej. 50 o 100 individuos).

Clase No. 16 2006

Page 108: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

El grado de conectividad es mucho mas importante que laestructura de las interconexiones en una arquitectura SIMD. Sesabe que un grado de conectividad de alrededor de 6 esrazonablemente bueno.

El uso de una arquitectura SIMD esta asociado con el uso demigracion y dicho operador puede complicarse bastante,dependiendo del grado de conectividad de la arquitectura

Clase No. 16 2006

Page 109: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Dos son los parametros principales relacionados con la migracion:

1) Vecindario de migracion: hacia que demes podemos migrarun individuo.

2) Probabilidad de migracion: ¿cual es la probabilidad deaceptar a un migrante en un cierto deme (suelen usarse valoresaltos, p.ej. 0.8)?

Clase No. 16 2006

Page 110: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Los puntos importantes relacionados con la migracion son 2:

1) ¿A quien importar en una poblacion?

2) ¿A quien reemplazar en una poblacion?

Clase No. 16 2006

Page 111: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Existen varios criterios para llevar a cabo estas 2 operaciones:

Importar al azar y reemplazar al azar

Importar al azar y reemplazar al peor individuo en el deme

Importar el mejor y reemplazar al azar

Importar el mejor y reemplazar el peor

Clase No. 16 2006

Page 112: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Se sabe que la polıtica de reemplazo no es muy importante (noparece tener un efecto significativo en el desempeno de un AGparalelo).

Sin embargo, el criterio de importacion sı es importante(importar al mejor parece funcionar bien).

Clase No. 16 2006

Page 113: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Por otro lado, tenemos las arquitecturas MIMD:

Clase No. 16 2006

Page 114: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Las arquitecturas MIMD pueden ser de 2 tipos:

1) Descentralizadas: tienen poca o ninguna memoria global.

2) Centralizadas: cuentan con una memoria global compartida.

Las arquitecturas MIMD suelen asociarse con los AGs de granogrueso.

Clase No. 16 2006

Page 115: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

En la arquitectura MIMD suele tenerse un numero pequeno dedemes (normalmente, menor a 40), pero el tamano de cadauno de ellos suele ser grande.

Es posible usar la misma representacion para cada deme, omezclar diferentes representaciones.

Clase No. 16 2006

Page 116: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Los demes suelen diferenciarse debido al particionamiento delespacio de busqueda.

Las polıticas de migracion, en este caso, estan dictadas por elproposito de los demes.

Clase No. 16 2006

Page 117: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Una topologıa que suele usarse con las arquitecturas MIMD es lade arbol, como se ilustra en esta figura:

Clase No. 16 2006

Page 118: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

La migracion en este caso introduce 2 nuevos parametros:

1) ¿Con que frecuencia exportar? (siempre se exporta el mejor). Sise hace con mucha frecuencia, se produce disrupcion. Si se hacecon poca frecuencia, habra poca recombinacion y puedeproducirse convergencia prematura en ciertos demes.

Clase No. 16 2006

Page 119: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

2) ¿A que deme exportar? Normalmente se usa una de las 2siguientes opciones:

• Exportar el mejor individuo hacia el peor deme.

• Exportar hacia el deme donde se tenga una mejorcorrespondencia (matching) con respecto al individuoelitista, medida usando la distancia de Hamming (en elgenotipo).

Clase No. 16 2006

Page 120: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otra posibilidad para una arquitectura MIMD es usar unatopologıa de anillo:

En este tipo de topologıa, la busqueda puede hacerse mas localcambiando la precision de la representacion.

Clase No. 16 2006

Page 121: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otra posibilidad es usar una topologıa de grafo con kinterconexiones, o una topologıa de estrella:

En esta topologıa, se usan tıpicamente menos de 100 procesadores.

Clase No. 16 2006

Page 122: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Algunas opciones interesantes de la topologıa de grafo con kinterconexiones (o de estrella) son las siguientes:

1) Mientras que la arquitectura es MIMD, pueden usarse lamisma estructura y las mismas opciones para migracion quecon la arquitectura SIMD.

2) Pizarrones: Usando datos globales, cada deme decide porsı mismo cuando cambiar su “direccion” de busqueda.

Clase No. 16 2006

Page 123: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Otro punto interesante relacionado con los AGs paralelos son lasmetricas.

Normalmente, se consideran 2 de las metricas usadas con AGssimples:

Velocidad de convergencia: Tiempo (generaciones) enalcanzar el optimo.

Clase No. 16 2006

Page 124: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Precision de la respuesta obtenida: ¿Que tan buena es lasolucion con respecto a la obtenida con otras tecnicas?

Diversidad: El grado en el cual los organismos (de una sola ode varias poblaciones) permanecen diferentes.

Clase No. 16 2006

Page 125: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Sin embargo, hay al menos una metrica adicional que es exclusivade los AGs paralelos:

Velocidad de propagacion de los esquemas: ¿que tan biendistribuidos estan los esquemas “aptos”? O sea, ¿que tan utilresulta la migracion?

Clase No. 16 2006

Page 126: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Existen expresiones estandar para medir la diversidad de un AG(serial o paralelo). Consideremos por ejemplo la siguiente:

l = Longitud cromosomicam = numero de demes

n = tamano de cada demebit (·) = Valor del i-esimo bit en el k-esimo

miembro del j-esimo demeδ = diversidad

Clase No. 16 2006

Page 127: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

En esta formula,δ ∈ [0, 1] representa la diversidad de una poblacion(o conjunto de poblaciones).

Si las cadenas consisten de puros ceros, δ = 0.Si las cadenas consisten de puros unos, δ = 0.Si las cadenas son del tipo 101010...10, δ = 0.

Clase No. 16 2006

Page 128: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

¿A que se refiere la velocidad de propagacion de esquemas?

Se refiere no solo al porcentaje de demes en los que un ciertoesquema esta presente, sino tambien al porcentaje en el cualdicho esquema esta presente en un deme vecino.

Clase No. 16 2006

Page 129: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

¿Como medimos la propagacion de esquemas?

Idealmente, deberıamos conocer de antemano cuales son losbuenos esquemas.

Esto, sin embargo, es imposible en la practica.

Clase No. 16 2006

Page 130: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Una alternativa viable es:

Escoger varios esquemas de antemano.

Hacer que la propagacion de esquemas sea la fraccion maximade demes en la cual aparece un esquema.

Clase No. 16 2006

Page 131: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase16-2006.pdf · Introducci´on a la Computaci´on Evolutiva Dr. Carlos A. Coello Coello Diseno˜

Introduccion a la Computacion Evolutiva Dr. Carlos A. Coello Coello

AGs Paralelos

Ejemplo del calculo de la propagacion de esquemas (SP):

Esquemas seleccionados % de demes en los que aparecen

*1*10* 3/9

*110** 4/9

*10*0* 5/9

En este caso: SP = 5/9

Clase No. 16 2006