Transcript
Page 1: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Introduccion a la Computacion Evolutiva

Dr. Carlos A. Coello Coello

Departamento 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. 12 2018

Page 2: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Fundamentos Teoricos de los Algoritmos

Geneticos

Algunos autores (por ejemplo De Jong) han argumentadoelocuentemente que, contrario a lo que se cree, los AGs no sonoptimizadores, sino que mas bien son satisfactores de metas (odecisiones) secuenciales que pueden modificarse para actuarcomo optimizadores de funciones.

Clase No. 12 2018

Page 3: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Fundamentos Teoricos de los Algoritmos

Geneticos

Si bien en la practica han tenido un gran exito como optimizadores,la realidad es que los AGs suelen tener dificultades para encontrarmaximos globales en ciertas clases de problemas (como por ejemploel del viajero) sumamente susceptibles a la representacion oaquellos en los que la evaluacion de la funcion de aptitud resultasumamente costoso.

Clase No. 12 2018

Page 4: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Fundamentos Teoricos de los Algoritmos

Geneticos

La teorıa de los esquemas se ha usado por algunos en lacomunidad de los AGs para proponer una respuesta a lapregunta: “¿que hace que un problema sea difıcil para un AG?”La panoramica actual es que la competencia entre los esquemasprocede aproximadamente de particiones de esquemas de bajoorden a particiones de esquemas de orden alto.

Clase No. 12 2018

Page 5: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

La panoramica actual es que la competencia entre los esquemasprocede aproximadamente de particiones de esquemas de bajoorden a particiones de esquemas de orden alto. Bethke [1981]infirio que serıa difıcil para un AG encontrar el optimo de unafuncion de aptitud si las particiones de bajo orden contenıaninformacion erronea acerca de las particiones de orden mas alto.

Clase No. 12 2018

Page 6: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Consideremos un ejemplo, un tanto extremo, de lo dicho en elpunto anterior. Llamemos al esquema H “ganador” si su aptitudestatica promedio es la mas alta en su particion. Supongamos quecualquier esquema cuyos bits definidos sean todos unos es unganador, excepto por el esquema de longitud L 1111 . . . 1, yhagamos que 0000 . . . 0 sea un ganador.

Clase No. 12 2018

Page 7: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

En principio, sera difıcil para un AG encontrar 0000..,0, porquetoda particion de bajo orden da informacion equivocada sobredonde es mas probable encontrar el optimo. A este tipo de funcionde aptitud se le llama “con decepcion total”.

Clase No. 12 2018

Page 8: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

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

Clase No. 12 2018

Page 9: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Tambien es posible definir funciones de aptitud con menorescantidades de decepcion (es decir, algunas particiones daninformacion correcta acerca de la localizacion del optimo). Bethke[1981] uso la “Transformada de Walsh” (analoga a la transformadade Fourier) para disenar funciones de aptitud con varios grados dedecepcion. La transformada de Walsh constituyen un mediofacilmente manipulable de analisis de paisajes de busquedabinarios, con el valor agregado de que hay una correspondencianatural entre las particiones de Walsh y los esquemas.

Clase No. 12 2018

Page 10: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Hoy en dıa, la investigacion en torno a la decepcion ha disminuidoconsiderablemente, aunque existen todavıa varios investigadoresinteresados en esta area.

Clase No. 12 2018

Page 11: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Varios investigadores han cuestionado la relevancia del analisis delos esquemas en la comprension del funcionamiento verdadero delos AGs [Grefenstette, 1993; Mason, 1993; Peck, 1995].

Clase No. 12 2018

Page 12: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Por ejemplo, Grefenstette [1993] afirma que mucho del trabajoefectuado en teorıa de los AGs ha asumido un version mas fuerte delo que el llama la “Hipotesis Estatica de los BloquesConstructores” (HEBC):

Dada cualquier particion de esquemas de bajo orden yreducida longitud de definicion, se espera que un AGconverja al hiperplano (en esa particion) con la mejoraptitud promedio estatica (el ‘ganador esperado’).

Clase No. 12 2018

Page 13: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Esta formulacion es mas fuerte que la original, puesto que dice queel AG convergera a los “verdaderos” ganadores de cadacompetencia entre particiones cortas y de bajo orden en vez de queconverja a esquemas con la mejor aptitud observada.

Clase No. 12 2018

Page 14: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

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 con decepcionseran difıciles para un AG.

Clase No. 12 2018

Page 15: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Grefenstette proporciona 2 razones posibles por las que la HEBCpuede fallar:

1. Convergencia Colateral: Una vez que la poblacion comienzaa converger hacia algun punto, las muestras de algunosesquemas dejaran de ser uniformes.

Clase No. 12 2018

Page 16: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Por ejemplo, supongamos que las instancias de 111 ∗ . . . ∗ son muyaptas y que la poblacion ha convergido mas o menos a esos bits (osea, casi todos los miembros de la poblacion son una instancia deese esquema). Entonces casi todas las muestras de, por ejemplo,∗ ∗ ∗000 ∗ ...∗, seran realmente muestras de 111000 ∗ ...∗. Esto puedeimpedir que el AG haga una estimacion precisa de u(∗ ∗ ∗000 ∗ ...∗).Aquı la u(H) denota la aptitud promedio estatica de un esquemaH (el promedio sobre todas las instancias del esquema en el espaciode busqueda).

Clase No. 12 2018

Page 17: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

2. Elevada Varianza de la Aptitud: Si la aptitud promedioestatica de un esquema tiene una varianza alta, el AG puede noser capaz de efectuar una estimacion precisa de esta aptitudpromedio estatica.

Clase No. 12 2018

Page 18: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

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 AG converge a lassubregiones de aptitud elevada de este esquema. Esto sesga a todaslas muestras subsecuentes de este esquema, impidiendo que sepuede obtener un estimado preciso de su aptitud estatica.

Clase No. 12 2018

Page 19: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Esto tiene relacion directa con la importancia de la decepcion en elcomportamiento de los AGs, porque las funciones de aptitud condecepcion se definen completamente en terminos de las aptitudesestaticas promedio de los esquemas.

Clase No. 12 2018

Page 20: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

¿Que es lo que hace difıcil

un problema para un AG?

Para ilustrar su argumento, Grefenstette [1993] da ejemplos deproblemas con decepcion que son faciles de optimizar con un AG yde problemas que no tienen decepcion y que son arbitrariamentedifıciles para un AG. Su conclusion es de que la decepcion no esuna causa necesaria ni suficiente para que un AG tengadificultades, y de que su relevancia en el estudio de los AGs debeser demostrada todavıa.

Clase No. 12 2018

Page 21: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

El Teorema de los Esquemas, por sı mismo, no hace referencia a losefectos positivos de la seleccion (asignar muestras cada vez mayoresde los esquemas que han mostrado tener un mejor desempeno), sinounicamente a los aspectos de perturbacion de la cruza. Tampocoaborda la pregunta de como hace la cruza para recombinar losesquemas mas aptos, aunque esta parece ser la mayor fuente depoder del AG.

Clase No. 12 2018

Page 22: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

La hipotesis de los bloques constructores dice que la cruza combinaesquemas cortos y de alto desempeno demostrado para formarcandidatos mas aptos, pero no da una descripcion detallada decomo ocurre esta combinacion.

Clase No. 12 2018

Page 23: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

Para investigar el procesamiento de esquemas y la recombinacionen mas detalle, Stephanie Forrest, John Holland y Melanie Mitchell[1993] disenaron ciertos paisajes de aptitud llamados de laCarretera Real (Royal Road), que intentaron capturar la esenciade los bloques constructores en una forma idealizada.

Clase No. 12 2018

Page 24: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

La Hipotesis de los Bloques Constructores sugiere 2 caracterısticasde los paisajes de aptitud que son particularmente relevantes a losAGs:

1. La presencia de esquemas cortos, de bajo orden y altamenteaptos, y

2. La presencia de “escalones” intermedios (esquemas de ordenintermedio de aptitud mas alta que resultan de combinacionesde los esquemas de orden menor y que, en turno, puedencombinarse para crear esquemas de aptitud aun mayor).

Clase No. 12 2018

Page 25: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

Las funciones que disenaron Mitchell et al. [1993] se esperaba que(siguiendo la hipotesis de los bloques constructores) tenderıan una“carretera real” al AG de manera que pudiera llegar facilmente a lacadena optima. Asimismo, la hipotesis era que las tecnicasescalando la colina tendrıan dificultades con estas funciones, porquese necesitaba optimizar un gran numero de posiciones de la cadenasimultaneamente para moverse de una instancia de bajo orden auna de orden intermedio o alto.

Clase No. 12 2018

Page 26: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

R1(x) =8∑

i=1

ciδi(x) (1)

δi(x) =

1 si x ∈ Si0 en caso contrario

(2)

donde: Si es un conjunto predefinido de esquemas y ci soncoeficientes asignados a los esquemas. En este caso, ci = 8 paratoda i = 1, . . . 8.

Clase No. 12 2018

Page 27: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

En los experimentos se utilizo seleccion proporcional contruncamiento sigma. El numero esperado de copias de un individuocon adaptacion Fi es:

Fi − F2σ

+ 1 (3)

donde F denota el valor promedio de adaptacion en la poblacion yσ su desviacion estandar. Se uso un porcentaje de cruza de 0.7 yuno de mutacion de 0.005.

Clase No. 12 2018

Page 28: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

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 cadena resultante.

3. Si alguna de las cadenas generadas posee una mejor aptitud que las

obtenidas hasta ese momento, llamarla la cima actual.

4. Si no hay incrementos en la aptitud, almacenar la cima actual e ir al

paso 1; si no, ir al paso 2 con la nueva cima actual.

5. Cuando se hayan efectuado un total de E evaluaciones, regresar la

cima actual encontrada hasta ahora.

Clase No. 12 2018

Page 29: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

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 cima actual, 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 la cima actual e

ir al paso 1.

4. Regresar la cima actual despues de E evaluaciones.

Clase No. 12 2018

Page 30: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

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 una aptitud mayor o igual a la

de la cima actual, llamarla cima actual.

3. Ir al paso 2 hasta que haya sido encontrada la cadena de mejor aptitud

o hasta que se hayan hecho E evaluaciones.

4. Regresar la cima actual.

Clase No. 12 2018

Page 31: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

Aunque estas funciones estaban disenadas para hacer que un AGtuviese un mucho mejor desempeno que los hillclimbers, ocurrieroncosas extranas en los experimentos. Uno de los hillclimbers queusaron (el RHMC) supero por mucho al algoritmo genetico(encontro la solucion 10 veces mas rapido que el AG).

Clase No. 12 2018

Page 32: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

Tras efectuar un analisis de la funcion en la que el AG tuvoproblemas, se determino que una de las causas fueron loshitchhikers, que limita seriamente el paralelismo implıcito del AGrestringiendo los esquemas muestreados en ciertos lugares. Estosgenes parasitos limitan el efecto de la cruza para recombinarbloques constructores, y hacen que converjan hacia esquemasequivocados en diversas particiones. Sin embargo, este fenomeno nodebe resultar demasiado sorprendente si se considera que se haobservado en la genetica real.

Clase No. 12 2018

Page 33: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

Para lidiar con este problema se propuso un Algoritmo GeneticoIdealizado, y se concluyeron varias cosas importantes en torno acomo debe disenarse un algoritmo genetico convencional paraevitar el hitchhiking:

1. La poblacion tiene que ser suficientemente grande, el procesode seleccion debe ser suficientemente lento, y el porcentaje demutacion debe ser suficientemente alto para asegurar que nohaya ninguna posicion que permanezca fija con un solo valor enninguna cadena.

Clase No. 12 2018

Page 34: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

2. La seleccion tiene que ser suficientemente fuerte como parapreservar los esquemas deseados que se han descubierto, perotambien tiene que ser suficientemente lenta (o, de maneraequivalente, la aptitud relativa de los esquemas deseables notraslapados tiene que ser suficientemente pequena) paraprevenir que ocurra algun hitchhiking significativo en algunosesquemas altamente aptos que pueda eliminar esquemasdeseables de otras partes de la cadena.

Clase No. 12 2018

Page 35: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

3. El porcentaje de cruza tiene que ser tal que el tiempo en queocurra una cruza que combine dos esquemas deseados seapequeno con respecto al tiempo de descubrimiento de losesquemas deseados.

Clase No. 12 2018

Page 36: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Las Funciones de la Carretera Real

Estos mecanismos no son compatibles entre sı. Por ejemplo, un altoporcentaje de mutacion esta en contraposicion con una seleccionfuerte. Por lo tanto, debe cuidarse de que haya algun equilibrio deestos puntos a la hora de aplicarlos.

Clase No. 12 2018

Page 37: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 38: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 39: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 40: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 41: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 42: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 43: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 44: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 45: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 46: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 47: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 48: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 49: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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)

2

f(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. 12 2018

Page 50: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 51: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 52: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

Diseno de Funciones Deceptivas

Graficamente, podemos representar el tipo II de la manerasiguiente:

f > f

10

01

11

aptitud

TIPO II:00 00

atractor

01

Clase No. 12 2018

Page 53: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 54: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 55: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 56: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 57: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 58: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 59: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 60: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 61: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 62: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 63: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 64: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 65: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 66: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 67: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 68: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 69: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 70: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 71: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 72: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 73: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 74: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 75: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 76: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 77: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 78: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 79: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 80: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 81: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 82: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 83: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 84: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 85: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 86: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 87: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 88: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 89: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 90: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 91: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 92: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 93: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 94: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 95: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 96: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 97: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 98: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 99: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 100: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 101: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 102: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 103: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 104: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

AGs Paralelos

Clase No. 12 2018

Page 105: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 106: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 107: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 108: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 109: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 110: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 111: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 112: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

AGs Paralelos

Clase No. 12 2018

Page 113: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 114: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 115: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 116: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 117: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 118: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 119: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 120: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 121: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 122: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 123: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 124: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 125: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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

AGs Paralelos

Algunas topologıas posibles son las siguientes:

Clase No. 12 2018

Page 126: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 127: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 128: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 129: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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 que 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. 12 2018

Page 130: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018

Page 131: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase12-2018.pdf · Clase No. 12 2018. Introducci´on a la Computaci´on Evolutiva Dr. Carlos A

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. 12 2018


Recommended