Solving some mathematical problems such as NP-complete problems by conventional silicon-based computers is problematic and takes so long time. DNA computing is an alternative method of computing which uses DNA molecules for computing purposes. DNA computers have massive degrees of parallel processing capability. The massive parallel processing characteristic of DNA computers is of particular interest in solving NP-complete and hard combinatorial problems. NP-complete problems such as knapsack problem and other hard combinatorial problems can be easily solved by DNA computers in a very short period of time comparing to conventional silicon-based computers. Sticker-based DNA computing is one of the methods of DNA computing. In this paper, the sticker based DNA computing was used for solving the 0/1 knapsack problem. At first, a biomolecular solution space was constructed by using appropriate DNA memory complexes. Then, by the application of a sticker-based parallel algorithm using biological operations, knapsack problem was resolved in polynomial time.
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 1018 DNA molecules can be produced and placed in a medium-sized laboratory 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 1018 DNA molecules or we can say that 1018 data processors can be executed in parallel.
In 1994, Adleman introduced the DNA computing as a new method of parallel computing [
In 1999, a new model of DNA computing (sticker model) was introduced by Roweis et al. [
In this paper, we applied sticker model for solving the knapsack problem which is one of the NP-complete problems.
The paper is organized as follows. Section
DNA is a polymeric and a double-stranded molecule which is composed of monomers called nucleotides. Nucleotides are building blocks of DNA, and each of them contains three components: sugar, phosphate group, and nitrogenous base. There are four different nitrogenous bases which contribute in DNA structure: Thymine (T) and Cytosine (C) which are called pyrimidines and Adenine (A) and Guanine (G) which are called purines. Because nitrogenous bases are variable components of nucleotides, 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 nucleotides are linked together by phosphodiester bonds and form a single-stranded DNA (ssDNA). A ssDNA molecule can be likened to a string consisting of a combination of four different symbols, A, G, C, and T. Mathematically, this means that we have a four-letter alphabet
A DNA molecule.
DNA computing was initially developed by Adleman in 1994. Adleman resolved an instance of Hamiltonian path problem just by handling the DNA molecules [
In 1999, Roweis et al. [
Other than Adleman-Lipton and Sticker based models, other various models are also proposed in DNA computing by researchers. Quyang et al. [
The surface-based model was introduced by Liu et al. [
The sticker model was introduced by Roweis et al. [
Another conception in sticker model is (
A memory complex representing 1100101.
There are four principal operations in sticker model: combination, separation, setting, and clearing [
Knapsack problem is one of the classical optimization problems which have two variants: the 0/1 and fractional knapsack problems.
The 0/1 knapsack problem is posed as follows.
There are
In the fractional knapsack problem, the setup is the same, but we can take fractions of items, rather than having to make a binary (0-1) choice for each item. The fractional knapsack problem is solvable by a greedy strategy, where as the 0/1 knapsack problem is not. The 0/1 knapsack problem has been proved to be an NP-complete problem [
As discussed before, there are
We start with
Memory strand with at least
It is clear that a set of
End for
Procedure
In this step, based on the items which are present in subsets, and by annealing corresponding stickers in
Now, our solution space is completely produced and contains at least
Algorithm
Separate Combine (
Discard tubes Combine (
Separate Combine
Read Read Read Read
For { Separate For
For
Combine }
According to the steps in the algorithm, the knapsack problem can be resolved by sticker based DNA computation in polynomial time.
By the execution of step 1, the memory complexes without any annealed stickers in
In step 2 of algorithm, the contents of tubes
By the execution of step 3, sorting of memory complexes are performed according to the number of annealed stickers in
In step 4, all of tubes (from
Finally, it is clear that the total number of operations in our algorithm is:
In this paper, the sticker based DNA computing was used for solving the 0/1 knapsack 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.
As mentioned earlier, one of the important properties of DNA computing is its real massive parallelism, which makes it a favorite and powerful tool for solving NP-complete and hard combinatorial problems. In sticker model, as in other DNA based computation methods, the property of DNA molecules to making duplexes is used as main biological operation. The main difference between the sticker model and Adleman-Lipton model is that in the sticker model there is a kind of Random access memory and the computations do not depend on DNA molecules extension as seen in Adleman-Lipton model.