40
 Estrategias Evolutivas Computación Evolutiva Gregorio T oscano Pulido

estrategias-evolutivas

Embed Size (px)

Citation preview

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 1/40

 

Estrategias Evolutivas

Computación EvolutivaGregorio Toscano Pulido

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 2/40

 

Computación EvolutivaEstrategias Evolutivas

Las siguientes diapositivas están basadas enlas notas de A.E. Eiben, J.E. Smith (Capítulo 4de su libro Introction to Evolutionary Computing)y en las notas de clase de Carlos Coello Coello

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 3/40

 

Computación EvolutivaEstrategias Evolutivas

Resumen de EEs

 Autoadaptación de los tamañosde paso de la mutación

Especialidad

Selección de sobrevivientes

 Aleatoria uniformeSelección de padres

Perturbación gaussianaMutación

Discreta o intermediaRecombinación

Vectores de valores realesRepresentación

(µ,λ) o (µ+λ)

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 4/40

 

Computación EvolutivaEstrategias Evolutivas

Historia

Las estrategias evolutivas fueron desarrolladasen 1964 por un grupo de estudiantes alemanesde ingeniería encabezado por Ingo Rechenbergy Hans-Paul Schwefel. Su objetivo era resolver problemas hidrodinámicos de alto grado decomplejidad

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 5/40

 

Computación EvolutivaEstrategias Evolutivas

Versión original

La versión original (1 + 1) − EE usaba un solopadre y con él se generaba un solo hijo. Estehijo se mantenía si era mejor que el padre, o delo contrario se eliminaba (a este tipo deselección se le llama extintiva, porque lospeores individuos tienen una probabilidad decero de ser seleccionados).

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 6/40

 

Computación EvolutivaEstrategias Evolutivas

Versión original

En la (1 + 1) − EE , un individuo nuevo esgenerado usando:

donde t se refiere a la generación (o iteración)en la que nos encontramos, y N(0, σ) es un

vector de números Gaussianos independientescon una media de cero y desviación estándar σ

 xt 1= x

t  N 0,

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 7/40

Computación EvolutivaEstrategias Evolutivas

Versión con poblaciones

Ingo Rechenberg (1973) introdujo el conceptode población, al proponer una estrategiaevolutiva llamada (µ + 1) − EE , en la cual hay µpadres y se genera un solo hijo, el cual puedereemplazar al peor padre de la población(selección extintiva).

 

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 8/40

Computación EvolutivaEstrategias Evolutivas

EE características adicionales

 Aplicadas típicamente a: – Optimización numérica

Características atribuidas: – Rápidas – Buenos optimizadores para problemas con valores reales – Existe relativamente mucha teoría

Características especiales: –  Auto-adaptación de parámetros

 

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 9/40

Computación EvolutivaEstrategias Evolutivas

Ejemplo introductorio

Tarea: minimimizar f : Rn  R

 Algoritmo: “EE de dos miebros”: – Vectores Rn directamente como cromosomas – Tamaño de población 1 – Una mutación crea un único hijo

 – Selección voraz o selección extintiva

 

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 10/40

Computación EvolutivaEstrategias Evolutivas

Ejemplo introductorio: pseudo-

código

Set t = 0 Create initial point xt = ⟨ x1

t,…,xnt ⟩

REPEAT UNTIL (TERMIN.COND satisfied) DO Draw zi from a normal distr. for all i = 1,…,n yi

t = xit + zi

IF f(xt) < f(yt) THEN xt+1 = xt

 – ELSE xt+1 = yt  FI

 – Set t = t+1 OD

 

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 11/40

Computación EvolutivaEstrategias Evolutivas

Ejemplo introductorio:

Supongamos que queremos maximizar:

donde:

 Ahora, supongamos que nuestra poblaciónconsiste del siguiente individuo (generado deforma aleatoria):

 f   x1 , x2=100 x1 − x221− x1

2

−2.048≤ x1 , x2 ≤ 2.048

 xt  ,σ =−1.0,1.0 ,1.0,1.0

 

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 12/40

Computación EvolutivaEstrategias Evolutivas

Ejemplo introductorio

Supongamos también que las mutaciones

producidas son las siguientes: 

 x1

t 1= x1

t  N 0,1.0=−1.00.61=−0.39

 x2

t 1= x2

t  N 0,1.0=10.57=1.57

 

C ió E l i

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 13/40

Computación EvolutivaEstrategias Evolutivas

Ejemplo introductorio:

 Ahora, comparamos al padre con el hijo:Padre:Hijo:

Dado que: 201.416 > 4.0 el hijo reemplazaría alpadre en la siguiente generación.

 f    xt =  f  −1.0,1.0=4.0

 f    xt 1=  f  −0.39, 1.57=201.416

 

C t ió E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 14/40

Computación EvolutivaEstrategias Evolutivas

Mecanismo de mutación

Convergencia de las Estrategias EvolutivasEsta regla se conoce como la “regla del éxito1/5”, y en palabras dice: “ La razón entremutaciones exitosas y el total de mutacionesdebe ser 1/5. Si es más, entonces debeincrementarse la desviación estándar. Si es

menos, entonces debe decrementarse”.

 

C t ió E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 15/40

Computación EvolutivaEstrategias Evolutivas

Mecanismo de mutación

z valores tomados de una distribución normal N(ξ,σ) – el promedio ξ es 0

 – la variación σ es llamado tamaño de paso de la mutación

σ es modificado por la “regla del éxito 1/5”:

Esta regla ajusta σ después de cada k iteraciones de

acuerdo a: – σ = σ / c if ps > 1/5

σ = σ • c if ps < 1/5

σ = σ if ps = 1/5

donde ps es el % de mutaciones exitosas, 0.8 ≤ c ≤ 1,= 

C t ió E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 16/40

Computación EvolutivaEstrategias Evolutivas

Ilustración de una distribución

normal

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 17/40

Computación EvolutivaEstrategias Evolutivas

Otro ejemplo histórico:el experimento de la boquilla de un

 jet

forma inicial

Forma final

Ejemplo: optimizar la forma de una turbinaEnfoque: mutaciones aleatorias a la forma y selección más

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 18/40

Computación EvolutivaEstrategias Evolutivas

Operadores genéticos: mutaciones (2)

CCaso dimensional

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 19/40

Computación EvolutivaEstrategias Evolutivas

Representación

Los cromosomas se componen de tres partes – Variables objeto: x1,…,xn

 – Parámetros de la estrategia:Tamaño de paso de la mutación: σ1,…,σnσ

 Angulos de rotación: α1,…, αnα

No está siempre presente cada componente Tamaño completo: ⟨ x1,…,xn, σ1,…,σn 

,α1,…, αk ⟩ 

donde k = n(n-1)/2

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 20/40

Computación EvolutivaEstrategias Evolutivas

Mutación

Mecanismo principal: cambiar valoresmediante la suma de un ruido aleatorio tomadode la distribución normal

x’i = xi + N(0,σ) La idea clave:

σ sea parte del cromosoma ⟨ x1,…,xn, σ ⟩  σ sea también mutado en σ’ (ver cómo más

adelante) Por lo tanto: tamaño de paso de la mutación σ 

coevoluciona con la solución x 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 21/40

Computación EvolutivaEstrategias Evolutivas

Mutar primero σ

Mutación con efecto de red: ⟨ x, σ ⟩  ⟨ x’, σ’ ⟩

El orden es importante: – first σ  σ’ – then x x’ = x + N(0,σ’)

Fundamento: los nuevos ⟨ x’ ,σ’ ⟩ son

evaluados dos veces – Primario: x’ es bueno si f(x’) es bueno – Secundario: σ’ es bueno si el x’ que se crea es

bueno

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 22/40

Computación EvolutivaEstrategias Evolutivas

Mutación caso 1:Mutaciones no correlacionadas con

una σ

Cromosomas: ⟨ x1,…,xn, σ ⟩ 

σ’ = σ • exp(τ • N(0,1)) x’i = xi + σ’ • N(0,1)

Típicamente la “tasa de aprendizaje” τ ∝ 1/ n½

Y tenemos una regla de límite σ’ < ε0 ⇒ σ’ = ε0

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 23/40

Computación EvolutivaEstrategias Evolutivas

Mutantes con igual probabilidad

Círculo: los mutantes tienen la misma oportunidad de ser 

creados 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 24/40

Computación EvolutivaEstrategias Evolutivas

Mutación, caso 2:Mutaciones no correlacionada con

n σ’s

Cromosomas: ⟨ x1,…,xn, σ1,…, σn ⟩

σ’i = σi • exp(τ’ • N(0,1) + τ • Ni (0,1)) x’i = xi + σ’i • Ni (0,1) Dos parámetros de tasa de aprendizaje:

 – τ’ tasa de aprendizaje global τ tasa de apredizaje experimentado coordinado

τ ∝ 1/(2 n)½ y τ ∝ 1/(2 n½) ½

Y σi’ < ε0 ⇒ σi’ = ε0

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 25/40

Computación EvolutivaEstrategias Evolutivas

Muntates con igual probabilidad

Elipse: mutantes tienen la misma probabilidad de ser creados 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 26/40

Computación EvolutivaEstrategias Evolutivas

Mutación caso 3:

Mutaciones correlacionadas

Cromosomas: ⟨ x1,…,xn, σ1,…, σn ,α1,…, αk ⟩

donde k = n • (n-1)/2 y la matriz de covarianza C está definida como:

 – cii = σi2

 – cij= 0 si i e j no están correlacionadas

 – cij = ½  • ( σi2 - σ j

2 ) • tan(2 αij) si i e j estáncorrelacionadas

Note que los números / índices de las α‘s

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 27/40

Computación EvolutivaEstrategias Evolutivas

Mutaciones correlacionadas cont.

El mecanismo de mutación es: σ’i = σi • exp(τ’ • N(0,1) + τ • Ni (0,1))

α’ j = α j + β • N (0,1)

 x ’ = x  + N (0,C’ ) –  x representa el vector ⟨ x1,…,xn ⟩ – C’  es la matriz de covarianza C después de la mutación de

los valores α  τ ∝ 1/(2 n)½ y τ ∝ 1/(2 n½) ½ y β ≈ 5° σi’ < ε0 ⇒ σi’ = ε0 y

| α’ j | > π ⇒ α’ j = α’ j - 2 π signo(α’ j) 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 28/40

pEstrategias Evolutivas

Mutantes con igual similitud

Elipse: los mutantes tienen la misma oportunidad de ser creados 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 29/40

pEstrategias Evolutivas

Recombinación

Las estrategias evolutivas simulan el procesoevolutivo al nivel de los individuos, por lo que la

recombinación es posible.

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 30/40

pEstrategias Evolutivas

Recombinación

Los operadores de recombinación de lasestrategias evolutivas pueden ser: – Sexuales: el operador actúa sobre los individuos

elegidos aleatoriamente de la población de padres. – Panmíticos: se elige un solo padre al azar, y se

mantiene fijo mientras se elige al azar un segundo

padre (de entre toda la población) para cadacomponente de sus vectores.

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 31/40

pEstrategias Evolutivas

Recombinación

Crea un hijo

 Actúa por variable/posición: – Promediando los valores de los padres, o – Seleccionando uno de los valores de los padres

Si se usan 2 o más padres:

 – Usando los dos padres seleccionados para crear elhijo – Selecionando dos padres por cada nueva posición

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 32/40

pEstrategias Evolutivas

Nombres de las recombinaciones

Discreta globaldiscreta localzi es xi o yi seleccionadasaleatoriamente

Intermedia globalIntermedia localzi = (xi + yi)/2

2 padresseleccionados

con cada i

2 padres fijos

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 33/40

Estrategias Evolutivas

Selección de padres

Los padres son seleccionados usando unadistribución aleatoria uniforme cuando un

operador necesite uno o muchos padres De esta manera: la selección de padres de la

EE es imparcial – cada individuo tiene lamisma probabilidad de ser seleccionado

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 34/40

Estrategias Evolutivas

Selección de sobrevivientes

Se aplica una vez que se crean λ hijos de los

µ padres usando mutación y recombinación Deterministicamente se eliminan los peores La base de la selección es cualquiera de:

 – El conjunto de hijos únicamente: selección-(µ,λ)

 – El conjunto de padres e hijos: selección-(µ+λ)

 

Computación Evolutiva

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 35/40

Estrategias Evolutivas

Selección de sobrevivientes cont.

Selección-(µ+λ), es una estrategia elitista

Selección-(µ,λ) puede “olvidar”

 A menudo la selección-(µ,λ) se prefiere para: – salirse de un óptimo local – cuándo el óptimo es dinámico – Usando la estretegia + pueden sobrevevir malos valores de σ 

en ⟨x,σ⟩ por mucho tiempo en caso que su x “portador” seamuy apto

La presión de selección en EE es muy alta (λ ≈ 7 • µ esuna configuración común)

 

Computación EvolutivaE t t i E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 36/40

Estrategias Evolutivas

Auto-adaptación

Dado paisaje de aptitud dinámicamentecambiante (la posición del óptimo se muevecada 200 generaciones)

La auto-adaptación le permite a la EE – encontrar el óptimo y –

ajustar el tamaño de paso de la mutación en cadamovimiento

 

Computación EvolutivaE t t i E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 37/40

Estrategias Evolutivas

Auto-adaptación ilustrada cont.

Cambios en el valor de aptitud (izquierda) y tamaños enel paso de la mutación (derecha)

 

Computación EvolutivaE t t i E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 38/40

Estrategias Evolutivas

Prerequisitos para auto-adaptación

µ > 1 para portar diferentes estratégias

λ > µ generar excedente de hijos Una selección que no sea demasiado fuerte,

e.g., λ ≈ 7 • µ

selección-(µ,λ) para librarse de los σdesadaptados Mezclar estratégias de parámetros usando

recombinación (intermedia)

 

Computación EvolutivaE t t i E l ti

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 39/40

Estrategias Evolutivas

Ejemplo de aplicación:

La función Ackley (Bäck et al ’93)

La función Ackley (con n =30):

Estrategia Evolutiva: – Representación:

-30 < xi < 30 30 tamaños de paso

 – Selección-(30,200) – Término : después de 200000 evaluaciones de la función

objetivo (ffe, o efo)

 f  x =−20⋅exp

−0 .2

 1

n⋅∑i=1

n

 x i

2

−exp

1

n∑i=1

n

cos x2π i

20e

 

Computación EvolutivaEstrategias Evolutivas

5/14/2018 estrategias-evolutivas - slidepdf.com

http://slidepdf.com/reader/full/estrategias-evolutivas 40/40

Estrategias Evolutivas

Ejemplos de aplicación en donde ha

sido exitosa:

Problemas de ruteo y redes Bioquímica Óptica Diseño en ingeniería Magnetismo