documentación doctorado

54
mo construir un Algoritmo mo construir un Algoritmo Evolutivo Evolutivo Los Pasos a realizar Los Pasos a realizar Diseño de la representación Construcción de la población inicial Codificación de los individuos Definición de la función fitness

Upload: compunova

Post on 09-Jul-2015

164 views

Category:

Education


1 download

DESCRIPTION

Algoritmos geneticos

TRANSCRIPT

Page 1: Documentación doctorado

CCóómo construir un Algoritmo mo construir un Algoritmo EvolutivoEvolutivo

Los Pasos a realizarLos Pasos a realizar

• Diseño de la representación

• Construcción de la población inicial

• Codificación de los individuos

• Definición de la función fitness

Page 2: Documentación doctorado

Otros PasosOtros Pasos

• Operador mutación

• Operador Cruce

• Operador selección

• Reemplazamiento

• Condición de parada

La RepresentaciLa Representacióónn

Existen muchas maneras de representación. La forma elegida debe ser relevante para el problema a resolver.

Al elegir la representación debemos tener en mente la función fitness y los operadores a utilizar.

Page 3: Documentación doctorado

RepresentaciRepresentacióón Binaria (Genotipo)n Binaria (Genotipo)

CROMOSOMACROMOSOMA

GENGEN

RepresentaciRepresentacióón Binaria (Fenotipo)n Binaria (Fenotipo)

Genotype8 bits

Fenotipo:• Entero• Real• Planificación• ...• Otros

Page 4: Documentación doctorado

Fenotipo de Tipo EnteroFenotipo de Tipo Entero

Genotipo:

1*21*27 7 + 0*2+ 0*26 6 + 1*2+ 1*25 5 + 0*2+ 0*24 4 + 0*2+ 0*23 3 + 0*2+ 0*22 2 + 1*2+ 1*21 1 + 1*2+ 1*200 ==128 + 32 + 2 + 1 = 163128 + 32 + 2 + 1 = 163

= 163Fenotipo:

Fenotipo de Tipo RealFenotipo de Tipo Real

Número real entre 2.5 and 20.5 con 8 digitos

( ) 9609.135.25.202561635.2 =−+=x

= 13.9609Genotipo: Fenotipo:

Page 5: Documentación doctorado

Fenotipo de Tipo PlanificaciFenotipo de Tipo Planificacióónn

8 trabajos en dos fases

Genotipo:

=

12345678

21211122

Tr, Fase

Fenotipo

ReprentaciReprentacióón Basada en el Ordenn Basada en el Orden

• Los individuos son permutaciones

• Útil en problemas de secuenciación

• Problema del viajante: A cada ciudad se le

asigna un número. Una solución con cinco

ciudades podría ser (5, 4, 2, 1, 3).

• Operadores de carácter especial

Page 6: Documentación doctorado

PoblaciPoblacióón Inicialn Inicial

• Diversidad:

– Cadenas binarias aleatorias.– Distribución uniforme sobre un

intervalo.• Utilización de heurísticos

– Posible pérdida de diversidad– Posibilidad de irrecuperabilidad de

buenas propiedades

ObtenciObtencióón del Fenotipo a partir del Genotipon del Fenotipo a partir del Genotipo

• A menudo esta obtención es trivial.

• En ocasiones el genotipo es una entrada para algún algoritmo que junto a datos del problema producirá el fenotipo

Genotipo DatosProblema

Fenotipo

Algoritmo

Page 7: Documentación doctorado

EvaluaciEvaluacióón de los Individuos (I)n de los Individuos (I)

• Operación de mayor coste.

• Puede ser desde una simple función hasta un complicado simulador o proceso externo.

• Posibilidad de utilizar fitness aproximados .

EvaluaciEvaluacióón de los Individuos (II)n de los Individuos (II)

• Problemas con restricciones: El fenotipo no verifica alguna restricción

– Penalización en el fitness

– Algoritmos evolutivos específicos

• Optimización Multiobjetivo

– Soluciones no dominadas

– Frente pareto

Page 8: Documentación doctorado

Operador MutaciOperador Mutacióónn

• Permitir el alcance a cualquier punto del espacio de búsqueda.

• Control del tamaño de la mutación.

• Producción de cromosomas válidos.

MutaciMutacióón para Representacin para Representacióón Binarian Binaria

1 1 1 1 1 1 1Antes

Normalmente se establece una probabilidad de mutación que se aplica a cada gen.

1 1 1 0 1 1 1

Gen mutado

Page 9: Documentación doctorado

MutaciMutacióón para Representacin para Representacióón Basada en el n Basada en el OrdenOrden

7 83 41 2 6 5

7 83 46 2 1 5

Intercambio de genes elegidos aleatoriamente

MutaciMutacióón para Representacin para Representacióón Basada en el n Basada en el Orden (II)Orden (II)

Padre = (1,2,3,4,5)

Hijo = (1, - , - , - ,5)3, 2, 4

Page 10: Documentación doctorado

Operador Cruce o de RecombinaciOperador Cruce o de Recombinacióónn

• Los hijos conservan características de los padres

• Diseño del operador en base a la representación utilizada

• Producción de cromosomas válidos

Cruce en un Punto (RepresentaciCruce en un Punto (Representacióón Binaria)n Binaria)

Población . . .

Selección de un punto en el cromosoma

1 1 1 1 1 1 1 0 0 0 0 0 0 0 padrescorte corte

1 1 1 0 0 0 0 0 0 0 1 1 1 1 hijos

Page 11: Documentación doctorado

Cruce UniformeCruce Uniforme

a db fc e g h

FD GE HCBAa b C Ed Hgf

Cruce Basado en el OrdenCruce Basado en el Orden

Padre-1 = (1,2,3,4,5) Padre-2 = (4,2,3,5,1)

Cadena = (0,0,1,0,1)

Hijo-1 = ( - , - , - , - , - ) Hijo-2 = ( - , - , - , - , - )3 54 2 1 4 2 51 3

Page 12: Documentación doctorado

SelecciSeleccióónn

• Mejores individuos tienen mayor probabilidad de selección

• Dar oportunidad a todos los individuos sin excesivo sesgo hacia los mejores.

Probabilidad de SelecciProbabilidad de Seleccióónn

• Probabilidad de selección del individuo i

ff i

Mejor

Peor

• Mejores

– Más espacio– Más posibilidades

Page 13: Documentación doctorado

Algunas desventajas de la selecciAlgunas desventajas de la seleccióón anteriorn anterior

• Convergencia prematura a individuos no óptimos cuando los fitness son muy distintos

• Aleatoria en poblaciones con fitness muy parecidos

• Solución aplicable: ESCALADO

ElitismoElitismo

• ¿Debe mejorar constantemente el fitness?– Meter en la población actual el mejor

individuo (elitismo)– Mantener guardado el mejor individuo

encontrado.

• El elitismo no siempre es lo mejor.

Page 14: Documentación doctorado

Cruce vs. MutaciCruce vs. Mutacióónn

• Cruce– Dependencia de la población– Decrecen sus efectos con la convergencia– Operador que explota buenas propiedades

de los individuos.• Mutación

– Misión de escapar de óptimos locales– Operador que explora el espacio de

búsqueda

Criterio de paradaCriterio de parada

• Óptimo alcanzado

• Máximo número de evaluaciones alcanzado

• Número de generaciones sin que se produzcan mejoras significativas

• . . . . .

Page 15: Documentación doctorado

Bondad del Algoritmo GenBondad del Algoritmo Genéético (I)tico (I)

• Nunca sacar conclusiones tras una sola ejecución – Utilizar medidas estadísticas (medias,…)– Tras un número suficiente de ejecuciones

• Punto de vista de la aplicación– Perspectiva del diseño:

Econtrar una muy buena solución al menos una vez

– Perspectiva de producción:Encontrar buenas soluciones casi siempre

Bondad del Algoritmo GenBondad del Algoritmo Genéético (II)tico (II)

Realizar adecuadamente los tests de ajuste de parámetros:

No realizar el ajuste con problemas pequeños y pretender que funcione correctamente con los problemas reales a los que se enfrentará

Page 16: Documentación doctorado

Algunas ClavesAlgunas Claves

• Mantener diversidad genética• Exploración y Explotación:

– Exploración = buscar en nuevas regiones. Demasiada exploración = búsqueda aleatoria.

– Explotación = Tratar de mejorar combinando lo bueno que se posee. Demasiada explotación = búsqueda local (óptimo local)

Page 17: Documentación doctorado

Algoritmos evolutivos para el problema de la mochila 0-1 multidimensional

Problema de la mochila 0-1 multidimensional (MKP)

Instancia de MKP K= (n,m,p,A,b)

n, m ∈ N; p ∈ (R+)n; A ∈ Mm×n(R+ ∪ 0); b∈(R+)m

Maximizar f(x)=p . x’ = Σj=1,...,n pj xj

Sujeto a: A . x’ ≤ b’

Restricción i-ésima Ci: Σj=1,...,n aij xj ≤ bi

Variables booleanas con valores en 0,1

KLP versión relajada de K: variables con valores en [0,1]

Page 18: Documentación doctorado

Problema de la mochila 0-1 multidimensional Solución

α ∈ 0,1n es una solución factible para K si verifica Ci ∀ i

αKopt ∈ 0,1n es solución si verifica:

][)()(1

jpff optK

n

j joptK ααα ∑ =

=≤

para toda solución factible α

Problema de la mochila 0-1 multidimensional

Solución ε-aproximada

α ∈ 0,1n solución factible:)(

)()(optK

optK

fff

αααεα

−=

dado un ε ∈ (0,1), αKε es cualquier solución factible t.q.:

εε εα≤

K

Page 19: Documentación doctorado

Problema de la mochila 0-1 multidimensional

Multitud de aplicaciones

Estrategias heurísticas para MKP:

De tipo voraz [Pirkul 1987]

Programación Lineal [Balas, Martin 1980]

Estrategias evolutivas:

[Khuri, et al. 1994], [Thiel, Voss 1994],

[Chu, Beasley 1998], [Alonso, Caro, Montaña 2005]

MKP y los multiplicadores subrogados

K= (n,m,p,A,b), ω ∈ (R+)m

Restricción subrogada

∑∑ ∑== =

≤=m

iii

n

j

m

ijiji bxaKSc

11 1)(),( ωωω

Instancia subrogada (dimensión uno)

SR(K,ω) = (n,1,p, ω . A, ω . b’)

Page 20: Documentación doctorado

MKP y los multiplicadores subrogados

Algunas consideraciones

1.- Podemos suponer ω ∈ (0,1]m

)()( -2. ),(optK

optKSR ff αα ω ≥

)(]1,0(:)(min -3. ),(optK

moptKSR ff LP αωαω

≥∈

? )( )( ¿ .4 ),(optKKSR ff ααε

ω ≥−

MKP y los multiplicadores subrogadosAG para el cálculo de un buen vector ω

K= (n,m,p,A,b), q ∈ N

Individuo: cadena binaria γ ∈ 0,1qm (q es la precisión), representando un vector de pesos ω

El objetivo consiste en minimizar la función fitness1

Operadores: ruleta; cruce uniforme; mutación de bit.

∑=

==n

j

optKSRj

optKSR

jpffitness LPLP

1),(),(

][)()(1ωω

ααγ

Page 21: Documentación doctorado

MKP y los multiplicadores subrogadosAG para el cálculo de un buen vector ω

K= (n,m,p,A,b), q ∈ N, ε∈ [0,1]

Individuo: cadena binaria γ ∈ 0,1qm (q es la precisión), representando un vector de pesos ω

∑=

==n

jKSRjKSR

jpffitness1

),(),(][)()(2 ε

ωε

ωααγ

Cálculo de αεSR(K,ω) : Algoritmo ε-aproximado unidimensional

[Brassard, Bratley 1997]

El objetivo consiste en minimizar la función fitness2

Operadores: ruleta; cruce uniforme; mutación de bit.

Algoritmo evolutivo para MKP

K= (n,m,p,A,b), ω ∈ (0,1]m

Individuo: cadena binaria α ∈ 0,1n

∑=

=n

jj jpf

1][)( αα

Ratio utilidad xj:

∑=

= m

iiji

jj

a

pu

Fitness: Fitness:

Page 22: Documentación doctorado

Algoritmo evolutivo para MKP

DROPfor j=1 to n calcular ujP:=permutaciónn(1,…,n) con uP[ j ] ≤ uP[ j+1 ] for j=1 to n do

if (α [P[ j ]] = 1 and no-factible(α)) then α [P[ j ]] := 0

ADDP:=permutación(1,…,n) con uP[ j ] ≥ uP[ j+1 ] for j=1 to n do

if α [P[ j ]] = 0 then α [P[ j ]] := 1if no-factible(α) then α [P[ j ]] := 0

El proceso de búsqueda local (random walk)

K= (n,m,p,A,b), ω ∈ (0,1]m , α ∈ 0,1n

1. se genera P, permutación de longitud n.

2. Para cada j ∈ 1, …, n se conmuta α[ P[ j ] ] si se produce mejora.

3. Si se produjo alguna conmutación volver a 1.

DROPj : igual a DROP pero sin modificar α[ j ]ADDj : igual a ADD pero sin modificar α[ j ]

Algoritmo evolutivo para MKP

Page 23: Documentación doctorado

Procedure flip(i, α )begin

if alpha[ i ]=1 thenalpha[ i ]:=0alpha:=ADDi(K,ω,alpha)

elsealpha[ i ]:=1alpha:=DROPi(K,ω,alpha)alpha:=ADDi (K,ω,alpha)

end

Algoritmo evolutivo para MKP

Algoritmo evolutivo para MKP

Operadores: ruleta; cruce uniforme, mutación de bit.

Población inicial: permutación aleatoria (1,…, n) y aplicación de ADD

Búsqueda local: Se aplica cada t generaciones a toda la población, tratando de mantener cierta diversidad.

Algoritmo tipo Steady State

Page 24: Documentación doctorado

Resultados experimentalesOR-LIBRARY [Chu-Beasley 1998] m ∈ 5,10,30; n ∈ 100,250,500; r ∈ 0.25,0.5,0.75270 instancias

Glover – Kochenbergern ∈ [100, 2500]; m ∈ [15, 100] 11 instancias

Parámetros: Surrogate Multipliers: tp = 75; q = 10; pm = 0.1; gen = 15000MKP:tp = 100; pm = 0.1; 1,5 ×106 evaluaciones distintas; t = 104

Resultados experimentales

)()()(

100% optK

optK

LP

LP

fff

gapα

αα −= 10 ejecuciones

Page 25: Documentación doctorado

Resultados experimentales

Resultados experimentales

Parámetros para el fitness2 solución ε - aproximada: Surrogate Multipliers: tp = 20; q = 10; pm = 0.1; gen = 8000

MKP:tp = 100; pm = 0.1; 106 evaluaciones distintas

Page 26: Documentación doctorado

Resultados experimentales

)()()(

100% optK

optK

LP

LP

fff

gapα

αα −=

3 problemas de cada tipo

5 ejecuciones

KLP constituye la versión relajada de K, donde las variables toman valores en todo el intervalo [0,1]

Resultados experimentales

Page 27: Documentación doctorado

Conclusiones

• AG para MKP basado en los multiplicadores subrogados, dotado de un proceso de búsqueda local.

• Aplicación periódica de la búsqueda local.

• Obtención de soluciones de alta calidad, fundamental mente en problemas grandes.

• La búsqueda local produce sensibles mejoras.

Conclusiones

• Utilización de soluciones ε-aproximadas.

• Estudio de diferentes entornos de aproximación

• Soluciones de alta calidad para valores de

ε ∈ [0.1,0.5)

Page 28: Documentación doctorado

Resolución de “Word Equation Systems” Mediante un Algoritmo

Evolutivo

• Introducción.

• El problema “Word Equation Systems” (WES).

• El problema 3-SAT.

• El Algoritmo Evolutivo.

• Resultados Experimentales.

• Trabajo Futuro.

Índice

Page 29: Documentación doctorado

Introducción

Resolver la siguiente ecuación:

x 0 1 x 1 y = 1 y 0 x y

Aplicaciones en:• Teoría de la Unificación (Prolog 3)• Pattern-Matching• .... ????

Problema muy estudiado:

– [Lentin 72]; [Plotkin 72]; [Siekmann 72]. Semi-decisión del problema.

– [Hmlevskii 71]. Ecuaciones con tres variables.– [Makanin 77]. Demostró la resolubilidad del

problema. ¡ALGORITMO TRIPLEMENTE EXPONENCIAL!

Mejoras– [Gutiérrez 98]; [Plandowski, Rytter 98]. Exponencial– [Robson 99]. Ecuaciones cuadráticas.

Introducción

Page 30: Documentación doctorado

El Problema WES (Word Equation Systems)

A, alfabeto; Ω, Variables (A ∩ Ω = ∅).

“Word equation”:L=R; (L, R) ∈ (A ∪ Ω)* × (A ∪ Ω)*

WES : S = L1= R1, …, Ln= Rn ; (Li, Ri) ∈ (A ∪ Ω)* × (A ∪ Ω)*

Solución: σ (A ∪ Ω)* → A*; σ (a) = a ∀ a ∈ Aσ (Li) = σ (Ri); ∀ i ∈ 1, …, n

1. 0 0 1 1 x1 1 1 1 = 0 x1 0 x6 x6 12. x2 x7 x1 1 = x2 0 x2 1 13. 0 1 x5 x3 0 1 1 1 = x3 x1 x8 x1 0 0 0 1 1 x1 14. 0 x7 1 x3 0 0 1 = x1 0 0 x6 x1 x2 0 0 0 x2 15. x6 1 x3 1 x4 1 1 = x6 1 x1 0 1 x4 x6

6. 0 x3 1 x3 x3 x3 = x3 0 1 x3 0 07. 0 0 0 x7 x1 0 = x3 0 x3 0 x2 1 08. 0 x1 x2 x8 x3 = x1 x7 x3 x3 0 1 09. 1 x7 1 x5 1 0 = 1 0 1 x8 x7 010. x3 1 x3 0 = 0 x1 1 0 x3

Solución:

σ (x1)= Λ, σ (x2) = Λ, σ (x3) = 0, σ (x4) = 0 1 0 1 1, σ (x5) =0 0 0 1 0 σ (x6) = 1 1, σ (x7) = 0 1, σ (x8) =1 0 0 0 1

El Problema WES (Word Equation Systems)

Page 31: Documentación doctorado

Problema WES“dado un sistema S = L1= R1, …, Ln= Rn ,

encontrar solución o determinar la no existencia.”[Makanin 1977]. Algoritmo triplemente exponencial.

Sistema Fibonacci (Sd): A =0, 1x1 = 0 x2 = 1 0 1 x1 x2 = x1 x2 x3

…………………………….0 1 x1 x2 … xd-1 xd = x1 x2 … xd+1

El Problema WES (Word Equation Systems)

σ(xi)=FibWordi ;

FibWord1= 0, FibWord2=1,

FibWordi= FibWordi-2FibWordi-1

Problema d-WES“dado un sistema S = L1= R1, …, Ln= Rn ,

encontrar una solución σ tal que |σ (x)|≤ d, ∀ x∈ Ω ó determinar la no existencia.”

Problema d-SWES“dado un sistema S = L1= R1, …, Ln= Rn ,

determinar si existe una solución σ tal que |σ(x)|≤ d ∀ x∈ Ω.”

El Problema WES (Word Equation Systems)

Page 32: Documentación doctorado

Ω, variables; C, cláusulas tal que : ∀ c ∈ C; |c| = 3.

El Problema 3-SAT

Ω∈∈= vvvxxxxc i ,,;,, 321

c es una cláusula OR.

Problema: Dar valores de verdad a las variables de manera que se verifiquen todas las cláusulas de C.

Ejemplo:

El Problema 3-SAT

1,1,0

,,,,,,

3

2

1

===

⎪⎭

⎪⎬

⎪⎩

⎪⎨

===

=

zyx

yxzcyyxczyxc

C

Solución:

Page 33: Documentación doctorado

C = c0, …, cm, instancia de 3-SAT. ci = x3i, x3i+1, x3i+2

Construcción del 2-SWES equivalente1. ∀ v ∈ Ω, se introducen las variables yv, zv y las

ecuaciones: yv zv = 1.2. ∀ ci = x3i, x3i+1, x3i+2 se introduce la variable

ci y la ecuación: civ3iv3i+1v3i+2 = 111Con vj = yv si xj = v; vj = zv en el otro caso.A = 1

Reducción de 3-SAT a 2-SWES

EjemploReducción de 3-SAT a 2-SWES

1,1,0,,,,,,

3

2

1

===⎪⎭

⎪⎬

⎪⎩

⎪⎨

===

= zyxyxzcyyxczyxc

C

2-SWES equivalente: yx zx = 1, yy zy = 1, yz zz = 1c1 yx zy yz = 111, c2 zx yy zy = 111, c3 yz yx yy = 111Solución: σ(yx) = Λ, σ(zx) = 1, σ(yy) = 1, σ(zy) = Λσ(yz) = 1, σ(zz) = Λ; σ(c1) = 11, σ(c2) = 1, σ(c3) = 1

Page 34: Documentación doctorado

Representación de los individuosA=0,1; S=L1=R1, …, Ln=Rn; Ω=x1, …,xmCota d t.q. para toda solución σ: |σ(xi)|≤ d ∀ i

Cromosoma: *,1,0*''';,, 1 BAiiim =∈== αααααα L

El Algoritmo Evolutivo

dBA iiiii =+=∈∈ '''*;''*;' ααααα

Función Fitness (Hamming distance)

*,1,0*''';,, 1 BAiiim =∈== αααααα L

El Algoritmo Evolutivo

*)(),();()(,),()( 11 ARLRLRL iinn ∈== αααααα L

;)(,)(li αα iii RrL ==

),()(1

ii

n

ii srlMaxf −=∑

=

α

])[(])[(..,lmin,,1 i kRkLqtrks iiii αα =∈= L

soluciónes1')x(0)(

mif ii

≤≤=⇔= ασα

Page 35: Documentación doctorado

Operador cruce

*'',''*;',';''';''',,,, 11

BA iiiiiiiiii

mm

∈∈====

βαβαβββαααβββααα LL

El Algoritmo Evolutivo

iiiiii crcrucea =≤= ),('' βαβα

=icr ],1[ iii kacr + ],1[ dkcr ii +],1[ ii acr ],1[ ii acr

]),1[','( iii armecruceUnifo βα

],1[ iii kacr +

,,1];',min,1[' dakka iiiiii L+∈+ ββ

],1[ dkcr ii +

ikdB −

Ejemplo

BBBBBBBBBBBB

iiii

ii

======

'',100011';'',01'100011;01

ββααβα

El Algoritmo Evolutivo

11=icr

4=ik

00 BBB

Page 36: Documentación doctorado

Operador mutación

La mutación consiste en cambiar cada gen de cada

αi con una probabilidad 1/d (siendo d=|αi|)

Tras la mutación hay que reordenar cada αi, poniendo los blancos al final.

El Algoritmo Evolutivo

,, 1 mααα L=

El Algoritmo EvolutivoEl proceso de búsqueda local 1

Primera fase

• Recorrer todos los α’i modificando cada gen si

produce mejora. (se obtienen α’i flip i = 1, ...,m)

• Aplicar de nuevo 1 sobre los α’i flip mientras

alguno se distinto del correspondiente α’i .

*'';'*,';'''

,, 1

BBaA iadiiiiiii

m

∈==∈=

=−αααααα

ααα L

Page 37: Documentación doctorado

El Algoritmo EvolutivoEl proceso de búsqueda local 1Se parte del resultado obtenido en la primera fase:

segunda fase

• Recorrer todos los αi modificando en una unidad

la longitud de α’i flip si produce mejora.

• Volver a la primera fase si se ha modificado alguna longitud.

*'';'*,';'''

,, 1

BBaA iadiiflipiiflipiiflipi

m

∈==∈=

=−αααααα

ααα L

101BB 00BBB

Búsq. Local clásica

001BB 11BBB

011BB 01BBBBúsq. Local clásica

Repito Hasta que NO Mejora

Primera fase

011BB 01BBB

Ejemplo búsqueda local 1

Page 38: Documentación doctorado

011BB 01BBB

Incremento 1ª variable

0110B 01BBB0111B 01BBB

Decremento 1ª variable01BBB 01BBB

Mejor Fitness

0111B 01BBB

Ejemplo búsqueda local 1Segunda fase

0111B 01BBB0111B 010BB0111B 011BB

0111B 0BBBB

Mejor Fitness

Si mejoro volver a la primera fase.0111B 0BBBB

Page 39: Documentación doctorado

El proceso de búsqueda local 2

1. Recorrer α’i modificando cada gen si produce

mejora (se obtiene α’i flip).

2. Modificar longitud de α’i flip si produce mejora.

*'';'*,';'''

,, 1

BBaA iadiiiiiii

m

∈==∈=

=−αααααα

ααα L

El Algoritmo Evolutivo

iadflipi B −'α

)1(0' +− iadflipi Bα

)1(1' +− iadflipi Bα

)1(]1,1[' −−− iadiflipi Baα

Ejemplo de búsqueda local 2101BB 00BBB

Búsq. Local

Clásica 1ª var.

001BB 00BBB

Incremento 1ª var.

0010B 00BBB

0010B 00BBB0011B 00BBB

Decremento 1ª var.

00BBB 00BBBMejor Fitness

Page 40: Documentación doctorado

0010B 00BBBBúsq. Local

Clásica 2ª var.0010B 10BBB

0010B 10BBB

0010B 100BB0010B 101BB

0010B 0BBBBMejor Fitness

Si mejoro repito el proceso.

El proceso de búsqueda local

βγγγα == s,,, 10 L

El Algoritmo Evolutivo

2,,0)()() 1 −∈<+ sjffa jj Kγγ

1'',1) 1 ≤−∈∀ + ii jjmib γγK

ssc γγ =−1)

Page 41: Documentación doctorado

beginGeneration := 0;Population := initial_population;evaluate(Population);while (not_termination_condition) dobegin

Best := best_individual(Population);New_population := Best;while (|New_population| < |Population|) dobegin

Pair := select_parents(Population);Child := crossover(Pair);Child := mutation(Child, probability);Child := local_search(Child);New_population := insert(Child, New_population);

endPopulation := New_population;Generation := Generation + 1

endend

El Algoritmo Evolutivo

Resultados Experimentales

TamaTamañño de la poblacio de la poblacióónn

Page 42: Documentación doctorado

Resultados Experimentales

Probabilidad de mutaciProbabilidad de mutacióónn

Resultados Experimentales

Probabilidad de mutaciProbabilidad de mutacióónn

Page 43: Documentación doctorado

Resultados Experimentales

BBúúsqueda localsqueda local

Problema 10-8-5 (248)

Problema 10-15-3 (290)

Resultados Experimentales

BBúúsqueda localsqueda local

Page 44: Documentación doctorado

Parámetros del algoritmo• Tamaño de la población = 2

• Probabilidad de cruce = 1

• Probabilidad de mutación = 0,9

• Búsqueda local 2

• Nº máximo de evaluaciones = 1500000

Resultados Experimentales

Resultados Experimentales

Page 45: Documentación doctorado

• CODIFICACION:Nueva Codificación. Afecta a toda la Implementación.Representación:cadena de variables αi de longitud menor o igual a l, tal que cada αi sea la codificación de la variable xi

Tenemos el individuo I1 = α1 α2 α3 con:α1=1001α2 =10 I1 = 100110001α3=001

αi es una cadena de 0’s y 1’s de longitud menor o igual a l

Algoritmo Evolutivo (Otra propuesta)

Fitness (Distancia Edit ó Distancia de Levensthein)Nueva Función Evaluadora. Numero de cambios mínimos para transformar una palabra en otra.

Posibles cambios: Flip de un bit; insertar un bit; borrar un bit

0110 = 010Distancia de Levensthein (0110, 010) = 1

0110 = 0110Distancia de Hamming (0110, 010) = 2

0110 = 010_ Fitness = 2

Distancia Levensthein (α, β) ≤ Distancia Hamming (α, β)

Algoritmo Evolutivo (Otra propuesta)

Page 46: Documentación doctorado

Adaptación de los operadores de recombinación y las búsquedas locales al nuevo fitness constituido por la distancia de Levensthein

[Alonso, Alonso; Montaña 2007]

Algoritmo Evolutivo (Otra propuesta)

Page 47: Documentación doctorado

Straight Line Programs: A new Linear Genetic Approach

César L. AlonsoE.U.I.T. Informática de Gijón

Universidad de Oviedo

Jorge Puente(Universidad de Oviedo)Jose Luis Montaña (Universidad de Cantabria)

(SPAIN)

Contents

1. Straight line programs as the data structure

2. Effective and non-effective code in slp’s

3. Symbolic regression problem

4. GP with slp’s for solving symbolic regression instances

5. Experimental results

6. Conclusion and future work

Page 48: Documentación doctorado

Let F = f1, … , fn; T= t1, … , tm; fi with arity ai (1≤ i ≤n)

Straight line program

Γ= I1, … , Il where: Ik ≡ uk:=fjk(α1, … , αajk)

fjk ∈ F; αi ∈ T if k=1αi ∈ T ∪ u1, … , uk-1 for 1 < k ≤ l

T = V ∪ C; V=x1, … , xp; C = c1, … , cq

Γ= I1, … , Il ≡ u1, … , ul

The data structure: straight line program

Example

The data structure: straight line program

⎪⎪⎪

⎪⎪⎪

−==

+==

+=

≡Γ

345

324

223

112

11

:*:

:*:

1:

uuuuuuxxu

uuuxu

Page 49: Documentación doctorado

Γ = u1, … , ul a slp over F and T.

;

Semantic function

1 ≤ j ≤ t

The data structure: straight line program

tii uuO ,,)(

1K=Γ

),,(),,(;: 11 tptp bbaaOI KK =Φ→Φ ΓΓ

⎪⎭

⎪⎬

=

=

pp ax

ax

:

: 11

Mjiu

jb

TxxV p ⊂= ,,1 K

Two slp’s Γ1 and Γ2 are considered equivalent if

I our casegiven a slp over F and T

With output set

We can consider the equivalent slp

The data structure: straight line program

liuO i ≤≤=Γ 01)(0

21 ΓΓ Φ=Φ

luu ,1 K=Γ

0

,,' 1 iuu K=Γ

RRn →Φ=Φ ΓΓ :'

Page 50: Documentación doctorado

Effective code in straight line programs

4

14

223

12

1

)(

*:*:

:1*:

uOwith

yuuuuuyuu

xu

⎪⎪⎩

⎪⎪⎨

==

+==

≡Γ

Given the following slp:

For computing u2 and u3 are not necessary ΓΦ

212

1 )'(*:1*:

' uOwithyuu

xu=Γ

⎩⎨⎧

==

Is and effective slp equivalent to Γ

Effective code in straight line programs

In general

Let the effective code is ll uOwithuu =Γ=Γ )(,,1 K

miilii iiuuuRuuSm

<<=Γ∈= KK 1;,,/1

kiwithfufukjkiji ajkaji <== ),,(:);,,(: 11 ββαα KK

kjsiki asuRuu ≤≤=⇔ 1;β

mm uOwithuu ')'(',,'' 1 =Γ=Γ K is an effective slp equivalent to Γ

Is the reflexive and transitive closure of R, where: R

Page 51: Documentación doctorado

Symbolic regression problem

miYXyxzsample ii ≤≤×∈= 1;),(

Goal YXf →:Which predicts y∈Y from a given x ∈ X

)())((1)( 2

1

MSEyxfm

f i

m

iiz −= ∑

=

ε

In general X = Rn ; Y = R

GP with straight line programs

Fitness

miYXyxz ii ≤≤×∈= 1;),(2

1

))((1)()( i

m

iizz yx

mF −Φ=Φ=Γ ∑

=ΓΓε

Mutation

;,1 Luu K=Γ ,,);,,(: 111 −∪∈∈= ini uuTFffu KK ααα

Liii uuuuu ,,,',,' 111 KK +−=Γ

,,');,,,',,,(:' 11111 −+− ∪∈= ijnjjji uuTfu KKK αααααα

Page 52: Documentación doctorado

GP with straight line programs

Crossover

LL uuuu ','';, 11 KK =Γ=Γ

Select k∈1, …, L ,,/1 mk jjkjju uuuRuuS K=Γ∈=

Select t∈m, …, L

Substitute in Γ’kutmt Sbyuu ',,' 1 K+− Obtaining first offspring

Symmetrical strategy for obtaining second offspring

We can maintain homogeneous population of equal length individuals by means of the introduction of non-effective code.

⎪⎪⎪

⎪⎪⎪

+===

+==

≡Γ

415

24

23

2

1

1

:*:*:

:*

uuuxuuxuuyxu

xx:u

⎪⎪⎪

⎪⎪⎪

+==

+=+=

=

≡Γ

⎪⎪⎪

⎪⎪⎪

=+=

==

+=

≡Γ

415

24

13

12

1

235

234

13

112

1

:*:

::

*

'

*::

*:*:

uuuxuuxuuyuu

xx:u

uuuuuu

xuuuuuyx:u

Example of crossover

assume k=3 and t=3 assume k’=4 and t’=5

⎪⎪⎪

⎪⎪⎪

=+=

==

+=

≡Γ

xuuyuu

xxuuuuyx:u

*::

*:*:

45

34

3

112

1

2

Page 53: Documentación doctorado

Replacement

We rank Γ, Γ’, Γ1 Γ2 and we pick one individual from each of the two first levels of the ranking

Experiments

Experimental settings

wzyxwzyxK

zyxzyxG

zyxzyxF

81

62

41

21),,,(

32

31

21),,(

1)(),,( 2

+++=

++=

+++=

Experiments

Success rate MBF and ABF over success runs

Page 54: Documentación doctorado

⎭⎬⎫

⎩⎨⎧ +=

=+=

=+++=

+−

1)sin(,2min)(

)2cos()(1416,3718,2)(

)()(

5

4

23

23sin2

2341

xx

xf

xxfxxxf

exfxxxxxf

xx

Experiments

Experimental settings

F = +, -, *, //Constants C = 0, 1, 2

Conclusions and future research• Straight line programs is a new data structure for GP

• It express complex expresions with less amount of instructions than tree data structure.

• Design of specific recombination operators for slp’s

• Slp-based GP outperforms standard tree-based GP

Future

• Definition of a GP-scheme based on slp’s for dealing with real world hard problems.

• Vapnik-Chervonenkis dimension of classes of slp’s

• combination with ohter methods and cooperative co-evolution