13.12.2012 Views

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

46 3 Models of Molecular <strong>Computation</strong><br />

the time taken to construct the initial set of strings <strong>and</strong> read out the final<br />

solution may be very time consuming, <strong>and</strong> must also be taken into<br />

account.<br />

3. Each laboratory technique has associated with it a nonzero error rate.<br />

Some techniques are far more error-prone than others, so the choice of<br />

laboratory techniques directly affects the probability of success of a <strong>DNA</strong>based<br />

algorithm.<br />

We therefore focus on abstract models in this chapter, <strong>and</strong> consider their physical<br />

implementation in Chap. 5. The models fall into four natural categories:<br />

• Filtering<br />

• Splicing<br />

• Constructive<br />

• Membrane<br />

3.2 Filtering Models<br />

In all filtering models (motivated by Adleman [3] <strong>and</strong> contemporaneously<br />

generalized by Lipton [98] <strong>and</strong> Amos et al. [94, 12]), a computation consists of<br />

a sequence of operations on finite multi-sets of strings. Multi-sets are sets that<br />

may contain more than one copy of the same element. It is normally the case<br />

that a computation begins <strong>and</strong> terminates with a single multi-set. Within the<br />

computation, by applying legal operations of a model, several multi-sets may<br />

exist at the same time. We define operations on multi-sets shortly, but first<br />

consider the nature of an initial set.<br />

An initial multi-set consists of strings which are typically of length O(n)<br />

where n is the problem size. As a subset, the initial multi-set should include<br />

all possible solutions (each encoded by a string) to the problem to be solved.<br />

The point here is that the superset, in any implementation of the model, is<br />

supposed to be relatively easy to generate as a starting point for a computation.<br />

The computation then proceeds by filtering out strings which cannot<br />

be a solution. For example, the computation may begin with a multi-set containing<br />

strings representing all possible three-colorings of a graph, <strong>and</strong> then<br />

proceed by removing those that encode illegal colorings.<br />

To give another example, if the problem is to generate a permutation of<br />

the integers 1,...,n, then the initial multi-set might include all strings of the<br />

form p1i1p2i2 ...pnin where each ik maybeanyoftheintegersintherange<br />

[1,...,n]<strong>and</strong>pk encodes the information “position k.” Here, as will be typical<br />

for many computations, the multi-set has cardinality which is exponential in<br />

the problem size. For our example of finding a permutation, we should filter<br />

out all strings in which the same integer appears in at least two locations pk.<br />

Any of the remaining strings is then a legal solution to the problem.<br />

We now describe the important features of the various filtering models.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!