Evolution and Computation

The deep links between biology and computer science

Continued from:

4. How the leopard got its spots

4. Digital Disconnect

For the deepest insights, we way need to join two disjointed fields - the analogue world we see in biological computation, with the digital world we see in our current computers.

A ‘function’ in computing, is an algorithm that returns an output, or result. That result is normally definite, as is the function. The function is either executed, or it is not. There is no partial state.

But what if the function could be in a partial state? And what if that result could be combined with other partial functions?

This may seem like an imaginary construct, like something couldn’t physically exist, but the physical Quantum computers we are currently designing and building operate along just these principles. Cells must also communicate with chemical messengers, and the mathematics of these ‘reaction diffusion’ equations (which Turing studied) is continuous, not discrete. Likewise with physical neurons. Our cells and neurons are clearly able to compute, and compute very effectively. What insights can we obtain by mimicking them?

There is some effort in fact, to use analogue biological machinery for computation. Efforts have been made to build both ‘reaction diffusion’ computers out of chemical solutions, and to use DNA for computation and storage.

However, the understanding of just how biology performs such complex non-linear computation using so chaotic a substrate as that found in the cell, remains incomplete. We have made some way to understand the ‘gene regulatory networks’ that guide the complex relationships between genes and gene expression. But these models are very far removed from our current models of computation.

There is hope though that new mathematical developments might give rise to deeper understanding.

6. A mathematical overview