MbGA
Al ver los resultados obtenidos por los algoritmos est´andar PbGA y MbGA, surge la idea de implementar en MbGA (que obtuvo mejores resultados) dos estrategias de b´usqueda local (algoritmo mem´etico (Krasnogor y Smith, 2005)). La primera de ´estas es la b´usqueda a distancia d bajo el vecindario D=1 (ver Algoritmo 2). ´Esta es implementada dentro del gen´etico justo antes de hacer el reemplazo generacional, aplicando una b´usqueda de d
pasos a los tres mejores individuos de la nueva poblaci´on (k = 3). La segunda estrategia, b´usqueda lateral (Algoritmo 3), es implementada justo al final del algoritmo, esto con el prop´osito de evitar que se tenga una soluci´on que est´e ligeramente recorrida un caracter a la izquierda o la derecha (caracter´ıstica que se observ´o en los resultados de los primeros experimentos con MbGA).
Primero se hizo una prueba utilizando s´olo la b´usqueda a distancia en el MbGA utili- zando tres de los casos usados anteriormente (10,2), (12,3) y (15,4). La poblaci´on inicial se fij´o a 1,000 individuos con probabilidad de mutaci´on dePm = 0.5 y se utiliz´o un torneo de tres jugadores. Los resultados se muestran en la Tabla VI. N´otese que ahora las funciones objetivo que se muestran en esta tabla y las siguientes son con base en la distancia de Hamming, ya que no se est´an manejando posiciones de inicio si no motivos, buscando por lo tanto minimizar dicha funci´on objetivo.
Se puede ver en las Tablas VI y VII que tanto funciones objetivo promedio como tiempos de ejecuci´on disminuyeron. Ya que la b´usqueda local le permite al algoritmo explorar todo
Tabla VI. Comparaci´on de la funci´on objetivo promedio ± desviaci´on est´andar obtenida por el AG est´andar y con B´usqueda de d pasos bajo el vecindario D=1.
caso(l,d) MbGA AG con B´usquedaD=1 (10-2) 42.23 ±3.6 36.67 ±2.37 (12-3) 45.33±6.16 33.17 ±5.9 (15-4) 63.3 ±8.55 51.83 ±3.73
Tabla VII. Comparaci´on de los tiempos de ejecuci´on (promedio y desviaci´on est´andar) del AG est´andar y con B´usqueda de d pasos bajo el vecindario D=1.
caso(l,d) MbGA AG con B´usqueda D=1 (10-2) 81.67 ±17.95 67.23 ±13.37 (12-3) 131.5 ±28.92 72.37 ±9.85 (15-4) 155.17±55.55 109.63 ±18.43
el campo de soluciones cercanas ( a distanciaD=1 ) a las actuales, ´este puede moverse hacia aquellas soluciones vecinas que son mucho mejores en cuanto a funci´on objetivo variando s´olo algunas bases; soluciones a las cuales el algoritmo est´andar llegar´ıa m´as lentamente o no llegar´ıa. En cuanto al tiempo de ejecuci´on (Tabla VII), aunque la b´usqueda implica un mayor n´umero de comparaciones y asignaciones, ´esta le permite al algoritmo converger m´as r´apido hacia alg´un ´optimo local, que, en un gran porcentaje de las ejecuciones, es el ´optimo global. En aquellas que no logra llegar al ´optimo global, ´este arroja una soluci´on muy cercana, que se encuentra ligeramente recorrida hacia la derecha o a la izquierda un par de caracteres, coincidiendo en un gran porcentaje de bases con el motivo buscado.
Se puede ver en la Tabla VII que las desviaciones est´andar para los casos (10,2) y (12,3) son m´as peque˜nas en el algoritmo MbGA con b´usqueda a dpasos bajo el vecindario
D=1 que el algoritmo MbGA solo, esto indica que los tiempos en esos casos no var´ıan tanto en MbGA con b´usqueda a d pasos como con MbGA. Para el caso (15,4) los tiempos var´ıan considerablemente, incluso en algunas corridas se obtienen tiempos m´as grandes que aquellos obtenidos por MbGA.
El an´alisis estad´ıstico que se hizo comparando el algoritmo gen´etico est´andar MbGA y MbGA con la b´usqueda a d pasos (ver detalles en el Ap´endice A) muestra que hay
Tabla VIII. Comparaci´on de la funci´on objetivo promedio obtenida por el AG est´andar, con B´usqueda ad pasos bajo el vecindario D=1 y con B´usqueda Lateral.
caso(l,d) MbGA AG con B´usqueda D=1 AG con dos B´usquedas (10-2) 42.23±3.6 36.67 ±2.37 35.57 ±3.18
(12-3) 45.33 ±6.16 33.17 ±5.9 30±0
(15-4) 63.3 ±8.55 51.83 ±3.73 50.27 ±1.46
una diferencia significativa entre los resultados obtenidos por el algoritmo est´andar y el algoritmo que aplica la estrategia de b´usqueda local, lo que confirma que el uso de otras estrategias dentro del gen´etico pueden ayudar en gran medida a mejorar la calidad de soluci´on y tiempos de una implementaci´on est´andar.
Al ver que la mayor´ıa de las soluciones no ´optimas obtenidas por la implementaci´on de la b´usqueda adpasos bajo el vecindarioD=1est´an tan s´olo recorridas uno o dos caracteres a la derecha o a la izquierda, se decidi´o implementar la b´usqueda lateral al motivo producto del algoritmo probado anteriormente (MbGA con b´usqueda ad pasos bajo el vecindarioD=1, ver Algoritmo 5). Se realizaron de nuevo varios experimentos para medir el desempe˜no de ´este utilizando los mismos par´ametros que en la implementaci´on anterior. Se prob´o tambi´en disminuyendo la poblaci´on inicial a 400 individuos y ya que la calidad de las soluciones no cambi´o considerablemente, se presentan s´olo los resultados obtenidos con 400 individuos.
En la Tabla VIII se presenta la comparaci´on entre las funciones objetivo promedio obtenidas por el algoritmo MbGA, MbGA con b´usqueda a d pasos bajo el vecindario D=1 y MbGA con las dos b´usquedas, a distancia y lateral, en los casos (10,2), (12,3) y (15,4). Se puede observar, una vez m´as, c´omo mejora el desempe˜no de MbGA implementando las dos b´usquedas. Incluso se puede ver que para el caso (12,3) se obtiene el ´optimo en las 30 corridas. Esto quiere decir que la b´usqueda lateral est´a permitiendo llegar al ´optimo en aquellos casos que el motivo encontrado por el gen´etico no es el ´optimo debido a que se encuentra recorrido.
Tabla IX. Comparaci´on de los tiempos de ejecuci´on (promedio y desviaci´on est´andar) del AG est´andar, con B´usqueda a d pasos bajo el vecindario D=1 y con dos b´usquedas.
caso(l,d) MbGA AG con B´usqueda D=1 AG con dos B´usquedas (10-2) 81.67 ±17.95 67.23 ±13.37 78.27 ±27.42 (12-3) 131.5 ±28.92 72.37±9.85 88.17 ±12.35 (15-4) 155.17 ±55.55 109.63±18.43 128.73 ±18.73
La Tabla IX muestra la comparaci´on de los tiempos de ejecuci´on promedio que obtu- vieron MbGA, MbGA con b´usqueda a dpasos bajo el vecindario D=1 y MbGA con las dos b´usquedas en los casos (10,2), (12,3) y (15,4). Se puede observar que el AG con las dos b´usquedas implementadas aument´o los tiempos de ejecuci´on del MbGA con b´usqueda a dis- tancia, sin embargo, al ver que el algoritmo que implementa las dos b´usquedas obtiene un buen desempe˜no, podemos pensar en correr este algoritmo con una poblaci´on inicial menor, de tal manera que se pueda conservar el nivel de desempe˜no del algoritmo, disminuyendo los tiempos de ejecuci´on. Podemos observar que las diferencias en tiempo de ejecuci´on para los tres casos permance igual, de hecho, disminuye un poco para el caso (15,4). En cuanto a la desviaci´on est´andar, se puede observar que ´esta disminuye y la diferencia entre MbGA con y sin b´usqueda a distancia es m´as grande en el caso m´as grande, lo cual nos indica que MbGA con las dos b´usquedas presenta menos variaciones en sus tiempos para todos los casos.
El an´alisis estad´ıstico que se llev´o a cabo entre MbGA con una b´usqueda y MbGA con las dos b´usquedas (ver detalles en el Ap´endice A) muestran que hay una diferencia significativa entre los promedios obtenidos por una y otra implementaci´on, obteniendo un mejor desempe˜no con el algoritmo que implementa las dos b´usquedas. Inicialmente, la b´usqueda lateral fu´e implementada para mejorar aquellas soluciones que la b´usqueda a d
pasos por s´ı sola no pod´ıa. Tantos los resultados de los experimentos como el an´alisis estad´ıstico nos indican que este objetivo fu´e logrado.
Figura 2. Funciones objetivo obtenidas por los tres algoritmos gen´eticos implementados 60 80 100 120 140 160 9 10 11 12 13 14 15 16 Tiempo Promedio
Longitud del Motivo
AG Estándar AG con búsqueda a distancia D=1 AG con dos búsquedas
gen´etico, se disminuyeron los promedios de las funciones objetivo obtenidas por el algo- ritmo est´andar, llegando, para estos tres casos mostrados, al ´optimo global en casi las 30 ejecuciones del algoritmo. Los tiempos de ejecuci´on, mostrados en la Figura 3, disminuyen a m´as de la mitad del tiempo obtenido por el algoritmo est´andar. A pesar de que las estrategias de b´usqueda implican que el algoritmo haga m´as comparaciones y asignaciones, aplicar estas estrategias le permite a ´este converger m´as pronto a la soluci´on, por lo que se requieren menos generaciones para llegar a la soluci´on ´optima.