Title: Clase 5: Algoritmos Evolutivos: Antecedentes y Paradigmas
1Clase 5 Algoritmos Evolutivos Antecedentes y
Paradigmas
Computación Evolutiva Gabriela Ochoa http//www.ld
c.usb.ve/gabro/
2Contenido
- Inspiración biológica La TeorÃa de la Evolución
Natural - Algoritmos Evolutivos
- Paradigmas en Computación Evolutiva
- Estrategias Evolutivas (ES)
- Programación Evolutiva (EP)
- Algoritmos Genéticos (GAs)
- Ramificaciones de los Gas
- Relación con otras áreas IA, Computación
Emergente, Soft Computing
3Charles Darwin
- 1859 The Origin of Species
- Derrumba el Lamarckismo
- Evolución se origina a través de cambios
aleatorios de caracterÃsticas hereditarias,
combinados con un proceso de selección natural
(Supervivencia de los más aptos)
4Selección Natural
- Proceso natural por el cual los individuos mas
aptos de un grupo de descendientes sobrevive para
transferir sus rasgos heredados a las
generaciones sucesivas - Mientras los menos aptos, mueren sin dejar
descendientes y asà se eliminan los rasgos
caracterÃsticos de los menos aptos - Este proceso explica los cambios en las
caracterÃsticas de las especies en el tiempo, y
eventualmente produce especies y tipos nuevos de
organismos
5Neo-Darwinismo
- Versión moderna de la TeorÃa Evolutiva de Darwin
- SÃntesis entre el Darwinismo y la Genética
Mendeliana - Darwin desconocÃa los mecanismos de variación
6Evolución
- Proceso de descendencia con cambio, y
posiblemente diversificación - Evolución Variación Herencia Selección
- Población
- Variación en una o mas caracterÃsticas
- Herencia Transmisión padres - hijos
- Selección Diferentes tasas de reproducción y
supervivencia. Mas aptos se reproducen mas
7Computación Evolutiva
- Años 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
8Naturaleza / Computación
9Jhon Von Neumann (1)
- Nació en Budapest HungrÃa en 1903
- Genio prematuro, a los 8 años leyó una
enciclopedia de historia universal de 42
volúmenes - Publicó su primer paper a los 18 años con su
tutor - Estudió quÃmica en la Universidad de BerlÃn
hasta 1923
- Lugo viaja a Zurich, donde en 1925, recibe un
tÃtulo en Ing. QuÃmica
10Jhon Von Neumann (2)
- 1928 recibe doctorado en matemáticas de la
Universidad de Budapest, a la edad 22 años - Instituto de Estudios Avanzados en Princeton,
desde 1933. Hasta el final de su vida - Matemático mas brillante del siglo 20,
contribuciones a la mecánica cuántica, análisis
funcional y lógica matemática - Invento áreas nuevas como la teorÃa de juegos,
los autómatas celulares - La arquitectura von Neumann del computador, aun
domina el área
11Jhon von Neumann (3)
- 150 publicaciones 20 en FÃsica y el resto
distribuido mas o menos equitativamente entre - Matemáticas Puras (set theory, logic,
topological group, measure theory, ergodic
theory, operator theory, and continuous geometry)
- Matemáticas Aplicadas (statistics, numerical
analysis, shock waves, flow problems,
hydrodynamics, aerodynamics, ballistics, problems
of detonation, meteorology, and two nonclassical
aspects of applied mathematics, games and
computers).
12Enfoques 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
13Ramas de Algoritmos Genéticos
- Programación Genética (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
14Esqueleto de un Algoritmo Evolutivo
Generate P(0)t ? 0WHILE NOT
Termination_Criterion P(t) DO Evaluate
P(t) P' (t) ? Select P(t) P''(t) ?
Apply_Variation_Operators P'(t) P(t1) ?
Replace P(t), P''(t) t ? t 1 ENDRETURN
Best_Solution
15El Ciclo Evolutivo
Selection
Recombination
Mutation
Replacement
16Solución de Problemas usando Algoritmos Evolutivos
17Algoritmos Genéticos
- Jhon Holland, 60s, y 70s, Univ. Michigan
- Idea original estudio teórico de la adaptación,
no resolución de problemas - Representación genética independiente del
dominio cadenas de bits - Énfasis en recombinación, operador principal,
mutación papel secundario aplicado con baja
probabilidad, constante - Selección probabilÃstica
18Estrategias Evolutivas (1)
- ES, Evolution Strategies, Alemania.
Evolutionstrategies - Utilizadas para resolver problemas duros (sin
solución analÃtica) de optimización de parámetros
(No. reales) - Cromosoma vector de parámetros (float)
- Auto-adaptación de las tasas de mutación.
Mutación con distribución Normal - Selección (m, l)-ES, (m l)-ES
- Población de padres m e hijos l, pueden tener
distinto tamaño - Métodos determinÃsticos que excluyen
definitivamente a los peores de la población
19Estrategias Evolutivas (2)
(m, l)-ES Los mejores m individuos se escogen 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 escogen
del conjunto formado m padres y l hijos. Ej.
(50100)-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
20Estrategias 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-adaptaba para el tamaño de los pasos
de mutación
21Programación Evolutiva
- Inicialmente, evolución a través 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 probabilÃstica
22(No Transcript)
23Algoritmos Evolutivos y Métodos Tradicionales de
Búsqueda
- Búsqueda de datos almacenados Acceder de manera
eficiente información en la memoria del
computador. Ej. Búsqueda 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, Tabú
24(No Transcript)
25Relación con Inteligencia Artificial
- Enfoque Simbólico top down
- Sistemas Expertos-Expert Systems (SE-ES)
- Lógica Preposicional (Cálculo Preposicional)
- 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
26Soft 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
Redes Neurales Artificiales
Soft Computing
Computación Evolutiva
Lógica Difusa
27Computació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
28Ciencias de la Complejidad
- Estudio, en diferentes disciplinas, de cómo una
colección de elementos simples, siguiendo reglas
simples, producen un comportamiento emergente,
colectivo y complejo - Precesamiento y comunicación de información
- Formación de patrones complejos y cambiantes
- Aprendizaje y adaptación al ambiente
29Qué es Computación Emergente?
- Surge cuando acciones de componentes simples con
información y comunicación limitada, producen
procesamiento coordinado y global de información - Resulta de la actividad colectiva en sistemas de
muchas unidades de cómputo elementales en
interacción local - El todo es más que la suma de las partes
30Neuronas
Sistema Nervioso
31Transacciones
Comportamiento de la Bolsa
32Hormigas
Colonias de Hormigas
33Rebaños
Cardúmenes
34Comportamiento de Bandadas
- Modelo computacional de movimiento coordinado de
animales (rebaños, bandadas) (C. Reinolds,1986)
BOIDS - Modelo se basa en 3 comportamientos simples de
dirección que describen como un individuo
maniobra en base a las posiciones y velocidades
de sus vecinos cercanos de vuelo
35Las 3 Reglas de Dirección
- Separación Evitar colisión con compañeros
cercanos de vuelo
- Alineación Imitar dirección y velocidad
promedio de los compañeros cercanos de vuelo
- Cohesión Moverse hacia posición promedio de los
compañeros cercanos de vuelo
36Preguntas Centrales Ciencias de la Complejidad
- Cómo grandes redes con
- Componentes simples, Comunicación limitada
- Sin control central, Reglas simples de operación
- producen comportamientos complejos (vivos,
inteligentes) que involucra - Computación y procesamiento de información
- Dinámicas y patrones complejos
- Adaptación y Aprendizaje?
- Existen principios generales que aplican a todos
los sistemas complejos? -