Computación Evolutiva - Mutación: Mutación para Representación Real Dr. Gregorio Toscano Pulido Laboratorio de Tecnologı́as de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 1 / 22 Plan de la presentación 1 Mutación P/Rep. Real Mutación P/Rep. Real Mutación No uniforme Mutación de Lı́mite Mutación Uniforme Parameter Based Mutation 2 Mutación para otro tipo de representación Mutación para Programación Genética Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 2 / 22 Mutación P/Rep. Real Outline 1 Mutación P/Rep. Real Mutación P/Rep. Real Mutación No uniforme Mutación de Lı́mite Mutación Uniforme Parameter Based Mutation 2 Mutación para otro tipo de representación Mutación para Programación Genética Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 3 / 22 Mutación P/Rep. Real Mutación P/Rep. Real Mutación Se considera como un operador secundario en los algoritmos genéticos canónicos. Se suelen recomendar porcentajes de mutación entre 0.001 y 0.01 para la representación binaria. Algunos investigadores han sugerido que el usar porcentajes altos de mutación al inicio de la búsqueda, y luego decrementarlos exponencialmente, favorece el desempeño de un AG (Fogarty, 1989). Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 4 / 22 Mutación P/Rep. Real Mutación P/Rep. Real Mutación Algunos autores sugieren que pm = L1 (donde L es la longitud de la cadena cromosómica) es un lı́mite inferior para el porcentaje óptimo de mutación (Bäck, 1993). El papel que juega la mutación en el proceso evolutivo, ası́ como su comparación con la cruza, sigue siendo tema frecuente de investigación y debate en la comunidad de computación evolutiva. Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 5 / 22 Mutación P/Rep. Real Mutación P/Rep. Real Mutación para Representación Real No Uniforme De Lı́mite Uniforme Parameter-Based Mutation Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 6 / 22 Mutación P/Rep. Real Mutación No uniforme Mutación No Uniforme Propuesta por Michalewicz (1992). Dado: P =< V1 , ..., Vm > el individuo mutado será: P 0 =< V1 , ..., Vk0 , ..., Vm > donde: Vk + ∆(t, UB − Vk ) si R = Cierto 0 V k= Vk − ∆(t, Vk − LB) si R = Falso y la variable Vk está en el rango [LB, UB] Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 7 / 22 Mutación P/Rep. Real Mutación No uniforme Mutación No Uniforme R = flip(0.5) ∆(t, y ) regresa un valor en el rango [0, y ] tal que la probabilidad de que ∆(t, y ) esté cerca de cero se incrementa conforme t (generación actual) crece. Esto hace que este operador explore de manera más global el espacio de búsqueda al inicio (cuando t es pequeña) y de manera más local en etapas posteriores. Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 8 / 22 Mutación P/Rep. Real Mutación No uniforme Mutación No Uniforme Michalewicz sugiere usar: t b ∆(t, y ) = y (1 − r (1− T ) ) donde: r es un número aleatorio real entre 0 y 1, T es el número máximo de generaciones y b es un parámetro que define el grado de no uniformidad de la mutación (Michalewicz sugiere usar b = 5). Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 9 / 22 Mutación P/Rep. Real Mutación No uniforme Mutación No Uniforme Ejemplo: P =<2.3, 4.5, -1.2, 0.84> Vk = 4.5, lk = -2.0, uk = 6.5, T = 50, t =5, R =Falso, r = 0.24, b =5. Vk0 = Vk − ∆(t, Vk − lK ) = 4.5 −∆(5, 4.5 + 2) = 4.5 - ∆(5, 6.5) 5 5 ∆(5, 6.5) = 6.5(1 - 0.24(1− 50 ) )= 6.489435 Vk0 = 4.5 - 6.489435 = -1.989435 Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 10 / 22 Mutación P/Rep. Real Mutación de Lı́mite Mutación de Lı́mite Dado: P =< V 1, ..., Vm > el individuo mutado será: P 0 =< V1 , ..., Vk0 , ..., Vm > donde: LB si flip(0.5) = TRUE Vk0 = UB de lo contrario y [LB, UB] definen los rangos mı́nimos y máximos permisibles de valores para la variable V 0 k. Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 11 / 22 Mutación P/Rep. Real Mutación de Lı́mite Mutación de Lı́mite Ejemplo: P =<1.5, 2.6, -0.5, 3.8> Vk0 = -0.5, LB = -3.0, UB =1.3 Supongamos que: flip(0.5) = TRUE Vk0 = -3.0 Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 12 / 22 Mutación P/Rep. Real Mutación de Lı́mite Mutación Uniforme Dado: P =< V1 , ..., Vm > el individuo mutado será: P 0 =< V1 , ..., Vk0 , ..., Vm > donde: V 0 k = rnd(LB, UB) se usa una distribución uniforme y [LB, UB] definen los rangos mı́nimos y máximos de la variable Vk0 . Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 13 / 22 Mutación P/Rep. Real Mutación Uniforme Mutación Uniforme Ejemplo: P =<5.3, -1.3, 7.8, 9.1> Vk = 5.3, LB =0.0, UB= 10.5 V 0 k = rnd(0.0, 10.5) Vk0 = 4.3 Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 14 / 22 Mutación P/Rep. Real Mutación Uniforme Parameter-Based Mutation Utilizada en conjunción con SBX. Fue propuesta por Deb (1995,1997). El procedimiento es el siguiente: 1) Crear un número aleatorio u entre 0 y 1 2) Calcular: ( ~δ = 1 si (2u) nm +1 1 − [2(1 − u)] 1 nm +1 u ≤ 0.5 de lo contrario Donde nm es el ı́ndice de distribución para la mutación y toma cualquier valor no negativo. Deb sugiere usar: nm = 100 + t (t = generación actual) Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 15 / 22 Mutación P/Rep. Real Parameter Based Mutation Parameter-Based Mutation 3) El valor de la posición mutada se determina usando: Vk0 = Vk + ~δ∆max donde max es la máxima perturbación permitida. Si se conoce el rango de la variable VK , suele usarse: ∆max = UB − LB considerando que: Vk ∈ [LB, UB] Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 16 / 22 Mutación P/Rep. Real Parameter Based Mutation Parameter-Based Mutation Ejemplo: P =<2.3, 4.5, -1.2, 0.8> Vk = -1.2, u = 0.72, t =20 LB = -2.0, UB = 6.0 nm = 100 + t = 120 1 ~δ = 1 − [2(1 − 0.72)] nm +1 Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 17 / 22 Mutación P/Rep. Real Parameter Based Mutation Parameter-Based Mutation ~δ = 0.00478043 max = UB − LB = 6.0 + 2.0 = 8.0 Vk0 = -1.2 + 0.00478043(8.0) = -1.1617566 Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 18 / 22 Mutación P/Rep. Real Parameter Based Mutation Cruza vs. Mutación La cruza uniforme es más “explorativa” que la cruza de un punto. Por ejemplo, dados: P1 = 1 ∗ ∗ ∗ ∗1 P2 = 0 ∗ ∗ ∗ ∗0 La cruza uniforme producirá individuos del esquema , mientras que la cruza de un punto producirá individuos de los esquemas 1 ∗ ∗ ∗ ∗0 y 0 ∗ ∗ ∗ ∗1. Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 19 / 22 Mutación para otro tipo de representación Outline 1 Mutación P/Rep. Real Mutación P/Rep. Real Mutación No uniforme Mutación de Lı́mite Mutación Uniforme Parameter Based Mutation 2 Mutación para otro tipo de representación Mutación para Programación Genética Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 20 / 22 Mutación para otro tipo de representación Mutación para Programación Genética Mutación para Programación Genética La mutación es un operador asexual que, en el caso de la programación genética, se aplica sobre una sola expresión S. Se selecciona aleatoriamente un punto de mutación en el árbol y se remueve todo lo que esté en dicho punto y abajo de él, insertándose en su lugar un sub-árbol generado aleatoriamente. La profundidad máxima de este sub-árbol está acotada por la profundidad total permitida para cualquier expresión S en la población inicial. Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 21 / 22 Mutación para otro tipo de representación Mutación para Programación Genética Mutación para Programación Genética Ejemplo: Suponemos que el punto de mutación es el nodo 3. Dr. Gregorio Toscano Pulido (Cinvestav-Tamaulipas) CE - Mutación Cinvestav-LTI 22 / 22