Algoritmo de optimización por colonias de hormigas

Basándonos en el comportamientos observado de ciertos tipos de hormigas, surge un algoritmo de optimización de rutas o caminos.

¿Hormigas?

Si, hormigas, esos seres diminutos, que nos rodean, y que siempre están acompañados, por cientos de ellos.

Imaginemos un punto A de origen, y uno B destino, con varios caminos de distinta longitud entre ellos.

Las hormigas querrán ir desde A (el hormiguero), a B (la comida), y volver cuantas más veces mejor.

Ahora pensemos que dichas hormigas emiten un olor característico (feromona), que van dejando a lo largo de su rastro.

Inicialmente de forma aleatoria, las hormigas tomarán los distintos caminos, en busca de alimento.

En función de la calidad y cantidad del alimento encontrado, las hormigas dejarán más rastro, para poder volver e indicar al resto del hormiguero el camino que han encontrado.

Pero además, las que tomaron el camino más corto, llegarán antes a la comida, y podrán volver antes al hormiguero, para dar otro viaje. Esto hace que el camino mas corto tenga cada vez más cantidad de feromonas depositadas, ya que más hormigas lo visitan, tanto las que llegan al alimento y vuelven, como las nuevas, que por naturaleza tienden a seguir el camino con mas feromonas depositadas.

De esta forma, seres tan simples, trabajando conjuntamente son capaces de averiguar el camino más corto entre dos puntos.

Aplicación clásica

Este tipo de algoritmos ha sido principalmente usado en el ámbito de las redes de computadores, en las que la obtención del camino mínimo entre dos puntos es de prioridad, pudiendo suponer mejoras de rendimiento y velocidades mayores.

Aplicando el algoritmo en el desarrollo web

Basándonos en dicho comportamiento, podemos aplicarlo en nuestra web, para conseguir bien el camino más corto, o el camino más largo de van a recorrer nuestros visitantes.

El camino más corto

Podemos aplicar dicho algoritmo para encontrar y/o mostrar el camino más corto desde cualquier página de nuestra web, terminando en una compra.

En nuestro escenario, tenemos 3 elementos:

  • Punto de partida: Cualquier página en la que aterricen nuestros usuarios.
  • Punto destino (comida): Página de finalización de compra.
  • Camino: Secuencias de páginas (nodos) por la que pasarán nuestros usuarios.

El camino más largo

Vamos a maximizar el camino de nuestras «hormigas», para que visiten cuantos más nodos (páginas) mejor, antes de abandonar nuestra web.

En este caso, los 3 elementos del escenario son:

  • Punto de partida: Cualquier página en la que aterricen nuestros usuarios.
  • Punto destino (comida): Página desde la cual el usuario abandona la web.
  • Camino: Secuencias de páginas (nodos) por la que pasarán nuestros usuarios.

A continuación adjunto un poster sobre el tema que realicé en mis años como alumno en la Universidad de Málaga:

Algortimo Hormigas - poster parte derecha