Post on 11-Dec-2015
description
Computación Evolutiva
Clase1: Introducción, Paradigmas de Computación Evolutiva, Relación con otras Areas
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
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)
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
Criaturas Virutuales – Karl Sims
Cangrejo vs. Brazo Culebra de agua
Saltador Seguidor de 3 brazos
Criaturas Virutuales – Karl Sims
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
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
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)
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
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
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
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
El Ciclo Evolutivo
Recombination
Mutation Population
Offspring
Parents Selection
Replacement
Solución de Problemas usando Algoritmos Evolutivos
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
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
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
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
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
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
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
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
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
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