Documentación doctorado

Preview:

DESCRIPTION

Algoritmos geneticos

Citation preview

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

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.

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

CROMOSOMACROMOSOMA

GENGEN

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

Genotype8 bits

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

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:

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

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

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

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

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

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

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

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

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.

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

• . . . . .

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á

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)

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]

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

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

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ωω

ααγ

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:

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

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

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

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

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

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)

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

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

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)

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)

Ω, 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:

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

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

≤≤=⇔= ασα

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

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

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

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

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

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)

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

Resultados Experimentales

Probabilidad de mutaciProbabilidad de mutacióónn

Resultados Experimentales

Probabilidad de mutaciProbabilidad de mutacióónn

Resultados Experimentales

BBúúsqueda localsqueda local

Problema 10-8-5 (248)

Problema 10-15-3 (290)

Resultados Experimentales

BBúúsqueda localsqueda local

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

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

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)

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

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

Γ = 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 →Φ=Φ ΓΓ :'

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

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 αααααα

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

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

⎭⎬⎫

⎩⎨⎧ +=

=+=

=+++=

+−

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

Recommended