<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">AJMB</journal-id><journal-title-group><journal-title>American Journal of Molecular Biology</journal-title></journal-title-group><issn pub-type="epub">2161-6620</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ajmb.2012.22017</article-id><article-id pub-id-type="publisher-id">AJMB-18951</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Biomedical&amp;Life Sciences</subject></subj-group></article-categories><title-group><article-title>
 
 
  Solving the independent set problem by sticker based DNA computers
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>assan</surname><given-names>Taghipour</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ahad</surname><given-names>Taghipour</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Mahdi</surname><given-names>Rezaei</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Heydar</surname><given-names>Ali Esmaili</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff3"><addr-line>Department of Theoretical Physics and Astrophysics, Tabriz University, Tabriz, Iran</addr-line></aff><aff id="aff1"><addr-line>Department of Pathology, Tabriz University of Medical Sciences, Tabriz, Iran</addr-line></aff><aff id="aff2"><addr-line>Department of Computer Engineering, Faculty of Engineering, Isfahan University, Isfahan, Iran</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>taghipourh@yahoo.com(AT)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>28</day><month>04</month><year>2012</year></pub-date><volume>02</volume><issue>02</issue><fpage>153</fpage><lpage>158</lpage><history><date date-type="received"><day>29</day>	<month>December</month>	<year>2011</year></date><date date-type="rev-recd"><day>12</day>	<month>January</month>	<year>2012</year>	</date><date date-type="accepted"><day>25</day>	<month>January</month>	<year>2012</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In this paper, the sticker based DNA computing was used for solving the independent set problem. At first, solution space was constructed by using appropriate DNA memory complexes. We defined a new operation called “divide” and applied it in construction of solution space. Then, by application of a sticker based parallel algorithm using biological operations, independent set problem was resolved in polynomial time.
 
</p></abstract><kwd-group><kwd>Parallel Computing; Sticker Based DNA Computers; Independent Set Problem; NP-Complete Problem</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. INTRODUCTION</title><p>DNA encodes the genetic information of cellular organisms. The unique and specific structure of DNA makes it one of the favorite candidates for computing purposes. In comparison with conventional silicon-based computers, DNA computers have massive degrees of miniaturization and parallelism. By recent technology, about 10<sup>18 </sup>DNA molecules can be produced and placed in a test tube. Each of these DNA molecules could act as a small processor. Biological operations such as hybridization, separation, setting and clearing can be performed simultaneously on all of these DNA strands. Thus, in an in vitro assay we could handle about 10<sup>18 </sup>DNA molecules or, we can say that 10<sup>18 </sup>data processors can be executed in parallel.</p><p>DNA computing was initially developed by Leonard Adleman in 1994 [<xref ref-type="bibr" rid="scirp.18951-ref1">1</xref>]. Adleman succeeded in solving seven-point Hamiltonian path problem solely by manipulating DNA molecules and suggested that DNA could be used to solve complex mathematical problems.</p><p>In 1996, a new model of DNA computing (sticker model) was introduced by Roweis et al. [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>]. This model has a random access memory that requires no strand extension, uses no enzymes, and its materials are reusable. Sticker based DNA computing has potential capability for being a universal method in DNA computing. Roweis et al. also proposed specific machine architecture for implementing the sticker model as a microprocessorcontrolled parallel robotic workstation [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>]. Thus, the operations used in sticker model can be performed on fully automated devices, which is helpful in reducing the error rates of operations.</p><p>In this paper, we applied sticker model for solving the independent set problem which is one of the NP-complete problems.</p><p>The paper is organized as follows. Section 2 introduces the DNA structure and various DNA computing models and discuss about Sticker based DNA computing and biological operations which are used in sticker model. Section 3 introduces a DNA based algorithm for solving the independent set problem in sticker model.</p></sec><sec id="s2"><title>2. BASICS OF DNA COMPUTING</title><sec id="s2_1"><title>2.1. Structure of DNA and DNA Computing Models</title><p>DNA is a polymeric molecule which is composed of monomers called Deoxyriboneucleotides. Deoxyriboneucleotides are building blocks of DNA and each of them contains three components: sugar, phosphate group and nitrogenous base. The sugar (deoxyribose) has five carbon atoms (1’ - 5’). The phosphate group is attached to the 5’ carbon of sugar and nitrogenous base is attached to the 1’<sup> </sup>carbon. There are four different nitrogenous bases which contribute in DNA structure: Thymine (T) and Cytosine (C) which are called pyrimidines; Adenine (A) and Guanine (G) which are called purines. Because nitrogenous bases are variable components of neucleotides, different neucleotides are distinguished by nitrogenous bases which contribute in their structure. For this reason the name of the bases are used to refer to the neucleotides, and the neucleotides are simply represented as A, G, C, and T. The neucleotides are link together by phosphodiester bonds and form single stranded DNA (ssDNA). A ssDNA molecule can be likened to a string consisting of a combination of four different symbols, A, G, C, T. Mathematically, this means we have a four letter alphabet ∑ = {A, G, C, T} to encode information. Two ssDNA molecules join together to form double stranded DNA (DsDNA) based on complementary rule: “A” from one strand bond to “T” from opposite strand, and “C” bond to “G”. In <xref ref-type="fig" rid="fig1">Figure 1</xref>, a schematic picture of neucleotide is shown.</p><p>DNA computing was initially developed by Leonard Adleman in 1994 [<xref ref-type="bibr" rid="scirp.18951-ref1">1</xref>]. Adleman resolved an instance of Hamiltonian path problem just by handling the DNA molecules. In 1995, Lipton [<xref ref-type="bibr" rid="scirp.18951-ref3">3</xref>] presented a method for solving the satisfiability (SAT) problem. Adleman-Lipton model can be used to solve different NP-complete problems. In Adleman-Lipton model, DNA splints are used for construction of solution space. Adleman [4,5] also presented a molecular algorithm for solving the 3-coloring problem. Chang and Guo [6-8] showed that the DNA operations in Adelman-Lipton model could be used for developing DNA algorithms to resolve the dominating set problem, the vertex cover problem, the maximal clique problem and independent set problem.</p><p>In 1996, Roweis et al. [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>] introduced the Sticker based DNA computing model and applied it in solving the Minimal Set Cover problem. Perez-Jimenez and Sanchocaparrini [<xref ref-type="bibr" rid="scirp.18951-ref9">9</xref>] used Sticker based DNA computing to resolve knapsack problem, and this model also were applied for breaking the Data Encryption Standard (DES) [10,11]. DES encrypts 64 bit texts by using 56 bit key. Breaking DES means that given one (plain-text, ciphertext) pair, we can find a key which maps the plain-text to the cipher text. A conventional attack on DES would need to perform an exhaustive search through all of the</p><p>2<sup>56</sup> keys, which, at a rate of 100,000 operations per second, would take 10,000 years. In contrast, it was estimated that DES could be broken by using sticker based DNA computing in about 4 months.</p><p>Other than Adleman-Lipton and Sticker based models, other various models are also proposed in DNA computing by researchers. Quyang et al. [<xref ref-type="bibr" rid="scirp.18951-ref12">12</xref>] solved the maximal clique problem using DNA molecules and Restriction endonuclease enzymes. Amos et al. [13,14] described a DNA computation model using restriction endonuclease enzymes instead of successive cycles of separation by DNA hybridization, which can reduce the error-rate of computation. Hagiya et al. [<xref ref-type="bibr" rid="scirp.18951-ref15">15</xref>] proposed a new method of DNA computing that involves a self-acting DNA molecule containing both the input, program, and working memory. In this method, a single-stranded DNA molecule consists of an input segment on the 5’-end, followed by a formula (program) segment, followed by a spacer, and finally with a “head” on the 3’-end that moves and performs the computation. Another method for DNA computation is “computation by self-assembly”. Eric Winfree et al. [16-18] introduced a linear and 2-dimentional self-assembly model.</p><p>The surface-based model was introduced by Liu et al. [<xref ref-type="bibr" rid="scirp.18951-ref19">19</xref>]. This model uses DNA molecules attached to a solid surface, instead of DNA molecules floating in a solution. The computing by blocking was introduced by Rozenberg et al. [20,21]. This model uses a novel approach to filter the DNA molecules: Instead of separating the DNA strands to distinct tubes, or destroy and removing the DNA molecules that does not contribute to finding a solution, it blocks (inactivates) them in a way that the blocked strands can be considered as non-existent during the subsequent steps of computation.</p></sec><sec id="s2_2"><title>2.2. Sticker Based DNA Computation</title><p>The sticker model was introduced by S. Roweis et al. [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>]. In this model, there is a memory strand with N bases in length subdivided into K non-overlapping regions each M bases long (N &#179; MK). M can be for example 20. The substrands (bit regions) are significantly different from each other. One sticker is designed for each subregion; each sticker has M bases long and is complementary to one and only one of the K memory regions. If a sticker is annealed to its corresponding region on memory strand, then the particular region is said to be on. If no sticker is annealed to a region then the corresponding bit is off. Each memory strand along with its annealed stickers is called memory complex. In sticker model, a tube is a collection of memory complexes, composed of large number of identical memory strands each of which has stickers annealed only at the required bit positions. This method of representation of information differs from other methods in which the presence or absence of a particular subsequence in a strand corresponded to a particular bit being on or off. In sticker model, each possible bit string is represented by a unique association of memory strands and stickers. This model has a random access memory that requires no strand extension and uses no enzymes [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>].</p><p>Another conception in sticker model is (K, L) library. Each (K, L) library contains memory complexes with K bit regions, the first L bit regions are either on or off, in all possible ways, whereas the remaining K-L bit regions are off. The last K-L bit regions can be used for intermediate data storage. In every (K, L) library there are at least 2<sup>L</sup> memory complexes. In <xref ref-type="fig" rid="fig2">Figure 2</xref>, a memory complex with 7 bit regions representing the binary number 1100101 is shown.</p></sec><sec id="s2_3"><title>2.3. Biological Operations in Sticker Model</title><p>There are four principal operations in sticker model: combination, separation, setting and clearing [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>]. We also defined a new operation called “divide” which is used in construction of solution space. Here we briefly discuss about these operations.</p><p>1) Combine (T<sub>0</sub>, T<sub>1</sub>, T<sub>2</sub>): the memory complexes from the tubes T<sub>1</sub> and T<sub>2 </sub>are combined to form a new tube T<sub>0</sub>, simply the contents of T<sub>1</sub> and T<sub>2</sub> are poured into tube T<sub>0. </sub>(T<sub>0</sub> = T<sub>1</sub> &#200; T<sub>2</sub>).</p><p>2) Separate (T<sub>0</sub>, i) &#174; (T<sub>1</sub>, T<sub>2</sub>), this operation creates two new tubes T<sub>1</sub> and T<sub>2</sub>, T<sub>1 </sub>contains the memory complexes having the i<sup>th</sup> bit on (T<sub>1 </sub>= +(T<sub>0</sub>, i)) and T<sub>2</sub> contains the memory complexes having the i<sup>th</sup> bit off (T<sub>2 </sub>= –(T<sub>0</sub>, i)).</p><p>3) Set (T<sub>0</sub>, i): the i<sup>th </sup>bit region on every memory complex in tube T<sub>0 </sub>set to 1 or turned on, or we can say the sticker for that bit is annealed to corresponded bit region on every memory complex.</p><p>4) Clear (T<sub>0</sub>, i): the i<sup>th </sup>bit region on every memory complex in tube T<sub>0</sub> set to 0 or turned off, or we can say the stickers of that bit region must be removed (if present) from every memory complex in tube T<sub>0</sub>.</p><p>5) Divide (T<sub>0</sub>, T<sub>1</sub>, T<sub>2</sub>): by this operation, the contents of tube T<sub>0</sub> is divided into two equal portions and poured into the tubes T<sub>1</sub> and T<sub>2</sub>.</p></sec></sec><sec id="s3"><title>3. SOLVING THE INDEPENDENT SET PROBLEM IN STICKER BASED DNA COMPUTERS</title><sec id="s3_1"><title>3.1. Definition of the Independent Set Problem</title><p>In graph theory, an independent set of a graph G = (V, E),</p><p>where V is the set of the vertices and E is the set of the edges, is a subset V<sup>1</sup> &#205; V such that no two vertices in V<sup>1</sup> are joined by an edge in E. On the other hand, the independent set is a set of vertices such that for every two vertices, there is no edge connecting the two. The size of an independent set is the number of vertices it contains. A maximum independent set is a largest independent set for a given graph G and the problem of finding such a set is called the maximum independent set problem. The maximum independent set problem has been proved to be a NP-complete problem [<xref ref-type="bibr" rid="scirp.18951-ref22">22</xref>]. For example, the graph in <xref ref-type="fig" rid="fig3">Figure 3</xref> includes 5 vertices and 4 edges.</p><p>All of the independent sets for our graph are as follows: {V<sub>1</sub>}, {V<sub>2</sub>}, {V<sub>3</sub>}, {V<sub>4</sub>}, {V<sub>5</sub>}, {V<sub>1</sub>, V<sub>2</sub>}, {V<sub>1</sub>, V<sub>3</sub>}, {V<sub>1</sub>, V<sub>4</sub>}, {V<sub>2</sub>, V<sub>3</sub>}, {V<sub>3</sub>, V<sub>5</sub>}, {V<sub>4</sub>, V<sub>5</sub>}, {V<sub>1</sub>, V<sub>2</sub>, V<sub>3</sub>}</p><p>It is clear that the independent set of the maximum size is {V<sub>1</sub>, V<sub>2</sub>, V<sub>3</sub>}, furthermore, the size of the independent set problem in our graph is 3.</p></sec><sec id="s3_2"><title>3.2. Construction of Sticker Based DNA Solution Space for Independent Set Problem</title><p>First of all, it is essential to generate the sticker based DNA solution space of our problem. Then, basic biological operations are used to select legal strands and remove illegal strands from the solution space. It is obvious that a graph with N vertices has 2<sup>N</sup> subset of vertices or 2<sup>N</sup> possible independent sets. Furthermore, each possible independent set can be represented by an Ndigit binary number. If the i<sup>th</sup> bit in an N-digit binary number is set to 1, it represents that the i<sup>th</sup> vertex is in the independent set. If the i<sup>th</sup> bit in an N-digit binary number is set to 0, it represents that the i<sup>th</sup> vertex is not in the independent set.</p><p>Our graph has 5 vertices and 32 possible independent sets. All of these possible independent sets can be represented by a 5-digit binary number. For example the binary number 11100 represent the {V<sub>1</sub>, V<sub>2</sub>, V<sub>3</sub>} or the binary number 11111 represent the {V<sub>1</sub>, V<sub>2</sub>, V<sub>3,</sub> V<sub>4</sub>, V<sub>5</sub>}.</p><p>To represent all possible independent sets by appropriate DNA memory complexes, we introduce two methods for construction of solution space.</p><p>Method One:</p><p>In this method which is proposed by Roweis et al., [<xref ref-type="bibr" rid="scirp.18951-ref2">2</xref>]</p><p>first we provide enough amounts of memory strands with at least 5 bit regions. Then, the strands are split into two tubes A and B. To one tube (tube A) is added an excess amounts of all stickers and set all bits on. The unused stickers are then removed. The contents of tubes A and B are then mixed together and by rising temperature all annealed stickers dissociate from memory strands. Finally the mixture is cooled again, causing the stickers to randomly anneal to the memory strands. By this method, it is expected that approximately 63% of memory complexes will be produced. Of course, this percentage can obviously be increased by starting with more memory strands. The advantage of this method is that the solution space is produced at single step, but its main disadvantage is that some memory complexes may not be produced by above method.</p><p>Method Two:</p><p>1) Input (T<sub>0</sub>), where T<sub>0</sub> contains large amounts of memory strands with at least N (number of vertices in graph) bit regions.</p><p>2) For i = 1 to N, where N is number of vertices in graph a) Divide (T<sub>0</sub>, T<sub>1</sub>, T<sub>2</sub>)</p><p>b) Set (T<sub>1</sub>, i)</p><p>c) Combine (T<sub>0</sub>, T<sub>1</sub>, T<sub>2</sub>)</p><p>End for Note: Method two has N divide, N set and N combine operations. At the end of procedure, tube T<sub>0</sub> contains all of the memory complexes which each of them represent one of the possible independent sets. The main advantage of this new method is that the memory complexes representing all possible independent sets will be produced definitely. In our example, tube T<sub>0</sub> contains 32 different memory complexes. The 32 memory complexes which are produced during construction of solution space are shown in <xref ref-type="table" rid="table1">Table 1</xref>.</p></sec><sec id="s3_3"><title>3.3. DNA Algorithm for Solving the Independent Set Problem</title><p>The following algorithm is proposed for solving the independent set problem:</p><p>1) For k = 1 to m, where m is the number of edges in the graph G a) Let e<sub>k</sub> = (v<sub>i</sub>, v<sub>j</sub>), where e<sub>k</sub> is one edge and v<sub>i</sub>, v<sub>j</sub> are vertices which are connected to each other by e<sub>k</sub></p><p>b) Bit regions i and j represents v<sub>i</sub> and v<sub>j</sub>, respectively.</p><p>c) Separate (T<sub>0</sub>, i) → (T<sub>1</sub>, T<sub>2</sub>)</p><p>d) Separate (T<sub>1</sub>, j) → (T<sub>3</sub>, T<sub>4</sub>)</p><p>e) Discard T<sub>3</sub></p><p>f) Combine (T<sub>0</sub>, T<sub>2</sub>, T<sub>4</sub>)</p><p>2) For i = 0 to n – 1 For j = i down to 0 Separate (T<sub>j</sub>, I + 1) → (T<sub>(j+1)</sub><sub>’</sub>, T<sub>j</sub>)</p><table-wrap-group id="1"><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Memory complexes which are produced during construction of solution space</title></caption></table-wrap-group><p>Combine (T<sub>j+1</sub>, T<sub>j+1</sub>, T<sub>(j+1)</sub><sub>’</sub>)</p><p>3) Read T<sub>n</sub>; else if it was empty then:</p><p>Read T<sub>n–1</sub>; else if it was empty then:</p><p>Read T<sub>n–2</sub>; else if it was empty then:</p><p>Read T<sub>2</sub>; else if it was empty then:</p><p>Read T<sub>1</sub>;</p><p>According to the steps in the algorithm, the independent set problem can be resolved by sticker based DNA computation in polynomial time. Any two vertices connected in the graph G cannot be the members of the same independent set; hence their corresponding bit regions cannot be set to 1. For example, we have four edges in our graph: (v<sub>1</sub>, v<sub>5</sub>), (v<sub>2</sub>, v<sub>5</sub>), (v<sub>2</sub>, v<sub>4</sub>), (v<sub>3</sub>, v<sub>4</sub>), therefore “1xxx1”, “x1xx1”, “x1x1x” and “xx11x” (x can be either 1 or 0) cannot be independent set and memory complexes representing them should be removed from solution space.</p><p>Step 1 of the algorithm is executed m times (m is 4 in our graph) and at each round of execution the memory complexes representing the subsets “1xxx1”, “x1xx1”, “x1x1x” and “xx11x” are removed from tube T<sub>0</sub>. At the end of step 1, illegal memory complexes are removed from solution space and tube T<sub>0</sub> only contains the memory complexes which represent legal independent sets. ({V<sub>1</sub>}, {V<sub>2</sub>}, {V<sub>3</sub>}, {V<sub>4</sub>}, {V<sub>5</sub>}, {V<sub>1</sub>, V<sub>2</sub>}, {V<sub>1</sub>, V<sub>3</sub>}, {V<sub>1</sub>, V<sub>4</sub>}, {V<sub>2</sub>, V<sub>3</sub>}, {V<sub>3</sub>, V<sub>5</sub>}, {V<sub>4</sub>, V<sub>5</sub>}, {V<sub>1</sub>, V<sub>2</sub>, V<sub>3</sub>}).</p><p>By the execution of step 2, the memory complexes without any annealed stickers are placed in tube T<sub>0</sub>, the memory complexes with only one annealed sticker are placed in tube T<sub>1</sub>, the memory complexes with 2 annealed stickers are placed in tubes T<sub>2</sub>, the memory complexes with 3 annealed stickers are placed in tube T<sub>3</sub>, and so on. Note, that the numbers of annealed stickers in every memory complex represent the number of vertices in corresponding independent set. For example, in Graph of our problem, the legal independent sets with one vertex ({V<sub>1</sub>}, {V<sub>2</sub>}, {V<sub>3</sub>}, {V<sub>4</sub>}, {V<sub>5</sub>}) are placed in tube T<sub>1 </sub>, and those with 2 vertices ({V<sub>1</sub>,V<sub>2</sub>}, {V<sub>1</sub>,V<sub>3</sub>}, {V<sub>1</sub>,V<sub>4</sub>}, {V<sub>2</sub>,V<sub>3</sub>}, {V<sub>3</sub>,V<sub>5</sub>}, {V<sub>4</sub>,V<sub>5</sub>}) are placed in tube T<sub>2</sub> and finally the independent set with 3 vertices ({V<sub>1</sub>,V<sub>2</sub>,V<sub>3</sub>}) is placed in tube T<sub>3</sub>.</p><p>The legal memory complexes which remain in tube T<sub>0 </sub>at the end of step 1 of the algorithm and their final places at the end of step 2 are shown in <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>In step 3, all of the tubes (from T<sub>n</sub> to T<sub>1</sub>) are evaluated for presence of memory complexes, and the first tube which is not empty and contains memory complexes represent maximum independent set. In our example, tubes T<sub>5</sub> and T<sub>4</sub> are empty and devoid of any memory complexes. The first tube which contains DNA molecules is tube T<sub>3</sub>. As mentioned before, the memory complexes in tube T<sub>3</sub> have 3 annealed stickers; therefore, the maximum independent set in our graph is 3.</p></sec></sec><sec id="s4"><title>4. CONCLUSIONS</title><p>In this paper, the sticker based DNA computing was used for solving the independent set problem. This method could be used for solving other NP-complete problems. There are four principal operations in sticker model: Combination, Separation, Setting and Clearing. We also defined a new operation called “divide” and applied it in construction of solution space. This new method of construction of solution space has some advantages over other methods. The main advantage of this new method is that the memory complexes representing all possible independent sets will be produced definitely.</p><table-wrap-group id="2"><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> The legal memory complexes which remain in tube T<sub>0 </sub>at the end of step 1 of algorithm and their final places at the end of step 2</title></caption></table-wrap-group><p>Among the four principal operations in sticker model, “Clearing” operation is the most problematic and there are some difficulties and limitations in perfect execution of that. For this reason, we have not used this operation in our algorithm.</p></sec><sec id="s5"><title>REFERENCES</title></sec><sec id="s6"><title>NOTES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.18951-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Adleman, L.M. (1994) Molecular computation of solutions to combinatorial problems. Science, 266, 1021-1024. doi:10.1126/science.7973651</mixed-citation></ref><ref id="scirp.18951-ref2"><label>2</label><mixed-citation publication-type="book" xlink:type="simple">Roweis, S., et al. (1999) A sticker based model for DNA computation. In: Landweber, L. and Baum, E., Eds., The 2nd Annual Workshop on DNA Computing, Princeton University, Series in Discrete Mathematics and Theoretical Computer Science, DIMACS, American Mathematical Society, 1-29.</mixed-citation></ref><ref id="scirp.18951-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Lipton, R.J. (1995) DNA solution of hard computational problems. Science, 268, 542-545. 
doi:10.1126/science.7725098</mixed-citation></ref><ref id="scirp.18951-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Adleman, L.M. (1995) On constructing a molecular computer. University of Southern California, Los Angeles, 1995.</mixed-citation></ref><ref id="scirp.18951-ref5"><label>5</label><mixed-citation publication-type="book" xlink:type="simple">Adleman, L.M. (1996) On constructing a molecular computer. In: Lipton, R.J. and Baum E.B., Eds., DNA Based Computers, American Mathematical Society, 1-22.</mixed-citation></ref><ref id="scirp.18951-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Chang, W.-L., Guo, M. (2002) Solving the dominating-set problem in Adleman—Lipton’s model. The 3rd International Conference on Parallel and Distributed Computing, Applications and Technologies, Japan, 2-4 July 2003, 167-172.</mixed-citation></ref><ref id="scirp.18951-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Chang, W.-L. and Guo, M. (2002) Solving the clique problem and the vertex cover problem in Adleman— Lipton’s model. IASTED International Conference, Networks, Parallel and Distributed Processing, and Applications, Japan, 2-4 July 2003, 431-436.</mixed-citation></ref><ref id="scirp.18951-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Chang, W.-L. and Guo, M. (2002) Solving NP-complete problem in the Adleman—Lipton model. The Proceedings of 2002 International Conference on Computer and Information Technology, Japan, 157-162.</mixed-citation></ref><ref id="scirp.18951-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Perez-Jimenez, M.J. and Sancho-Caparrini, F. (2001) Solving knapsack problems in a sticker based model. Series in Discrete Mathematics and Theoretical Computer Science, Seventh Annual Workshop on DNA Computing, Princeton University, Series in Discrete Mathematics and Theoretical Computer Science, DIMACS, American Mathematical Society.</mixed-citation></ref><ref id="scirp.18951-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Adleman, L., Rothemund, P., Roweis, S. and Winfree E. (1999) On applying molecular computation to the data encryption standard. The 2nd Annual Workshop on DNA Computing, Princeton University, Series in Discrete Mathematics and Theoretical Computer Science, DIMACS, American Mathematical Society, 31-44.</mixed-citation></ref><ref id="scirp.18951-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Boneh, D., Dunworth, C. and Lipton, R. (1996) Breaking DES using a molecular computer. Technical Reports, TR-489-95, Princeton University, Princeton.</mixed-citation></ref><ref id="scirp.18951-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Quyang, Q., Kaplan, P.D., Liu, S. and Libchaber, A. (1997) DNA solution of the maximal clique problem. Science, 278, 446-449. doi:10.1126/science.278.5337.446</mixed-citation></ref><ref id="scirp.18951-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Amos, M., Gibbons, A. and Hodgson, D. (1996) Error-resistant implementation of DNA computations. Proceedings of the 2nd DIMACS Workshop on DNA Based Computers, 87-101.</mixed-citation></ref><ref id="scirp.18951-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Amos, M., Gibbons, A. and Hodgson, D. (1996) A new model of DNA computation. 12th British Colloquium on Theoretical Computer Science.</mixed-citation></ref><ref id="scirp.18951-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Hagiya, M., Arita, M., Kiga, D., Sakamoto, K. and Yokoyama, S. (1999) Towards parallel evaluation and learning of boolean μ-formulas with molecules. DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, Proceedings of 3rd Annual Meeting on DNA Based Computers, 48, 105-114.</mixed-citation></ref><ref id="scirp.18951-ref16"><label>16</label><mixed-citation publication-type="book" xlink:type="simple">Winfree, E. (1998) Simulations of computing by selfassembly. In: Winfree, E. and Gifford, D.K., Eds., 4th International Meeting on DNA Based Computers, Massachusetts Institute of Technology, Cambridge, 213-239.</mixed-citation></ref><ref id="scirp.18951-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Winfree, E., Liu, F.L., Wenzler, L.A. and Seeman, N.C. (1998) Design and self-assembly of two-dimensional DNA crystals. Nature, 394, 539-544. doi:10.1038/28998</mixed-citation></ref><ref id="scirp.18951-ref18"><label>18</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Winfree</surname><given-names> E.</given-names></name>,<name name-style="western"><surname> Yang</surname><given-names> X. and Seeman</given-names></name>,<name name-style="western"><surname> N.C. </surname><given-names>  </given-names></name>,<etal>et al</etal>. (<year>1996</year>)<article-title>Universal computation via self-assembly of DNA: Some theory and experiments</article-title><source> Proceedings of the 2nd DIMACS Workshop on DNA Based Computers</source><volume> 44</volume>,<fpage> 191</fpage>-<lpage>213</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.18951-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Liu, Q., et al. (1996) A surface-based approach to DNA computation, Proceedings of the 2nd Annual Meeting on DNA Based Computers, Princeton University, Princeton, 10-12 June 1996. </mixed-citation></ref><ref id="scirp.18951-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Rozenberg, G. and Spaink, H. (2003) DNA computing by blocking. Theoretical Computer Science, 292, 653-665. 
doi:10.1016/S0304-3975(01)00194-3</mixed-citation></ref><ref id="scirp.18951-ref21"><label>21</label><mixed-citation publication-type="book" xlink:type="simple">Schmidt, K., Henkel, C., Rozenberg, G. and Spaink, H. (2001) Experimental aspects of DNA computing by blocking: Use of fluorescence techniques for detection. In: Kraayenhof, R., Visser, A.J.W.G. and Gerritsen, H.C., Eds., Fluorescence Spectroscopy, Imaging and Probes. Springer-Verlag, Berlin.</mixed-citation></ref><ref id="scirp.18951-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Garey, M.R. and Johnson, D.S. (1979) Computer and intractability: A Guide to the theory of NP-completeness. Freeman, San Francisco.</mixed-citation></ref></ref-list></back></article>