Theoretical and Experimental DNA Computation (Natural ...
Theoretical and Experimental DNA Computation (Natural ...
Theoretical and Experimental DNA Computation (Natural ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Unrestricted model<br />
3.2 Filtering Models 47<br />
Adleman [3] provided the impetus for recent work through his experimental<br />
solution to the Hamiltonian Path Problem. This solution, however, was not<br />
expressed within a formal model of computation, <strong>and</strong> is therefore described<br />
later in Chap. 5. In [98], Lipton considered Adleman’s specific model <strong>and</strong><br />
showed how it can encompass solutions to one other NP-complete problem.<br />
Here we summarize the operations within Adleman’s subsequent unrestricted<br />
model [4]. All operations are performed on sets of strings over some alphabet<br />
α.<br />
• separate(T,S). Given a set T <strong>and</strong> a substring S, createtwonewsets<br />
+(T,S)<strong>and</strong>−(T,S), where +(T,S)isallstringsinT containing S, <strong>and</strong><br />
−(T,S)isallstringsinTnotcontaining S.<br />
• merge(T1,T2,...,Tn). Given set T1,T2,...,Tn, create∪(T1,T2,...,Tn) =<br />
T1 ∪ T2 ∪ ...Tn.<br />
• detect(T ). Given a set T ,returntrue if T is nonempty, otherwise return<br />
false.<br />
For example, given α = {A, B, C}, the following algorithm returns true only<br />
if the initial multi-set contains a string composed entirely of “A”s:<br />
Input(T)<br />
T ←−(T,B)<br />
T ←−(T,C)<br />
Output(detect(T ))<br />
In [4] Adleman describes an algorithm for the 3-vertex-colorability problem.<br />
Recall, from Chap. 2, that in order to obtain a proper coloring of a graph<br />
G =(V,E) colors are assigned to the vertices in such a way that no two<br />
adjacent vertices are similarly colored.<br />
We now describe Adleman’s algorithm in detail. The initial set, T ,consists<br />
of strings of the form c1,c2,...,cn, whereci ∈{ri,gi,bi} <strong>and</strong> n is |V |,<br />
the number of vertices in G. Thus each string represents one possible (not<br />
necessarily proper) coloring of the given graph. With reference to Fig. 2.11,<br />
the coloring represented in (c) would be encoded by the string b0,g1,b2,r3,<br />
<strong>and</strong> the coloring in (d) would be encoded by b0,g1,r2,r3.<br />
We assume that all possible colorings are represented in T . The algorithm<br />
proceeds as follows:<br />
(1) read initial set T<br />
(2) for each vertex do<br />
(3) From T ,createred tube containing strings encoding this<br />
vertex red, <strong>and</strong> create blue/green tube containing<br />
all other strings<br />
(4) Create blue tube from blue/green tube,<br />
<strong>and</strong> create red tube from remaining strings