One of the hot topics in computer science is unconventional computing. This is the exploitation of unusual or exotic systems to perform computations.
Examples are numerous. Perhaps the most advanced is quantum computation which exploits the strange laws of quantum mechanics to perform computation. But there are other more exotic approaches such as using DNA to perform millions of simple calculations in parallel or even using slime mould to solve mazes.
Indeed some scientists claim that every physical event is a computation. Others disagree saying that this simply redefines the notion of a physical process and is either wrong or trivial.
That leads to an interesting and important question. What does it mean for a physical system to compute? Can researchers decide objectively whether a physical system is computing or not?
Today, we get an answer thanks to the work of Clare Horsman at the University of Oxford in the UK and a few buddies. These guys say that a physical computation is the use of a physical system to predict the outcome of an abstract evolution. As such, it is closely related to, but crucially different from, the notion of theory and experiment .
They go on to tease apart these ideas and to define the abstract and real components that a computation must have. This allows them to explain why many examples of unconventional computation are actually experiments rather than computations.
This Week’s Top 5 Posts
The crucial ingredient in Horsman and co’s ideas is the relationship between the abstract notion of a computation and its physical set up. This is where the link with experiment and physics comes in.
In physics, scientist use an abstract theory to predict the outcome of physical evolution. However, there is always some difference between the theory and the experimental result. The goal of physics is to make this difference as small as possible. When that happens, the result is a law of physics.
Computation is essentially the same process. A computation uses the evolution of a physical system to model an abstract theory.
But this only works when the link between the real and abstract worlds is clear and well understood. In other words, a computation relies on the laws of physics, on a physical system where the difference between theory and reality is known to be small..
The problem with unconventional computing is that it often relies on processes that are poorly understood. For example, the processes that slime mould uses to solve a maze are largely unknown. For this reason it is not computation.
Slime mould gives interesting answers in specific well-defined experiments but cannot be used for general computation. Any attempt to use slime mould to run a spreadsheet, for example, would produce an outcome that is unacceptably different from the theoretical one.
That’s not to say that slime mould couldn’t run a spreadsheet in principle. But this would require lots of adjustments over many iterations to build a proper theoretical understanding of the system and how it works.
It is this process of engineering that turns a physical system into a computer, argue Horsman and co. “Computers are highly engineered devices,” they say.
And therein lies the key. “In general, … technology stands or falls on the conﬁdence in the underlying theory,” say Horsman and co. Without a good understanding of the underlying physics and solid engineering to make the device usable, a physical system simply evolves rather than computes.
This is why quantum computing is a good example of unconventional computing. It is based on well understood physical theory and the devices themselves have undergone many iterations of engineering development. In many cases, they can truly be described as computers.
An important part of this engineering process is to develop a way for the system to encode and decode information. “Without the encode and decode steps, there is no computation; there is simply a physical system undergoing evolution,” say Horsman and co.
That’s one of the problems with many unconventional computing systems—there is no general way to encode or decode information. Taking slime mould again, it’s simple to imagine the mould growing inside a maze but much harder to imagine how this might extend to playing Minecraft or sorting a database. There is no general way to encode or decode information
“This is how we can escape from falling into the trap of ‘everything is information’ or ‘the universe is a computer’: a system may potentially be a computer, but without an encode and a decode step it is just a physical system,” say Horsman and co.
These ideas are likely to generate some lively debate in the computing community, where much funding is available for unconventional computing. The momentum behind much of this work comes from the observation that some poorly understood systems seem to compute much more quickly and efficiently than silicon computers.
For example, when it comes to pattern recognition or walking up stairs, the human brain leaves silicon supercomputers in the blocks.
Nobody is quite sure how the brain does this amazing trick powered by little more than a bowl of porridge. But there is general agreement that if we could somehow copy this ability, we would all be better off.
The worry is that if the work on unconventional systems is not considered computation until we can exploit it systematically and generally, then some lines of funding might dry up.
This would be absurd short-sightedness. Computer scientists must be able to to rethink some of what they call computation if they need to.
There are implications for other scientists too. Horsman and co present a new definition of computation. But in the process, they also sharpen the definitions of physics and engineering in ways could be equally transformational.
Either way, there are exciting times ahead for computers and those who build them.
Ref:arxiv.org/abs/1309.7979: When Does A Physical System Compute?