Thursday, June 26, 2014

The Collective Machine

Ants solve the Towers of Hanoi maze.
Image and experiments by Chris Reid
Often when  'collective behavior' researchers write grant proposals we highlight the possibility of our research inspiring future computing. The idea is that if we can better understand how ants, amoeba and fish solve problems in groups we can inspire new computer design. Everyone, from the grant writers, the reviewers, and the funding bodies take these claims with a small pinch of salt. Yes, one day we might build swarm computers, but it is a bit difficult to see how ants solving mazes really provides insights that are useful today.

A few years ago I led a research project on "Optimization in natural systems: ants, bees and slime moulds", funded by the Human Frontiers Science Programme. The team consisted of myself, social insect biologist Madeleine Beekman, slime mould expert Toshi Nakagaki, and computer scientist Martin Middendorf. Our research was very successful and we learned lots about the organisms involved. But, if I am honest, we never got close to translating our results in to real progress in computing.

Or so I thought…… A couple of weeks ago I read about Hewlet Packard's new computer, called The Machine. According to the HP press release the machine will vastly increase the speed of computing. From the news articles alone, it is difficult to work out exactly what revolution is contained within The Machine, but the word that comes up repeatedly is memristor. It is here that there is a link to collective behavior in biology.

The memristor is an electronic component which changes its resistance as an electric current passes through it. This change in resistance gives the memristor its memory. It also provides an exact analogy to slime moulds and pheromone-laying ants. Slime moulds connect food sources with tubes that increase in size with flow of nutrients and ants build trails which  become more attractive as the flow on them increases. In a recent paper we showed exactly how the analogy between electrical networks, slime moulds and ants are explained through current re-enforced random walks (the video on the right shows this algorithm solving a non-linear transport optimisation problem). Slime moulds, ants and The Machine compute in the same way.

The way these systems compute is fundamentally different from traditional computers. In a traditional computer the processor fetches from memory, performs an action, and updates memory. In memristor-based systems, memory and processing update simultaneously. This allows for massive parallel computation. One of the researchers working on our project in Uppsala, Anders Johansson, has proved that these systems can solve linear programming problems in a completely decentralized way. A small adjustment to the method can give fast approximate solutions to NP-hard problems. Anders has put some of his results written together with Toshi's group on the ArXiv and published a paper with James Zhou on the linear programming proof. But I haven't managed to get him to write up a whole load of other nice results he has on these systems. Maybe 'The Machine' will inspire him to get going.

In general, despite the skepticism I started this article with, I would encourage more researchers to think in terms of distributed electrical circuits and their links to biology. It is very likely that the human brain has aspects of this type of processing in its design. And whatever The Machine might be able to do, it still can't come close to our own brains.






No comments:

Post a Comment