CHAPTER 1: Problems of Personal Identity and Initial Questions
1.3 Historical Background of the Problem of Personal Identity
1.3.2 Locke on Psychological Continuity
3.4.3. Algoritmos derivados del AS
Basándose en el Algoritmo AS original, se han presentado muchas modificaciones que intentan mejorar ciertos aspectos concretos de la metaheurística basada en colonia de hormigas.
En este apartado se presentan solo los dos algoritmos sucesores directos del Algoritmo AS pero existen muchas más variantes publicadas.
3.4.3.1. MAX-MIN Ant System (MMAS)
Este algoritmo fue presentado por Stützle y Hoods (iv) como una mejora del Algoritmo AS original, introduciendo algunas modificaciones.
Actualización del rastro de feromona. En vez de permitir que todas las hormigas actualicen el rastro de feromona, solo la hormiga con la mejor solución puede hacerlo. Hay varias opciones a este respecto, ya sea escoger la hormiga con la mejor solución en la última iteración o la hormiga que haya generado la mejor solución en cualquiera de las iteraciones anteriores desde el inicio.
Experimentalmente se ha comprobado que lo más eficiente es elegir al comienzo la hormiga con mejor solución en la última iteración y a medida que se ejecutan más iteraciones, comenzar a elegir para actualizar el rastro de feromona a la hormiga con mejor solución desde el inicio.
Limitación del valor del rastro de feromona. El valor de la feromona solo puede estar comprendido en un rango [ 𝜏𝑖𝑗 𝑚𝑖𝑛 , 𝜏𝑖𝑗 𝑚𝑎𝑥 ], de donde este algoritmo toma su nombre. Como solo una hormiga va a actualizar el rastro de feromona, imponiéndose esta restricción se evita que la búsqueda se estanque, permitiendo que todos los arcos tengan una probabilidad, aunque sea pequeña de ser elegidos como elementos de la solución.
De hecho, al limitar 𝜏𝑖𝑗 en un rango de valores, se limita también 𝑝𝑖𝑗, que es la probabilidad de que una hormiga escoja avanzar hacia j estando en i. Actualización del rastro de feromona. Además de limitar los valores de la
feromona, el valor de inicialización en este algoritmo del rastro de feromona se toma como 𝜏𝑖𝑗 𝑚𝑎𝑥 con el objetivo incrementar la exploración al comienzo de la ejecución.
Otra modificación realizada en este algoritmo es la forma en que se actualiza el valor de la feromona. Cuando el algoritmo detecta que la búsqueda de nuevas soluciones se ha quedado estancada o no se ha logrado encontrar una solución mejor durante un determinado número de iteraciones, se procede a
36
inicializar de nuevo el valor de la feromona para permitir explorar en otra región de soluciones.
Por lo tanto, tras la evaporación de la feromona, se deposita nueva feromona según la siguiente expresión:
Δτ𝑖𝑗𝑚𝑒𝑗𝑜𝑟 = { 1
𝐿𝑚𝑒𝑗𝑜𝑟, 𝑠𝑖 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑟𝑒𝑐𝑜𝑟𝑟𝑒 (𝑖, 𝑗) 0, 𝑒𝑛 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜
(3.4.6)
Y por lo tanto, se actualiza el rastro de feromona del siguiente modo: 𝜏𝑖𝑗 ← 𝜏𝑖𝑗 + Δτ𝑖𝑗𝑚𝑒𝑗𝑜𝑟 ∀ (i, j) (3.4.7)
En cuanto a los resultados de su utilización experimental, la característica típica de estos algoritmos es que tienen una fase de exploración más largo al tener un valor inicial de la feromona máximo y una tasa de evaporación menor. Por lo tanto, las diferencias entre rastros de feromona son muy bajos al principio de la ejecución y la fase de explotación tarda en aparecer más que en el resto de algoritmos basados en colonia de hormigas. Sin embargo, a pesar de su lentitud en obtener buenas soluciones, al contar con más peso la experiencia acumulada, logra obtener soluciones de gran calidad.
3.4.3.2. Ant Colony System (ACS)
El algoritmo de Ant Colony Sytem (ACS, según sus siglas en inglés), fue propuesto por Dorigo y Gambardella (v) en 1997 como una modificación al algoritmo AS y fue uno de los primeros sucesores de éste.
Los cambios principales introducidos en este algoritmo respecto al AS original son tres:
Regla de elección más agresiva. En vez de utilizar la probabilidad 𝑝𝑖𝑗ℎ del Algoritmo AS, se utiliza una regla proporcional pseudo-aleatoria. La regla es la siguiente:
𝑗 = {𝑎𝑟𝑔𝑚𝑎𝑥𝑙∈𝑁𝑖ℎ{ 𝜏𝑖𝑙[𝜂𝑖𝑗]𝛽} , 𝑠𝑖 𝑞 ≤ 𝑞0
𝐽, 𝑠𝑖 𝑞 > 𝑞0 (3.4.8)
En la regla anterior, q es una variable distribuida uniformemente en [0,1]. El parámetro 𝑞0 puede tomar los valores 0 ≤ 𝑞0 ≤ 1. En cuanto a J, se trata de la decisión seleccionada según la Fórmula 3.4.1 con una valor de 𝛼 = 1.
37
Cuando 𝑞 ≤ 𝑞0 se utiliza la información heurística y el rastro de feromona en la toma de decisión. Por el contrario, cuando 𝑞 > 𝑞0 se aplica la regla de exploración controlada que se utilizaba en el algoritmo AS.
Ajustando el valor del parámetro 𝑞0 se puede concentrar la búsqueda alrededor de la mejor solución encontrada hasta el momento si se aproxima hacia 𝑞0 = 1 y si, por el contrario, su valor se hace descender hacia 𝑞0 = 0 se dispersa la búsqueda y se promueve una mayor exploración del espacio de soluciones.
Cambio en la actualización de feromona. La actualización de la feromona se hace en el algoritmo ACS de una forma diferente.
En primer lugar, en este algoritmo solo evapora deposita feromona la hormiga con la mejor solución encontrada hasta el momento desde el principio de la ejecución. Como consecuencia, en cada iteración solo se actualiza el rastro de feromona de los arcos de la mejor solución.
La actualización del valor de la feromona, sigue la siguiente regla: 𝜏𝑖𝑗 ← (1 − ρ) ∙ 𝜏𝑖𝑗 + ρ ∙ Δτ𝑖𝑗𝑚𝑒𝑗𝑜𝑟 ; ∀ (i, j) ∈ 𝑠𝑚𝑒𝑗𝑜𝑟 (3.4.9) Como puede observarse, en la Fórmula 3.4.9 se utiliza el factor ρ para ponderar el nuevo valor del rastro de feromona entre el de la iteración anterior y la cantidad de feromona depositada
Sin embargo, además de la actualización de feromona a nivel global, en el algoritmo ACS se aplica una actualización local cada vez que una hormiga hace una elección. La regla de actualización es la siguiente:
𝜏𝑖𝑗 ← (1 − ξ) ∙ 𝜏𝑖𝑗 + 𝜉 ∙ 𝜏0 (3.4.10)
El parámetro ξ puede tomar los valores 0 < ξ < 1 y 𝜏0 es el valor de inicialización del rastro de feromonas.
La utilización de la actualización local permite hacer disminuir el valor de feromona sobre la elección de la hormiga, permitiendo que el resto de hormigas construyan soluciones diferentes y diversificar la búsqueda en el espacio de soluciones.
En cuanto a la aplicación del algoritmo ACS, cabe destacar que los mejores resultados se han obtenido para valores elevados de 𝑞0, por lo que no tiene fase de exploración sino que desde las primeras iteraciones entre en fase de explotación de soluciones, a partir de la mejor solución encontrada hasta el momento y buscando en los alrededores de la solución haciendo pequeñas variaciones a ésta.
38
Por esta razón, los algoritmos ACS convergen rápidamente y son más rápidos, pero realizan una menor exploración del espacio de soluciones que el resto de algoritmos.