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.

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

We now sort the remaining str<strong>and</strong>s according to how many bags they encode.<br />

(1) for i =0toq − 1 do begin<br />

(2) for j − 1 down to 0 do begin<br />

(3) separate(+(Nj,i+1), −(Nj,i+1))<br />

(4) Nj+1 ← merge(+(Nj,i+1),Nj+1)<br />

(5) Nj ←−(Nj,i+1)<br />

(6) end for<br />

(7) end for<br />

Line 3 separates each tube according to the value of i, <strong>and</strong> line 4 performs the<br />

right shift of selected str<strong>and</strong>s. We then search for a final output:<br />

(1) Read N1<br />

(2) else if empty then read N2<br />

(3) else if empty then read N3<br />

(4) ...<br />

3.3 Splicing Models<br />

Since any instance of any problem in the complexity class NP may be expressed<br />

in terms of an instance of any NP-complete problem, it follows that<br />

the multi-set operations described earlier at least implicitly provide sufficient<br />

computational power to solve any problem in NP. We do not believe they provide<br />

the full algorithmic computational power of a Turing Machine. Without<br />

the availability of string editing operations, it is difficult to see how the transition<br />

from one state of the Turing Machine to another may be achieved using<br />

<strong>DNA</strong>. However, as several authors have recently described, one further operation,<br />

the so-called splicing operation, will provide full Turing computability.<br />

Here we provide an overview of the various splicing models proposed.<br />

Let S <strong>and</strong> T be two strings over the alphabet α. Then the splice operation<br />

consists of cutting S <strong>and</strong> T at specific positions <strong>and</strong> concatenating the resulting<br />

prefix of S with the suffix of T <strong>and</strong> concatenating the prefix of T with<br />

the suffix of S (Fig. 3.5). This operation is similar to the crossover operation<br />

employed by genetic algorithms [68, 96].<br />

Splicing systems date back to 1987, with the publication of Tom Head’s<br />

seminal paper [77] (see also [78]). In [50], the authors show that the generative<br />

power of finite extended splicing systems is equal to that of Turing Machines.<br />

For an excellent review of splicing systems, the reader is directed to [120].<br />

Reif’s PAM model<br />

In [128], Reif within his so-called Parallel Associative Memory Model describes<br />

a Parallel Associative Matching (PA-Match) operation. The essential con-

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

Saved successfully!

Ooh no, something went wrong!