Your SlideShare is downloading. ×
Documentación doctorado
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Documentación doctorado

134
views

Published on

Algoritmos geneticos

Algoritmos geneticos

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
134
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Cómo construir un Algoritmo Evolutivo 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
  • 2. Otros Pasos• Operador mutación• Operador Cruce• Operador selección• Reemplazamiento• Condición de parada La Representación 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.
  • 3. Representación Binaria (Genotipo) CROMOSOMA GEN Representación Binaria (Fenotipo)Genotype Fenotipo:8 bits • Entero • Real • Planificación • ... • Otros
  • 4. Fenotipo de Tipo Entero Genotipo: Fenotipo: = 163 1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20 = 128 + 32 + 2 + 1 = 163 Fenotipo de Tipo RealNúmero real entre 2.5 and 20.5 con 8 digitos Genotipo: Fenotipo: = 13.9609x = 2 .5 + 163 (20 . 5 − 2 . 5 ) = 13 . 9609 256
  • 5. Fenotipo de Tipo Planificación 8 trabajos en dos fases Tr, Fase 1 2 Genotipo: 2 1 3 2 = 4 1 Fenotipo 5 1 6 1 7 2 8 2 Reprentación 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
  • 6. Población 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 Obtención del Fenotipo a partir del Genotipo Datos• A menudo esta Genotipo Problema obtención es trivial.• En ocasiones el genotipo es una entrada para algún Algoritmo algoritmo que junto a datos del problema producirá el fenotipo Fenotipo
  • 7. Evaluació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 . Evaluació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
  • 8. Operador Mutación• 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. Mutación para Representación Binaria Antes 1 1 1 1 1 1 1 1 1 1 0 1 1 1 Gen mutado Normalmente se establece una probabilidad de mutación que se aplica a cada gen.
  • 9. Mutación para Representación Basada en el OrdenIntercambio de genes elegidosaleatoriamente 7 3 1 8 2 4 6 5 7 3 6 8 2 4 1 5 Mutación para Representación Basada en el Orden (II) Padre = (1,2,3,4,5) Hijo = (1, 3,, 2,, 4 ,5) - - -
  • 10. Operador Cruce o de Recombinación• 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 (Representación Binaria) Población ... Selección de un punto en el cromosoma corte corte padres 1 1 1 1 1 1 1 0 0 0 0 0 0 0 hijos 1 1 1 0 0 0 0 0 0 0 1 1 1 1
  • 11. Cruce Uniformea b c d e f g h a b C d E f g HA B CDE F GH Cruce Basado en el Orden Padre-1 = (1,2,3,4,5) Padre-2 = (4,2,3,5,1) Hijo-1 = ( 4 , 2 , 3 , 1 , 5 ) Hijo-2 = ( 4 , - , - , - , 3 ) - - - - - - 2 1 5 - Cadena = (0,0,1,0,1)
  • 12. Selección• Mejores individuos tienen mayor probabilidad de selección• Dar oportunidad a todos los individuos sin excesivo sesgo hacia los mejores. Probabilidad de Selección• Probabilidad de selección del individuo i fi f • Mejores – Más espacio – Más posibilidades Mejor Peor
  • 13. Algunas desventajas de la selección anterior• Convergencia prematura a individuos no óptimos cuando los fitness son muy distintos• Aleatoria en poblaciones con fitness muy parecidos• Solución aplicable: ESCALADO Elitismo• ¿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.
  • 14. Cruce vs. Mutación• 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 parada• Óptimo alcanzado• Máximo número de evaluaciones alcanzado• Número de generaciones sin que se produzcan mejoras significativas• .....
  • 15. Bondad del Algoritmo Gené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 Gené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á
  • 16. Algunas 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)
  • 17. 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]
  • 18. Problema de la mochila 0-1 multidimensionalSoluciónα ∈ {0,1}n es una solución factible para K si verifica Ci ∀ iαKopt ∈ {0,1}n es solución si verifica: f (α ) ≤ f (α K ) = ∑ j =1 p jα K [ j ] opt n opt para toda solución factible αProblema de la mochila 0-1 multidimensional Solución ε-aproximada f (α K ) − f (α ) opt α∈ {0,1}n solución factible: εα = f (α K ) opt dado un ε ∈ (0,1), αKε es cualquier solución factible t.q.: εα ε ≤ ε K
  • 19. 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+)mRestricción subrogada n m m Sc( K , ω ) = ∑ (∑ ωi aij ) x j ≤ ∑ ωi bi j =1 i =1 i =1Instancia subrogada (dimensión uno) SR(K,ω) = (n,1,p, ω . A, ω . b’)
  • 20. MKP y los multiplicadores subrogados Algunas consideraciones 1.- Podemos suponer ω ∈ (0,1]m 2. - f (α SR ( K ,ω ) ) ≥ f (α K ) opt opt 3. - min{ f (α SR ( K ,ω ) LP ) : ω ∈ (0,1]m } ≥ f (α K ) opt opt ε 4. − ¿ f (α SR ( K ,ω ) ) ≥ f (α K ) ? opt MKP y los multiplicadores subrogados AG para el cálculo de un buen vector ω K= (n,m,p,A,b), q ∈ N Individuo: cadena binaria γ ∈ {0,1}qm (q es la precisión), representando un vector de pesos ω n fitness1(γ ) = f (α SR ( K ,ω ) LP ) = ∑ p jα SR ( K ,ω ) LP [ j ] opt opt j =1El objetivo consiste en minimizar la función fitness1Operadores: ruleta; cruce uniforme; mutación de bit.
  • 21. MKP y los multiplicadores subrogados AG para el cálculo de un buen vector ω K= (n,m,p,A,b), q ∈ N, ε∈ [0,1] Individuo: cadena binaria γ ∈ {0,1}qm (q es la precisión), representando un vector de pesos ω n fitness 2(γ ) = f (α SR ( K ,ω ) ) = ∑ p jα SR ( K ,ω ) [ j ] ε ε j =1Cálculo de αεSR(K,ω) : Algoritmo ε-aproximado unidimensional [Brassard, Bratley 1997]El objetivo consiste en minimizar la función fitness2Operadores: ruleta; cruce uniforme; mutación de bit. Algoritmo evolutivo para MKP K= (n,m,p,A,b), ω ∈ (0,1]m Individuo: cadena binaria α ∈ {0,1}n n Fitness: f (α ) = ∑ p jα [ j ] j =1 Ratio utilidad xj: pj uj = m ∑ω a i =1 i ij
  • 22. Algoritmo evolutivo para MKPDROPfor 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 ]] := 0ADDP:=permutación(1,…,n) con uP[ j ] ≥ uP[ j+1 ]for j=1 to n do if α [P[ j ]] = 0 then α [P[ j ]] := 1 if no-factible(α) then α [P[ j ]] := 0 Algoritmo evolutivo para MKPEl proceso de búsqueda local (random walk) K= (n,m,p,A,b), ω ∈ (0,1]m , α ∈ {0,1}n 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 ]
  • 23. Algoritmo evolutivo para MKPProcedure flip(i, α )begin if alpha[ i ]=1 then alpha[ i ]:=0 alpha:=ADDi(K,ω,alpha) else alpha[ i ]:=1 alpha:=DROPi(K,ω,alpha) alpha:=ADDi (K,ω,alpha)endAlgoritmo evolutivo para MKPOperadores: ruleta; cruce uniforme, mutación de bit.Población inicial: permutación aleatoria (1,…, n) y aplicación de ADDBúsqueda local: Se aplica cada t generaciones a toda la población, tratando de mantener cierta diversidad.Algoritmo tipo Steady State
  • 24. Resultados experimentalesOR-LIBRARY [Chu-Beasley 1998]m ∈ {5,10,30}; n ∈ {100,250,500}; r ∈ {0.25,0.5,0.75}270 instanciasGlover – Kochenbergern ∈ [100, 2500]; m ∈ [15, 100] 11 instanciasParámetros:Surrogate Multipliers:tp = 75; q = 10; pm = 0.1; gen = 15000MKP:tp = 100; pm = 0.1; 1,5 ×106 evaluaciones distintas; t = 104Resultados experimentales f (α K LP ) − f (α ) opt % gap = 100 10 ejecuciones f (α K LP ) opt
  • 25. Resultados experimentalesResultados experimentalesParámetros para el fitness2 solución ε - aproximada:Surrogate Multipliers:tp = 20; q = 10; pm = 0.1; gen = 8000MKP:tp = 100; pm = 0.1; 106 evaluaciones distintas
  • 26. Resultados experimentales 3 problemas de cada tipo 5 ejecuciones f (α K LP ) − f (α ) opt % gap = 100 f (α K LP ) optKLP constituye la versión relajada de K, donde las variables toman valores en todo el intervalo [0,1]Resultados experimentales
  • 27. 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)
  • 28. Resolución de “Word Equation Systems” Mediante un Algoritmo Evolutivo Índice• Introducción.• El problema “Word Equation Systems” (WES).• El problema 3-SAT.• El Algoritmo Evolutivo.• Resultados Experimentales.• Trabajo Futuro.
  • 29. IntroducciónResolver la siguiente ecuación: x01x1y=1y0xyAplicaciones en: • Teoría de la Unificación (Prolog 3) • Pattern-Matching • .... ???? Introducción 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.
  • 30. 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} El Problema WES (Word Equation Systems)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 x66. 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 x3Solució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
  • 31. 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, 1}x1 = 0x2 = 1 σ(xi)=FibWordi ;0 1 x1 x2 = x1 x2 x3 FibWord1= 0, FibWord2=1,…………………………….0 1 x1 x2 … xd-1 xd = x1 x2 … xd+1 FibWordi= FibWordi-2FibWordi-1 El Problema WES (Word Equation Systems)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∈ Ω.”
  • 32. El Problema 3-SATΩ, variables; C, cláusulas tal que : ∀ c ∈ C; |c| = 3. c = {x1 , x2 , x3 }; xi ∈ {v, v }, v ∈ Ω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. El Problema 3-SATEjemplo: ⎧ c1 = { x , y , z} ⎫ ⎪ ⎪ C = ⎨c2 = { x , y , y}⎬ ⎪ c = { z , x, y} ⎪ ⎩ 3 ⎭Solución: x = 0, y = 1, z = 1
  • 33. Reducción de 3-SAT a 2-SWESC = {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-SWESEjemplo ⎧ c1 = {x, y, z}⎫ ⎪ ⎪ C = ⎨c2 = {x, y, y}⎬ x = 0, y = 1, z = 1 ⎪ c = {z, x, y}⎪ ⎩ 3 ⎭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
  • 34. El Algoritmo Evolutivo Representación de los individuos A={0,1}; S={L1=R1, …, Ln=Rn}; Ω={x1, …,xm} Cota d t.q. para toda solución σ: |σ(xi)|≤ d ∀ i Cromosoma: α = {α1 , L , α m }; α i = α i α i ∈ A* = {0, 1, B} * α i ∈ A*; α i ∈ {B}*; α i = α i + α i = d El Algoritmo Evolutivo Función Fitness (Hamming distance) α = {α1 ,L , α m }; α i = α i α i ∈ A* = {0, 1, B} *{L1 (α ) = R1 (α ),L , Ln (α ) = Rn (α )}; Li (α ), Ri (α ) ∈ A * li = Li (α ) , ri = Ri (α ) ;si = {k ∈ {1, L , min{li , ri }} t.q. Li (α )[k ] = Ri (α )[k ]} n f (α ) = 0 ⇔ σ ( x i ) = α i f (α ) = ∑ ( Max{li , ri } − si ) i =1 1 ≤ i ≤ m es solución
  • 35. El Algoritmo Evolutivo Operador cruce α = {α1 ,L , α m } β = {β1 ,L , β m }α i = α i α i ; β i = β i β i ; α i , β i ∈ A*; α i , β i ∈ {B} * ai = α i ≤ β i cruce(α i , β i ) = cri cri = cri [1, ai ] crii[aii + 1, kii ] crii [kii + 1, d ] B d − ki cruceUniforme(α i , β i [1, ai ]) β i [ai + 1, min{ki , β i }]; ki ∈ {ai + 1, L, d } El Algoritmo Evolutivo Ejemplo α i = 01BBBBB; β i = 100011B ki = 4 α i = 01, α i = BBBBB; β i = 100011, β i = B cri = 11 00 BBB
  • 36. El Algoritmo EvolutivoOperador mutación α = {α1 , L, α m }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 EvolutivoEl proceso de búsqueda local 1 α = {α1 , L, α m } α i = α i α i ; α i ∈ A*, ai = α i ; α i = B d − a ∈ {B} * iPrimera 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 .
  • 37. El Algoritmo Evolutivo El proceso de búsqueda local 1 Se parte del resultado obtenido en la primera fase: α = {α1 ,L, α m } α i = α iflip α i ; α iflip ∈ A*, ai = α iflip ; α i = B d −a ∈ {B} * i 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. Ejemplo búsqueda local 1Primera fase 101BB 00BBB 001BB 11BBB Búsq. Local clásica 011BB 01BBB Búsq. Local clásica 011BB 01BBB Repito Hasta que NO Mejora
  • 38. Ejemplo búsqueda local 1Segunda fase 011BB 01BBB 0110B 01BBB Incremento 1ª variable 0111B 01BBB 01BBB 01BBB Decremento 1ª variable Mejor Fitness 0111B 01BBB 0111B 01BBB 0111B 010BB 0111B 011BB 0111B 0BBBB Mejor Fitness 0111B 0BBBB Si mejoro volver a la primera fase.
  • 39. El Algoritmo EvolutivoEl proceso de búsqueda local 2 α = {α1 , L, α m } α i = α i α i ; α i ∈ A*, ai = α i ; α i = B d − a ∈ {B} * i1. Recorrer α’i modificando cada gen si produce mejora (se obtiene α’i flip).2. Modificar longitud de α’i flip si produce mejora. α i flip B d − a i α i flip 1B d −( a +1) i α i flip 0 B d −( a +1) i α i flip [1, ai − 1]B d −( a −1) i Ejemplo de búsqueda local 2 101BB 00BBB 001BB 00BBB Búsq. Local Clásica 1ª var. 0010B 00BBB 0011B 00BBB Incremento 1ª var. 00BBB 00BBB Decremento 1ª var. Mejor Fitness 0010B 00BBB
  • 40. 0010B 00BBB Búsq. Local Clásica 2ª var. 0010B 10BBB 0010B 100BB 0010B 101BB 0010B 0BBBB Mejor Fitness 0010B 10BBB Si mejoro repito el proceso. El Algoritmo EvolutivoEl proceso de búsqueda local α = γ 0 , γ 1 , L, γ s = β a) f (γ j +1 ) < f (γ j ) j ∈ {0,K , s − 2} b) ∀i ∈ {1, K m} γ j +1 − γ j ≤ 1 i i c) γ s −1 = γ s
  • 41. El Algoritmo Evolutivobegin Generation := 0; Population := initial_population; evaluate(Population); while (not_termination_condition) do begin Best := best_individual(Population); New_population := {Best}; while (|New_population| < |Population|) do begin Pair := select_parents(Population); Child := crossover(Pair); Child := mutation(Child, probability); Child := local_search(Child); New_population := insert(Child, New_population); end Population := New_population; Generation := Generation + 1 endend Resultados Experimentales Tamaño de la población Tamañ població
  • 42. Resultados ExperimentalesProbabilidad de mutación mutacióResultados ExperimentalesProbabilidad de mutación mutació
  • 43. Resultados Experimentales Búsqueda localProblema 10-8-5 (248) Resultados Experimentales Búsqueda localProblema 10-15-3 (290)
  • 44. Resultados ExperimentalesPará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
  • 45. Algoritmo Evolutivo (Otra propuesta)• 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 = 010 Distancia de Levensthein (0110, 010) = 1 0110 = 0110 Distancia de Hamming (0110, 010) = 2 0110 = 010_ Fitness = 2 Distancia Levensthein (α, β) ≤ Distancia Hamming (α, β)
  • 46. 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]
  • 47. Straight Line Programs: A new Linear Genetic Approach César L. Alonso E.U.I.T. Informática de Gijón Universidad de OviedoJorge Puente(Universidad de Oviedo)Jose Luis Montaña (Universidad de Cantabria) (SPAIN) Contents1. Straight line programs as the data structure2. Effective and non-effective code in slp’s3. Symbolic regression problem4. GP with slp’s for solving symbolic regression instances5. Experimental results6. Conclusion and future work
  • 48. The data structure: straight line programLet 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 ≤ lT = V ∪ C; V={x1, … , xp}; C = {c1, … , cq} Γ= {I1, … , Il} ≡ {u1, … , ul} The data structure: straight line programExample ⎧ u 1 := x1 + 1 ⎪ u := u * u ⎪ 2 ⎪ 1 1 Γ ≡ ⎨ u 3 := x 2 + x 2 ⎪ u := u * u ⎪ 4 2 3 ⎪ u 5 := u 4 − u 3 ⎩
  • 49. The data structure: straight line programΓ = {u1, … , ul} a slp over F and T. {O(Γ) = ui1 ,K , uit } ; V = {x1 , K , x p } ⊂ TSemantic function Φ Γ : I p → O t ; Φ Γ (a1 ,K , a p ) = (b1 ,K , bt ) x1 := a1 ⎫ ⎪ bj M ⎬ ui j x p := a p ⎪ ⎭ 1≤j≤t The data structure: straight line programTwo slp’s Γ1 and Γ2 are considered equivalent if Φ Γ1 = Φ Γ 2I our casegiven a slp Γ = {u1 K , ul } over F and TWith output set { } O (Γ) = ui0 1 ≤ i0 ≤ lWe can consider the equivalent slp { Γ = u1 , K , ui0 } Φ Γ = Φ Γ : R n → R
  • 50. Effective code in straight line programsGiven the following slp: ⎧ u 1 := x * 1 ⎪ u := u + y ⎪ Γ≡⎨ 2 1 with O ( Γ ) = {u 4 } ⎪ u 3 := u 2 * u 2 ⎪ u 4 := u 1 * y ⎩ For computing ΦΓ u2 and u3 are not necessary ⎧u := x *1 Γ = ⎨ 1 with O (Γ ) = {u2 } ⎩u2 := u1 * y Is and effective slp equivalent to Γ Effective code in straight line programsIn general Let Γ = {u1 , K , ul } with O(Γ) = {ul } the effective code is { } S = {ui ∈ Γ / ui R ul } = ui1 , K , uim ; i1 < K < im R Is the reflexive and transitive closure of R, where:ui := f ji (α1 , K , α a j ); uk := f jk ( β1 , K , β a j ) with i < k i k ui Ruk ⇔ ui = β s ; 1 ≤ s ≤ a jkΓ = {u 1 , K , u m } with O(Γ ) = {u m } is an effective slp equivalent to Γ
  • 51. Symbolic regression problemsample z = ( xi , yi ) ∈ X × Y ; 1 ≤ i ≤ m Goal f : X →Y Which predicts y∈Y from a given x ∈ X 1 m εz( f ) = ∑ ( f ( xi ) − yi ) 2 (MSE ) m i =1 In general X = Rn ; Y = R GP with straight line programs Fitness z = ( xi , yi ) ∈ X × Y ; 1 ≤ i ≤ m 1 m Fz (Γ) = ε z (Φ Γ ) = ∑ (Φ Γ ( xi ) − yi ) 2 m i =1 Mutation Γ = {u1 K , u L }; ui := f (α1 , K , α n ); f ∈ F α ∈ T ∪ {u1 , K, ui −1} Γ = {u1 K , ui −1 , u i , ui +1 , K , u L } u i := f (α1 , K , α j −1 , α j , α j +1 ,K , α n ); α j ∈ T ∪ {u1 , K, ui −1}
  • 52. GP with straight line programs Crossover Γ = {u1 K , u L }; Γ = {u 1 K , u L } Select k∈{1, …, L} Suk = {u j ∈ Γ / u j R uk } = {u j1 ,K , u jm } Select t∈{m, …, L}Substitute in Γ’ {u t − m +1 , K, u t } by Suk 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. Example of crossover ⎧ u 1: = x + y ⎧ u 1: = x * x ⎪ u := u * u ⎪ u := u + y ⎪ 2 ⎪ 1 1 ⎪ 2 ⎪ 1 Γ ≡ ⎨ u 3 := u 1 * x Γ ≡ ⎨ u 3 := u 1 + x ⎪ u := u + u ⎪ u := u * x ⎪ 4 3 2 ⎪ 4 2 ⎪ u 5 := u 3 * u 2 ⎩ ⎪ u 5 := u 1 + u 4 ⎩ assume k=3 and t=3 assume k’=4 and t’=5 ⎧ u 1: = x * x ⎧ u 1: = x + y ⎪ u := x + y ⎪ u := u * u ⎪ 2 ⎪ ⎪ 2 1 1 Γ1 ≡ ⎨ u 3 := u 2 * x ⎪ Γ 2 ≡ ⎨ u 3 := x * x ⎪ u := u * x ⎪ u := u + y ⎪ 4 2 ⎪ 4 3 ⎪ u 5 := u 1 + u 4 ⎩ ⎪ u 5 := u 4 * x ⎩
  • 53. Experiments Replacement We rank {Γ, Γ’, Γ1 Γ2} and we pick one individual from each of the two first levels of the ranking Experimental settingsF ( x, y , z ) = ( x + y + z ) 2 + 1 1 1 2G ( x, y , z ) = x + y + z 2 3 3 1 1 2 1K ( x, y, z , w) = x + y + z + w 2 4 6 8 Experiments Success rate MBF and ABF over success runs
  • 54. ExperimentsExperimental settingsf1 ( x) = x 4 + x 3 + x 2 + xf 2 ( x) = e −sin 3 x + 2 xf 3 ( x) = 2,718 x 2 + 3,1416 xf 4 ( x) = cos(2 x) ⎧2 ⎫f 5 ( x) = min ⎨ , sin( x) + 1⎬ ⎩x ⎭ 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

×