Grafos Regulares y Estimación de su Número Cromático
Implementaciones ACO AEB
1. Práctica 1 de Algoritmos Evolutivos y Bioinspirados
Eduardo Moreno Díaz
Alumno Ingeniería Informática Universidad de Huelva
eduardo.diaz@alu.uhu.es
Resumen
Son muchos los intentos que los
El objetivo de este documento es el de presentar matemáticos han realizado para tratar de dar
los resultados obtenidos en la práctica número uno respuesta a estos problemas, Edsger Dijkstra,
de la asignatura de Algoritmos Evolutivos y Kruskal [1], etc. Dicho algoritmos de resolución son
Bioinspirados en el curso 2010/2011. Se trata de muy eficientes en problemas de poca complejidad
implementar los algoritmos conocidos como ya que cuando se enfrentan a casos muy complejos
“hormigas” para resolver el problema del resultan ineficientes respecto a tiempo y recursos
“viajante de comercio” o TSP (Travelling Salesman empleados.
Problem en inglés). Dichos algoritmos serán el SH
o Sistema de Hormigas, el SHE o sistema de Los algoritmos basados en colonias
Hormigas Elitistas y el SCH o Sistema de Colonia naturales de individuos como las hormigas, se
de Hormigas. Se realizará un estudio comparativo inspiran en la observación de cómo las
entre los resultados obtenidos para varios casos de organizaciones sociales que conforman los animales
dicho problema. Al final, se expondrán las en la naturaleza son capaces de resolver problemas
conclusiones a las que se ha llegado partiendo complejos [2]. Para el caso que se plantea, las
desde la premisa de que los resultados han sido hormigas son capaces de encontrar comida y crear
obtenido a partir de una parametización rutas, en principio cortas, que permiten al resto de
proporcionada por el profesor y no ha sido la colonia llegar hasta ella. Ésta idea ha sido
modificada en ningún momento. adaptada para resolver el problema del TSP. Las
ciudades son zonas de comida y las hormigas tienen
1. Introducción que pasar por todas ellas, regresar al origen y con el
mínimo recorrido.
El problema del viajante de comercio es
uno de los problemas más famosos y quizás el Para la realización de este estudio, se han
mejor estudiado en el campo de la optimización implementado tres versiones de este algoritmo para
combinatoria computacional. A pesar de la aparente enfrentarlas a tres casos del TSP, CH130, problema
sencillez de su planteamiento, el TSP es uno de los de 130 ciudades con 6110 de coste; A280, 280
problemas más complejos de resolver que se ciudades con un camino mínimo de 2579; y P654,
equipara, a veces, con problemas matemáticos formado por 654 ciudades cuya solución óptima es
mucho más complejos que han retado a los 34643. Dicho casos son de poca complejidad en lo
matemáticos desde hace siglos. que al que tiempo razonable se entiende en las que
se pueden apreciar las diferencias que existen entre
En su formulación más general, se trata de las diferentes formas de resolverlos mediante
que, dado un conjunto de N ciudades, encontrar el algoritmos de colonia de hormigas.
circuito más corto que partiendo de una de ellas,
pase por todas las demás y retorne a la ciudad
origen. Cabe destacar que, en principio, esta
formulación no recoge premisas de conexión entre 2. Descripción de problema
ciudades, sino que el grafo formado por las ciudades
es fruto del producto cartesiano de todas las En su descripción matemática, el TSP
ciudades, formando un grafo completo. formado por el conjunto finto de ciudades C, trata
Evidentemente, dicho grafo presenta bucles o lazos de encontrar la permutación P = {co, c1, …, cn} tal
que el algoritmo de resolución debe controlar. que
2. sea mínimo. La distancia entre ciudades viene dada siendo n el numero de ciudades del caso de estudio
por la matriz D = N x N donde d[x, y] representa la TSP y L el coste de la solución inicial. El valor
distancia entre las ciudades x e y. generado se utiliza además como mínimo valor para
la citada matriz, asegurando que dicha matriz
Para dar solución a este problema con los conserve un valor distinto de 0 necesario para el
algoritmos de hormigas, se hace necesaria de otra procedimiento de transición de la hormiga entre
matriz adicional, la matriz F = N x N de ciudades.
Feromonas, cuyo objetivo es el potenciar los
caminos más visitados por las hormigas. En la construcción de la solución, la
hormiga selecciona cuál es la mejor ciudad a la que
La representación que se hará de la debe moverse de entre todas las no visitadas aún por
solución será la lista de ciudades, ordenada en orden ella. Es en este procedimiento donde se tendrán en
de paso, por las que la hormiga ha realizado el cuenta ambos factores que condicionan el problema:
recorrido por el grafo. la distancia y la feromona depositada por otras
hormigas. Esta relación es probabilística,
Además, para evitar los bucles en el potenciando así la aleatoriedad de la
recorrido, cada hormiga tiene una memoria que implementación en su similitud con la naturaleza
indica si la siguiente ciudad a la que ha de moverse
esta ya en el camino recorrido o no.
3. Ciclo de Vida de los Sistemas de siendo α y β parámetros de control sobre la
Hormigas importancia de la feromona y el la distancia, n la
inversa de la distancia entre las ciudades vecinas i y
Las tres implementaciones que se ha j que aún no han sido visitadas. Esta fórmula
realizado son muy similares exceptuando algunas aplicada a cada posible ciudad del vecindario
particularidades. Básicamente siguen este retorna una lista de probabilidades entre las cuales
procedimiento: se ha de seleccionar una. Para realizar la citada
elección se utiliza un algoritmo basado en ruleta,
Procedure SH que asigna porciones de dicha ruleta en función de
las probabilidades de elección de las ciudades. La
Sf = 0 ciudad que resulta elegida pasa a ser la siguiente en
el recorrido de la hormiga. Gracias a este sencillo
InicializarFeromonas() proceso, se mantiene la relación entre explotación y
exploración ofreciendo posibilidades a soluciones
Mientras (¬criterioParada) Hacer que no resultan óptimas, escapando así de mínimos
Si = ContruirSolucion() locales. Llegado este punto, se hace necesario
ActualizarFeromona() resaltar la primera diferencia con el Sistema de
Sf = AlmacenarMejorSolucionSiProcede(S i) Colonia de Hormigas. Este algoritmo una regla de
Fin transición pseudo-aleatoria tal que
Devolver Sf
Fin
donde s es la siguiente ciudad a elegir, S es la
La inicializacion de Feromonas aplicación de la anterior fórmula de transición, u
corresponde a asignar un valor a la matriz de
ЄJk el conjunto de ciudades no visitas, q0 la
feromonas del problema. Normalmente, se le
probabilidad de elección entre ambos métodos y q
atribuye el valor generado por algún algoritmo que
el valor aleatorio generado.
nos de una primera solución a la que le aplicamos la
fórmula
3. Por último, se encuentra la actualización
de las feromonas, parte fundamental de este tipo de
algoritmos constructivos. Se trata de modificar la 4. Experimentación
heurística del problema potenciando aquellas rutas
que se muestran aconsejables de estudiar. Es sobre Se ha realizado una batería de pruebas
dicho apartado donde residen las principales sobre las implementaciones expuestas con los
diferencias entre los tres algoritmos resolutorios parámetros indicados por el profesor en el
basados en hormigas. Existen dos formas de realizar enunciado de la práctica. También se ha realizado
dicho proceso: un algoritmo comparativo greedy cuya heurística se
basa en partir de la ciudad 0 del caso de estudio e ir
Actualización, paso a paso. De esta manera las alcanzado el resto de ciudades en función a la
hormigas ponen una cantidad constante de menor distancia entre éstas. Dicho algoritmo sólo se
feromona cada vez que van de un nodo a otro. ejecuta una vez y proporciona una comparación
Existen pequeñas variaciones que hacen que perfecta para el resto de métodos.
pongan más o menos feromona, según la
cantidad de feromona presente antes de dar el A continuación, se muestran las tablas de
paso. Es el utilizado en el Sistema de Colonia resultados obtenidas.
de Hormigas en la actualización local de
feromonas, modificando dicho valor en
función del parámetro de evaporación φ
siendo r y s ciudades.
Actualización a posteriori . De este modo las
hormigas ponen feromona después de haber
encontrado una solución por todas las aristas
por donde pasaron para encontrar la solución.
Esto puede ser en una cantidad constante por
todas las aristas, o dependiendo de la calidad
de la solución encontrada, o de parámetros
externos determinados por el programador,
pueden poner más o menos feromona según el
camino encontrado. Este método es empleado
por el Sistema de Hormigas, el Sistema de
Hormigas Elitista [3] y el Sistema de Colonias
de Hormigas en la actualización global.
Tablas de resultados por algoritmo y casos de
estudio
Además el Sistema de Hormigas Elitista
refuerza el mejor camino obtenido hasta el Tabla de resultados globales
momento multiplicando el valor de la
feromona por un parámetro, consiguiendo así
una mayor velocidad de convergencia. Este
valor debe ser estudiado cuidadosamente ya
que de elegir uno que resulte inapropiado, el
sistema puede converger a óptimos locales con
mucha facilidad.
4. presenta y el resto. Es por tanto una buena
ch130 heurística de aproximación a la solución óptima. Se
podría haber tomado dicha solución como solución
60000
50000
de partida del resto de implementaciones e iterar
40000
sobre ella para mejorarla.
SH
También se ha observado que la
Coste
30000 SHE
20000 SCH convergencia de los algoritmos que se han estudiado
10000 difiere entre ellas de forma bastante evidente. A
0 medida que el algoritmo es más complejo, se
Iteraciones acelera el ritmo de convergencia acercando cada
vez más a la solución óptima. Sobre este aspecto
a280
cabe destacar el algoritmo SHE sobre el caso de
14000
12000
estudio CH130, que hace justo lo contrario. Este
10000
fenómeno ocurre cuando el refuerzo elitista de
8000 SH feromonas que se realiza sobre el camino de la
Coste
6000 SHE mejor solución es desproporcionado con relación al
4000 SCH
tamaño de la instancia del TSP. Las hormigas
2000 tienden a elegir el camino con más feromonas
0
rechazando el camino con menor distancia, cayendo
Iteraciones
así en mínimos locales de los cuales es imposible
p654
salir. Esto ocurre cuando el número de hormigas
elitista para la instancia indicada es superior a 5.
140000
120000
100000
Dicha convergencia se ha notado muy
80000
SH
rápida. Dependiendo siempre de la instancia,
Coste
SHE
60000
SCH
durante el primer 25% de la ejecución se alcanza
40000 una solución bastante aceptable. Claro esta que
20000
0
modificando los parámetros que se han marcado,
Iteraciones
dicha convergencia se puede acelerar aún más y con
resultados aún mejores.
Durante la fase de experimentación, se ha Se ha notado que la elección de la ciudad
observado que el algoritmo SHE no mejora pasada de origen marca también la diferencia entre las
50 iteraciones. Así pues, se ha decidido tomar soluciones. Al tratarse de algoritmos constructivos,
dichas 50 iteraciones como criterio de parada el hecho de tener muchas ciudades cercanas entre
adicional al tiempo de ejecución. las que elegir hace que las probabilidades sean casi
parejas, presentando una probabilidad en el
Se ha utilizado 5 semillas diferentes para la algoritmo de selección muy escasa.
inicialización de los objetos random necesarios para
la aleatoriedad de los algoritmos y los resultados Como se ha expuesto al principio de este
presentados en las gráficas corresponden a los punto, el tamaño de las instancias es relativamente
valores medios obtenidos. pequeño, con lo que se puede apreciar una clara
diferencia entre las tres implementaciones que se
5. Análisis de Resultados están presentando. El algoritmo SCH nada más
empezar su ejecución tiene ya la solución mejor que
Antes de ofrecer un análisis de los se puede alcanzar con los parámetros establecidos,
resultados y obtener unas conclusiones, cabe por lo que en el resto de iteraciones prácticamente
resaltar que la experimentación realizada se ha no mejora nada.
elaborado sobre unos problemas cuya complejidad
es baja, y que por tanto, no puede entenderse como Por último, cabe destacar que los tres
un estudio general de los problemas TSP. algoritmos son poco capaces de escapar de mínimos
locales. Por tanto, pude plantearse el estudio de
Tomando como primera aproximación el técnicas de reinicialización que eviten este tipo de
algoritmo determinista greedy, se observa que no inconvenientes como puede ser una racha de viento
existe una gran diferencia entre los costes que éste que elimine el rastro de feromonas o la introducción
5. de algún obstáculo que fuerce a las hormigas a System: Optimization by a colony of cooperating
buscar nuevas rutas. agents”, IEEE Transaction on Systems,
Man, & Cybernetics, Vol 26, No. 1, pg.1-13, 1996.
[3] Dorigo, M.; Stützle, T. (2004). Ant Colony
Optimization. MIT Press.
6. Concluciones
Las presentes conclusiones no pueden ser
tomadas como ideas globales ni teoremas empíricos
puesto que no están refutadas con el resto de la
comunidad. Sólo son el fruto del estudio de los
algoritmos expuestos a lo largo del documento para
los casos de estudios tomados. Son conclusiones
empíricas que sólo se podrán aplicar a lo citado.
Los algoritmos basados en hormigas son
métodos de exploración combinatoria muy rápidos,
que parametrizados de la forma adecuada, pueden
encontrar soluciones aceptables en tiempos muy
razonables.
Cabe resaltar que son también incapaces de
salir de mínimos locales cuando han caído en ellos.
Es por tanto que se hace necesario estudiar
estrategias que permitan la búsqueda de nuevas
soluciones como puede ser rachas de vientos cuando
no se producen mejoras o incorporación de
obstáculos al recorrido de ciudades.
Esta conclusión esa muy relacionada con el
hecho de la no mejora llegado a un punto de
convergencia. Es por tanto, que se hace necesaria la
modificación de ciertos parámetros a medida que se
avanza en el algoritmo.
La elección de la ciudad de comienzo de la
hormiga también debe ser estudiada con
detenimiento y no realizar este proceso de forma
aleatoria. Si la ciudad elegida está rodeada de otras
ciudades cercanas, el algoritmo no toma buenas
decisiones de transición entre las ciudades. Para el
comienzo del algoritmo es importante elegir
ciudades que estén bastante separadas.
7. Referencias
[1] J. B. Kruskal: On the shortest spanning subtree and
the
traveling salesman problem. En: Proceedings of the
American Mathematical Society. 7 (1956), pp. 48–50
[2] Dorigo M., Maniezzo V. y Colorni A., “The Ant