83
Introducci´ on a la Computaci´ on Evolutiva Dr. Carlos A. Coello Coello Introducci´ on a la Computaci´ on Evolutiva Dr. Carlos A. Coello Coello Departamento 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. 3 2017

Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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. 3 2017

Page 2: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos Biologicos

Se denomina migracion a la transferencia de (los genes de) unindividuo de una subpoblacion a otra.

Clase No. 3 2017

Page 3: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos Biologicos

Se dice que un gene es epistatico cuando su presencia suprime elefecto de un gene que se encuentra en otra posicion.

Los genes epistaticos son llamados algunas veces genes deinhibicion por el efecto que producen sobre otros genes.

Clase No. 3 2017

Page 4: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Tipos de Aprendizaje

Algunos cientıficos (como Atmar) consideran que existen 3 tiposdistintos de inteligencia en los seres vivos:

a) Filogenetica

b) Ontogenetica

c) Sociogenetica

Clase No. 3 2017

Page 5: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Inteligencia Filogenetica

El aprendizaje se efectua en este caso a nivel de las especies. Launidad de mutabilidad es un solo par base nucleotido, y el acervode la inteligencia es el genoma de la especie.

Clase No. 3 2017

Page 6: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Inteligencia Ontogenetica

En este caso, el aprendizaje se efectua a nivel del individuo. Launidad de mutabilidad (o cambio) es la propension de una neuronapara dispararse y la sensibilidad del sitio receptor de dichaneurona. El acervo de este tipo de inteligencia es la memorianeuronal y hormonal (a la supuesta ruta de conexiones neuronalesaprendidas se le llama “engrama”).

Clase No. 3 2017

Page 7: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Inteligencia Sociogenetica

En este caso, el aprendizaje se efectua a nivel del grupo. La unidadde mutabilidad es la “idea”, o la experiencia compartida y el acervode este tipo de inteligencia es la cultura.

Clase No. 3 2017

Page 8: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

El algoritmo basico de un AG es el siguiente:

- Generar (aleatoriamente) una poblacion inicial

- Calcular aptitud de cada individuo

- Seleccionar (probabilısticamente) en base a aptitud

- Aplicar operadores geneticos (cruza y mutacion) para generarla siguiente poblacion

- Ciclar hasta que cierta condicion se satisfaga

Clase No. 3 2017

Page 9: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Seleccion Proporcional (Ruleta)

Cromosoma Num. Cadena Aptitud % del Total

1 11010110 254 24.5

2 10100111 47 4.5

3 00110110 457 44.1

4 01110010 194 18.7

5 11110010 85 8.2

Total 1037 100.0

Clase No. 3 2017

Page 10: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Reproduccion Usando Un Punto de Cruza

Uso de un solo punto de cruza entre 2 individuos. Observe que cadapareja de cromosomas da origen a 2 descendientes para la siguientegeneracion.

Clase No. 3 2017

Page 11: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Reproduccion Usando Dos Puntos de Cruza

Uso de 2 puntos de cruza entre 2 individuos. Note como en estecaso se mantienen los genes de los extremos, y se intercambian losdel centro.

Clase No. 3 2017

Page 12: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Cruza Uniforme

Cruza Uniforme con probabilidad de 0.5. Notese como la mitad delos genes de cada hijo proviene de cada uno de sus padres. La ideade este algoritmo es ir eligiendo, posicion por posicion, el padre queaportara un gen a cada hijo, usando la probabilidad definida por elusuario.

Clase No. 3 2017

Page 13: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Mutacion

Clase No. 3 2017

Page 14: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Denominamos cromosoma a una estructura de datos quecontiene una cadena de parametros de diseno o genes. Estaestructura de datos puede almacenarse, por ejemplo, como unacadena de bits o un arreglo de enteros.

Clase No. 3 2017

Page 15: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama gene a una subseccion de un cromosoma que(usualmente) codifica el valor de un solo parametro.

Clase No. 3 2017

Page 16: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina genotipo a la codificacion (por ejemplo, binaria)de los parametros que representan una solucion del problema aresolverse.

Clase No. 3 2017

Page 17: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina fenotipo a la decodificacion del cromosoma. Esdecir, a los valores obtenidos al pasar de la representacion(binaria) a la usada por la funcion objetivo.

Clase No. 3 2017

Page 18: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina individuo a un solo miembro de la poblacion desoluciones potenciales a un problema. Cada individuo contieneun cromosoma (o de manera mas general, un genoma) querepresenta una solucion posible al problema a resolverse.

Clase No. 3 2017

Page 19: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina aptitud al valor que se asigna a cada individuo yque indica que tan bueno es este con respecto a los demas parala solucion de un problema.

Si f(x) = x2 entonces f(10102) = 100

Clase No. 3 2017

Page 20: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama paisaje de aptitud (fitness landscape) a lahipersuperficie que se obtiene al aplicar la funcion de aptitud acada punto del espacio de busqueda.

Clase No. 3 2017

Page 21: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina alelo a cada valor posible que puede adquirir unacierta posicion genetica. Si se usa representacion binaria, unalelo puede valer 0 o 1.

Clase No. 3 2017

Page 22: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Llamamos generacion a una iteracion de la medida de aptitudy a la creacion de una nueva poblacion por medio deoperadores de reproduccion.

Clase No. 3 2017

Page 23: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Una poblacion puede subdividirse en grupos a los que sedenomina subpoblaciones. Normalmente, solo pueden cruzarseentre sı los individuos que pertenezcan a la mismasubpoblacion.

Clase No. 3 2017

Page 24: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

En los esquemas con subpoblaciones, suele permitirse lamigracion de una subpoblacion a otra (sobre todo en elcontexto de AGs paralelos).

Clase No. 3 2017

Page 25: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Al hecho de permitir la cruza solo entre individuos de la mismasubpoblacion se le llama especiacion en una emulacion delfenomeno natural del mismo nombre.

Clase No. 3 2017

Page 26: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama migracion a la transferencia de (los genes de) unindividuo de una subpoblacion a otra.

Clase No. 3 2017

Page 27: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Hay un tipo de poblacion usada en CE en la que cualquierindividuo puede reproducirse con otro con una probabilidad quedepende solo de su aptitud. Se le llama poblacion panmıtica.

Clase No. 3 2017

Page 28: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Lo opuesto de la poblacion panmıtica es permitir lareproduccion solo entre individuos de la misma subpoblacion.La mayor parte de los AEs convencionales usan poblacionespanmıticas.

Clase No. 3 2017

Page 29: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Debido a ruidos estocasticos, los AEs tienden a converger a unasola solucion. Para evitar eso, y mantener la diversidad, existentecnicas que permiten crear distintos nichos para losindividuos.

Clase No. 3 2017

Page 30: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama epıstasis a la interaccion entre los diferentes genes deun cromosoma. Se refiere a la medida en que la contribucion deaptitud de un gene depende de los valores de los otros genes.

Clase No. 3 2017

Page 31: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Cuando un problema tiene poca epıstasis (o ninguna), susolucion es trivial (un algoritmo escalando la colina essuficiente para resolverlo).

Clase No. 3 2017

Page 32: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Cuando un problema tiene una epıstasis elevada, el problemasera deceptivo, por lo que sera muy difıcil de resolver por unAE.

Clase No. 3 2017

Page 33: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama bloque constructor a un grupo pequeno y compactode genes que han co-evolucionado de tal forma que suintroduccion en cualquier cromosoma tiene una altaprobabilidad de incrementar la aptitud de dicho cromosoma.

Clase No. 3 2017

Page 34: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama decepcion a la condicion donde la combinacion debuenos bloques constructores llevan a una reduccion deaptitud, en vez de un incremento. Este fenomeno fue sugeridooriginalmente por Goldberg para explicar el mal desempeno delAG en algunos problemas.

Clase No. 3 2017

Page 35: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se llama operador de reproduccion a todo aquel mecanismoque influencia la forma en que se pasa la informacion geneticade padres a hijos. Los operadores de reproduccion caen en 3amplias categorıas:

a) Cruza

b) Mutacion

c) Reordenamiento

Clase No. 3 2017

Page 36: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

La cruza es un operador que forma un nuevo cromosomacombinando partes de cada uno de sus cromosomas padres.

Clase No. 3 2017

Page 37: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina mutacion a un operador que forma un nuevocromosoma a traves de alteraciones (usualmente pequenas) delos valores de los genes de un solo cromosoma padre.

Clase No. 3 2017

Page 38: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Un operador de reordenamiento es aquel que cambia elorden de los genes de un cromosoma, con la esperanza dejuntar los genes que se encuentren relacionados, facilitandoası la produccion de bloques constructores.

Clase No. 3 2017

Page 39: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

La inversion es un ejemplo de un operador de reordenamientoen el que se invierte el orden de todos los genes comprendidosentre 2 puntos seleccionados al azar en el cromosoma.

Clase No. 3 2017

Page 40: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

En un AG, cuando una poblacion no tiene variedadrequisito, la cruza no sera util como operador de busqueda,porque tendra propension a simplemente regenerar a los padres.

Clase No. 3 2017

Page 41: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Es importante aclarar que en los AGs los operadores dereproduccion actuan sobre los genotipos y no sobre losfenotipos de los individuos.

Clase No. 3 2017

Page 42: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina elitismo al mecanismo utilizado en algunos AEspara asegurar que los cromosomas de los miembros mas aptosde una poblacion se pasen a la siguiente generacion sin seralterados por ningun operador genetico.

Clase No. 3 2017

Page 43: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Usar elitismo asegura que la aptitud maxima de la poblacionnunca se reducira de una generacion a la siguiente. Sinembargo, no necesariamente mejora la posibilidad de localizarel optimo global de una funcion.

Clase No. 3 2017

Page 44: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Cuando se atraviesa un espacio de busqueda, se denominaexplotacion al proceso de usar la informacion obtenida de lospuntos visitados previamente para determinar que lugaresresulta mas conveniente visitar a continuacion.

Clase No. 3 2017

Page 45: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina exploracion al proceso de visitar regiones delespacio de busqueda completamente nuevas, para ver si puedeencontrarse algo prometedor.

Clase No. 3 2017

Page 46: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

La exploracion involucra grandes saltos hacia lo desconocido.

La explotacion normalmente involucra movimientos finos.

Clase No. 3 2017

Page 47: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

La explotacion es buena para encontrar optimos locales.

La exploracion es buena para evitar quedar atrapado enoptimos locales.

Clase No. 3 2017

Page 48: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Se denomina esquema a un patron de valores de genes de uncromosoma que puede incluir estados ‘no importa’ (don’t care).

Clase No. 3 2017

Page 49: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Conceptos de CE

Usando un alfabeto binario, los esquemas se forman delalfabeto {0, 1,#}. Por ejemplo, el cromosoma 0110 es unainstancia del esquema #1#0 (donde # significa ‘no importa’).

Clase No. 3 2017

Page 50: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Tecnicas de Representacion

Cadenas Binarias (Tradicional)

Codigos de Gray (Binaria)

Punto Flotante (Binaria)

Punto Flotante (Real)

Clase No. 3 2017

Page 51: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Tecnicas de Representacion

Punto Flotante (Entera)

Expresiones S en LISP (Programacion Genetica)

Listas Binarias de Longitud Variable (messy-GA)

Hıbridos (AG Estructurado)

Clase No. 3 2017

Page 52: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Cadenas Binarias

Sugerida por Holland en su libro

Ademas de ser una representacion “universal” para cualquiertipo de alfabetos, Holland justifico el uso de representacionbinaria con un argumento teorico.

Clase No. 3 2017

Page 53: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Cadenas Binarias

Holland favorece el uso de muchos genes con pocos alelos posiblesen vez de contar con pocos genes con muchos alelos posibles.

Teoricamente, la representacion binaria favorece la diversidad y laformacion de buenos bloques constructores.

La representacion binaria es tambien “natural” para lascomputadoras.

Clase No. 3 2017

Page 54: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Cadenas Binarias

Segun Holland, la representacion binaria tiene tambien unajustificacion biologica: en los cromosomas naturales, es mas usualque hayan muchas posiciones y pocos alelos por posicion que pocasposiciones y muchos alelos por posicion.

Clase No. 3 2017

Page 55: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Problemas con las Cadenas Binarias

Escalabilidad

Epıstasis

Representacion natural

Soluciones ilegales

Clase No. 3 2017

Page 56: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Codigos de Gray

Motivacion: Problemas con el mapeo entre genotipo y fenotipo alusar representacion binaria.

Ejemplo:5 (decimal) = 1016 (decimal) = 110

Diferencia de 1 en el espacio fenotıpico, y de 2 en el genotıpico(distancia de Hamming).

Clase No. 3 2017

Page 57: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Codigos de Gray

A este fenomeno se le conoce como risco de Hamming (Hammingcliff ).

Este fenomeno es el que ha propiciado propuestas derepresentaciones que mantengan la propiedad de adyacencia entre 2valores consecutivos. De entre ellas, los denominados codigos deGray se cuentan entre las mas populares.

Clase No. 3 2017

Page 58: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Codigos de Gray

Decimal Binario Codigo de Gray

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

Clase No. 3 2017

Page 59: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Codigos de Gray

Se asume: b =< b1, ..., bm > es un numero binario, yg =< g1, . . . , gm > es un numero de Gray.

procedure Binario-a-Graybegin

g1 = b1

for k = 2 to m dogk = bk−1 XOR bk

end

Clase No. 3 2017

Page 60: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Codigos de Gray

procedure Gray-a-Binariobegin

valor = g1

b1 = valorfor k = 2 to m dobegin

if gk = 1 then valor = NOT valorbk = valor

endend

Clase No. 3 2017

Page 61: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Representacion de Punto Flotante

Binaria

IEEE

Real

Entera

Clase No. 3 2017

Page 62: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Uso de Cadenas Binarias

Podemos discretizar el rango de cada variable fijando unaprecision deseable y posteriormente se tratan esos valores comosi fueran enteros.

Ejemplo:

-1.5 ≤ x ≤ 2.0Precision: 3 dıgitos

Tamano = (int) [log2[(lsup − linf ) ∗ 10precision] + 0.9]Tamano = 12 bits

Clase No. 3 2017

Page 63: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Uso de Cadenas Binarias

Crıticas:

Representacion compacta

Decodificacion eficiente

Problemas ante alta dimensionalidad

Precision limitada

Clase No. 3 2017

Page 64: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Notacion Estandar de la IEEE

Podemos usar cualquier formato estandar del IEEE:

Signo Exponente Mantisa

0 1 0 0 0 1 0 1 1 0 1 0 0 . . . 0

1 bit 8 bits 23 bits

Notacion en exceso -127Rango numerico: 2−126 a 2126

Clase No. 3 2017

Page 65: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Notacion Estandar de la IEEE

Crıticas:

Decodificacion costosa

Mapeo muy complejo entre el genotipo y el fenotipo

Muy susceptible a cambios pequenos en algunos campos (p.ej.el exponente) y poco susceptible a cambios mayores en otros(p.ej. la mantisa)

Clase No. 3 2017

Page 66: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Representacion Real

Podemos usar directamente numeros reales en cada gene:

1.54 -0.29 7.43 -2.15

Realmente estarıamos operando a nivel fenotıpico.

Clase No. 3 2017

Page 67: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Representacion Real

Crıticas:

Requiere de operadores geneticos especiales

Mutacion normalmente mas alta

Los teoricos argumentan que las cardinalidades mas bajas sonlas mejores

La practica parece indicar lo contrario

Clase No. 3 2017

Page 68: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Representacion Entera

Podemos usar:

7 2 9 3 2 0 1 = 72.93201

o algo como:

72945 12902 13001 12000

Clase No. 3 2017

Page 69: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Representacion Entera

Crıticas:

Limitados por la precision

Puede requerir operadores especiales

Compromiso entre la representacion real y la binaria

Ahorros de memoria

Clase No. 3 2017

Page 70: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Programacion Genetica

Uso de estructuras de arboles para representar programas decomputadora

Se predetermina la maxima profundidad de los arboles, pero nosu topologıa precisa

El tamano, forma y contenido de los arboles puede cambiardinamicamente durante el proceso evolutivo

Clase No. 3 2017

Page 71: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Programacion Genetica

Funciones mas utilizadas:

1) Operaciones aritmeticas (+,−, ∗, etc.)2) Funciones matematicas (seno, coseno, exp, log)

3) Operaciones Booleanas (AND, OR, NOT)

4) Operadores condicionales (IF-THEN-ELSE)

5) Funciones que causan iteraciones (DO-UNTIL)

6) Funciones que causan recursion

7) Cualquier funcion especıfica del dominio definido

Clase No. 3 2017

Page 72: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Programacion Genetica

La expresion S equivalente es:

(OR (AND (NOT D0)(NOT D1))(AND (D0D1))

Clase No. 3 2017

Page 73: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Desarrollados por Deb y Goldberg hacia fines de los 1980s.

Motivacion: resolver problemas “deceptivos” con un AG.

Caracterısticas: longitud cromosomica y tamano de poblacionvariables.

Se le llama AG desordenado, porque se contrapone al AG“ordenado” que tiene longitud y tamano de poblacion fijos.

Clase No. 3 2017

Page 74: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Idea fundamental: representar esquemas en vez de cromosomas.

Funcionamiento: Comenzar con cromosomas cortos, identificarun conjunto de buenos bloques constructores y despuesincrementar la longitud del cromosoma para propagar estosbuenos bloques constructores a lo largo del resto de la cadena.

Clase No. 3 2017

Page 75: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Ejemplos de cadenas validas:

(2,1) (2,0) (3,0) (3,1)

(1,1) (1,0) (1,1) (4,1) (4,0)

El numero de la izquierda es la posicion cromosomica (locus) y elde la derecha el valor del bit.

Clase No. 3 2017

Page 76: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Peculiaridades de la representacion:

Algunas posiciones pueden ser asignadas a mas de un bit(sobre-especificacion)

Otras posiciones pueden no ser asignadas a ningun bit(sub-especificacion)

Clase No. 3 2017

Page 77: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

¿Como lidiar con la sobre-especificacion?

Imponer un orden determinıstico de evaluacion. Por ejemplo,de izquierda a derecha. De esta manera, se ignoran los valoresposteriores al primero detectado para una cierta posicioncromosomica.Ejemplo: si tenemos la cadena

{ (1,0) (2,0) (4,1) (4,0) }

tomamos el valor de 1 para el cuarto bit

Clase No. 3 2017

Page 78: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

¿Como lidiar con la sub-especificacion?

Tenemos que evaluar la aptitud de cadenas parcialmentedefinidas.

Podemos ver una cadena como un esquema candidado.Ejemplo: si tenemos la cadena

{ (1,0) (2,0) (4,1) (4,0) }

se trata del esquema candidato: 00 ∗ 1

Clase No. 3 2017

Page 79: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

¿Como lidiar con la sub-especificacion?

Hay varios metodos:

1) Promedios

2) Plantillas competitivas

Clase No. 3 2017

Page 80: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Metodo de los Promedios:

Generar aleatoriamente valores para los lugares faltantes uncierto numero de veces

La aptitud de la cadena sub-especificada sera el promedio deaptitud de estas muestras

Clase No. 3 2017

Page 81: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Metodo de los Promedios:

Motivacion: se intenta calcular el promedio del esquemacandidato.

Problema: La varianza de esta aptitud promediofrecuentemente sera demasiado alta para que se pueda obtenerun valor significativo mediante un muestreo aleatorio.

Clase No. 3 2017

Page 82: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Metodo de las Plantillas Competitivas:

Usar un hillclimber para obtener un optimo local.

Al correr el mGA, se evaluan las cadenas sub-especificadasllenando los bits faltantes con el optimo local. De esa manera,es posible calcular la aptitud de cualquier esquema candidato.

Clase No. 3 2017

Page 83: Introducci´on a la Computaci´on Evolutivadelta.cs.cinvestav.mx/~ccoello/compevol/clase3-2017.pdf · Inteligencia Ontogen´etica En este caso, el aprendizaje se efectua´ a nivel

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

Algoritmos Geneticos Desordenados

Metodo de las Plantillas Competitivas:

Motivacion: Por definicion, un optimo local es una cadena queno puede mejorarse con el cambio de un solo bit. Por tanto, silos bits definidos de un esquema candidato mejoran el optimolocal, vale la pena efectuar una mayor exploracion.

Problema: El metodo es vıctima de la explosion combinatoria.

Clase No. 3 2017