26
Computación Evolutiva Clase1: Introducción, Paradigmas de Computación Evolutiva, Relación con otras Areas

computación evolutiva

Embed Size (px)

DESCRIPTION

diseño de sesión de sistemas inteligentes, detección de imagenes y procesamiento de las mismas.

Citation preview

Page 1: computación evolutiva

Computación Evolutiva

Clase1: Introducción, Paradigmas de Computación Evolutiva, Relación con otras Areas

Page 2: computación evolutiva

Motivación

Cual es el resolvedor de problemas mas poderoso del Universo?

El cerebro humano: que creo la rueda, las computadoras, etc

El Mecanismo Evolutivo: Que creo el cerebro humano

Page 3: computación evolutiva

Técnicas para Solución de Problemas Inspiradas en la Naturaleza

Cerebro Neuro-Computación

Humano (Redes Neurales)

Evolución Computación Evolutiva

(Algoritmos Evolutivos)

Page 4: computación evolutiva

Computación Evolutiva

Area Interdisciplinaria: relacionada con Biología, Inteligencia Artificial, Optimización

Estudia métodos de búsqueda y resolución de problemas inspirados en los mecanismos de la Evolución Natural

Page 5: computación evolutiva

Criaturas Virutuales – Karl Sims

Cangrejo vs. Brazo Culebra de agua

Saltador Seguidor de 3 brazos

Page 6: computación evolutiva

Criaturas Virutuales – Karl Sims

Page 7: computación evolutiva

Evolución

Proceso de descendencia con cambio, y posiblemente diversificación

Componentes:

Población

Variación: en una o mas caracterísitcas

Herencia: Transmisión padres - hijos

Selección: Diferentes tasas de reproducción y sobrevivencia. Mas adaptados se reproducen mas

Page 8: computación evolutiva

Naturaleza / Computación

Nature Computer

Individual

Population

Fitness

Chromosome

Gene

Crossover and

Mutation

Natural Selection

Solution to a problem

Set of solutions

Quality of a solution

Encoding for a solution

Part of the encoding of a

solution

Search operators

Reuse of good (sub-)

solutions

Page 9: computación evolutiva

Contenido

Historia, Paradigmas en Computación Evolutiva Estrategias Evolutivas (ES)

Programación Evolutiva (EP)

Algoritmos Genéticos (GAs)

Ramificaciones de los GAs

Relación con otras áres (Busqueda, IA, Optimización, Heurísticas, Soft Computing, Computación Emergente)

Page 10: computación evolutiva

Breve Historia

En los 50s y 60s varios científicos de manera independiente estudiaron sistemas evolutivos, con la idea usar la evolución como método optimización en ingeniería

Idea: Evolucionar una población de posibles soluciones a un problema dado, utilizando operadores inspirados por la variación genética, y la selección natural

Page 11: computación evolutiva

Enfoques en Computación Evolutiva

EC = GA + ES + EP Computación

Evolutiva Algoritmos Genéticos

(Holland, 75)

Estrategias Evolutivas

(Rechenberger, 73)

Programación Evolutiva

(Fogel, Owens, Walsh, 66)

Similares en un nivel abstracto, inspiradas en los principios de la Evolución Natural.

Diferencias a nivel de implementación. Aspectos de representación de las estructuras, operadores de variación, métodos de Selección, medidas de desempeño

Page 12: computación evolutiva

Ramas de Algoritmos Genéticos

Programación Genetica (Genetic Programming, GP) Jhon Koza, 1989. Espacio de búsqueda, programas de computación en un lenguaje que puede ser modificado por mutación y recombinación

GAs basados en ordenamiento (Order based GAs): utilizados en optimización combinatoria. Espacio de búsqueda: permutaciones

Sistemas Clasificadores Genéticos (Classifier Systems). Especio de reglas de producción, sistema de aprendizaje, inducir y generalizar

Page 13: computación evolutiva

Esqueleto de un Algoritmo Evolutivo

Generate [P(0)] t 0

WHILE NOT Termination_Criterion [P(t)] DO

Evaluate [P(t)] P' (t) Select [P(t)] P''(t) Apply_Variation_Operators [P'(t)] P(t+1) Replace [P(t), P''(t)] t t + 1

END RETURN Best_Solution

Page 14: computación evolutiva

El Ciclo Evolutivo

Recombination

Mutation Population

Offspring

Parents Selection

Replacement

Page 15: computación evolutiva

Solución de Problemas usando Algoritmos Evolutivos

Page 16: computación evolutiva

Algoritmos Genéticos

Jhon Holland, 60s, y 70s, Univ. Michigan

Idea original estudio teórico de la adaptación, no resolución de prolemas

Representación genética independiente del dominio: cadenas de bits

Enfásis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante

Selección probabilistica

Page 17: computación evolutiva

Estrategias Evolutivas (1)

ES, Evolution Strategies, Alemania. Evolutionstrategies

• Utilizadas para resolver problemas duros (sin solución anílitica) de optimización de parámetros (No. reales)

• Cromosoma = vector de parámetors (float)

• Auto-adaptación de las tasas de mutación, Mutación Distribución Normal, dos parámetros

• Selección (m, l)-ES, (m + l)-ES

• Poblacion de padres m e hijos l, puenden tener distinto

tamaño

• Métodos determinísticos que excluyen definitivamente a los peores de la población

Page 18: computación evolutiva

Estrategias Evolutivas (2)

(m, l)-ES: Los mejores m individuos se escongen de los l hijos, y se convierten en los padres de la siguiente Generación. Ej. (50,100)-ES (m + l)-ES: Los mejores m individuos se escongen del conjunto formado m padres y l hijos. Ej. (50+100)-ES (m, l)-ES parece ser el mas recomendado para optimizar Funciones complejas y lograr la auto-adaptación de las tasas de mutación

Page 19: computación evolutiva

Estrategias Evolutivas (3)

El progreso del Algoritmo evolutivo, ocurre solo en una pequeña banda de valores para el paso de la mutación.

Por esta razón, se requiere de una regla auto-adaptiva para el ramaño de los pasos de mutación

Page 20: computación evolutiva

Programación Evolutiva

•Inicialmente, evolución a traves de mutaciones de maquinas de estado finito

•Representación adecuada al problema

•Mutación único operador de variación, distribución normal, Auto-adaptación

•Selección probabilistica

Page 21: computación evolutiva

ES EP GA

Representacion Números Reales Números Reales Digitos Binarios

Auto-Adaptación

Desviaciones estándares y angulos de rotación

No (Standard EP)

Varianzas (Meta EP)

No

Mutación Gaussiana, Operador principal

Gaussiana, Operador unico

Inversión de bit, operador secundario

Recombinación Discreta (azar) Intermedia (promedio)

Sexual (2 padres), Panmicitica (Varios)

No Crossover de n-puntos, Uniforme

Operador principal

Sexual (2 Padres)

Selección Determinística, extintiva o basada en preservación

Probabilistica, extintiva

Probabilistica, basada en preservación

Page 22: computación evolutiva

Algoritmos Evolutivos y Métodos Tradicionales de Búsqueda

Búsqueda de datos almacenados: Accesar de manera eficiente información en la memoria del computador. Ej. Busqueda Binaria

Búsqueda de rutas hacia metas: Encontrar de manera eficiente un conjunto de acciones que llevara de un estado inicial a uno final (meta). Ej. DFS, Branch-bound, A*

Búsqueda de Soluciones: Mas general. Encontrar de manera eficiente la solución a un problema, en un espacio grande de soluciones candidatas. Ej. EAs, SA, HC, Tabu

Page 23: computación evolutiva
Page 24: computación evolutiva

Relación con Inteligencia Artificial

Enfoque Simbólico – top down Sistemas Expertos-Expert Systems (SE-ES)

Lógica Proposicional (Cálculo Proposicional)

Lógica de Predicados (Cálculo de Predicados)

Redes Semánticas

Frames (Marcos)

Lógica difusa o borrosa-Fuzzy Logic (LD-FL)

Enfoque Subsimbólico – bottom up Redes Neurales Artificiales

Computación Evolutiva

Page 25: computación evolutiva

Soft Computing

Difiere de la Computación tradicional (hard computing), en que es tolerante a imprecisiones, incertidumbre, aproximación, verdades parciales Modelo: mente humana

Principio Guía: aprovechar la tolerancia a los aspectos mencionados arriba, para lograr tratabilidad, robustez, bajo costo

SC = EC + ANN + FL

Soft Computing

Computación Evolutiva

Redes Neurales

Artificiales

Lógica Difusa

Page 26: computación evolutiva

Computación Emergente

Procesos de cómputo que resultan de la actividad colectiva de muchas unidades computacionales sencillas con interacción local

Sistema dinámico, evoluciona en el espacio de estados bajo conjunto de reglas

- REDES NEURALES ARTIFICIALES

- ALGORITMOS EVOLUTIVOS

- AUTOMATAS CELULARES

- MODELOS DE VIDA ARTIFICIAL.

- RECOCIDO SIMULADO