

Stanford Biologist and Computer Scientist Discover the 'Anternet' - stollercyrus
http://engineering.stanford.edu/news/stanford-biologist-computer-scientist-discover-anternet

======
waiwai933
> "Ants have discovered an algorithm that we know well, and they've been doing
> it for millions of years," Prabhakar said.

Isn't it more like _we_ discovered an algorithm that _they_ know well,
considering that they came up with it first?

~~~
devgutt
He complements afterwards:

 _Prabhakar said that had this discovery been made in the 1970s, before TCP
was written, harvester ants very well could have influenced the design of the
Internet._

------
xi
The original paper, which is quite informative and easy to read:
[http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fj...](http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1002670)

------
ChuckMcM
Fun result. It reminds me of the stories Dr. Feynman would tell about what he
learned by watching ants.

~~~
Nevaeh
Could you please elaborate? Were you referring to the stories told in his
book, or were you actually one of Feynman's students?

Here's the written story of Feynman's experimentation with ants if anyone is
interested:
[http://books.google.com/books?id=7papZR4oVssC&pg=PA94...](http://books.google.com/books?id=7papZR4oVssC&pg=PA94&lpg=PA94&dq=feynman+ants&source=bl&ots=esR_gekP_0&sig=f1vmF-
eG6OUR78uEwvHc_rHvNqs&hl=en#v=onepage&q=feynman%20ants&f=false)

~~~
ChuckMcM
Those are the ones. He came to USC and as a guest lecturer for my quantum
mechanics class and recounted this story. I really like it because it
crystallized in me the understanding that this is how you figure out systems
for which there is no manual or documentation. Observe the working system,
inject change in various ways, measure the effects of that change. Rinse and
repeat and learn.

Once at NetApp there was a question about whether or not we were wasting all
of our time randomly seeking the drives (drive seeks being of course the worst
if you're looking to improve performance). But the code paths were very
complex, asynchronous, and difficult to model. We figured it out by injecting
random seeks which was pretty easy to do. You could flood the disk driver with
random seeks and get the 'floor' of performance, then you could back off on
the random seek injection to see where performance started to pick up. That
told us that counter to our thinking we weren't actually being plagued by
seeks, the performance issue was elsewhere in the system.

That the ants had, through natural selection, derived a congestion control
system that is very close to the TCP one is a fun result because it suggests
that the TCP one is probably close to optimal. (Ants have been working on it a
lot longer)

~~~
corin_
Does a long period of evolution actually imply it is "probably close to
optimal"? I don't know a huge amount about evolution, but my two lines of
logic would be:

First, given the huge diversity of life on Earth, how can we argue that any
species is "optimal".

Secondly, the same argument could be made of life 500 million years ago, that
it had been evolving for so long that it must be optimal, no?

~~~
wzdd
It's actually a common misunderstanding of evolution to assume that it is
optimising anything other than suitability to a particular environment (see
[http://en.wikipedia.org/wiki/Objections_to_evolution#Definin...](http://en.wikipedia.org/wiki/Objections_to_evolution#Defining_evolution)).
So no, it doesn't make sense to use evolution as evidence that suitability in
one domain implies suitability in another domain, especially when the domains
have almost nothing in common except a shared requirement for management of
scarce resources in a very abstract sense.

~~~
hnriot
I don't think you are seeing the parallels here. When you look closer you'll
see that the domains are different but the problems are very similar and not
so abstract, which explains the high degree of simularity and effectiveness of
the congestion control algorithm.

I would also take issue with what you see as a common misunderstanding.
Evolution is, by it's very definition a process which adapts to a specific
environment. Nothing more, no design, but optimal for any given environmental
condition. When the environment changes rapidly, the pace of evolution
increases, and vice versa. I don't think this is commonly misunderstood at
all. Some people will always have no clue and of course there are those that
think the fossils were planted by god, but aside from the out of band idiots,
evolution is commonly correctly understood.

------
pitchups
It has been known for a while that ants have algorithms - although the
similarity to TCP is a new interpretation. From an article in Edge [1]:

 _Ants have algorithms. If you think about an ant colony, it's a computing
device; there's some wonderful work by Jean-Louis Deneubourg in Brussels and
his collaborators that really started this field in a way with Ilya Prigogine
and later on Jean Louis Deneubourg looking at the ways in which social insect
colonies can interact. One example would be—it sounds trivial, but if you
think about it, it is quite difficult—how can a colony decide between two food
sources, one of which is slightly closer than the other? Do they have to
measure this? Do they have to perform these computations?_ [1] :
<http://edge.org/3rd_culture/couzin08/couzin08_index.html>

------
orthecreedence
I think the real amazing thing is that the protocols for the internet took
brilliant people years to figure out. Ants do it as one self-organizing body,
anarchically.

I've always been fascinated by the collective intelligence of an ant colony.
This drives it home even more.

~~~
gizmo686
Ants had millions of years to evolve the algorithms. And I don't think it
qualifies as a collective intelligence, I prefer to view "hive mind" systems
as multiple instances of the same object, so the beauty of the ant isn't that
it has a massive collective intelligence, or self organizes, but rather that
it has a protocol small enough to fit into their tiny brain, but elegant
enough to make ants one of the largest bio-mass of all species.

It is a very similar situation to the inside of any organism. You have a bunch
of cells, none of which has significant intelligence, but which follow a set
of protocols that allows them to work together and form an organism capable of
duplication. Or you can look at how a single cell is composed of molecules
that follow a set of even simpler protocols that still causes self
duplication. Or you can look at how a bunch of atoms came together in such a
way that allowed self duplication, and error propagation, until the 'arms
race' between these molecules led to the creation of a group of entities who
cannot even comprehend how such a system can occur without thinking of the
single molecules as being alive.

Personally, I appreciate the mathematical elegance that flowers use to
optimize their leaf coverage. (They start with an even arrangement of growth
hormone, and then the region that is over crowded has less hormone then the
region that is under-crowded, so new leaves grow where they are most needed,
resulting in Fibonacci spirals).

Sorry if this post came across as condescending, but I feel that blind awe at
the intelligence of nature tends to diminish the mathematical elegance it
exploits; I much prefer to view ants as an example of an extremely simple and
elegant algorithm that can make use of many stupid entities, as apposed to a
massive hive-mind, with access to the brain power of thousands of ants, that
still can't do better then the simple algorithm.

~~~
sjwright
You're describing emergence

<http://en.wikipedia.org/wiki/Emergence>

~~~
hnriot
That's like saying things fall because if gravity, all you've done is given
something a label, it doesn't help anything.

Read Richard Feynman for more details, he explains it well.

~~~
gizmo686
If I had been talking about how objects of mass attracted each other (or some
similar system), him saying 'gravity' would also serve to provide me with
textbooks of information and research that might be relevant to what I was
talking about. As it so happens, I was aware of the term 'emergence', but if I
was not, then his mentioning it makes it far easier for me to do further
research on that thing I described in my first post.

------
eclecnant
Dr. Anteater and Aunt Hillary [0] probably knew this all along.

[0]: [http://themindi.blogspot.co.uk/2007/02/chapter-11-prelude-
an...](http://themindi.blogspot.co.uk/2007/02/chapter-11-prelude-ant-
fugue.html)

------
tzs
OT: that headline is a really interesting sentence. There are two people, the
biologist and the computer scientist, and the word discover is singular. Note
that if it were one person who was both a biologist and computer scientist,
we'd say "biologist and computer scientist discovers", with the plural form of
discover.

I'm a native English speaker, and have no trouble understand the sentence.
However, I kind of slacked off in elementary school and high school English
classes so I can't actually explain WHY we use the singular 'discover' when
the discovery is made by two people, and we use the plural 'discovers' when
the discovery is made by one person.

I really should learn my native language sometime!

~~~
cdavoren
The 's' on the end of verbs has no relation to the plural 's'. It's simply how
regular English verbs are inflected in the third-person singular.

The link provided by jacobolus should tell you all you need to know.

------
ams6110
Ant behavior has also served as the model for solving traditionally "hard"
optimization problems....

[http://en.wikipedia.org/wiki/Ant_colony_optimization_algorit...](http://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms)

------
nviarnes
Very cool. Does anybody here know how the forager traffic is actually
regulated? Is it centrally managed by the queen, or is there some sort of
chemical signal that individual ants can produce to spread the word?

~~~
xi
AFAIK, it's completely decentralized. When a scout ant finds food, it returns
back to the nest leaving a strong trail of pheromone. Ants tend to follow a
pheromone trail and reinforce it on their return if they find food, so when a
good source of food is found, a strong pathway is quickly established by a
growing number of ants following the same route.

An ant may randomly leave a pheromone trail, which ensures that other, perhaps
more attractive food sources are not missed. In general, the stronger the
signal, the faster ants move with the less probability of diverging from the
path.

This strategy ensures optimal area exploitation under varying conditions. For
instance, if the food is concentrated in one or a few locations, you'll see a
single column between the nest and the source, but when the food is scattered
through the area, the ants would disperse too.

Source: an excellent book "Cells, Embryos and Evolution" where it was used as
an example of how complex and seemingly organized and directed behavior could
be achieved by a population of identical individuals acting under uniform
rules.

~~~
gizmo686
Interesting, but as I understand the article, ants also use a TCP like
protocol to make sure that make sure they don't send to many ants to a given
food source. It sounds like the system you are describing would strengthen the
trail until the food ran dry, regardless of if there are already more ants at
the food than can take a piece at a given time.

Also, I remember learning about the pheromone trail years ago as established
fact, so I'm pretty sure they are talking about a different system. It would
be interesting to look at how the two interact (along with the other systems
they use we have yet to discover).

~~~
xi
You are right, now that I read the original article, it appears the particular
ant genus they were studying does not use pheromone trails. Since this ant
species gather seeds which are scattered by wind and could be brought back by
a single ant, they don't need to build paths to the food source. Instead a
returning ant interacts with other ants which are ready to leave and the rate
at which ants leave the nest grows with the rate at which ants return back (so
a leaving ant is a data packet, a returning ant is an ACK packet).

The paper:
[http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fj...](http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1002670)

------
martingoodson
A great book on all of this stuff, if anyone is interested:
[http://www.amazon.co.uk/Self-Organization-Biological-
Systems...](http://www.amazon.co.uk/Self-Organization-Biological-Systems-
Princeton-Complexity/dp/0691116245/ref=tmm_pap_title_0)

------
sabalaba
Cool photo by Steve Jurvetson of DFJ.

~~~
dmix
Looks like it was a photo of one of these tanks:
[http://www.amazon.com/Fascinations-ANTW2-AntWorks-
Illuminate...](http://www.amazon.com/Fascinations-ANTW2-AntWorks-Illuminated-
Blue/dp/B000F6F8CY/)

------
freepipi
each ant is a router?

