One of the hot topics in computer science is the study of unconventional forms of computation.
This is motivated by two lines of thought. The first is theoretical--ordinary computers are hugely energy inefficient--some eight orders of magnitude worse than is theoretically possible. The second is practical--Nature has evolved many much more efficient forms of computation for specific tasks such as pattern recognition.
Clearly, we ought to be able to do much better--hence the interest in different ways of doing things.
Various groups have tried computing with exotic substances such as chemicals like hot ice and even with a single celled organism called a slime mould.
Today, we look at one of the more curious variations on this theme--a computer that exploits the swarming behaviour of soldier crabs.
First, a little background on the theory behind this idea. Back in the early 80s, a couple of computer scientists--Ed Fredkin and Tommaso Toffoli--studied how it might be possible to build a computer out of billiard balls.
The idea is that a channel would carry information encoded in the form of the presence or absence of billiard balls . This information is processed through gates in which the billiard balls either collide and emerge in a direction that is the result of the ballistics of the collision, or don;t collide and emerge with the same velocities.
Now Yukio-Pegio Gunji from Kobe University in Japan and a couple of pals have built what is essentially billiard ball computer using soldier crabs. "We demonstrate that swarms of soldier crabs can implement logical gates when placed in a geometrically constrained environment," they say.
These creatures seem to be uniquely suited for this form of information processing . They live under the sand in tidal lagoons and emerge at low tide in swarms of hundreds of thousands.
What's interesting about the crabs is that they appear to demonstrate two distinct forms of behaviour. When in the middle of a swarm, they simply follow whoever is nearby. But when they find themselves on on the edge of a swarm, they change.
Suddenly, they become aggressive leaders and charge off into the watery distance with their swarm in tow, until by some accident of turbulence they find themselves inside the swarm again.
This turns out to be hugely robust behaviour that can be easily controlled. When placed next to a wall, a leader will always follow the wall in a direction that can be controlled by shadowing the swarm from above to mimic to the presence of the predatory birds that eat the crabs.
Under these conditions, a swarm of crabs will follow a wall like a rolling billiard ball.
So what happens when two "crab balls" collide? According to Gunji and co's experiments, the balls merge and continue in a direction that is the sum of their velocities.
What's more, the behaviour is remarkably robust to noise, largely because the crab's individuals behaviours generates noise that is indistinguishable from external noise. These creatures have evolved to cope with noise.
That immediately suggested a potential application in computing, say Gunji and co. If the balls of crabs behave like billiard balls, it should be straightforward to build a pattern of channels that act like a logic gate.
And that's exactly what Gunji and co have done. These guys first simulated the behaviour of a soldier crab computer in special patterns of channels. Then they built one in their lab to test the idea with real crabs.
To be fair, the results were mixed. While Gunji and co found they could build a decent OR gate using soldier crabs, their AND-gate was much less reliable.
However, it's early days and they say it may be possible to produce better results by making conditions inside the computer more crab-friendly. (No crabs were harmed in the making of their computer, say Gunji and co.)
So there you have it--a computer in which the information carriers are swarming balls of soldier crabs.
Not a sentence you expect to read every day. But it surely cannot be long before we all have one of these on our desktops.
Robust Soldier Crab Ball Gate