Está en la página 1de 4

Comportamiento Colectivo de las Hormigas

Se debe recordar que las hormigas son prácticamente ciegas, y sin embargo,
moviéndose prácticamente al azar, acaban encontrando el camino más corto
desde su nido hasta la fuente de alimentos (y regresar). Es importante hacer
algunas consideraciones:
1. Por una parte, una sola hormiga no es capaz de realizar la labor anterior, sino
que termina siendo un resultado del hormiguero completo, y
2. No lo hacen sin "instrumentos", sino que una hormiga, cuando se mueve, deja
una señal química en el suelo, depositando una sustancia
denominada feromona, para que las demás puedan seguirla.

En la naturaleza, las feromonas cumplen un importante papel en la


organización y supervivencia de muchas especies, y representan un sistema
de comunicación química entre animales de una misma especie, informando
acerca del estado fisiológico, reproductivo, social, edad, sexo y posible parentesco
con el animal emisor.
Las feromonas han sido más estudiadas en insectos, como las hormigas y las
abejas, que en animales superiores como los mamíferos, aunque se encuentran a
todos los niveles de la jerarquía animal. Existen muchos tipos de feromonas,
algunas son volátiles y cuentan con poca estabilidad y persistencia, pero tienen
una mayor dispersión y un tiempo corto de acción, como las que segregan las
hormigas o termitas durante un ataque a su nido. Además, existe otro tipo de
feromonas que tienen poca volatilidad y una mayor estabilidad y persistencia,
pero cuya dispersión es menor y con un mayor tiempo de acción, como son los
hilos de plata que dejan los caracoles para poder regresar a su guarida, o las
feromonas segregadas por las hormigas para guiar a las demás en la búsqueda de
alimentos.

Los siguientes pasos explican, de forma intuitiva, porqué la forma de proceder


de las hormigas hace aparecer caminos de distancia mínima entre los nidos y las
fuentes de comida:
1. Una hormiga (exploradora) se mueve de manera aleatoria alrededor de la
colonia.
2. Si esta encuentra una fuente de comida, retorna a la colonia de manera más o
menos directa, dejando tras sí un rastro de feromonas.
3. Estas feromonas son atractivas, las hormigas más cercanas se verán atraídas
por ellas y seguirán su pista de manera más o menos directa (lo que quiere
decir que a veces pueden dejar el rastro), que les lleva a la fuente de comida
encontrada por la exploradora.
4. Al regresar a la colonia con alimentos estas hormigas depositan más
feromonas, por lo que fortalecen las rutas de conexión.
5. Si existen dos rutas para llegar a la misma fuente de alimentos, en una misma
cantidad de tiempo, la ruta más corta será recorrida por más hormigas que la
ruta más larga.
6. En consecuencia, la ruta más corta aumentará en mayor proporción la
cantidad de feromonas depositadas y será más atractiva para las siguientes
hormigas.
7. La ruta más larga irá desapareciendo debido a que las feromonas son volátiles
(evaporación).
8. Finalmente, todas las hormigas habrán determinado y escogido el camino
más corto.
De esta forma, aunque una hormiga aislada (exploradora) se mueva
esencialmente al azar, un grupo de ellas que pertenecen al mismo hormiguero
decidirán sus movimientos considerando seguir con mayor frecuencia el camino
con mayor cantidad de feromonas.
Algoritmo de Optimización por Colonias de
Hormigas
Los Algoritmos de Optimización por Colonias de Hormigas
(ACO) son una metodología inspirada en el comportamiento colectivo de
las hormigas en su búsqueda de alimentos. Veamos cómo utilizar estas
características comunicativas de las colonias de hormigas para resolver un
problema computacionalmente duro como es el TSP:
En la solución que presentamos aquí vamos a suponer que las NN ciudades
están conectadas entre sí (las NN ciudades forman un grafo completo).
Denotaremos estas ciudades por {C0,…,CN−1}{C0,…,CN−1}, y denotaremos
por dijdij la distancia (el coste de la arista) entre las ciudades CiCi y CjCj. De
forma explícita, las ciudades pueden verse como puntos de un espacio de 2
dimensiones, y la distancia entre ellas se calcula por medio de la distancia
euclídea habitual (entre las ciudades Ci=(xi,yi)Ci=(xi,yi) y Cj=(xj,yj)Cj=(xj,yj) el
resultado
será dij=(xi−xj)2+(yi−yj)2−−−−−−−−−−−−−−−−−√dij=(xi−xj)2+(yi−yj)

En el caso más habitual, esta distancia es simétrica, es decir, tiene el mismo


coste ir de CiCi a CjCj que de CjCj a CiCi. Pero de todas formas, el algoritmo que
vamos a explicar a continuación requiere muy pocas modificaciones si hay
ciudades que no son accesibles desde otras, si los costes no se corresponden con
las distancias euclídeas entre ellas (por ejemplo, si se considera como coste el
precio del billete de tren entre las ciudades) o si dicho coste no es simétrico.
En esta solución las hormigas van construyendo soluciones al problema TSP
moviéndose por el grafo de una ciudad a otra hasta que completan un ciclo.
Durante cada iteración del algoritmo, cada hormiga construye su recorrido
ejecutando una regla de transición probabilista que indica qué nodo debe añadir
al ciclo que está construyendo. El número de iteraciones máximo que se deja
correr al algoritmo depende de la decisión del usuario.
Para cada hormiga, la transición de la ciudad ii a la ciudad jj en una iteración
del algoritmo depende de:

1. Si la ciudad ha sido ya visitada, o no, en el ciclo que está


construyendo: Cada hormiga mantiene en memoria las ciudades que ya ha
visitado en el recorrido actual, y únicamente considera en cada paso las
ciudades que no ha visitado todavía, que denotaremos por JiJi. De esta forma,
aseguramos que al final la hormiga ha construido un recorrido válido. (Este
paso puede traer complicaciones si no todas las conexiones entre ciudades
están permitidas, ya que es probable comenzar a generar un recorrido que no
tiene posibilidades de ser completado; en este caso, una solución podría ser,
por ejemplo, que la hormiga anula el recorrido que está construyendo y
comienza un nuevo).
2. La inversa de la distancia a dicha ciudad, νij=1/dijνij=1/dij, que es lo
que se llama visibilidad: Esta medida es una información local que mide,
de alguna forma, la bondad de escoger CjCj estando en la CiCi, y puede ser
usada por las hormigas para que la distancia entre ciudades consecutivas sea
una característica que intervenga en la selección del recorrido que está
construyendo. Normalmente, esta información suele ser estática, ya que las
distancias de las ciudades son invariables a lo largo de la ejecución del
algoritmo, pero es fácil imaginar escenarios en los que los costes de paso de un
nodo a otro del grafo sean cambiantes y el algoritmo podría aplicarse para ir
obteniendo buenas soluciones en este entorno dinámico.

3. La cantidad de feromona que hay depositada en la arista que une


ambos nodos, que denotaremos por τij(t)τij(t): Esta cantidad se
actualiza en cada paso, dependiendo de la cantidad de hormigas que han
pasado por ella y de que el recorrido final de las hormigas que han usado este
conexión haya sido bueno (en relación con los demás). De alguna forma, mide
la inteligencia colectiva del hormiguero, ya que es información que
depende del conjunto de hormigas que están ejecutando el algoritmo. A
diferencia de la visibilidad, esta medida proporciona una información más
global, ya que la feromona que tiene una arista indica lo buena que es esa arista
en conjunción con otras para dar una buena solución.

Algunas variantes para mejorar la eficiencia de este algoritmo introducen, por


ejemplo:
 Sistema Elitista: Añadir en cada paso feromona a las aristas del mejor recorrido
encontrado hasta el momento, haya sido encontrado en el paso actual o no.
 Sistema por Ranking: Es el usado en esta entrada, cada hormiga deposita
feromona proporcional a la bondad de la solución encontrada.
 Sistema de Colonias: Todas las hormigas dejan la misma cantidad de feromona,
independientemente de la bondad de la solución, pero la ejecución no es sincronizada,
sino que las hormigas que acaban antes pueden volver a comenzar una nueva
generación de camino. De esta forma, los caminos más cortos, tendrán más psibilidad
de ser repetidos. Es el sistema que ocurre en la naturaleza.

También podría gustarte