Literature DB >> 26512650

A Parallel Biological Optimization Algorithm to Solve the Unbalanced Assignment Problem Based on DNA Molecular Computing.

Zhaocai Wang1, Jun Pu2, Liling Cao3, Jian Tan4.   

Abstract

The unbalanced assignment problem (UAP) is to optimally resolve the problem of assigning n jobs to m individuals (m < n), such that minimum cost or maximum profit obtained. It is a vitally important Non-deterministic Polynomial (NP) complete problem in operation management and applied mathematics, having numerous real life applications. In this paper, we present a new parallel DNA algorithm for solving the unbalanced assignment problem using DNA molecular operations. We reasonably design flexible-length DNA strands representing different jobs and individuals, take appropriate steps, and get the solutions of the UAP in the proper length range and O(mn) time. We extend the application of DNA molecular operations and simultaneity to simplify the complexity of the computation.

Entities:  

Keywords:  DNA molecules computing; NP-complete problem; biological optimization algorithm; the unbalanced assignment problem

Mesh:

Year:  2015        PMID: 26512650      PMCID: PMC4632804          DOI: 10.3390/ijms161025338

Source DB:  PubMed          Journal:  Int J Mol Sci        ISSN: 1422-0067            Impact factor:   5.923


1. Introduction

In the pathbreaking work of DNA computation, Adleman [1] firstly described how to solve a seven-node instance of a well-known NP-hard problem utilizing biological operations, and also demonstrated the potential parallel power of DNA computation. In 1995, Lipton [2] proved that Adleman’s experiment could be used to figure out the NP-complete satisfiability problem. DNA computation, as an interdisciplinary science using DNA molecular biotechnologies to solve conundrum problems of computer science and computational mathematics, has a wide application prospect in solving difficult problems. Huge storage capacity, massive parallelism and low energy consumption are primary advantages of DNA computation. The advantages imply that we can utilize DNA molecules to solve harder, larger problems such as NP-complete problems in linearly increasing time, in contrast to the exponentially increasing time required by an electronic computer. In recent years, DNA computation has received considerable interest from researchers. Some typical DNA computing models, such as the Adleman-Lipton model [1,2], the sticker model [3], the restriction enzyme model [4], the self-assembly model [5], the hairpin model [6], and the surface-based model [7], have already been established. Based on these models, lots of papers have been written for designing DNA procedures and algorithms to solve various NP-complete problems [8,9,10,11,12,13,14,15,16,17,18,19,20,21]. In order to fully understand the power of biological computation, it is worthwhile to try to solve more kinds of computationally-intractable problems with the aid of DNA biologic operations. The assignment problem is a common topic in the fields related to operation management and network flow theory. This problem is known to be NP-hard and it is hard from a computational point of view as well. A standard assignment problem is to optimally resolve the problem of assigning n jobs to m individuals, such that minimum cost or maximum profit can be obtained. Various algorithms, including standard linear programming [6,7,8,9], Hungarian algorithm [10], neural network [11], and genetic algorithms [12], have been developed to find solutions. When we deal with real life situation, it becomes quite difficult to ensure that the number of jobs is exactly equal to individuals. Thus, the need arises to solve the unbalanced assignment problem in such a way that total assignment cost may be optimized along with the other constraints. In general, the unbalanced assignment problem can be considered as a particular case of the transportation problem, and can be formulated as a 0–1 integer linear programming [22,23]. The problem can be mathematically formulated as follows: where the decision variable x = 1 means that the j-th job is assigned to the i-th individual; otherwise, x = 0 is in reverse; c is the associated cost incurred by the assignment (if c is the correlative profit, the object function will be max Z). For instance, the Table 1 defines the cost matrix A = [c]× of the unbalanced assignment problem.
Table 1

Cost matrix A = [c]3 × 5.

Costj1j2j3j4j5
i159127
i298644
i347852
Cost matrix A = [c]3 × 5. In this paper, based on a combination of Adleman-Lipton model, A theoretically-efficient DNA algorithm is introduced for figuring out solutions of the unbalanced assignment problem, which is executed in O(mn) operations, where n is number of jobs and m is number of individuals. With the progress of molecular biology techniques, the proposed algorithm might be of practical use in treating medium-sized instances of UAP. The rest of this paper is organized as follows. In Section 2, the Adleman-Lipton model is introduced in detail. Then, we use a DNA molecular algorithm for solving the unbalanced assignment problem. And prove DNA algorithm complexity and feasibility. In Section 3, we use computer to simulate the DNA experiment and get correct solution of the Table 1. We get conclusions in Section 4.

2. Results and Discussion

2.1. The Adleman-Lipton Model

The DNA operations proposed by Adleman [1] and Lipton [2] are described below. These operations will be used for figuring out solutions of the unbalanced assignment problem in this paper. In the Adleman-Lipton model: A (test) tube is a set of molecules of DNA (i.e., a multi-set of finite strings over the alphabet {A,C,G,T}. Given a tube, one can perform the following operations: Merge(T1,T2): for two given test tubes T1 and T2, it stores the union T1∪T2 in T1 and leaves T2 empty; Copy(T1,T2): for a given test tube T1, it produces a test tube T2 with the same contents as T1; Detect(T): given a test tube T, it outputs “yes” if T contains at least one strand, otherwise, outputs “no”; Separation(T1,X,T2): for a given test tube T1 and a given set of strings X, it removes all single strands containing a string in X from T1, and produces a test tube T2 with the removed strands; Selection(T1,L,T2): for a given test tube T1 and a given integer L, it removes all strands with length L from T1, and produces a test tube T2 with the removed strands; Sort(T1,T2,T3): for a given test tube T1, it choose the shortest length strands in the tube T2, the longest strands in T3 and the remaining strands in T1; Annealing(T): for a given test tube T, it produces all feasible double strands in T. The produced double strands are still stored in T after annealing; Denaturation(T): for a given test tube T, it dissociates each double strand in T into two single strands; Ligation(T): for a given tube T, the operation is used to ligate together the strands in T; Discard(T): for a given test tube T, it discards the tube T; Read(T): for a given tube T, the operation is used to describe a single molecule, which is contained in the tube T. Even if T contains many different molecules each encoding a different set of bases, the operation can give an explicit description of exactly one of them; Append-tail(T,Z): for a given test tube T and a given DNA singled strand, it appends Z onto the end of every strand in the tube T. Since these twelve manipulations are implemented with a constant number of biological steps for DNA strands [24,25], we assume that the complexity of each manipulation is in O(1) time steps.

2.2. DNA Algorithm for the Unbalanced Assignment Problem

2.2.1. Thinking Process

The initial idea to solve the unbalanced assignment problem is as followed: generate strands corresponding to all possible job allocation schemes in a data pool, then, filter out inappropriate job allocation. Next, append the cost-weighted length strands in order to identify the schemes’ pros and cons. Finally, obtain the optimal solutions of the unbalanced assignment problem by using the corresponding DNA operations. Concretely, the proposed algorithm has four steps. Construct set T of all possible m solutions for unbalanced assignment problem; For all possible solutions, eliminate inappropriate allocation, such as one job distribution to multiple individuals, one job without been assigned. Append time weight chain at the corresponding qualified strands in order to find the optimal solution. Get the shortest strands as the answer to the problem and identify the specific distribution.

2.2.2. Detailed DNA Algorithm

Given a set of n jobs and m individuals (m < n), the unbalanced assignment problem requires that each job should be allocated to only one individual that the total cost, which is defined as the sum of the cost between each pair job and individual, is minimized. Consider a problem which consists of a set of m individuals I = {i1,i2,…,i}. A set of n jobs J = {j1,j2,…,j}is considered which are to be assigned for execution by m available individuals. We suppose m < n. The execution cost of each job by all the individuals is known and mentioned in the matrix, namely A = [c]× where c is the cost between job j and individual i. The objective is to determine the optimal assignment cost. A method is devised to obtain the said costs in such a way that all the jobs are to be allotted on the available individuals. In the following, the symbols s, e, A, B (i = 1,2,…,m, j = 1,2,…,n) denote distinct DNA single strands with the same length, say t mer (t is a positive integer, mer is monomer unit length). Obviously the length t of the DNA single strands greatly depends on the size of the problem involved in order to distinguish all above symbols [25]. Meanwhile we use the symbols w to denote the cost c and ||w|| = c. Then, in the below operations, we use the distinct DNA single strand symbols sA (i = 1,2,…,m, j = 1,2,…,n) to denote that the j-th job is assigned to the i-th individual without cost information. Simultaneity the symbols s, e are the signal of different edges division. Let For a cost matrix A = [c]× , the unbalanced assignment problem is firstly on the relation between n jobs and m individuals. Every possible assignment can be expressed by a list of DNA strands. DNA strands sA represent that the j-th job is assigned to the i-th individual. For example in Table 1, the DNA strands {sA1eB2sA2eB3sA3eB4sA2eB1sA1eB5} represent the 2 and 5-job to 1-individual, 1 and 3-job to 2-individual and 4-job to 3-individual. In this way, we can get DNA strands representing all possible n jobs to m individuals allocation relation. (1) We choose all possible DNA strands denoting n jobs to m individuals allocation relation. (1-1) Merge(P,Q); (1-2) Annealing(P); (1-3) Ligation(P); (1-4) Denaturation(P); (1-5) Separation(P,{s},T1); (1-6) Selection(T1,4nt,T2). This step operation can be finished in O(1) time steps since each manipulation above works in O(1). (2) The unbalanced assignment problem requires that each job is assigned to a unique individual. So we check above DNA strands whether they satisfy the condition or not. The above assignment DNA strands should contain job strands B (1 ≤ k ≤ n) one time only. For example in Table 1, the single strands {sA1eB3sA3eB3sA2eB1sA1eB2sA2eB4} ∈ T2 should be discarded for the 3-job simultaneously assigned to 1 and 3-individuals and not assigned the 5-job. We get all feasible assignment strands as follow: For k = 1 to k = n (2-1) Separation(T2,{eB},T3); (2-2) Discard(T2); (2-3) Copy(T3,T2); (2-4) Discard(T3). End for In the above operations, we use one “For” clauses, thus this operation can be finished in O(n) time steps. (3) In addition, the unbalanced assignment problem require that every individual get at least one job. So the above assignment DNA strands should contain individual strands A (1 ≤ i ≤ m) at least one time. For example in Table 1, the single strands {sA1eB3sA2eB4sA2eB1sA1eB2sA2eB5} ∈ T2 should be discarded for not including the 3-individual. We get all feasible assignment strands as follow: For k = 1 to k = n (3-1) Separation(T2,{sA},T4); (3-2) Discard(T2); (3-3) Copy(T4,T2); (3-4) Discard(T4). End for In the above operations, we use one “For” clause; thus, this operation can be finished in O(m) time steps. (4) The solutions of unbalanced assignment problem must be with the minimum cost. In order to find the optimal results, we append the cost information strands at the end of above strands. For example, for the Table 1, the singled strands {sA1eB3sA3eB2sA3eB4sA2eB1sA2eB3} ∈ T2 representing the allocation: {j3→i1, j2→i3, j4→i3, j1→i2, j5→i2}, we append strands {w14, w21, w32, w43} at the above-mentioned strands to {sA1eB3sA3eB2sA3eB4sA2eB1sA2eB3w13w32w34w21w25}. This is done by the following manipulations: For i = 1 to i = m For j = 1 to j = n (4-1) Separation(T2,{sA},T5); (4-2) If (Detect(T5)) Then execute (4-3) to (4-5) (4-3) Append-tail(T5,w); (4-4) Merge(T2,T5); (4-5) Discard(T5). End for End for In the above operation, this operation can be finished in O(mn) time steps since we use two “For” clauses with m and n circulation. (5) We take out those single strands in T2 with the shortest length, which give the solutions to the unbalanced assignment problem. For example in Table 1, those single strands in T2with shortest length are {sA1eB3sA1eB4sA2eB2sA3eB1sA3eB5w13w14w22w31w35}. Therefore, solutions to unbalanced assignment problem for Table 1 are {j3→i1, j4→i1, j2→i2, j1→i3, j5→i3} with the weight sum 17. (5-1) Sort(T2,T5,T6); (5-2) Read(T6). In the above operation, this operation can be finished in O(1) time steps since each single manipulation above works in O(1) steps. Finally the “Read” operation is applied to giving the exact solutions to the unbalanced assignment problem.

2.3. A Simple Example

We take a simple example in Table 2 to walk through the entire DNA algorithm.
Table 2

Cost matrix A = [c]2 × 3.

Costj1j2j3
i1241
i2123
Cost matrix A = [c]2 × 3. After Step (1), all possible job assignment projects are shown in Table 3. For the unbalanced assignment problem, every job should be assigned to someone. The strands’ symbols after Step (2) are shown in Table 4. Table 5 displays the strand symbols, which mean every individual gets at least one job. Subsequently, the corresponding weight strands are attached to the original ones as shown in Table 6 and we get the solution strands in Table 7.
Table 3

DNA Sequences symbols after Step (1) for  

3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB1sA1eB1sA1eB1sA1eB1sA1eB2sA1eB1sA1eB1sA1eB3sA1eB1sA1eB1sA2eB1
sA1eB1sA1eB1sA2eB2sA1eB1sA1eB1sA2eB3sA1eB1sA1eB2sA1eB1sA1eB1sA1eB2sA1eB2
sA1eB1sA1eB2sA1eB3sA1eB1sA1eB2sA2eB1sA1eB1sA1eB2sA2eB2sA1eB1sA1eB2sA2eB3
sA1eB1sA1eB3sA1eB1sA1eB1sA1eB3sA1eB2sA1eB1sA1eB3sA1eB3sA1eB1sA1eB3sA2eB1
sA1eB1sA1eB3sA2eB2sA1eB1sA1eB3sA2eB3sA1eB1sA2eB1sA1eB1sA1eB1sA2eB1sA1eB2
sA1eB1sA2eB1sA1eB3sA1eB1sA2eB1sA2eB1sA1eB1sA2eB1sA2eB2sA1eB1sA2eB1sA2eB3
sA1eB1sA2eB2sA1eB1sA1eB1sA2eB2sA1eB2sA1eB1sA2eB2sA1eB3sA1eB1sA2eB2sA2eB1
sA1eB1sA2eB2sA2eB2sA1eB1sA2eB2sA2eB3sA1eB1sA2eB3sA1eB1sA1eB1sA2eB3sA1eB2
sA1eB1sA2eB3sA1eB3sA1eB1sA2eB3sA2eB1sA1eB1sA2eB3sA2eB2sA1eB1sA2eB3sA2eB3
sA1eB2sA1eB1sA1eB1sA1eB2sA1eB1sA1eB2sA1eB2sA1eB1sA1eB3sA1eB2sA1eB1sA2eB1
sA1eB2sA1eB1sA2eB2sA1eB2sA1eB1sA2eB3sA1eB2sA1eB2sA1eB1sA1eB2sA1eB2sA1eB2
sA1eB2sA1eB2sA1eB3sA1eB2sA1eB2sA2eB1sA1eB2sA1eB2sA2eB2sA1eB2sA1eB2sA2eB3
sA1eB2sA1eB3sA1eB1sA1eB2sA1eB3sA1eB2sA1eB2sA1eB3sA1eB3sA1eB2sA1eB3sA2eB1
sA1eB2sA1eB3sA2eB2sA1eB2sA1eB3sA2eB3sA1eB2sA2eB1sA1eB1sA1eB2sA2eB1sA1eB2
sA1eB2sA2eB1sA1eB3sA1eB2sA2eB1sA2eB1sA1eB2sA2eB1sA2eB2sA1eB2sA2eB1sA2eB3
sA1eB2sA2eB2sA1eB1sA1eB2sA2eB2sA1eB2sA1eB2sA2eB2sA1eB3sA1eB2sA2eB2sA2eB1
sA1eB2sA2eB2sA2eB2sA1eB2sA2eB2sA2eB3sA1eB2sA2eB3sA1eB1sA1eB2sA2eB3sA1eB2
sA1eB2sA2eB3sA1eB3sA1eB2sA2eB3sA2eB1sA1eB2sA2eB3sA2eB2sA1eB2sA2eB3sA2eB3
sA1eB3sA1eB1sA1eB1sA1eB3sA1eB1sA1eB2sA1eB3sA1eB1sA1eB3sA1eB3sA1eB1sA2eB1
sA1eB3sA1eB1sA2eB2sA1eB3sA1eB1sA2eB3sA1eB3sA1eB2sA1eB1sA1eB3sA1eB2sA1eB2
sA1eB3sA1eB2sA1eB3sA1eB3sA1eB2sA2eB1sA1eB3sA1eB2sA2eB2sA1eB3sA1eB2sA2eB3
sA1eB3sA1eB3sA1eB1sA1eB3sA1eB3sA1eB2sA1eB3sA1eB3sA1eB3sA1eB3sA1eB3sA2eB1
sA1eB3sA1eB3sA2eB2sA1eB3sA1eB3sA2eB3sA1eB3sA2eB1sA1eB1sA1eB3sA2eB1sA1eB2
sA1eB3sA2eB1sA1eB3sA1eB3sA2eB1sA2eB1sA1eB3sA2eB1sA2eB2sA1eB3sA2eB1sA2eB3
sA1eB3sA2eB2sA1eB1sA1eB3sA2eB2sA1eB2sA1eB3sA2eB2sA1eB3sA1eB3sA2eB2sA2eB1
sA1eB3sA2eB2sA2eB2sA1eB3sA2eB2sA2eB3sA1eB3sA2eB3sA1eB1sA1eB3sA2eB3sA1eB2
sA1eB3sA2eB3sA1eB3sA1eB3sA2eB3sA2eB1sA1eB3sA2eB3sA2eB2sA1eB3sA2eB3sA2eB3
sA2eB1sA1eB1sA1eB1sA2eB1sA1eB1sA1eB2sA2eB1sA1eB1sA1eB3sA2eB1sA1eB1sA2eB1
sA2eB1sA1eB1sA2eB2sA2eB1sA1eB1sA2eB3sA2eB1sA1eB2sA1eB1sA2eB1sA1eB2sA1eB2
sA2eB1sA1eB2sA1eB3sA2eB1sA1eB2sA2eB1sA2eB1sA1eB2sA2eB2sA2eB1sA1eB2sA2eB3
sA2eB1sA1eB3sA1eB1sA2eB1sA1eB3sA1eB2sA2eB1sA1eB3sA1eB3sA2eB1sA1eB3sA2eB1
sA2eB1sA1eB3sA2eB2sA2eB1sA1eB3sA2eB3sA2eB1sA2eB1sA1eB1sA2eB1sA2eB1sA1eB2
sA2eB1sA2eB1sA1eB3sA2eB1sA2eB1sA2eB1sA2eB1sA2eB1sA2eB2sA2eB1sA2eB1sA2eB3
sA2eB1sA2eB2sA1eB1sA2eB1sA2eB2sA1eB2sA2eB1sA2eB2sA1eB3sA2eB1sA2eB2sA2eB1
sA2eB1sA2eB2sA2eB2sA2eB1sA2eB2sA2eB3sA2eB1sA2eB3sA1eB1sA2eB1sA2eB3sA1eB2
sA2eB1sA2eB3sA1eB3sA2eB1sA2eB3sA2eB1sA2eB1sA2eB3sA2eB2sA2eB1sA2eB3sA2eB3
sA2eB2sA1eB1sA1eB1sA2eB2sA1eB1sA1eB2sA2eB2sA1eB1sA1eB3sA2eB2sA1eB1sA2eB1
sA2eB2sA1eB1sA2eB2sA2eB2sA1eB1sA2eB3sA2eB2sA1eB2sA1eB1sA2eB2sA1eB2sA1eB2
sA2eB2sA1eB2sA1eB3sA2eB2sA1eB2sA2eB1sA2eB2sA1eB2sA2eB2sA2eB2sA1eB2sA2eB3
sA2eB2sA1eB3sA1eB1sA2eB2sA1eB3sA1eB2sA2eB2sA1eB3sA1eB3sA2eB2sA1eB3sA2eB1
sA2eB2sA1eB3sA2eB2sA2eB2sA1eB3sA2eB3sA2eB2sA2eB1sA1eB1sA2eB2sA2eB1sA1eB2
sA2eB2sA2eB1sA1eB3sA2eB2sA2eB1sA2eB1sA2eB2sA2eB1sA2eB2sA2eB2sA2eB1sA2eB3
sA2eB2sA2eB2sA1eB1sA2eB2sA2eB2sA1eB2sA2eB2sA2eB2sA1eB3sA2eB2sA2eB2sA2eB1
sA2eB2sA2eB2sA2eB2sA2eB2sA2eB2sA2eB3sA2eB2sA2eB3sA1eB1sA2eB2sA2eB3sA1eB2
sA2eB2sA2eB3sA1eB3sA2eB2sA2eB3sA2eB1sA2eB2sA2eB3sA2eB2sA2eB2sA2eB3sA2eB3
sA2eB3sA1eB1sA1eB1sA2eB3sA1eB1sA1eB2sA2eB3sA1eB1sA1eB3sA2eB3sA1eB1sA2eB1
sA2eB3sA1eB1sA2eB2sA2eB3sA1eB1sA2eB3sA2eB3sA1eB2sA1eB1sA2eB3sA1eB2sA1eB2
sA2eB3sA1eB2sA1eB3sA2eB3sA1eB2sA2eB1sA2eB3sA1eB2sA2eB2sA2eB3sA1eB2sA2eB3
sA2eB3sA1eB3sA1eB1sA2eB3sA1eB3sA1eB2sA2eB3sA1eB3sA1eB3sA2eB3sA1eB3sA2eB1
sA2eB3sA1eB3sA2eB2sA2eB3sA1eB3sA2eB3sA2eB3sA2eB1sA1eB1sA2eB3sA2eB1sA1eB2
sA2eB3sA2eB1sA1eB3sA2eB3sA2eB1sA2eB1sA2eB3sA2eB1sA2eB2sA2eB3sA2eB1sA2eB3
sA2eB3sA2eB2sA1eB1sA2eB3sA2eB2sA1eB2sA2eB3sA2eB2sA1eB3sA2eB3sA2eB2sA2eB1
sA2eB3sA2eB2sA2eB2sA2eB3sA2eB2sA2eB3sA2eB3sA2eB3sA1eB1sA2eB3sA2eB3sA1eB2
sA2eB3sA2eB3sA1eB3sA2eB3sA2eB3sA2eB1sA2eB3sA2eB3sA2eB2sA2eB3sA2eB3sA2eB3
Table 4

DNA Sequences symbols after Step (2) for Table 2.

3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB1sA2eB1sA1eB1sA1eB1sA2eB2sA1eB1sA1eB1sA2eB3sA1eB1sA1eB2sA1eB1
sA1eB1sA1eB2sA1eB2sA1eB1sA1eB2sA1eB3sA1eB1sA1eB2sA2eB1sA1eB1sA1eB2sA2eB2
sA1eB1sA1eB2sA2eB3sA1eB1sA1eB3sA1eB1sA1eB1sA1eB3sA1eB2sA1eB1sA1eB3sA1eB3
sA1eB1sA1eB3sA2eB1sA1eB1sA1eB3sA2eB2sA1eB1sA1eB3sA2eB3sA1eB1sA2eB1sA1eB1
sA1eB1sA2eB1sA1eB2sA1eB1sA2eB1sA1eB3sA1eB1sA2eB1sA2eB1sA1eB1sA2eB1sA2eB2
sA1eB1sA2eB1sA2eB3sA1eB1sA2eB2sA1eB1sA1eB1sA2eB2sA1eB2sA1eB1sA2eB2sA1eB3
sA1eB1sA2eB2sA2eB1sA1eB1sA2eB2sA2eB2sA1eB1sA2eB2sA2eB3sA1eB1sA2eB3sA1eB1
sA1eB1sA2eB3sA1eB2sA1eB1sA2eB3sA1eB3sA1eB1sA2eB3sA2eB1sA1eB1sA2eB3sA2eB2
sA1eB1sA2eB3sA2eB3sA1eB2sA1eB1sA1eB1sA1eB2sA1eB1sA1eB2sA1eB2sA1eB1sA1eB3
sA1eB2sA1eB1sA2eB1sA1eB2sA1eB1sA2eB2sA1eB2sA1eB1sA2eB3sA1eB2sA1eB2sA1eB1
sA1eB2sA1eB2sA1eB2sA1eB2sA1eB2sA1eB3sA1eB2sA1eB2sA2eB1sA1eB2sA1eB2sA2eB2
sA1eB2sA1eB2sA2eB3sA1eB2sA1eB3sA1eB1sA1eB2sA1eB3sA1eB2sA1eB2sA1eB3sA1eB3
sA1eB2sA1eB3sA2eB1sA1eB2sA1eB3sA2eB2sA1eB2sA1eB3sA2eB3sA1eB2sA2eB1sA1eB1
sA1eB2sA2eB1sA1eB2sA1eB2sA2eB1sA1eB3sA1eB2sA2eB1sA2eB1sA1eB2sA2eB1sA2eB2
sA1eB2sA2eB1sA2eB3sA1eB2sA2eB2sA1eB1sA1eB2sA2eB2sA1eB2sA1eB2sA2eB2sA1eB3
sA1eB2sA2eB2sA2eB1sA1eB2sA2eB2sA2eB2sA1eB2sA2eB2sA2eB3sA1eB2sA2eB3sA1eB1
sA1eB2sA2eB3sA1eB2sA1eB2sA2eB3sA1eB3sA1eB2sA2eB3sA2eB1sA1eB2sA2eB3sA2eB2
sA1eB2sA2eB3sA2eB3sA1eB3sA1eB1sA1eB1sA1eB3sA1eB1sA1eB2sA1eB3sA1eB1sA1eB3
sA1eB3sA1eB1sA2eB1sA1eB3sA1eB1sA2eB2sA1eB3sA1eB1sA2eB3sA1eB3sA1eB2sA1eB1
sA1eB3sA1eB2sA1eB2sA1eB3sA1eB2sA1eB3sA1eB3sA1eB2sA2eB1sA1eB3sA1eB2sA2eB2
sA1eB3sA1eB2sA2eB3sA1eB3sA1eB3sA1eB1sA1eB3sA1eB3sA1eB2sA1eB3sA1eB3sA1eB3
sA1eB3sA1eB3sA2eB1sA1eB3sA1eB3sA2eB2sA1eB3sA1eB3sA2eB3sA1eB3sA2eB1sA1eB1
sA1eB3sA2eB1sA1eB2sA1eB3sA2eB1sA1eB3sA1eB3sA2eB1sA2eB1sA1eB3sA2eB1sA2eB2
sA1eB3sA2eB1sA2eB3sA1eB3sA2eB2sA1eB1sA1eB3sA2eB2sA1eB2sA1eB3sA2eB2sA1eB3
sA1eB3sA2eB2sA2eB1sA1eB3sA2eB2sA2eB2sA1eB3sA2eB2sA2eB3sA1eB3sA2eB3sA1eB1
sA1eB3sA2eB3sA1eB2sA1eB3sA2eB3sA1eB3sA1eB3sA2eB3sA2eB1sA1eB3sA2eB3sA2eB2
sA1eB3sA2eB3sA2eB3sA2eB1sA1eB1sA1eB1sA2eB1sA1eB1sA1eB2sA2eB1sA1eB1sA1eB3
Table 5

DNA Sequences symbols after Step (1) for Table 2.

3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB2sA2eB3sA1eB1sA1eB3sA2eB2sA1eB1sA2eB2sA1eB3sA1eB1sA2eB2sA2eB3
sA1eB1sA2eB3sA1eB2sA1eB1sA2eB3sA2eB2sA1eB2sA1eB1sA2eB3sA1eB2sA1eB3sA2eB1
sA1eB2sA2eB1sA1eB3sA1eB2sA2eB1sA2eB3sA1eB2sA2eB3sA1eB1sA1eB2sA2eB3sA2eB1
sA1eB3sA1eB1sA2eB2sA1eB3sA1eB2sA2eB1sA1eB3sA2eB1sA1eB2sA1eB3sA2eB1sA2eB2
sA1eB3sA2eB2sA1eB1sA1eB3sA2eB2sA2eB1sA2eB1sA1eB2sA1eB3sA2eB1sA1eB2sA2eB3
sA2eB1sA1eB3sA1eB2sA2eB1sA1eB3sA2eB2sA2eB1sA2eB2sA1eB3sA2eB1sA2eB3sA1eB2
sA2eB2sA1eB1sA1eB3sA2eB2sA1eB1sA2eB3sA2eB2sA1eB3sA1eB1sA2eB2sA1eB3sA2eB1
sA2eB2sA2eB1sA1eB3sA2eB2sA2eB3sA1eB1sA2eB3sA1eB1sA1eB2sA2eB3sA1eB1sA2eB2
sA2eB3sA1eB2sA1eB1sA2eB3sA1eB2sA2eB1sA2eB3sA2eB1sA1eB2sA2eB3sA2eB2sA1eB1
Table 6

DNA Sequences symbols after Step (4) for Table 2.

3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB2sA2eB3w11w12w23sA1eB1sA1eB3sA2eB2w11w13w22sA1eB1sA2eB2sA1eB3w11w13w22
sA1eB1sA2eB2sA2eB3w11w22w23sA1eB1sA2eB3sA1eB2w11w12w23sA1eB1sA2eB3sA2eB2w11w22w23
sA1eB2sA1eB1sA2eB3w11w12w23sA1eB2sA1eB3sA2eB1w12w13w21sA1eB2sA2eB1sA1eB3w12w13w21
sA1eB2sA2eB1sA2eB3w12w21w23sA1eB2sA2eB3sA1eB1w11w12w23sA1eB2sA2eB3sA2eB1w12w21w23
sA1eB3sA1eB1sA2eB2w11w13w22sA1eB3sA1eB2sA2eB1w12w13w21sA1eB3sA2eB1sA1eB2w12w13w21
sA1eB3sA2eB1sA2eB2w13w21w22sA1eB3sA2eB2sA1eB1w11w13w22sA1eB3sA2eB2sA2eB1w13w21w22
sA2eB1sA1eB2sA1eB3w12w13w21sA2eB1sA1eB2sA2eB3w12w21w23sA2eB1sA1eB3sA1eB2w12w13w21
sA2eB1sA1eB3sA2eB2w13w21w22sA2eB1sA2eB2sA1eB3w13w21w22sA2eB1sA2eB3sA1eB2w12w21w23
sA2eB2sA1eB1sA1eB3w11w13w22sA2eB2sA1eB1sA2eB3w11w22w23sA2eB2sA1eB3sA1eB1w11w13w22
sA2eB2sA1eB3sA2eB1w13w21w22sA2eB2sA2eB1sA1eB3w13w21w22sA2eB2sA2eB3sA1eB1w11w22w23
sA2eB3sA1eB1sA1eB2w11w12w23sA2eB3sA1eB1sA2eB2w11w22w23sA2eB3sA1eB2sA1eB1w11w12w23
sA2eB3sA1eB2sA2eB1w12w21w23sA2eB3sA2eB1sA1eB2w12w21w23sA2eB3sA2eB2sA1eB1w11w22w23
Table 7

DNA Sequences symbols after Step (5) for Table 2.

3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB3sA2eB1sA2eB2w13w21w22sA1eB3sA2eB2sA2eB1w13w21w22sA2eB1sA1eB3sA2eB2w13w21w22
sA2eB1sA2eB2sA1eB3w13w21w22sA2eB2sA1eB3sA2eB1w13w21w22sA2eB2sA2eB1sA1eB3w13w21w22
DNA Sequences symbols after Step (1) for DNA Sequences symbols after Step (2) for Table 2. DNA Sequences symbols after Step (1) for Table 2. DNA Sequences symbols after Step (4) for Table 2. DNA Sequences symbols after Step (5) for Table 2.

2.4. The Complexity and Feasibility of the Proposed DNA Algorithm

The following theorem tells that the algorithm proposed above really can get solutions of the unbalanced assignment problem in O(mn) steps using DNA molecules. Theorem 1. The solutions of the unbalanced assignment problem with n jobs and m individuals can be obtained by the above DNA operations. Proof. We first get all combinations of the n jobs assignment in the data pool after the first step. Since the unbalanced assignment problem requires every job be assigned, we discard DNA strands without some jobs information at step (2). Additionally, each individual should get at least one job in the problem, thus we abandon DNA strands without some jobs information at step (3). Simultaneity is required in order to find the minimum solution, thus we append the corresponding cost strands at the end of previous strands at step (4). The shortest stands in the tube T6 mean the solutions to the unbalanced assignment problem, and we can “read” the answer at the last step. Theorem 2. The solutions of the unbalanced assignment problem with n jobs and m individuals can be figured out in O(mn) time steps using DNA molecules computation. Proof. We get that the complexity of every biological operation is in O(1) time [14], the manipulation of the total algorithm can be entirely finished in a finite time range, such as step (1), (5) in O(1) time, step (2) in O(n), step (3) in O(m), and step (4) in O(mn). The time complexity T of the total algorithm is as follows: T(Step (1)) = O(1); T(Step (2)) = O(n); T(Step (3)) = O(m); T(Step (4)) = O(mn); T(Step (4)) = O(1); T = T(Step (1)) + T(Step (2)) + T(Step (3)) + T(Step (4)) + T(Step (5)); = O(1) + O(n) + O(m) + O(mn) + O(1); = O(mn). Theorem 3. The solutions strands of the unbalanced assignment problem with n jobs and m individuals can be found in the finite length range. Proof. After the second step, we pick up the DNA strands for all possible assignment choices with n jobs and m individuals. Here the single strands in tube T2 at step (3) can be described: In the beginning we reasonably design the length of s, e, A, B, for In order to choose the minimum cost assignment, we append the cost strands w at the end of the previous strands denoting j-job to i-individual at (4) step. And we let ||w|| = c mer and max ||w|| = y mer. Then T2 can be described: So the length range of DNA strands in tube T2 is: ∵ 0 ≤ ≤ y ∴ 4tn ≤ ||T2|| ≤ (4t + y)n The length of strands in T2 tube must be between 4tn and (4t + y)n. So we can get the solution in step (4) in the appropriate length range.

3. Experimental Section

It is shown that errors in the separation of the library strands are errors in the computation [26,27,28,29,30,31,32]. This means that it needs a lower rate of primary errors of hybridization in the computation. DNA sequences should be generated to ensure library strands have little secondary structure that might inhibit intended probe-library hybridization. The design must also exclude DNA sequences that might encourage unintended probe-library hybridization. In order to realize the goals, we need to follow some DNA sequence constraints. For instance, library strands should include only A, T, and C, which has a lower secondary structure than those conditions and has higher chance to bind probes; through the restriction every library and probe sequence should have no runs of more than four A, four T, four C or four G, long homopolymer tracts which may have unusual secondary structures that inhibit the binding from probes to library strands and the melting temperatures of probe and library strand hybridization will be more similar, if they do not have any long enough homopolymer tracts. Restrictions that each probe should have four, five, or six G in its sequence are aimed to insure that intended probe-library pairings have uniform melting temperatures, and so on. In this paper, the Adleman procedures [29] are simulated working on an electronic computer. The coded algorithms are used to generate DNA sequences to solve the unbalanced assignment problem and construct the 15-base DNA sequences for every bit of the library. For Table 1, the algorithm generates 5-base random sequences, consisting of A, B, s, e, and confirms whether the library strands satisfy above-mentioned restrictions when a new DNA sequence is gained [30]. If the restrictions are satisfied, the new DNA sequence is “greedily” taken up. If the restrictions are not satisfied, then mutations would be imported individually, in succession, into the new block until either the restrictions are satisfied and then the new DNA sequence is accepted, or a threshold for the number of mutations is reached, and the algorithm has finished and so it quits, printing the DNA sequence found so far. If the whole string of bits satisfy the restrictions, the algorithm has succeeded and these DNA sequences would be the product. Consider the example in Table 1, the problem includes jobs {j1, j2, j3, j4, j5},and individuals {i1, i2, i3}. Basic DNA sequences are generated by Adleman’s algorithms and modified, shown in Table 8. Table 9 shows DNA sequences representing the job assignment schemes sA (1 ≤ i ≤ m, 1 ≤ j ≤ n). Adleman’s algorithms are also used to calculate the enthalpy, entropy, and free energy for binding of each probe to its corresponding region on a library strand; meanwhile, the energy used is shown in Table 10.
Table 8

Sequences chosen to represent s, e, A, B, and w in the example for Table 1.

Bit3′–5′ DNA SequenceBit3′–5′ DNA SequenceBit3′–5′ DNA SequenceBit3′–5′ DNA Sequence
sCTATCeAACTCA1TAAAAB1AATTA
A2CTTTTB2CATTAA3TTCAAB3ATCTA
B4CAAACB5ATCCAw11CCCATw12ATATA
w13TTACAw14TACCCw15TTCTTw21TTTCA
w22ATAATw23CTACCw24TTACAw25CATAC
w31CCTTCw32ACTCAw33TCACTw34ACCCT
w35TTAAC
Table 9

Sequences chosen to represent the job assignment schemes sA (1 ≤ i ≤ m, 1 ≤ j ≤ n) in the example for Table 1.

Job Assignment3′–5′ DNA SequenceJob Assignment3′–5′ DNA Sequence
sA1eB1CTATCTAAAAAACTCAATTAsA1eB2CTATCTAAAAAACTCCATTA
sA1eB3CTATCTAAAAAACTCATCTAsA1eB4CTATCTAAAAAACTCCAAAC
sA1eB5CTATCTAAAAAACTCATCCAsA2eB1CTATCCTTTTAACTCAATTA
sA2eB2CTATCCTTTTAACTCCATTAsA2eB3CTATCCTTTTAACTCATCTA
sA2eB4CTATCCTTTTAACTCCAAACsA2eB5CTATCCTTTTAACTCATCCA
sA3eB1CTATCTTCAAAACTCAATTAsA3eB2CTATCTTCAAAACTCCATTA
sA3eB3CTATCTTCAAAACTCATCTAsA3eB4CTATCTTCAAAACTCCAAAC
sA3eB5CTATCTTCAAAACTCATCCA
Table 10

The energies for of binding each probe to its corresponding region on a library strand.

Job AssignmentEnthalpy Energy HEntropy Energy SFree Energy GJob AssignmentEnthalpy Energy HEntropy Energy SFree Energy G
sA1eB1110.5287.124.7sA1eB2101.2256.722.9
sA1eB3111.6294.425.9sA1eB4107.4281.324.9
sA1eB5108.3277.725.2sA2eB1104.2271.324.9
sA2eB299.8248.222.9sA2eB3105.4270.324.8
sA2eB4104.5269.724.7sA2eB597.7243.123.3
sA3eB1107.6275.325.2sA3eB2111.2289.525.8
sA3eB3103.3262.424.6sA3eB4114.7292.126.3
sA3eB5112.1288.526.1
Sequences chosen to represent s, e, A, B, and w in the example for Table 1. Sequences chosen to represent the job assignment schemes sA (1 ≤ i ≤ m, 1 ≤ j ≤ n) in the example for Table 1. The energies for of binding each probe to its corresponding region on a library strand. Our program also figures out the average and standard deviation for the enthalpy, entropy, and free energy over all probe/library strand interactions. The energy levels are shown as in Table 11. Table 12 presents the library strands and the solution {j3→i1, j4→i1, j2→i2, j1→i3, j5→i3}of the unbalanced assignment problem.
Table 11

The energies over all probe/library strand interactions.

Average106.463273.61324.794
Standard Deviation4.801815.36311.0363
Table 12

DNA sequences chosen to represent the answer of the unbalanced assignment problem.

SolutionsDNA Strands Denoting Solutions
{j3i1, j4i1,j2i2, j1i3,j5i3}3′-CTATCTAAAAAACTCATCTACTATCTAAAAAACTCCAAACCTATCCTTTTAACTCCATTACTATCTTCAAAACTCAATTACTATCTTCAAAACTCATCCATTACATACCCATAATCCTTCTTAAC-5′
The energies over all probe/library strand interactions. DNA sequences chosen to represent the answer of the unbalanced assignment problem.

4. Conclusions

In this paper, we present DNA algorithms for solving the unbalanced assignment problem based on biological operations in the Adleman-Lipton model. Due to electronic computers having obvious limits in storage, speed, intelligence, and miniaturization, the methods of DNA computation have arisen, especially for their efficient parallelism. The present algorithm has the following advantages compared with previous algorithms: firstly, the proposed algorithm actually has a lower rate of errors for hybridization because we develop a computer program to generate good DNA sequences for generating the solution space of the unbalanced assignment problem. Secondly, the proposed algorithm requires a time cost and a DNA strand length that are linearly proportional to the instance size. It can finish in O(mn) the unbalanced assignment problem with n jobs and m individuals, having certain advantages comparing with existing algorithms, such as algorithm of paper [33] with O(nlogn(m + nlogn)) complexity. Additionally, the proposed algorithms can be easily performed in a fully automated manner in a laboratory. The full automation manner is essential not only for the speedup of computation but also for error-free computation. Meanwhile we simulated the DNA experiment to solve the unbalanced assignment problem. The ability to perform complex operations in solution might help us learn more about the nature of computation and lead to the development of better DNA-based computation, capable of solving a wide range of complex problems. We hope that, in future studies, more highly-effective DNA operations will be exploited to derive a DNA computing model with time efficiency and is complete for NP-hard problems.
  18 in total

1.  Molecular computation by DNA hairpin formation.

Authors:  K Sakamoto; H Gouzu; K Komiya; D Kiga; S Yokoyama; T Yokomori; M Hagiya
Journal:  Science       Date:  2000-05-19       Impact factor: 47.728

2.  A sticker-based model for DNA computation.

Authors:  S Roweis; E Winfree; R Burgoyne; N V Chelyapov; M F Goodman; P W Rothemund; L M Adleman
Journal:  J Comput Biol       Date:  1998       Impact factor: 1.479

3.  Solving traveling salesman problems with DNA molecules encoding numerical values.

Authors:  Ji Youn Lee; Soo-Yong Shin; Tai Hyun Park; Byoung-Tak Zhang
Journal:  Biosystems       Date:  2004-12       Impact factor: 1.973

4.  Fast parallel molecular algorithms for DNA-based computation: factoring integers.

Authors:  Weng-Long Chang; Minyi Guo; Michael Shan-Hui Ho
Journal:  IEEE Trans Nanobioscience       Date:  2005-06       Impact factor: 2.935

5.  Design and self-assembly of two-dimensional DNA crystals.

Authors:  E Winfree; F Liu; L A Wenzler; N C Seeman
Journal:  Nature       Date:  1998-08-06       Impact factor: 49.962

6.  A surface-based approach to DNA computation.

Authors:  L M Smith; R M Corn; A E Condon; M G Lagally; A G Frutos; Q Liu; A J Thiel
Journal:  J Comput Biol       Date:  1998       Impact factor: 1.479

7.  DNA solution of the maximal clique problem.

Authors:  Q Ouyang; P D Kaplan; S Liu; A Libchaber
Journal:  Science       Date:  1997-10-17       Impact factor: 47.728

8.  A parallel algorithm for solving the n-queens problem based on inspired computational model.

Authors:  Zhaocai Wang; Dongmei Huang; Jian Tan; Taigang Liu; Kai Zhao; Lei Li
Journal:  Biosystems       Date:  2015-03-27       Impact factor: 1.973

9.  DNA solution of hard computational problems.

Authors:  R J Lipton
Journal:  Science       Date:  1995-04-28       Impact factor: 47.728

10.  Molecular computation of solutions to combinatorial problems.

Authors:  L M Adleman
Journal:  Science       Date:  1994-11-11       Impact factor: 47.728

View more
  1 in total

1.  Parallelizing Assignment Problem with DNA Strands.

Authors:  Babak Khorsand; Abdorreza Savadi; Mahmoud Naghibzadeh
Journal:  Iran J Biotechnol       Date:  2020-01-01       Impact factor: 1.671

  1 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.