Image courtesy of Pixabay.
What do ant colonies and the Internet have in common? Both are complex networks that manage large amounts of traffic. In ant colonies, this traffic comes from ants scurrying about, while on the Internet, it comes from packets of data sent between users. In these systems, computing is “distributed”: system components only know what is happening locally. Rather than constantly monitoring everything and making micro-adjustments to keep the system stable, components respond to specific events, obeying general algorithms that collectively keep the whole system running.
Scientists at Cold Spring Harbor Laboratory recently found that ant colonies use additive-increase/multiplicative-decrease algorithms to forage for food. These are the same algorithms used by the Internet to manage data traffic. With the Internet, the system responds by additively increasing the transmission rate if data is successfully sent and received. If sent data is not received, the transmission rate is decreased multiplicatively. Similarly, if an ant foraging for food successfully returns, the colony will additively increase the number of ants sent, while if ants fail to return, the number of ants sent out on the next trip is multiplicatively decreased.
Ant colonies are robust and avoid complete collapse despite their unpredictable outside environment. Many engineered systems, however, fail completely at the slightest tampering. Further study of distributed biological systems may reveal what makes them so hardy. Perhaps Internet engineers can learn something from ant colonies—the two are more alike than they may initially seem.