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.

4.2 An Existing Model of <strong>DNA</strong> <strong>Computation</strong> 73<br />

match those needed for a conventional computation (the product of the running<br />

time <strong>and</strong> the number of processors used).<br />

It is clearly crucial, especially when judging the c<strong>and</strong>idacy of a proposed<br />

<strong>DNA</strong> computation for the role of “killer application,” to have a firm grasp of<br />

the computational resources that it requires. It is often the case that there is<br />

not an agreed-upon model of computation in the literature within which we<br />

may agree what the required resources are for any particular computation.<br />

This chapter attempts to address these issues in a realistic way.<br />

Traditional computational complexity theory [5, 63] is concerned with<br />

quantifying the resources (generally time <strong>and</strong> space) needed to solve computational<br />

problems. Meaningful analysis of the complexity of algorithms may<br />

only take place in the context of an agreed-upon model of computation, or<br />

machine model. Many different machine models have been proposed in the<br />

past, including the Deterministic Turing Machine, Boolean circuit [54, 75],<br />

<strong>and</strong> P-RAM [61, 64]. The field of <strong>DNA</strong> computing also suffers from the problem<br />

of proliferation of machine models. Several models have been proposed,<br />

within which we may construct algorithms for the solution of computational<br />

problems. However, complexity analyses of algorithms within different models<br />

of <strong>DNA</strong> computation are meaningless, since there are no uniform definitions<br />

of the concepts of time <strong>and</strong> space. Furthermore, if we are to compare a <strong>DNA</strong>based<br />

model with a more traditional machine model, we require a way of<br />

demonstrating equivalence between the two.<br />

4.2 An Existing Model of <strong>DNA</strong> <strong>Computation</strong><br />

We may describe abstract models of computation without necessarily considering<br />

their implementation. In [64], for example, for the sake of emphasizing<br />

what is inherently parallelizable within problems, the authors disregard constraints<br />

of implementation. However, in what follows we are naturally constrained<br />

by what is feasible in the intended mode of implementation; in this<br />

case, what is possible in the molecular biology laboratory. We consider models<br />

that operate upon sets of strings. It is generally the case that a <strong>DNA</strong> computation<br />

starts <strong>and</strong> ends with a single set of strings. An algorithm is composed<br />

of a sequence of operations upon one or more sets of strings. At the end of<br />

the algorithm’s execution, a solution to the given problem is encoded as a<br />

string in the final set. We use the term computational substrate to describe<br />

the substance that is acted upon by the implementation of a model. Since<br />

<strong>DNA</strong> is the underlying computational substrate of all models described (as<br />

we shall see), we may naturally assume that all abstract models operate on<br />

strings over a four-letter alphabet {A,G,C,T}. For a detailed description of<br />

the structure of the <strong>DNA</strong> molecule, the reader is referred to [156, 155], as well<br />

as to Chap. 1.

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

Saved successfully!

Ooh no, something went wrong!