A Formal Model of Universal Algorithmic Assembly and Molecular Computation

A Formal Model of Universal Algorithmic Assembly and Molecular Computation

Copyright: © 2010 |Pages: 14
DOI: 10.4018/jnmc.2010070104
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

In this paper, the author describes a systematic and general approach to nanostructure synthesis and control through autonomous molecular combinatory computing. Combinatory computing is based on simple network (graph) substitution operations, deriving from combinatory logic (Curry, Feys, & Craig, 1958), which are sufficient for any computation. When these operations are implemented by autonomous molecular processes, they provide a means for computing within supramolecular networks, which may be used to assemble these networks or control their behavior. Further, the Church-Rosser Theorem (Curry, Feys, & Craig, 1958) proves that substitutions may be performed in any order or in parallel without affecting the computational result; this is a very advantageous property for autonomous molecular computation. In addition to the theoretical foundations of molecular combinatory computing, the author discusses possible molecular implementations as well as accomplishments in the (simulated) synthesis of membranes, channels, nanotubes, and other nanostructures.
Article Preview
Top

Combinatory Computing

Computational Primitives

Molecular combinatory programs are supramolecular structures in the form of binary trees. The interior nodes of the tree (which we call jnmc.2010070104.m01 nodes) represent the application of a function to its argument, the function and its argument being represented by the two daughters of the jnmc.2010070104.m02 node. The leaf nodes are molecular groups that function as primitive operations and data.

One of the remarkable theorems of combinatory logic is that two simple substitution operations are sufficient for implementing any program (Turing-computable function). One of these operations is called jnmc.2010070104.m07 and is described by the substitution rule:

jnmc.2010070104.m08
(1)

Here jnmc.2010070104.m09 and jnmc.2010070104.m10 represent arbitrary binary trees and jnmc.2010070104.m11 represents a leaf of type jnmc.2010070104.m12; parentheses group the subtrees of an interior node (an jnmc.2010070104.m13 node). The interpretation of the rule is that wherever a subtree of the form jnmc.2010070104.m14 is found in the network, it may be replaced by jnmc.2010070104.m15. This reaction is depicted in Figure 1, which also illustrates its similarity to a molecular substitution reaction. The effect of the operation is to delete jnmc.2010070104.m16 from the network. The jnmc.2010070104.m17 group and jnmc.2010070104.m18 subtree are released as waste products, which may be recycled in later reactions.

Figure 1.

combinator substitution operation. jnmc.2010070104.m04, jnmc.2010070104.m05, and jnmc.2010070104.m06 represent any networks (graphs)

jnmc.2010070104.f01

The second primitive operation is described by the rule:

jnmc.2010070104.m26
(2)

This rule may be interpreted in two ways, either as copying the subtree jnmc.2010070104.m27 or as creating two links to a shared copy of jnmc.2010070104.m28 (thus creating a graph that is not a tree). It can be proved that both interpretations produce the same computational result, but they have different effects when used for nanostructure assembly. For this reason we need both variants of the operation, which we denote jnmc.2010070104.m29 (replicating) and jnmc.2010070104.m30 (sharing). The molecular implementations of the two are very similar (see Figure 2). If jnmc.2010070104.m31 (a sharing node), then we have two links to a shared copy of jnmc.2010070104.m32:

jnmc.2010070104.m33
Figure 2.

and jnmc.2010070104.m20 combinator substitution operations. jnmc.2010070104.m21 for jnmc.2010070104.m22 and jnmc.2010070104.m23 for jnmc.2010070104.m24. Note the reversed orientation of the rightmost jnmc.2010070104.m25 group

jnmc.2010070104.f02

The structure created by this operator shares a single copy of jnmc.2010070104.m34; the notations jnmc.2010070104.m35 and jnmc.2010070104.m36 refer to two links to a “Y-connector” (called a jnmc.2010070104.m37 node), which links to the original copy of jnmc.2010070104.m38. (Subsequent computations may rearrange the locations of the two links.) The principal purpose of the jnmc.2010070104.m39 operation is to synthesize non-tree-structured supramolecular networks.

On the other hand, if jnmc.2010070104.m40 (a replication node), then other substitution reactions will begin the replication of jnmc.2010070104.m41, so that eventually the two links will go to two independent copies of jnmc.2010070104.m42:

jnmc.2010070104.m43

Here jnmc.2010070104.m44 refers to a new copy of the structure jnmc.2010070104.m45, which is created by the primitive replication (jnmc.2010070104.m46) operation. It can be shown that computation can proceed in parallel with replication without affecting the results of the process (a consequence of the Church-Rosser theorem) .

Although jnmc.2010070104.m50 and jnmc.2010070104.m51 are sufficient for all computation, they cannot (even with jnmc.2010070104.m52) create cyclic structures, for which we use an additional primitive operation jnmc.2010070104.m53, which creates a self-referential link through a jnmc.2010070104.m54-node. It is defined (MacLennan, 2002c):

jnmc.2010070104.m55
(3)

The operation creates an elementary cycle, which may be expanded by computation in the combinator tree jnmc.2010070104.m56 (Figure 3). Examples of the use of both jnmc.2010070104.m57 and jnmc.2010070104.m58 are given below.

Figure 3.

combinator primitive substitution operation. Arrows indicate link direction; note resulting elementary cycle between jnmc.2010070104.m48- and jnmc.2010070104.m49-groups.

jnmc.2010070104.f03

Complete Article List

Search this Journal:
Reset
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing