Abstract

DNA tile assembly models are a class of mathematically distributed and parallel biocomputing models in DNA tiles. In previous works, tile assembly models have been proved be Turing-universal; that is, the system can do what Turing machine can do. In this paper, we use tile systems to solve computational hard problem. Mathematically, we construct three tile subsystems, which can be combined together to solve vertex cover problem. As a result, each of the proposed tile subsystems consists of (1) types of tiles, and the assembly process is executed in a parallel way (like DNA’s biological function in cells); thus the systems can generate the solution of the problem in linear time with respect to the size of the graph.

1. Introduction

In the history of human designing computing devices, nature has provided brilliant ideas and frameworks to design intelligent computing models. Recently, due to the highly distributed and parallel features, bioinspired computing, including DNA computing [14], membrane computing [59], and neural-like computing [1012], have received a lot of research attention. One of the famous results of biocomputing is Adleman's DNA computing model, which uses DNA molecule to solve a Hamiltonian path problem in tubes [1]. It demonstrated the feasibility of solving combinatorial problems by molecular computing, which used the vast parallelism of DNA molecule to do the combinatorial search among a large number of possible solutions. Till now, DNA computing has been heavily developed and used in different research fields, such as breaking cryptosystems [2, 13], hiding messages [4, 13], and computing functions [14]. However, most of the proposed DNA computing models are not autonomous, which require human intervention in each step, and the scale of the problems solved by DNA computing is restricted by the large numbers of laboratory procedures, error-prone reactions, and the time consumed. In the present work, we focus on a kind of DNA computing models, named DNA tile assembly model.

DNA tile assembly model can automatically organize the components into defined aggregates with stable and robust structures [15]. Following the research line, it was theoretically proved that the tile assembly model of DNA computing is Turing-universal [2], while the experimental demonstration of computation using DNA tile was initialled in [16]. For general introduction of DNA tile assembly models, one can refer to the respective chapter of [2]. Recently, DNA assembly systems were also used in some other fields such as binary counters [17], computing Sierpinski triangles [18], and theoretically performing sum and product of two numbers [19].

In this work, we use DNA tile assembly model to solve the famous NP-hard problem—vertex cover problem. Specifically, three tile self-assembly subsystems are constructed, which can constitute subsets of vertices, calculate the types of vertices in each subset, and count the number of vertices covered by the vertex in a subset, respectively. We combine the three subsystems to construct an integrated tile system that can solve vertex cover problems in linear time. As a result, we obtain that each subsystem consists of types of tiles, and the system can generate the solution of the problem in linear time with respect to the size of the graph (due to the fact that each tile in the systems can do the assembly operation in a parallel way).

2. DNA Tile Self-Assembly Model

This section is started by recalling some useful notions and formal definition of DNA tile self-assembly model proposed in [19].

Let be a finite alphabet of binding domains, with null . A tile over is a unit square with 4-tuple indicating, respectively, the glues on the north, east, south, and west sides of the tile. A position is an element of . The set of directions is a set of four functions from position to position, such that, for all positions , , then , , , and . The positions and are neighbors if and only if such that . For a tile , for , we refer to as the binding domain of tile on 's side. According to this definition, tiles may not be rotated. A special tile, , represents the absence of all other tiles. The binding domains determine the interaction between tiles.

A function is a strength function denoting the strength of the binding domains. The function can be calculated as

The value may be 0, 1, or 2 (resp., called null, weak, and strong bonds).

Let be a set of tiles containing the empty tile. One configuration of is a function : , and if and only if . One configuration is finite if and only if there is only a finite number of distinct positions . One tile system is a triple , with being a finite set of tiles containing empty, is a strength function, and is the temperature. If is a configuration, then a tile can attach to at position and produce a new configuration if and only if(1),(2),(3)for all , ,(4).

For a tile system , a set of tiles , and a seed configuration , if the above conditions are satisfied, one may attach tiles of to . Configurations produced by repeated attachments of tiles from are said to be produced by on . If this process terminates, the configuration is called the final configuration .

Let , and let be a seed configuration such that produces a unique final configuration on , the set of all tile position pairs such that can attach to at , and the configuration produced by adding all the elements of to in one time step, where . Number is the smallest natural number such that , where indicates the assembly time of on to produce .

3. Solving Vertex Cover Problem by DNA Tile Assembly Model

The vertex cover tile system contains a set of tiles denoted by , which can be divided into three disjoint subsets of tiles , and . (Mathematically, we have .) The functions of the tiles in distinguished subsets are different. Specifically, the tiles in are nondeterministically chosen to constitute a vertices subset covering all the edges; the tiles in calculate the types in the constituted vertices subset; the tiles in can be used to count the number of vertices that are not in the constituted vertices subset and determine whether the result meets the requirement of the problem.

The tile systems described above will use types of tiles to encode the vertices, as well as types of tiles to encode the edges in the graph. The set of the tiles used to encode the vertices and edges in the graph are denoted by,,,,,, .

The seeds are graphically shown in Figure 1(a).

3.1. Constituting One Subset

For a given seed configuration consisting of a given graph, we start by describing a tile system that can use tiles from to nondeterministically constitute a vertices subset covering all the edges and to encode the vertices and edges with these tiles. The strategy used to encode an edge by tiles can be found from Figure 1(b), where the symbols on the sides of the tiles indicate the edge or vertex.

In the following, we will give an example of a directed graph with 4 vertices (denoted by , and ; see Figure 2(a)) to explain the process of constituting one subset. The seed configuration is designed by the following binding domains: , , , , , , , and ; see Figure 2(b). And the produces a set of final configurations on such that , , , , , ; , and ; see Figure 2(c).

Note that can produce all the final configurations in on , where corresponds to the vertices subset covering all the edges.

The tiles that are possible to attach to can produce a final configuration that corresponds to the subset covering all the edges. and should agree at the first line with the corresponding binding domains.Note that , and the only tile with might attach here. There are two types of tiles such that , so only these types of tiles can attach above. Furthermore, or , which indicates that the subset of vertices contains or (in this case, it is ).It is easy to check that , so or (in this case, the contained vertex is ).It is easy to check that , so or (in this case, the contained vertex is ).It is easy to check that , so or (in this case, the contained vertex is ).The tiles and can attach here, where the tile is attached indicating the boundary of subset is constitutes., (8) The same as (6), it can be easily obtained that , so the tile is attached here.We have , and the only tile with may attach here, which show the boundary of the final configuration .

It is worth pointing out that no more tiles may attach to and one of subsets which satisfied the requests of the problem is . Therefore, for all choices of subsets covering all edges, there exists a final configuration produced by on that constitutes a vertex subset. For different final configurations produced by on will constitute some random vertex subsets covering all edges.

Lemma 1 (subsets assembly time lemma). The assembly time of the final configuration that constitutes vertex subset is .

Proof. For each tile in to attach, a tile in a specific location can have attached before (either to the north or to the east). Hence, there is no parallelism in the assembly, and the assembly time equals the total number of tiles that attached, which is .

3.2. Type Calculation

After the tile system have nondeterministically assembled the representation of one vertices subset, we add tiles to implement the vertex type calculation. The meaning of tiles in is given in Figure 3.

Each tile is used to check the presentation of vertex whether it is in the constituted vertices subset: if so, then output is 1, otherwise output is 0. The tile system can check the types of the vertices in the constituted subset. The example of the function of is shown in Figure 4, where the constituted subset is . There are four gray tiles which check the vertex whether it is present in the subset, and the brown tiles complete the checking. The orange tiles are used to output the result: if the vertex is in the subset, the output is , otherwise .

Theorem 2. Let , , and for , a set of tiles, the final configuration produced by on that constitutes the subset of vertices, unique final configuration (by which one can get the computing result), the configuration such that and .

Proof. Let be the constituted subset and any vertex in the graph with . If , then , otherwise . The tile system computes the final configuration produced by , and will produce a unique final configuration on . The orange tiles (similar to those in Figure 4) can output the checking result and cooperate with other tiles. Therefore, the tile system is able to check the type of the tiles and output the result during the self-assembly progress.

Corollary 3 (checking assembly time). The assembly time for starting from one seed that encodes vertices and edges is .

Proof. The tiles in will attach in a strict order; that is, only the corner position may be attached to one certain type of tiles. So the tiles in the diagonal positions perform the processes of computing in parallel. With the parallelism, the resulting configuration is the rectangle, and the assembly time is steps.

3.3. Checking the Number of Vertices in the Subset

With the two tile subsystems described above (one generates a random vertices subset, and the other one checks whether the vertex type is contained in the subset or not), we design one more tile subsystem to compute the number of vertices in the subset and to determine whether the number of vertices is less than or not. The meaning of tiles in is shown in Figure 5, where the dark-green tiles with variables , and are used to finish the vertex types counting in the subset; the light-blue tiles are used to check whether the number of vertex types in the subset is less than or not; the red tiles with “NO” or “OK” serve as the mark to show the result of the problem, and the blue tiles will terminate the checking and mark the final configuration produced.

Theorem 4. Let , for all , , a set of tiles of the form shown in Figure 5, the final configuration produced by the tile system on that outputs each vertex present in the subset or not, the unique final configuration (by which one can get the computing result), the configuration such that and . It holds that produces a unique final configuration , and the number of vertex types in the subset is less than if and only if .

Proof. If the “OK” tile is ever to attach, then it should attach in position . Since the sum of the values of the binding domains is exactly 2, it can only match its neighbors on all sides with nonnull binding domains to attach at temperature 2. Furthermore, the tile with a south binding domain “end” and a west binding domain “ok,” matching the assembly's north binding domain and the east binding domain, is the “OK” tile, so it can attach only when the light-blue tiles “ok” have attached in position from to . Once there is one position attaching “no,” then the end position will attach “NO” tile.
Let us consider the unique final configuration . The “ok” tile can attach at position , and at west of the tile there is an east binding domain “ok.” Therefore, the tiles at positions with should have the output of east binding domain “ok.” It indicates that at least vertices are not in the constituted subset. If the binding domain “no” occurs, it means that the number of vertex types in the constituted subset is more than . In this case, the “No” tile will attach at position . For the produced subset, an “OK” tile can attach at position to if and only if the number of vertex types in the constituted subset is not more than .

Following the example given above, the final configuration produced by the tile system is shown in Figure 6.

Corollary 5 (calculating assembly time). The assembly time of the final configuration produced by on that draws the conclusion of the number of vertex types in the subset whether more than or not is .

3.4. Solving Vertex Cover Problem Using DNA Tile Assembly System

Till now, we have defined three tile subsystems that perform the necessary pieces of solving the vertex cover problem. We now combine them into one single system SYSVC and argue that SYSVC is a tile system solving the vertex cover problem.

If a tile system is the combination of three distinct tile subsystems, the behavior of the combined systems contains the behaviors of the subsystems. Although the tiles from different subsystems can interfere with each other, according to the design of the subsystems , , and , they can work together without interfering. For the most part, each subsystem uses a disjoint set of binding domains, sharing binding domains only when tiles from the different subsystems are designed to interact. As a result, the tiles from each subsystem have a particular set of positions where they can attach. Specifically, tiles from can only attach in row 1, tiles from can only attach in the rectangle defined by the same color rectangle, and tiles from can only attach in the same color rectangle too. Therefore, the tiles from different subsystems do not interfere with each other; see Figure 7. As explained above, we can easily obtain the following theorem.

Theorem 6 (vertex cover theorem). Let , ; agrees with , , and on their respective domains, and . It holds that the system is a tile system solving the vertex cover problem.

Proof. Consider a directed graph with vertices denoted by , and a positive integer . The number of vertices is denoted by , and the number of edges is . We assume that , , for all ; , , , , and .
For all edges in the graph, tiles from will attach to as follows: the tiles from nondeterministically attach to constitute one vertex subset covering all edges in row 1, as described in Section 3.1. According to Theorem 2, the tiles from attach, in the gray rectangle denoted in Figure 7, to check which vertex is obtained in the subset and output the results. Finally, tiles from attach, in dark-green rectangle denoted in the Figure 7, such that, by Theorem 4, the “OK” tile attaches only when at least vertices are not present in the constituted subset; that is, the vertex number of the subset is no more than . Therefore, SYSVC can nondeterministically and identifiably solve the vertex cover problem.

Corollary 7 (vertex cover assembly time). The assembly time for to produce a final configuration that draws the conclusion of the number of vertex types in the subset whether more than or not is .

4. Conclusion

In this work, the vertex cover problem is considered to be solved by tile assembly system. Function package is a common technique usually used in programming by general digital computers. Herein, we have “packaged” the proposed three tile subsystems in tile self-assembly model: , , and , and combine them together to form SYSVC with such functions of generating subsets, computing functions, and checking results. For future work, it is still possible to decrease the number of tile types used in the tile systems.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (61370105, 61179032, 61100055, 61373066, and 61272071), Natural Science Foundation of Hubei Province (Grant no. 2013CFB159), and the Fundamental Research Funds for the Central Universities (HUST2013TS124).