¿Qué tienen en común las hormigas recolectoras con el protocolo TCP? De acuerdo a una profesora de biología y a un profesor de ciencias de la computación de la Universidad de Stanford, mucho más de lo que parece a simple vista. Después de estudiar muy de cerca los métodos de las hormigas recolectoras a la hora de salir de sus nidos para obtener comida, se llegó a la conclusión de que su comportamiento se asemeja en gran medida a los controles de congestión aplicados en el protocolo TCP para determinar el ancho de banda disponible.
Se estima que existen unas 22 mil especies de hormigas, de las cuales se ha clasificado poco más de la mitad. Las diferencias entre una especie y otra pueden ser muy llamativas, por lo tanto, no quedan dudas de que hay mucho para aprender de ellas. Deborah Gordon es una profesora de biología en la Universidad de Stanford que ha estudiado a las hormigas por más de dos décadas. Cualquiera que visite su página personal bajo el dominio de la universidad encontrará toneladas de información sobre hormigas, pero su último trabajo se concentró sobre la actividad de recolección de las propiamente llamadas “hormigas recolectoras” (Pogonomyrmex barbatus), y su regulación de acuerdo a la cantidad de comida disponible. Esto la llevó a contactarse con Balaji Prabhakar, profesor de ingeniería eléctrica y ciencias de la computación en la misma universidad. Como podrán imaginar, Prabhakar sabe una cosa o dos sobre protocolos de comunicación y controles de congestión de redes. Al principio, no parecía haber una relación entre ambos campos, pero al final llegó la respuesta.
De acuerdo a Prabhakar, dicha respuesta está en el protocolo TCP, reconocido por ser uno de los protocolos elementales que le dan forma a Internet como la conocemos hoy. El protocolo TCP cuenta con varios mecanismos para evitar un cuadro de congestión. A la hora de transferir datos, ambos lados coordinan el envío y recepción de paquetes a través de “ACKs”, nombre derivado de “acknowledge” (reconocer). Si los “ACKs” regresan a la fuente a alta velocidad, se establece que hay ancho de banda disponible, y en consecuencia, se aumenta la velocidad de transferencia. Caso contrario, el protocolo se encarga de hacer todo un poco más lento para evitar una congestión. Al ser enviadas a obtener comida, las hormigas recolectoras utilizan un procedimiento similar: Cuanto más rápido regresan con alimento al nido, mayor es la cantidad de recolectores que son enviados, pero si comienzan a regresar sin nada comestible, el ritmo se reduce drásticamente.
El profesor Prabhakar procedió a escribir un algoritmo que simula el comportamiento de las hormigas de acuerdo a la cantidad de comida disponible, utilizando como inspiración a lo que ya se conoce del protocolo TCP. Con la ayuda de la estudiante Katie Dektar, descubrieron que los datos generados por este nuevo algoritmo eran prácticamente idénticos a los resultados que Gordon había obtenido con sus experimentos. Dicho de otra manera, las hormigas recolectoras utilizan su propia “anternet” para determinar la intensidad con la que deben ir a buscar comida. Prabhakar agregó que de haberse descubierto esto en los primeros años de la década del ‘70, las hormigas recolectoras hubieran tenido una gran influencia en el desarrollo de Internet, lo que al mismo tiempo hace que nos preguntemos qué otra clase de mecanismos quedan por descubrir en las hormigas, que llevarían a nuevos y avanzados algoritmos.