Skip to main content



What do ants and computers share in common?

Two Stanford professors have shown that the method ants use to most efficiently retrieve food has a striking resemblance to the way our computers adjust data transfer rates to best transmit files. In computer networks, the Transmission Control Protocol is a set of rules designed to accurately send data from one computer to another. The sender broadcasts a small piece of data and the recipient sends a message back after receiving it, saying the transfer was successful. Now the sender is ready to send more data. However, the available bandwidth places a limit on how much data can be safely sent over a network at any given moment. If a machine tries to send more data than the bandwidth can handle, then some data will be dropped and the recipient will be indefinitely waiting for a data packet that will never arrive. That’s why after a certain period of time, the sender will automatically send the packet again or the recipient will send a message back saying the packet never made it.

The protocol should try to maximize data transmission while staying under the bandwidth limit. The current solution has the sender adjust its transmission speed depending on how often it receives the recipient’s confirmation message from previously sent packets. If the sender finds that all its packets are successfully received, no packets are being lost and there is probably room to send more packets at once. On the other hand if the sender finds that a low percentage of its packets make it to the recipient, it’s likely that there is too much congestion on the network and some packets are being dropped. In this case, the sender should throttle data transmission down.

Ants search for food in many different areas and they do not have a way to contact the others when they have found a large pile of food. Instead, they distribute workers amongst these routes depending on which ones have ants returning with food most often. If route A has ants coming back with food every second, it is clear there is a lot of food where they came from and it makes sense to send more workers down that path. Ants also do not return home until they find food, so this minimizes congestion at home.

One common problem in networks is finding the shortest path from node A to node B. Imagine there are two paths from A to B and you wanted to make that trip in the fastest time. However you can send small pieces of yourself at a time and if a path reaches its capacity, movement is slowed to a crawl. Each path has a travel time proportional to how many others are currently taking that route. Since neither path has constant travel time, you could send a piece of yourself down each path and have them contact you as soon as they reach node B. That way you know which path was recently faster and you should send more packets of yourself along that route.

It is amazing that the protocol we designed behaves similarly to the system ants have developed. This suggests that animals have complex networks and methods of solving problems involving graph theory. In looking for an article to blog about, I came across a few others discussing the networks of birds, fish, and bees so we may be able to better approximate some of graph theory’s more difficult problems, such as the Traveling Salesman, by observing and analyzing their behavior.

http://engineering.stanford.edu/news/stanford-biologist-computer-scientist-discover-anternet?v=1

ms933

Comments

Leave a Reply

Blogging Calendar

September 2012
M T W T F S S
 12
3456789
10111213141516
17181920212223
24252627282930

Archives