Solving Vertex Cover Problem Using DNA Tile Assembly Model

. 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.


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 [1][2][3][4], membrane computing [5][6][7][8][9], and neural-like computing [10][11][12], 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 Θ(1) 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).

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].
A function  : Σ × Σ → R 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 : Z×Z → , 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 SYS is a triple ⟨, , ⟩, with  being a finite set of tiles containing empty,  is a strength function, and  ∈ N 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) ∑ ∈ (  (),   −1 (((, )))) ≥ , For a tile system SYS = ⟨, , ⟩, a set of tiles Γ, and a seed configuration  : Z 2 → Γ, 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 SYS on .If this process terminates, the configuration is called the final configuration .
Let SYS = ⟨, , ⟩, and let  0 be a seed configuration such that SYS produces a unique final configuration  on  0 ,  0 ⊆ 2 ×Z 2  the set of all tile position pairs ⟨, (, )⟩ such that  can attach to  0 at (, ), and   the configuration produced by adding all the elements of  −1 to  −1 in one time step, where  = 1, 2, . ... Number  is the smallest natural number such that   ≡ , where  indicates the assembly time of  on  0 to produce .

Solving Vertex Cover Problem by DNA Tile Assembly Model
The vertex cover tile system contains a set of tiles denoted by  V , which can be divided into three disjoint subsets of tiles  V ,   , and   .(Mathematically, we have The functions of the tiles in distinguished subsets are different.Specifically, the tiles in  V 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).

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  V 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.
Note that SYS V can produce all the final configurations in  on  V , where  corresponds to the vertices subset covering all the edges.
The tiles that are possible to attach to  V can produce a final configuration  that corresponds to the subset covering all the edges.
(1)  and  V should agree at the first line with the corresponding binding domains.
It is worth pointing out that no more tiles may attach to  and one of subsets which satisfied the requests of the problem is { 1 ,  3 ,  1 ,  1 }.Therefore, for all choices of subsets covering all edges, there exists a final configuration  produced by SYS V on  V that constitutes a vertex subset.For different final configurations   produced by SYS V on  V 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 Θ(  ).

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  i whether it is in the constituted vertices subset: if so, then output is 1, otherwise output is 0. The tile system SYS  can check the types of the vertices in the constituted subset.The example of the function of SYS  is shown in Figure 4, where the constituted subset is { 1 ,  3 ,  1 ,  1 }.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  = 1, otherwise  = 0. Theorem 2. Let Σ  = {  , 1, 0, 0, , , , ,  |  ∈ {1, 2, . . ., },  ∈ {0, 1}},  V = 2, and  divisor = (, ) = 1 for  ∈ Σ  ,   a set of tiles,   the final configuration produced by SYS V on  V that constitutes the subset of vertices,  V unique final configuration (by which one can get the computing result),   the configuration such that and SYS  = ⟨  ,   ,   ⟩.
Proof.Let  be the constituted subset and   any vertex in the graph with  ∈ {1, 2, . . ., }.If   ∈ , then   = 1, otherwise   = 0.The tile system SYS  computes the final configuration  V produced by SYS V , and SYS  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 SYS  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
SYS  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.

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 Σ  = {0, 1, 00, 01, 10, 11, ok, no, end, },   (, ) = 1 for all  ∈ Σ  ,   = 1,   a set of tiles of the form shown in Figure 5,   the final configuration produced by the tile system SYS  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 Proof.If the "OK" tile is ever to attach, then it should attach in position (  + (  − ) + 1, 1 +   + 1).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 (  + 1, 1 +   + 1) to (  + (  − ), 1 +   + 1).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 (  +1, 1+  +1), and at west of the tile there is an east binding domain "ok." Therefore, the tiles at positions (  +, 1+  +1) with  = 1, 2, . . .(  −) 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 (  + (  − ) + 1, 1 +   + 1).For the produced subset, an "OK" tile can attach at position (  + (  − ) + 1, 1 +   + 1) 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 SYS  is shown in Figure 6.

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

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 SYS VC and argue that SYS VC 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 SYS V , SYS  , and SYS  , 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  V 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.
For all edges in the graph, tiles from   will attach to   as follows: the tiles from  V 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, SYS VC can nondeterministically and identifiably solve the vertex cover problem.
Corollary 7 (vertex cover assembly time).The assembly time for  VC to produce a final configuration  that draws the conclusion of the number of vertex types in the subset whether more than  or not is Θ(2  +   − ).

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: SYS V , SYS  , and SYS  , and combine them together to form SYS VC 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.

Figure 1 :
Figure 1: (a) Tiles in Γ  with the name written on the top; (b) the meaning of the tiles in  V to encode edges     and vertex   or   .

Figure 2 :
Figure 2: SYS V produces a final configuration  on  V such that  produces one subset of vertices.(a) An example graph; (b) the example seed configuration; (c) in this example,  constitutes one subset  1 ,  3 ,  1 ,  1 .

Figure 3 :
Figure 3: The meaning of tiles in   , and   indicates the vertex   in the graph;   can be used to check the presentation of vertex   in the subset: if so, the tile outputs  = 1, otherwise  = 0.

Figure 4 :
Figure 4: An example of the execution of SYS  ; the subset of vertices is { 1 ,  3 ,  1 ,  1 }, and the checking result is  = 1010.

Figure 6 :Figure 7 :
Figure 6: The final configuration   produced by the tile system SYS  for the example of Figure 4.
and SYS  = ⟨  ,   ,   ⟩.It holds that SYS  produces a unique final configuration   , and the number of vertex types in the subset is less than  if and only if   (  + (  −  + 1, 1 +   + 1)) = .