The project page moved to chemlambda.github.io. This page is kept for historical reasons.
Chemlambda is
a model of computation based on individual molecules, which compute alone,
by themselves (in a certain well defined sense).
Everything is formulated from the point of view of ONE molecule which
interacts randomly with a family of (invisible) enzymes.
There is a rigorous model associated and, even better, a github repository which contains programs which implement it. The programs serve to validate
the model by an independent check.
So what?
Bad detail: chemlambda is not a real chemistry, it's artificial.
Good detail: it is Turing universal in a very powerful sense. It does not
rely on boolean gates kind of computation, but on the other pillar of
computation which led to functional programming: lambda calculus. (In fact chemlambda goes much further than being a chemical version of functional programming.)
So instead of molecular assemblies which mimic a silicon computer hardware,
chemlambda can do sophisticated programming stuff with chemical reactions.
(The idea that lambda calculus is a sort of chemistry appeared in the
ALCHEMY (i.e. algorithmic chemistry) proposal by Fontana and Buss.
Chemlambda is far more concrete and simple than Alchemy, principially
different, but it nevertheless owes to Alchemy the idea that lambda
calculus can be done chemically.)
From here, the following reasoning.
(a) Suppose we can make this chemistry real, as explained in the
article Molecular computers. This looks reasonable, based on the extreme simplicity of chemlambda
reactions.
(b) Then it is possible to take further Craig Venter's Digital Biological
Converters (which already exist) idea and enhance it to the point of being
able to "print" autonomous computing molecules. Which can do anything
(amenable to a computation, so literary anything). Anything in the sense
that they can do it alone, once printed.
The first step of such an ambitious project is a very modest one: identify
the ingredients in real chemistry.
The second step would be to recreate with real chemistry some of the
examples which have been already shown as working, such as the factorial demo, or the Ackermann function examples from the chemlambda demos, see as well a (video).
Already this second step would be a huge advance over the actual state of
the art in molecular computing. Indeed, compare a handful of boolean gates
with a functional programming like computation.
If it is, for example, a big deal to build with DNA some simple assemblies
of boolean gates, then surely it is a bigger deal to be able to compute the
Ackermann function (which is not primitive recursive like the factorial)
as the result of a random chemical process acting on individual molecules.
What is missing is an expert search in existing databases, combined with
the realisation of possibly simple proofs of principles chemical
experiments based on the existing simple and rigorous formalism.
Once these two steps are realised, then the proof of principle part ends
and more practical directions open.
Nobody wants to compute factorials with chemistry, silicon computers are
much better for this task. Instead, chemical tiny computers as described
here are good for something else.
If you examine what happens in this chemical computation, then you realise
that it is in fact a means towards self-building of chemical or geometrical
structure at the molecular level. The chemlambda computations are not done
by numbers, or bits, but by structure processing. Or this structure
processing is the real goal!
Universal structure processing!
In the chemlambda vision page this
is taken even further, towards the interaction with the future Internet of
Things.
References:
[1] (journal)(arxiv) - M. Buliga, Graphic lambda calculus. Complex Systems 22, 4 (2013), 311-360
[2] (doi)(arxiv) - M. Buliga, Chemical concrete machine (2013).