By Marius Buliga

Define a molecular computer as one molecule which transforms, by random chemical reactions mediated by a collection of enzymes, into a predictable other molecule, such that the output molecule can be conceived as the result of a computation encoded in the initial molecule. A complete definition should contain the following: (a) an encoding of data into the chemical structure of one molecule (b) a model of computation by chemical reactions which is Turing universal. The accent is put on individual molecules and their evolution, not on the encoding of data and computations by soups of molecules of more or less arbitrary composition, as it is usually conceived. Thus the purpose is to use individual molecules and their geometrical and chemical structure for computations in a random environment.
This problem has been solved as a proof of principle in the artificial chemistry chemlambda, introduced in [1], which goes further along the Algorithmic chemistry of Fontana and Buss, but using an essentially different encoding and model of computation. There is a github repository where this model is implemented and various demos are available.
We can build a molecular computer if we identify the list of graph rewrites of chemlambda as real chemical reactions. Because of their simplicity, I think this task is possible.


Please log in to add a comment.

Marius Buliga



Published: 12 Mar, 2015

Cc by