clase 4: algoritmos evolutivos computación evolutiva gabriela ochoa gabro

28
Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa http :// www.ldc.usb.ve / ~gabro /

Upload: adelina-vilchez

Post on 28-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Problema Optimización Numérica

Función Vencindad:x = (x1, …, xn), li ≤ xi ≤ ui

x’ = xi + N(0,σi), σi = (ui - li)/6

•Hillclimbing iterado, generar vecindad de tamaño fijo•Simulated Annealing, dos tipos de puntos vecinos.

Page 3: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

for i=1:TRIES, nAccep = 0; for j=1:NOVER, solNew = NewSolution(solCurr,bounds,i,TRIES); % Generate new solution [ solNew(1,:) solNew(1,totLen)] = EvalSol(solNew,evalOps); %Evaluate new Solution deltaE = solCurr(1,totLen) - solNew(1,totLen); if (deltaE >= 0) | (rand < exp(deltaE/T)) solCurr = solNew; % Accept Solution nAccep = nAccep + 1; end if (solCurr(1,totLen) < solBest(1,totLen)) % Minimization Problem solBest = solCurr; bestTrace = [bestTrace solBest(1,totLen)]; end currTrace = [currTrace solCurr(1,totLen)]; end T = T * TFACTR; % Annealing Schedule cbTrace = [cbTrace solBest(1,totLen)]; % Current best traceend

Simulated Annealing in Matlab

Page 4: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Parámetros y variables del SA

solCurr = zeros(1,totLen); % Allocate the current solutionsolNew = zeros(1,totLen); % Allocate the new solutionsolBest = zeros(1,totLen); % Allocate the best solutionTFACTR = 0.85; % Ann Sched: Reduce T by this factor on each stepTRIES = 100; % Number of Temperature Steps to tryTMAX = 10; % Maximun Initial TemperatureT = TMAX; % Current TemperatureNOVER = 30; % Max. No. of solutions tried at any tempNLIMIT = 10; % Max. No. of successful solutions before continuingnAccep = 0; % Counter for the number of accepted solutionsdeltaE = 0; % Maintains difference in performance between current and new solutionbestFitness = 0; % Maintais best-so-far fitness

Page 5: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Contenido

Inspiración biológica: La Teoría de la Evolución NaturalAlgoritmos EvolutivosParadigmas en Computación Evolutiva Estrategias Evolutivas (ES) Programación Evolutiva (EP) Algoritmos Genéticos (GAs) Ramificaciones de los GAs

Page 6: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Creacionismo

Tesis más aceptada sobre el origen de las especies, durante mucho tiempo Dios creó a todas las especies del planeta de forma separadaEspecies jerarquizadas por Dios. El hombre ocupaba el rango superior, al lado del creador

Page 7: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Georges Louis Leclerc (Conde de Buffon)

Especuló (siglo 18) que las especies se originaron entre sí, oposición al "creacionismo”.Notó las similitudes entre el hombre y los simios, y especuló sobre la existencia de un posible ancestro común entre estas 2 especies

• Creía que los cambios orgánicos, eran ocasionados por el ambiente

Page 8: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Jean-Baptiste Lamarck

Principios siglo 19, enunció teoría de la EvoluciónCaracterísticas adquiridas por un organismo durante su vida podían ser transmitidas a sus descendientes.Ley del uso y desuso

Page 9: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Charles 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)

Page 10: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

August Weisman

Teoría del germoplasma: (siglo 19) la información genética se transmite a través de ciertas células (llamadas germinales), mientras que otras células (llamadas somáticas) no pueden transmitir nada.

Page 11: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

August Weisman

Experimento: cortó las colas de un grupo de ratas durante 22 generaciones (1,592 ratas), sin que las nuevas generaciones de ratas perdieran dicha extremidad Demostró así la falsedad de la hipótesis fundamental del Lamarckismo

Page 12: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Johann Gregor Mendel

Realizó una serie de experimentos con lentejas durante una buena parte de su vida, enunciando a partir de ellos las leyes básicas que gobiernan la herencia.

Page 13: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Experimentos de Mendel

Planta alta (TT) cruzada con una corta (tt)Tt: Heterocigoto (Alelos distintos para mismo gen) TT, tt: Homocigotos (Alelos iguales para mismo gen)Carácter Alto es Dominante, y Corto es Recesivo

Page 14: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Neo-Darwinismo

++

Page 15: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Evolución

Proceso de descendencia con cambio, y posiblemente diversificación

Componentes:PoblaciónVariación: en una o mas características Herencia: Transmisión padres - hijosSelección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas

Page 16: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Naturaleza / Computación

Nature ComputerIndividualPopulationFitnessChromosomeGene

Crossover andMutationNatural Selection

Solution to a problemSet of solutionsQuality of a solutionEncoding for a solutionPart of the encoding of asolutionSearch operators

Reuse of good (sub-)solutions

Page 17: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Breve Historia

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íaIdea: 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 18: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Enfoques en Computación Evolutiva

EC = GA + ES + EPComputación

EvolutivaAlgoritmos 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 19: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Ramas 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ónGAs basados en ordenamiento (Order based GAs): utilizados en optimización combinatoria. Espacio de búsqueda: permutacionesSistemas Clasificadores Genéticos (Classifier Systems). Especio de reglas de producción, sistema de aprendizaje, inducir y generalizar

Page 20: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Esqueleto 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(t+1) Replace [P(t), P''(t)]t t + 1

ENDRETURN Best_Solution

Page 21: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

El Ciclo Evolutivo

Recombination

MutationPopulation

Offspring

ParentsSelection

Replacement

Page 22: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Solución de Problemas usando Algoritmos Evolutivos

Page 23: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Algoritmos Genéticos

Jhon Holland, 60s, y 70s, Univ. MichiganIdea original estudio teórico de la adaptación, no resolución de problemasRepresentación genética independiente del dominio: cadenas de bitsÉnfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constanteSelección probabilística

Page 24: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Estrategias 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 (, )-ES, (+ )-ES

• Población de padres e hijospueden tener distinto tamaño

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

Page 25: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Estrategias Evolutivas (2)(, )-ES: Los mejores individuos se escogen de los hijos, y se convierten en los padres de la siguiente Generación. Ej. (50,100)-ES

+ )-ES: Los mejores individuos se escogen delconjunto 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

Page 26: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

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-adaptaba para el tamaño de los pasos de mutación

Page 27: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

Programació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

Page 28: Clase 4: Algoritmos Evolutivos Computación Evolutiva Gabriela Ochoa gabro

ES EP GA

Representación

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 único

Inversión de bit, operador secundario

Recombinación

Discreta (azar) Intermedia (promedio)

Sexual (2 padres), Panmicitica (Varios)

No Crossover de n-puntos, UniformeOperador principalSexual (2 Padres)

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

Probabilistica, extintiva

Probabilística, basada en preservación