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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

76 4 Complexity Issues<br />

4.3 A Strong Model of <strong>DNA</strong> <strong>Computation</strong><br />

In what follows we refine the weak model just described. We assume that the<br />

initial tube (which takes at most linear time to construct) is already set up.<br />

The pour operation is fundamental to all compound operations within<br />

our weak model. We must therefore reassess the time complexity of these<br />

operations. The remove operation requires adding to U<br />

1. i tubes containing short primers to mark selected str<strong>and</strong>s<br />

2. restriction enzymes to destroy marked str<strong>and</strong>s<br />

This operation is inherently sequential, since there must be a pause between<br />

steps 1 <strong>and</strong> 2 in order to allow the primers to mark selected str<strong>and</strong>s. Therefore,<br />

the remove operation takes O(i) time. Creating the union of i tubes is an<br />

inherently sequential operation, since the assistant must first pour U1 into U,<br />

then U2, <strong>and</strong>soon,uptoUi. Rather than taking constant time, the union<br />

operation actually takes O(i) time. It is clear that the copy operation may be<br />

thought of as a reverse-union operation, since the contents of a single tube U<br />

are split into many tubes, {Ui}. Therefore, copy takes O(i) time.<br />

We may strengthen the strong model even further by taking kinetic issues<br />

into consideration. All filtering models rely upon the fact that every possible<br />

solution to the given problem is present in the initial tube with equal<br />

probability. These solutions are created by the action of component molecules<br />

“sticking” together to form long chains. Given a particular problem of size n,<br />

we may naively assume that the creation of the initial library takes O(log n)<br />

time [93]. Given a particular solution, we may imagine a balanced binary tree,<br />

where each leaf node represents a component molecule, an internal node represents<br />

a “sticking-together” reaction, <strong>and</strong> the root node represents the string<br />

encoding the solution. Since the depth of the tree is log n, the time complexity<br />

of the creation phase immediately follows.<br />

However, Kurtz et al.[93] present a more detailed analysis of the kinetic<br />

issues involved, suggesting that the creation phase actually takes Ω(n 2 )time.<br />

Given the space available, <strong>and</strong> the fact that in what follows we assume that<br />

the initial library is set up, we omit a detailed description of the arguments<br />

presented in [93]. However, we acknowledge the importance of taking kinetic<br />

issues into consideration in the future.<br />

Complexity comparisons<br />

In this section we compare time complexities for algorithms previously described<br />

[65] within both the weak <strong>and</strong> strong models. In particular, we examine<br />

in detail the problem of generating a set of permutations. This will<br />

characterize the general form of comparisons that can be made, so that in the<br />

space available we merely tabulate comparisons for other algorithms.<br />

In [65] the authors claimed a time complexity for the Permutations algorithm<br />

of O(n). This is based on the assumption that remove is a constant-time

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

Saved successfully!

Ooh no, something went wrong!