Está en la página 1de 26

Computación Evolutiva

Curso Aprendizaje
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 Solution to a problem
Population Set of solutions
Fitness Quality of a solution
Chromosome Encoding for a solution
Gene Part of the encoding of a
solution
Crossover and Search operators
Mutation
Natural Selection 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 Algoritmos Estrategias Programación
Evolutiva Genéticos Evolutivas Evolutiva
(Holland, 75) (Rechenberger, 73) (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
Selection
Parents

Recombination

Population
Mutation

Replacement
Offspring
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 (, )-ES, (+ )-ES
• Poblacion de padres e hijospuenden tener distinto
tamaño
• Métodos determinísticos que excluyen definitivamente a los
peores de la población
Estrategias Evolutivas (2)
(, )-ES: Los mejores  individuos se escongen de los
 hijos, y se convierten en los padres de la siguiente
Generación. Ej. (50,100)-ES

+ )-ES: Los mejores  individuos se escongen del


conjunto formado  padres y  hijos.
Ej. (50+100)-ES

(, )-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- Desviaciones No (Standard EP) No


Adaptación estándares y angulos Varianzas (Meta
de rotación EP)

Mutación Gaussiana, Operador Gaussiana, Inversión de bit,


principal Operador unico operador
secundario

Recombinación Discreta (azar) No Crossover de n-


Intermedia (promedio) puntos, Uniforme
Sexual (2 padres), Operador principal
Panmicitica (Varios) Sexual (2 Padres)

Selección Determinística, Probabilistica, Probabilistica,


extintiva o basada en extintiva basada en
preservación 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 Computación Redes Lógica
Computing Evolutiva Neurales Difusa
Artificiales
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

También podría gustarte