Agenda

Anuncio
Introducción a la Computación Evolutiva
Primera Clase: Introducción
Agenda
• Posicionamiento de la CE y la metáfora de la
CE
• Perspectiva histórica
• Inspiración biológica
– Teoría de evolución Darwiniana
– Genética
• Motivación para la CE
• Que puede hacer la CE?
– Ejemplos sobre distintas áreas de aplicación
1
Agenda
• Posicionamiento de la CE y la metáfora de la
CE
• Perspectiva histórica
• Inspiración biológica
– Teoría de evolución Darwiniana
– Genética
• Motivación para la CE
• Que puede hacer la CE?
– Ejemplos sobre distintas áreas de aplicación
Posicionamiento de la CE
• La CE es un área perteneciente a las
ciencias de la computación
• La CE no es parte de las ciencias biológicas
• La CE se inspira en el proceso de evolución
natural
• Las ciencias biológicas brindan inspiración
y terminología
• La CE puede ser aplicada en investigación
biológica
2
La metáfora de la Computación
Evolutiva
EVOLUCIÓN
RESOLUCIÓN DE
PROBLEMAS
Ambiente
Problema
Individuo
Solución Candidata
Fitness (aptitud)
Calidad
Fitness → posibilidad de sobrevivir y reproducirse
Calidad → posibilidad de ser mantenida y usada como semilla
para construir nuevas soluciones candidatas
Agenda
• Posicionamiento de la CE y la metáfora de la
CE
• Perspectiva histórica
• Inspiración biológica
– Teoría de evolución Darwiniana
– Genética
• Motivación para la CE
• Que puede hacer la CE?
– Ejemplos sobre distintas áreas de aplicación
3
Historia: Los fundadores
• 1948, Turing:
– Propuso una “búsqueda genética o evolutiva”
• 1962, Bremermann:
– Realizó experimentos computacionales sobre
“optimización mediante evolución y recombinación”
• Durante los años ´60, tres implementaciones
diferentes de la idea básica fueron desarrolladas en
diferentes lugares del mundo
Historia: Los fundadores
• 1964, Rechenberg (Alemania)
– Introduce las “estrategias evolutivas”
• 1965, Fogel, Owens y Walsh (USA)
– Introducen la “programación evolutiva”
• 1975, Holland (USA)
– Introduce los “algoritmos genéticos”
• Durante 15 años estas áreas se desarrollaron
separadamente
• Desde principios de los ’90, estas áreas son consideradas
como diferentes representantes (“dialectos”) de una misma
tecnología que se conoce como Computación Evolutiva
• 1992, Koza (USA)
– Introduce la “programación genética”
4
Historia: Terminología contemporánea
• La terminología contemporánea denota a todo este
campo como Computación Evolutiva
• Los algoritmos involucrados son denominados
como algoritmos evolutivos
• Se considera que la CE se divide en subáreas
correspondientes a las distintas variantes
algorítmicas
–
–
–
–
Programación Evolutiva
Estrategias Evolutivas
Algoritmos Genéticos
Programación Genética
Historia: Desarrollo de la CE
• La revisión de las reuniones científicas dedicadas
a la CE nos brinda un indicio del pasado y del
presente del campo
• 1985: primera conferencia internacional (ICGA,
International Conference on Genetic Algorithms)
• 1999: la ICGA se combinó con la Annual
Conference on Genetic Programming para
convertirse en la conferencia anual GECCO
(Genetic and Evolutionary Computation
Conference)
5
Historia: Desarrollo de la CE
• 1999: la Annual Conference on Evolutionary
Programming (1992) se combinó con la IEEE
Conference on Evolutionary Computation (1994)
para formar el CEC (Congress on Evolutionary
Computation) que ha sido desarrollado
anualmente hasta hoy
• 1990: primera conferencia internacional en Europa
(PPSN, Parallel Problem Solving from Nature)
– En un panel de discusión durante el primer PPSN se
propuso el nombre de Computación Evolutiva
Historia: Desarrollo de la CE
• 1993: primera revista científica sobre CE
(MIT Press)
• 1997: se fundó una red europea de
investigación sobre CE denominada EvoNet
6
CE en los comienzos del siglo 21
• Existen 3 conferencias principales sobre EC (CEC,
GECCO, y PPSN), y alrededor de 10 más pequeñas
• Existen 3 revistas científicas dedicadas exclusivamente a la
CE, y muchas otras con un perfil muy cercano
• Se estima que más de 1500 artículos referidos a CE han
sido publicados hasta 2005
• EvoNet tiene más de 150 institutos miembros
• Incontable cantidad de aplicaciones
• Incontable cantidad de firmas de consultoría y de I+D
Agenda
• Posicionamiento de la CE y la metáfora de la
CE
• Perspectiva histórica
• Inspiración biológica
– Teoría de evolución Darwiniana
– Genética
• Motivación para la CE
• Que puede hacer la CE?
– Ejemplos sobre distintas áreas de aplicación
7
Evolución Darwiniana
• La teoría de Darwin ofrece una explicación
de la diversidad biológica y de sus
mecanismos subyacentes
• La teoría de Darwin se basa en dos tipos de
mecanismos fundamentales
– Selección natural (supervivencia de los
mejores)
– Variaciones fenotípicas entre los miembros de
la población (cruzamiento, y mutación)
Evolución Darwiniana: Supervivencia de
los mejores
• Considerando que …
– Un ambiente puede alojar sólo a un número limitado de individuos
– Los individuos tienen instintos básicos orientados a la
reproducción
• Luego, algún tipo de selección es inevitable
• La selección natural favorece a aquellos individuos que
compiten más efectivamente por los recursos dados (a
aquellos que mejor se adaptan a las condiciones
ambientales)
• Este fenómeno es también conocido como supervivencia
de los mejores
8
Evolución Darwiniana: La diversidad
impulsa el cambio
• Características fenotípicas son atributos físicos y
de comportamiento de un individuo que
determinan su respuesta al ambiente
• Cada individuo representa una combinación única
de características fenotípicas que es evaluada por
el ambiente
– Si dicha evaluación es positiva, luego la combinación
es propagada vía los hijos del individuo
– Si dicha evaluación es negativa, la combinación es
descartada mediante la muerte del individuo sin haber
tenido hijos
Evolución Darwiniana: La diversidad
impulsa el cambio
• Darwin señala que durante la reproducción
ocurren pequeñas variaciones aleatorias
“mutaciones” en las características fenotípicas
– Mediante estas variaciones, se insertan características
fenotípicas inexistentes en la población
• Mediante el cruzamiento y la mutación se definen
nuevas combinaciones de características
fenotípicas que son evaluadas por el ambiente
• Las mejores combinaciones de características
fenotípicas sobreviven y se reproducen y, de esta
manera, progresa la evolución
9
Evolución Darwiniana: Resumen
• Una población consiste de un conjunto de individuos
diversos
• El éxito reproductivo de los individuos depende de cuan
bien ellos se adaptan a su ambiente en relación al resto de
la población
– Los individuos son las “unidades de selección”
• A medida que los individuos más exitosos se reproducen
(mutaciones ocasionales mediante) se obtienen nuevos
individuos.
• A medida que el tiempo pasa, existe un cambio en la
constitución de la población
– La población es la “unidad de evolución”
Metáfora de la superficie adaptativa
• El proceso evolutivo es bien capturado por esta metáfora
• Se considera que una población cuyos individuos tienen n
características existe en un espacio n+1 dimensional
• La dimensión altura representa al fitness de los individuos:
altitudes altas representan a valores altos de fitness
• Las otras dimensiones corresponden a características
biológicas
• Una población es representada como un conjunto de
puntos sobre esta superficie
– Cada punto representa a un individuo diferente (fenotipo)
• Luego, la evolución es el proceso mediante el cual la
población (nube de puntos sobre la superficie) avanza a
través del tiempo hacia las áreas de mayor altitud
10
Ejemplo con dos características
Metáfora de la superficie adaptativa
• La relación de la evolución con un proceso de
optimización es tan directa como engañosa
– Porque la evolución no es un proceso de ascenso unidireccional
• Debido a que …
– La población tiene un tamaño finito
– Se realizan elecciones aleatorias durante los procesos de selección
y variación
• Es común observar un fenómeno denominado “desvío
genético” por el cual
– Individuos con altos niveles de aptitud pueden desaparecer de la
población
– La población puede sufrir una pérdida de variedad respecto a
algunas características
11
Metáfora de la superficie adaptativa
• Uno de los efectos de este fenómeno es que
las poblaciones pueden “descender” las
colinas, e ingresar en valles de bajos valores
de fitness
– Lo cual puede conducir a una convergencia
prematura hacia regiones localmente óptimas
Genética
• La disciplina “genética molecular” ofrece una
vista microscópica de la evolución natural
– Nos explica como ocurren los procesos por debajo del
nivel de los atributos fenotípicos visibles (en particular
como ocurre la herencia)
• La observación fundamental de la genética es que
cada individuo es una entidad dual
– Sus propiedades fenotípicas (visibles) son representadas
a un nivel genotípico (interno)
12
Genes y Genotipo
• El genotipo (ADN) de un individuo codifica su fenotipo
– Los genes son las unidades funcionales de herencia que codifican
las características fenotípicas
• En los sistemas naturales, dicha codificación no es uno a
uno
– Un gen puede afectar varias características fenotípicas
– Una característica fenotípica puede ser determinada por más de un
gen
• Las variaciones fenotípicas son siempre causadas por
variaciones genotípicas
– Estas últimas son las consecuencias de mutaciones de genes o
recombinación de genes mediante la reproducción sexual
• Otra forma de pensar sobre esto es la siguiente …
Genes y Genotipo
• El genotipo (ADN) contiene toda la información
genética necesaria para construir el fenotipo del
individuo
• El término genoma se refiere a la información
genética completa de un ser vivo (existente en su
genotipo) la cual define su composición total
• Este material genético (todos los genes de un
organismo) esta organizado en varios cromosomas
– Los cromosomas son secuencias de ADN que codifican
a los genes y se encuentran en el núcleo de las células
13
Ejemplo: Homo Sapiens
– Existen 46 cromosomas en los seres humanos
– Las células del cuerpo humano contienen 23
pares de cromosomas que juntos definen los
atributos físicos del individuo
Células Reproductivas
• Los gametos (células del esperma y del
huevo) contienen 23 cromosomas
individuales más que 23 pares
• Mediante la fusión de tales gametos
(durante la fertilización) se combinan los
atributos paternos y maternos en el hijo
– La célula esperma del padre se fusiona con la
célula huevo de la madre, y se genera una
célula denominada zigoto
14
Células Reproductivas
Célula Esperma del Padre
Célula Huevo de la Madre
Zigoto (célula de una nueva persona)
Células Reproductivas
• En el zigoto, cada pareja de cromosomas
está formada por una mitad paterna y otra
materna
• El nuevo organismo se desarrolla a partir
del zigoto mediante un proceso llamado
ontogenesis
– A partir del zigoto se crean todas las células del
cuerpo, las cuales contienen la misma
información genética que el zigoto
15
Cruzamiento
• En computación evolutiva, la combinación de
atributos de dos individuos en un hijo es llamada
cruzamiento
• Es importante notar que dicho cruzamiento no es
análogo al proceso de cruzamiento que ocurre en
los organismos naturales
– La diferencia radica en el momento en que el
cruzamiento se desarrolla
• En los organismos naturales, el cruzamiento no se
desarrolla durante la fusión de los gametos sino
que pasa durante la formación de los gametos
mediante un proceso llamado meiosis
Cruzamiento durante la meiosis
• Meiosis es un tipo especial de división de células
que asegura que los gametos van a contener sólo
una copia de cada cromosoma
• Como se mencionó, una célula del cuerpo contiene
parejas de cromosomas
– Una mitad de la pareja es idéntica a un cromosoma
paterno de la célula esperma
– La otra mitad es idéntica a un cromosoma materno de la
célula huevo
• Durante la meiosis ocurre lo siguiente …
16
Cruzamiento durante la meiosis
• Las parejas de cromosomas se alinean físicamente y se duplican
• Las parejas internas de cromosomas duplicados se enlazan en un punto
aleatorio e intercambian sus partes
• El resultado es una copia del cromosoma paterno, una copia del
cromosoma materno, y dos nuevas combinaciones de material paterno
y materno
• Esto provee suficiente material genético para formar cuatro gametos
diferentes
Cruzamiento durante la meiosis
• En los nuevos gametos creados el genoma se
compone de cromosomas que son:
– Idénticos a alguno de los cromosomas padres, ó
– Recombinaciones de los cromosomas padres
• Los cuatro gametos resultantes son diferentes de
los genomas de los padres originales
• De esta manera, se facilita la variación genotípica
en el hijo
17
Mutación
• Es una alteración o cambio en la información genética
(genotipo) de un ser vivo
– Cualquier cambio en la secuencia del ADN
• Por lo tanto, produce un cambio en las características
fenotípicas
– Desde grandes cambios hasta pequeñas diferencias tan sutiles que
es necesario emplear técnicas muy elaboradas para su detección
• Se puede transmitir o heredar a la descendencia
– En los seres multicelulares, las mutaciones sólo pueden ser
heredadas cuando afectan a las células reproductivas
• La unidad genética capaz de mutar es el gen que es la
unidad de información hereditaria que forma parte del
ADN
Genética
• Uno de los principales dogmas de la genética
molecular es que:
– La información genotípica es decodificada y se
obtienen atributos fenotípicos
– Los atributos fenotípicos no pueden influir sobre la
información genotípica
• Esto refuta las teorías más tempranas (por ej.: la
teoría de Lamarck) que aseguraban que los
atributos adquiridos durante la vida de un
individuo podrían ser pasados a sus hijos vía la
herencia
18
Genética
• Una consecuencia del dogma mencionado es que los
cambios en el material genético de una población …
– pueden solamente provenir de variaciones aleatorias y de la
selección natural,
– y definitivamente no provienen del aprendizaje individual
• Es importante entender que …
– todas las variaciones (cruzamiento y mutación) ocurren a nivel
genotípico,
– mientras que la selección ocurre a nivel fenotípico, se basa sobre el
desempeño real en un ambiente dado
Agenda
• Posicionamiento de la CE y la metáfora de la
CE
• Perspectiva histórica
• Inspiración biológica
– Teoría de evolución Darwiniana
– Genética
• Motivación para la CE
• Que puede hacer la CE?
– Ejemplos sobre distintas áreas de aplicación
19
Motivaciones para la CE: parte 1
• El desarrollo de algoritmos es uno de los temas
centrales de las ciencias de la computación
• En este sentido, la observación de las soluciones
de la Naturaleza siempre ha sido una fuente de
inspiración para los científicos
– La simulación de los “solucionadores naturales de
problemas” es una línea dentro de esta disciplina
Motivaciones para la CE: parte 1
• Los “solucionadores de problemas” más
poderosos de la Naturaleza son:
– El cerebro humano (que ha creado infinitas soluciones
artificiales hasta hoy)
– El proceso evolutivo (que ha creado al cerebro humano)
• El diseño de algoritmos basado sobre:
– El cerebro humano Æ Neurocomputación
– El proceso evolutivo Æ Computación Evolutiva
20
Motivaciones para la CE: parte 2
• Otra motivación puede ser identificada desde una
perspectiva técnica
• En la segunda mitad del siglo 20, la computación
ha generado una gran demanda para automatizar la
resolución de problemas
• El rango de crecimiento de la capacidad de
investigación y desarrollo no ha cubierto todas las
necesidades existentes hasta hoy
Motivaciones para la CE: parte 2
• Por lo tanto …
– El tiempo disponible para el análisis de los problemas y para el
diseño de algoritmos específicos ha sido, y sigue siendo,
decreciente
– Se ha incrementado la complejidad de los problemas a ser resueltos
• Estas dos observaciones generan una necesidad urgente de
algoritmos robustos que tengan un desempeño satisfactorio
– Algoritmos que sean aplicables a un amplio rango de problemas
(que no necesiten demasiada adaptación para problemas
específicos), y que brinden buenas soluciones (no necesariamente
óptimas) en un tiempo aceptable
• Algoritmos evolutivos satisfacen la necesidad mencionada
21
Agenda
• Posicionamiento de la CE y la metáfora de la
CE
• Perspectiva histórica
• Inspiración biológica
– Teoría de evolución Darwiniana
– Genética
• Motivación para la CE
• Que puede hacer la CE?
– Ejemplos sobre distintas áreas de aplicación
Tipos de problemas abordables por la CE
• Existen tres tipos de problemas que pueden ser abordados
por enfoques evolutivos:
– Problemas de optimización
– Problemas de modelamiento
– Problemas de simulación
• Esta clasificación surge al analizar los problemas desde
una perspectiva de análisis de sistemas
– Desde esta perspectiva se identifican tres componentes principales
de un sistema: entradas, salidas y el modelo interno que conecta a
estas dos
• En base a la perspectiva mencionada, se pueden distinguir
los tipos de problemas mencionados dependiendo de cual
de los tres componentes del sistema es desconocido
22
Problemas de optimización
• Se conoce el modelo y se tiene una descripción de la salida
deseada
– La tarea es encontrar la entrada que lleve a dicha salida
• Ejs.:
– Problema del viajante
– Horarios para universidades, hospitales, o “call centers”
– Especificaciones de diseño
Ejemplo de problemas de optimización:
Horarios de las clases Universitarias
• Un ejemplo de un problema que ha sido resuelto mediante algoritmos
evolutivos es el diseño de los horarios de las clases universitarias
• Los eventos en una universidad requieren de un día, un horario, y una
sala
• La primer tarea de optimización es producir horarios válidos (horarios
que no tengan conflictos)
– Ejs. de conflictos:
• Un estudiante necesita estar en dos lugares a la vez
• Una sala ha sido asignada a dos materias diferentes a la misma hora
• Esta tarea no es trivial porque la gran mayoría del espacio conformado
por todos los horarios posibles está constituida por soluciones inválidas
• La segunda tarea es producir horarios válidos que sean óptimos en
relación a ciertos objetivos predefinidos que compiten entre sí
– Ejs. de objetivos:
• Los estudiantes pueden desear no tener más de dos clases seguidas
• Los profesores pueden estar más interesados en tener días completos, días
libres de clases, para realizar investigación
• El espacio de búsqueda asociado a este problema es extremadamente
grande
23
Ejemplo de problemas de optimización:
Estructura Satelital
• Las aplicaciones de CE para
optimización de diseños
industriales pueden ser ilustradas
con el siguiente caso
• Se requería diseñar la barra que
sostiene la antena de un satélite
– Esta construcción conecta el cuerpo
del satélite con la antena necesaria
para la comunicación
• Es esencial que esta barra sea
estable (resistente a las
vibraciones)
– Esto se debe a que en el espacio no
existe aire que disminuya las
vibraciones lo cual podría romper
la construcción completa
Ejemplo de problemas de optimización:
Estructura Satelital
• Esta construcción fue optimizada mediante un algoritmo evolutivo
• La estructura obtenida fue 20.000% mejor que las estructuras
tradicionales
• Pero para las personas la estructura lucía muy extraña
– No exhibía simetría
– No tenía un diseño intuitivo
(el diseño final lucía como
un diseño aleatorio)
• La asimetría de la estructura le otorgó
a esta última un excelente desempeño
– Vibraciones son ondas que atraviesan la barra a lo largo de los travesaños.
Si los travesaños son de diferentes longitudes, luego estas ondas se
encuentran en una fase diferente y se cancelan entre sí. Esta pequeña
teoría parece trivial, pero fue necesario tener la solución asimétrica
evolucionada para llegar a ella.
24
Ejemplo de problemas de optimización:
Estructura Satelital
• Este caso ilustra el poder de la evolución como un
diseñador
– No está limitada:
• por convenciones
• por consideraciones estéticas
• por preferencias superficiales de simetría
– Es puramente guiada por la calidad
• Por lo tanto, puede proponer soluciones que caen fuera del
alcance del pensamiento humano (con sus limitaciones
implícitas e inconscientes)
Problemas de modelamiento
• Se tiene conocimiento sobre conjuntos de entradas
y salidas que se corresponden
– La tarea es encontrar un modelo que permita obtener la
salida correcta para cada entrada conocida
• Ejs.:
– Problemas abordados en Machine learning
– Problemas abordados en Data mining
25
Ejemplo de problemas de modelamiento:
Solicitante de préstamos
• Las tareas de modelamiento ocurren típicamente en
ambientes que son muy ricos en cuanto a datos
– Se tienen muchos ejemplos de un cierto evento o fenómeno que no
tienen una descripción formal
• Un banco puede tener un millón de registros sobre sus
clientes
– Los registros contienen datos socio-geográficos, un panorama
financiero de las hipotecas, préstamos y seguros, detalles del uso
de las tarjetas, etc.
• En este contexto, es razonable asumir que …
– El perfil (hechos y datos conocidos del pasado) está relacionado
con el comportamiento (eventos futuros)
• Para estimar el futuro comportamiento de un cliente …
– Es necesario un modelo que relacione las entradas de un perfil con
los patrones de comportamiento conocidos (salidas)
– Este modelo tendría capacidad predictiva, y podría ser usado para
decidir sobre nuevos solicitantes de préstamos
Ejemplo de problemas de modelamiento:
Solicitante de préstamos
• La CE es una tecnología que ha sido
utilizada para diseñar modelos que predicen
el comportamiento de pago de nuevos
solicitantes
– Los modelos de predicción evolucionan a través
del tiempo
– La calidad de un modelo es determinada por la
precisión del modelo sobre datos históricos
26
Problemas de simulación
• Se conoce el modelo y las entradas
– La tarea es calcular las salidas correspondientes a dichas entradas
• En este tipo de problemas, la CE puede ser aplicada para resolver
preguntas del tipo “que pasa si …?” en ambientes dinámicos que
poseen entidades que están evolucionando
• Ejs.:
– Problemas en Economía Evolutiva
– Problemas en Vida Artificial
Ejemplo de problemas de simulación:
Evolución de sociedades artificiales
• Simulación del comercio, de la
competencia económica, etc. para
calibrar modelos
• Permite optimizar estrategias y políticas
• Economía evolutiva
– Es un área de investigación muy bien
establecida
– Se basa sobre la idea de que el juego y
los jugadores en el escenario socioeconómico tienen mucho en común con
el juego de la vida
– El principio de supervivencia de los
mejores es también fundamental en el
contexto económico
– Existen muchas maneras de configurar
las variables de un sistema evolutivo
con una interpretación socio-económica,
y de realizar experimentos de
simulación
27
Ejemplo de problemas de simulación:
Interpretaciones biológicas
• Es interesante desarrollar experimentos de
CE para obtener una interpretación
biológica de la evolución
• Existen dos enfoques en base a los que se
desarrollan estos experimentos:
– Tratar características biológicas existentes
– Tratar características biológicas no existentes
Ejemplo de problemas de simulación:
Interpretaciones biológicas
• Cuando se tratan características biológicas existentes …
• Se quiere simular un fenómeno natural conocido
• Esto puede estar motivado por :
– Una expectativa respecto de que la estrategia natural también
funcionará para la resolución algorítmica de problemas
– La necesidad de entender si los efectos conocidos en la naturaleza
también ocurrirán a nivel algorítmico
• Un ejemplo de este tipo de fenómenos es el incesto
– Evidencias científicas señalan que el incesto lleva a una
degeneración de la población
– Distintos estudios pertenecientes al área de CE, muestran que la
CE también se beneficia de la prevención del incesto
– Esto confirma que los efectos negativos del incesto son inherentes
al proceso evolutivo, independientemente del medio en el que se
desarrolle este último
28
Ejemplo de problemas de simulación:
Interpretaciones biológicas
• Cuando se tratan características biológicas no
existentes …
• Se quiere simular un fenómeno que no existe en la
biología, pero que puede ser implementado en una
computadora
• Un ejemplo de este tipo de fenómenos es la
reproducción “multipadre”
– Más de dos padres son requeridos para la reproducción
– El hijo hereda material genético de cada uno de ellos
– Distintos estudios pertenecientes al área de CE, indican
que este tipo de reproducción tiene efectos beneficiosos
bajo muchas circunstancias diferentes
¿Preguntas?
29
Descargar