viernes, mayo 24

El algoritmo hormiga

¿Te has fijado alguna vez los caminos que hacen las hormigas para llegar a la comida? A simple vista puede parecer que no siguen un patrón determinado, pero si se estudian con detenimiento se observa que siguen una algoritmo seguro y optimizado en recorrido. Tanto es así, que este comportamiento se usa como técnica para solucionar problemas de computación.

El algoritmo de ruta que siguen las hormigas cuando encuentran
alimento es aplicable a situaciones humanas
- Foto vía fx-world -



El algoritmo de la colonia de hormigas

En la naturaleza las hormigas vagan aleatoriamente en búsqueda de alimento. Dado que el alimento puede estar en cualquier lugar la hormigas se mueven por cualquier sitio en busca de este bien necesario para sobrevivir.

En su camino, la hormigas van dejando feromonas que con el tiempo desaparecen. Una vez que varias hormigas encuentran el alimento, el camino queda reforzado por las feromonas de éstas que al volver a la colonia, usan el camino más corto. Así que las feromonas de las rutas originales para llegar a la comida van desapareciendo mientras que las de la ruta directa se va reforzando cada vez más. Al final todas las hormigas usarán una única ruta, la más corta y óptima.

El hecho de que las feromonas vaya desapareciendo con el tiempo logra que todo el conjunto tienda a la solución óptima global y no se queden estancados en soluciones parciales. Si no hubiera evaporación todos los caminos al alimento serian considerados igual de válidos.

Si la comida se acaba o cambia de sitio al algoritmo de las hormigas se adapta ya que funciona continuamente y en tiempo real.

Aplicaciones

Este algoritmo se utiliza para problemas con una gran cantidad de datos, donde las "hormigas simuladas" caminan alrededor del problema a solucionar. Hay grandes usos para fijar itinerarios -por ejemplo en sistemas urbanos de transporte-, comportamientos de máquinas o incluso para crear rutas óptimas de vendedores.

Todo lo contrario a los humanos

Se puede decir que el algoritmo de las hormigas es como un puzzle donde cada individuo de la colonia aporta una pequeña parte a la solución. Todas las hormigas trabajan para el bien de la comunidad y nunca de forma individual.

Todo lo contrario en humanos, sobretodo a nivel laboral. Imaginemos el clásico puesto donde se incentiva la competencia con otros compañeros de trabajo. Es una situación "antinatural" que se promueve entre comerciales, operarios, diferentes departamentos, en los clásicos call centers o en casi cualquier tipo de trabajo. Sobra decir -visto el ejemplo de las hormigas- que esta estrategia desaprovecha completamente los niveles óptimos que se alcanzarían buscando el bien global y no individual.

¿Crees que el algoritmo hormiga es aplicable a un entorno laboral?