68
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. 2 2014

El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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. 2 2014

Page 2: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El problema del viajero

Encontrar una permutacion que represente el recorrido de unaserie de ciudades de tal forma que todas sean visitadasminimizando la distancia total viajada.

Clase No. 2 2014

Page 3: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El problema del viajero

Si consideramos n ciudades:

El tamano del espacio de busqueda es: (n− 1)!/2

Para n=10, hay unas 181,000 soluciones posibles.

Para n=20 hay unas 10,000,000,000,000,000 soluciones posibles.

Clase No. 2 2014

Page 4: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El problema del viajero

Para n=50 hay unas 100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 solucionesposibles.

Clase No. 2 2014

Page 5: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El problema del viajero

Solo hay 1,000,000,000,000,000,000,000 litros de agua en elplaneta

Clase No. 2 2014

Page 6: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Tecnicas Clasicas de Busqueda y Optimizacion

Existen muchas tecnicas clasicas para resolver problemas conciertas caracterısticas especıficas.

Es importante saber al menos de la existencia de estas tecnicas,pues cuando el problema por resolverse se adecua a ellas, no tieneningun sentido usar heurısticas.

Clase No. 2 2014

Page 7: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Tecnicas Clasicas de Busqueda y Optimizacion

Para optimizacion lineal, el metodo Simplex sigue siendo la opcionmas viable. Para optimizacion no lineal, hay metodos directos (p.ej. la busqueda aleatoria) y metodos no directos (p. ej. el metododel gradiente conjugado).

Clase No. 2 2014

Page 8: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Tecnicas Clasicas de Busqueda y Optimizacion

Existen tambien tecnicas que construyen parcialmente una soluciona un problema. Por ejemplo, la programacion dinamica y el metodode ramificacion y busqueda (branch & bound).

Clase No. 2 2014

Page 9: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Tecnicas Clasicas de Busqueda y Optimizacion

Cuando enfrentamos un cierto problema de optimizacion, si lafuncion a optimizarse se encuentra en forma algebraica, esimportante intentar resolverla primero con tecnicas clasicas, antesde utilizar cualquier heurıstica.

Clase No. 2 2014

Page 10: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Lo que el mundo real demanda

Existen problemas que no pueden resolverse usando unalgoritmo que requiere tiempo polinomial.

De hecho, en muchas aplicaciones practicas, no podemossiquiera decir si existe una solucion eficiente.

Hay muchos problemas para los cuales el mejor algoritmo quese conoce requiere tiempo exponencial.

Clase No. 2 2014

Page 11: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

¿Que es una heurıstica?

La palabra “heurıstica” se deriva del griego heuriskein, que significa“encontrar” o “descubrir”. El significado del termino ha variadohistoricamente. Algunos han usado el termino como un antonimode “algorıtmico”. Por ejemplo, Newell et al. dicen: “a un procesoque puede resolver un cierto problema, pero que no ofrece ningunagarantıa de lograrlo, se le denomina una “heurıstica” para eseproblema”

Clase No. 2 2014

Page 12: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

¿Que es una heurıstica?

Las heurısticas fueron un area predominante en los orıgenes de laInteligencia Artificial. Actualmente, el termino suele usarse comoun adjetivo, refiriendose a cualquier tecnica que mejore eldesempeno en promedio de la solucion de un problema, aunque nomejore necesariamente el desempeno en el peor caso (Russell &Norvig, 1995).

Clase No. 2 2014

Page 13: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

¿Que es una heurıstica?

Una definicion mas precisa y adecuada para los fines de este cursoes la proporcionada por Reeves (1993):Una heurıstica es una tecnica que busca soluciones buenas (esdecir, casi optimas) a un costo computacional razonable, aunquesin garantizar factibilidad u optimalidad de las mismas. En algunoscasos, ni siquiera puede determinar que tan cerca del optimo seencuentra una solucion factible en particular.

Clase No. 2 2014

Page 14: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

¿Realmente necesitamos tecnicas heurısticas?

Cuando enfrentamos espacios de busqueda tan grandes como en elcaso del problema del viajero, y que ademas los algoritmos maseficientes que existen para resolver el problema requieren tiempoexponencial, resulta obvio que las tecnicas clasicas de busqueda yoptimizacion son insuficientes.

Clase No. 2 2014

Page 15: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Ejemplos de tecnicas heurısticas

Busqueda tabu

Recocido simulado

Escalando la colina

Clase No. 2 2014

Page 16: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Busqueda Tabu

Usa una “memoria” para guiar la busqueda.

Algunas soluciones examinadas recientemente son“memorizadas” y se vuelven tabu (prohibidas) al tomardecisiones acerca del siguiente punto de busqueda.

Es determinıstica, aunque se le pueden agregar elementosprobabilısticos.

Clase No. 2 2014

Page 17: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Recocido Simulado

Basado en el enfriamiento de los cristales.

El horario de enfriamiento es crucial.

Requiere de una temperatura inicial, una final y una funcion devariacion de la temperatura.

Es un algoritmo probabilıstico de busqueda local.

Clase No. 2 2014

Page 18: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Escalando la Colina

Se aplica a un punto a la vez (tecnica local).

Se generan varios estados posibles y se selecciona el mejor.

No hay retroceso ni registro historico.

Puede quedar atrapado facilmente en optimos locales.

Es un algoritmo determinıstico.

Clase No. 2 2014

Page 19: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Global

El objetivo principal de cualquier tecnica de optimizacion esencontrar el optimo (o los optimos) globales de cualquier problema.En matematicas, existe un area que se ocupa de desarrollar losformalismos que nos permitan garantizar la convergencia de unmetodo hacia el optimo global de un problema.

Clase No. 2 2014

Page 20: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Global

Desgraciadamente, solo en algunos casos limitados, puedegarantizarse convergencia hacia el optimo global.Por ejemplo, para problemas con espacios de busqueda convexos,las condiciones de Kuhn-Tucker son necesarias y suficientes paragarantizar optimalidad global de un punto.

Clase No. 2 2014

Page 21: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Global

En problemas de optimizacion no lineal, las condiciones deKuhn-Tucker no son suficientes para garantizar optimalidad global.De hecho, todas las tecnicas usadas para optimizacion no linealpueden localizar cuando mucho optimos locales, pero no puedegarantizarse convergencia al optimo global a menos que se usentecnicas exhaustivas o que se consideren tiempos infinitos deconvergencia.

Clase No. 2 2014

Page 22: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Numerica

Existen muchos tipos de problemas de optimizacion, pero los quenos interesan mas para los fines de este curso, son de los deoptimizacion numerica, que pueden definirse de la siguiente manera:

Minimizar f(~x)

sujeta a:

gi(~x) ≤ 0 i = 1, ..., p

hj(~x) = 0 j = 1, ..., n

Clase No. 2 2014

Page 23: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Numerica

Llamaremos a (~x) las variables de decision del problema, gi(~x) sonlas restricciones de desigualdad, y hj(~x) son las restricciones deigualdad. Asimismo, f(~x) es la funcion objetivo del problema (laque queremos optimizar).

Clase No. 2 2014

Page 24: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Numerica

A las restricciones de igualdad y desigualdad expresadasalgebraicamente, se les denomina “restricciones explıcitas”. Enalgunos problemas, existen tambien “restricciones implıcitas”,relacionadas sobre todo con las caracterısticas del problema.

Clase No. 2 2014

Page 25: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Numerica

Por ejemplo, si decimos:

10 ≤ x1 ≤ 20

estamos definiendo que el rango de una variable de decision debeestar contenido dentro de un cierto intervalo. De tal forma, estamos“restringiendo” el tipo de soluciones que se consideraran comovalidas.

Clase No. 2 2014

Page 26: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Ejemplos de espacios de busqueda convexos

Clase No. 2 2014

Page 27: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Ejemplos de espacios de busqueda no convexos

Clase No. 2 2014

Page 28: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Zona factible y no factible

Todas las soluciones a un problema que satisfagan las restriccionesexistentes (de cualquier tipo), se consideran ubicadas dentro de lazona factible. De tal forma, podemos decir que el espacio debusqueda de un problema se divide en la region (o zona) factible yla no factible.

Clase No. 2 2014

Page 29: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Zona factible y no factible

Esta imagen ilustra la diferencia entre la zona factible y no factiblede un problema:

Clase No. 2 2014

Page 30: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Optimizacion Combinatoria

Existe una clase especial de problemas que tambien seran de interespara este curso, en los cuales las variables de decision son discretasy las soluciones suelen presentarse en la forma de permutaciones. Aestos problemas se les denomina de “optimizacion combinatoria”(p. ej. el problema del viajero).

Clase No. 2 2014

Page 31: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Durante muchos anos, la tesis mas aceptada sobre el origen de lasespecies fue el creacionismo: Dios creo a todas las especies delplaneta de forma separada.

Clase No. 2 2014

Page 32: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Ademas, segun el creacionismo, las especies estaban jerarquizadaspor Dios de tal manera que el hombre ocupaba el rango superior, allado del creador.

Clase No. 2 2014

Page 33: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Georges Louis Leclerc (Conde de Buffon) fue tal vez el primero enespecular (100 anos antes que Darwin) que las especies seoriginaron entre sı, e incluso especulo sobre la posible existencia deun ancestro comun entre el hombre y los simios, aunque despues, elmismo refuto esta hipotesis. Varias de sus ideas fueron, sinembargo, revolucionarias para su epoca.

Clase No. 2 2014

Page 34: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Leclerc sugirio que las especies pudieron haberse “mejorado” y“degenerado” despues de haberse dispersado a partir de un ejecentral de la creacion. En el volumen 14 de su Histoire naturelle,generale et particuliere, argumenta que todos los cuadrupedos delmundo se desarrollaron a partir de un conjunto original de solo 38cuadrupedos. Es por ello que algunos lo consideran un“transformista” y precursor de las ideas de Darwin.

Clase No. 2 2014

Page 35: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Leclerc tambien indico que el cambio climatico pudo haberfacilitado la dispersion de las especies. La interpretacion correcta desus ideas es, sin embargo, muy difıcil, dado que las retoma variasveces en su extenso trabajo, cambiando en muchas ocasiones supunto de vista al respecto.

Clase No. 2 2014

Page 36: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El biologo frances Jean-Baptiste Lamarck enuncio la que seconsidera como la primera teorıa evolutiva coherente de la historia(en 1808).

Clase No. 2 2014

Page 37: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Lamarck indico correctamente que el ambiente da pie a los cambiosen los animales. Esto lo ilustro con ejemplos tales como la ceguerade los topos, la presencia de dientes en los animales y la ausencia dedientes en las aves que para el constituıan evidencia de esta teorıa.

Clase No. 2 2014

Page 38: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

En sus trabajos, senalo que existıan dos fuerzas principales queconformaban la evolucion: una que forzaba los cambios en losanimales, pasandolos de formas simples a otras mas complejas, yuna segunda que adaptaba a los animales a sus ambientes locales yque los diferenciaba entre sı. Lamarck creıa que estas fuerzasdebıan ser explicadas como una consecuencia necesaria deprincipios fısicos basicos.

Clase No. 2 2014

Page 39: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Los aspectos mas importantes a tener en cuenta sobre la teorıa evolutiva

de Lamarck son los siguientes:

1. Su teorıa se centra unicamente en la evolucion de los organismos y

no en su origen ya que, en aquel entonces se aceptaba que los

organismos surgıan espontaneamente en sus formas mas simples.

2. Propuso que los cambios que sufren los organismos para adaptarse

eran heredables. Anos despues se demostro que esto era incorrecto.

Clase No. 2 2014

Page 40: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

3. La teorıa evolutiva de Lamarck constituıa una clara oposicion a la

creencia de la epoca de que las especies permanecıan inmutables

desde su creacion.

4. Curiosamente, durante el siglo XX han existido evolucionistas que

han defendido el llamado Lamarckismo, a traves de las voces de

varios biologos y evolucionistas que han buscado reivindicar el

trabajo de Lamarck.

Clase No. 2 2014

Page 41: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El naturalista ingles Charles Darwin pesento en 1858 los primerosbosquejos de su (ahora famosa) teorıa sobre el origen de lasespecies. Su libro, titulado On the Origin of Species by Meansof Natural Selection, or the Preservation of FavouredRaces in the Struggle for Life, se publico el 24 de noviembre de1859 y se considera como una de las obras cientıficas masimportantes de todos los tiempos.

Clase No. 2 2014

Page 42: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Darwin entendio que toda poblacion consiste de individuos ligeramente

distintos entre sı y que estas pequenas variaciones hacen que cada uno

tenga distintas capacidades para adaptarse a su medio ambiente,

ası como para reproducirse y para transmitir sus rasgos a sus

descendientes.

Clase No. 2 2014

Page 43: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Con el paso del tiempo (o generaciones), los rasgos de los individuos que

mejor se adaptaron a las condiciones del medio ambiente, se vuelven mas

comunes, haciendo que la poblacion, en su conjunto, evoluciones. Darwin

llamo a este proceso “descendencia con modificacion”. Del mismo modo,

la naturaleza selecciona las especies mejor adaptadas para sobrevivir y

reproducirse. A este proceso, Darwin lo denomino “seleccion natural”.

Clase No. 2 2014

Page 44: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El cientıfico aleman August Weismann formulo la denominadateorıa del plasma germinal hacia finales del siglo XIX. Deacuerdo a esta teorıa, la herencia, en un organismo multi-celular, seefectua unicamente por medio de celulas germinales (la union delos espermatozoides con el ovulo).

Clase No. 2 2014

Page 45: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Segun Weismann, las otras celulas del cuerpo, son las somaticas y NO

funcionan como agentes hereditarios. Afirmo, ademas, que este efecto es

unidireccional: las celulas germinales producen celular somaticas, pero no

puede transmitirse informacion genetica de celulas somaticas a celulas

germinales. A esto se le conoce como la barrera de Weismann.

Clase No. 2 2014

Page 46: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Weismann realizo un experimento en el que corto las colas de un grupo

de ratas durante 22 generaciones (1,592 ratas en total). Weismann

reportarıa: “durante cinco generaciones, se produjeron 901 ratas jovenes

a partir de padres mutilados artificialmente, y no se obtuvo ni un solo

ejemplo de una cola rudimentaria, ni hubo ninguna otra anomalıa en

esta extremidad”. Esto demostraba claramente que no era posible

heredar mutilaciones ocurridas durante el tiempo de vida, y corroboraba

su teorıa del plasma germinal.

Clase No. 2 2014

Page 47: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El monje austriaco Johann Gregor Mendel realizo una serie de

experimentos con chıcharos durante una buena parte de su vida,

enunciando a partir de ellos las leyes basicas que gobiernan la herencia.

Los resultados de su trabajo los publico en 1866 en un artıculo titulado

“Experiments on Plant Hybridization”, pero tuvo poco impacto (solo

obtuvo 3 citas en sus primeros 35 anos), hasta que fue re-descubierto a

principios del siglo XX.

Clase No. 2 2014

Page 48: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Una pieza interesante de las teorıas evolutiva es el denominadoEfecto Baldwin, conocido tambien como evolucionbaldwiniana o evolucion ontogenica. Esta teorıa se propuso enun artıculo de 1896, titulado “A New Factor in Evolution”, el cualfue escrito por el psicologo norteamericano James Mark Baldwin.

Clase No. 2 2014

Page 49: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Este artıculo propuso la nocion de plasticidad fenotıpica, que es la

capacidad de un organismo para adaptarse a su ambiente durante su

tiempo de vida. La capacidad de aprendizaje es el ejemplo mas obvio de

plasticidad fenotıpica, aunque no es el unico. Debe aclararse, sin

embargo, que la plasticidad fenotıpica es tıpicamente costosa para un

individuo. Por ejemplo, aprender requiere energıa y tiempo.

Clase No. 2 2014

Page 50: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Hoy se usa el termino Neo-Darwinismo para describir a lasıntesis moderna de la teorıa de la evolucion de Darwin con lagenetica de Mendel y la teorıa del plasma germinal de Weismann.

Clase No. 2 2014

Page 51: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

El pensamiento evolutivo actual gira en torno alNeo-Darwinismo, el cual establece que toda la vida en elplaneta puede ser explicada a traves de solo 4 procesos:

• Reproduccion

• Mutacion

• Competencia

• Seleccion

Clase No. 2 2014

Page 52: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

La evolucion natural ha sido vista como un proceso de aprendizajedesde los 1930s, con el trabajo de Walter Bradford Cannon (TheWisdom of the Body).

Clase No. 2 2014

Page 53: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

El celebre matematico Alan Mathison Turing reconocio tambienuna conexion “obvia” entre la evolucion y el aprendizaje demaquina en un artıculo de 1950.

Clase No. 2 2014

Page 54: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

A fines de los 1950s y principios de los 1960s, el biologo ingles AlexS. Fraser publico una serie de trabajos sobre la evolucion desistemas biologicos en una computadora digital, dando lainspiracion para lo que despues se convertirıa en el algoritmogenetico. Fraser murio en 2002.

Clase No. 2 2014

Page 55: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Aproximadamente en la misma epoca de Fraser, el estadısticoingles George E. P. Box propuso un enfoque evolutivo para laoptimizacion de la produccion industrial. Su tecnica, denominadaEVOP (Evolutionary Operation) sigue en uso hoy en dıa en laindustria quımica.

Clase No. 2 2014

Page 56: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

R. M. Friedberg fue uno de los primeros cientıficos en intentarevolucionar programas de computadora (a fines de los 1950s). Susexperimentos no fueron muy exitosos, y originaron una avalanchade crıticas de parte de los investigadores de la IA clasica.

Clase No. 2 2014

Page 57: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

George J. Friedman fue tal vez el primero en proponer unaaplicacion de las tecnicas evolutivas a la robotica: en su tesis demaestrıa que data de los 1950s, propuso evolucionar una serie decircuitos de control similares a las redes neuronales de hoy en dıa.

Clase No. 2 2014

Page 58: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Nils Aall Barricelli fue un matematico noruego-italiano quedesarrollo las que probablemente fueron las primeras simulacionesde un sistema evolutivo en una computadora digital, entre 1953 y1956. Sus experimentos siguieron los lineamientos de una disciplinabautizada a principios de los 1980s como vida artificial.

Clase No. 2 2014

Page 59: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Hans J. Bremermann fue tal vez el primero en ver la evolucioncomo un proceso de optimizacion, ademas de realizar una de lasprimeras simulaciones con cadenas binarias que se procesaban pormedio de reproduccion (sexual o asexual), seleccion y mutacion, enlo que serıa otro claro predecesor del algoritmo genetico.

Clase No. 2 2014

Page 60: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Lawrence J. Fogel concibio el uso de la evolucion simulada en lasolucion de problemas (sobre todo de prediccion) hacia mediados delos 1960s. A su tecnica la denomino Programacion Evolutiva.Fogel fallecio en 2007.

Clase No. 2 2014

Page 61: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Ingo Rechenberg, Hans-Paul Schwefel y, mas tarde, Peter Bienert,desarrollaron hacia mediados de los 1960s un metodo de ajustesdiscretos aleatorios inspirado en el mecanismo de mutacion queocurre en la naturaleza. Esta tecnica se denomino estrategiasevolutivas.

Clase No. 2 2014

Page 62: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

John H. Holland desarrollo a principios de los 1960s los “planesreproductivos” y “adaptativos” en un intento por hacer que lascomputadoras aprendan imitando el proceso de la evolucion. Estatecnica serıa despues conocida mundialmente como el algoritmogenetico.

Clase No. 2 2014

Page 63: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Michael Conrad y H. H. Pattee se cuentan entre los primeros ensimular un ecosistema artificial jerarquico en el que un conjunto deorganismos unicelulares estaban sujetos a una estricta ley deconservacion de la materia que les inducıa a competir porsobrevivir. Conrad fallecio en 2000.

Clase No. 2 2014

Page 64: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Conrad propuso tambien en los 1970s un “modelo de circuitos deaprendizaje evolutivo” en el cual especulo sobre la posibilidad deque el cerebro use el mismo tipo de mecanismos que usa laevolucion para aprender. Su tecnica fue uno de los primeros intentospor utilizar algoritmos evolutivos para entrenar redes neuronales.

Clase No. 2 2014

Page 65: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Aunque los primeros intentos por evolucionar programas seremontan a los 1950s y 1960s, fue hasta los 1980s en que seobtuvieron resultados satisfactorios. J.F. Hicklin (1986) y C. Fujiki(1986) usaron expresiones-S en LISP para representar programascuyo objetivo era resolver problemas de teorıa de juegos.

Clase No. 2 2014

Page 66: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

Nichael Lynn Cramer (1985) y posteriormente, John R. Koza(1989) propusieron (de forma independiente) el uso de unarepresentacion de arbol en la que se implemento un operador decruza para intercambiar sub-arboles entre los diferentes programasde una poblacion generada al azar (con ciertas restriccionesimpuestas por la sintaxis del lenguaje de programacion utilizado).

Clase No. 2 2014

Page 67: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

La diferencia fundamental entre el trabajo de Cramer y el de Kozaes que el primero uso una funcion de aptitud interactiva (es decir,el usuario debıa asignar a mano el valor de aptitud de cada arbolde la poblacion), mientras el segundo logro automatizarla.

Clase No. 2 2014

Page 68: El problema del viajero - CINVESTAVdelta.cs.cinvestav.mx/~ccoello/compevol/clase2-2014.pdf · de un problema: Clase No. 2 2014. Introducci´on a la Computaci´on Evolutiva Dr. Carlos

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

Historia de la Computacion Evolutiva

La propuesta de Koza fue la que se impuso a la larga, y mas tardese denomino Programacion Genetica. Hoy en dıa es muypopular y cuenta con una amplia gama de aplicaciones, ası comocon un evento especializado (EuroGP).

Clase No. 2 2014