Mathematical Problems in Engineering

Volume 2015 (2015), Article ID 275019, 8 pages

http://dx.doi.org/10.1155/2015/275019

## Solving the Maximum Weighted Clique Problem Based on Parallel Biological Computing Model

^{1}School of Information Sciences, Shanghai Ocean University, Shanghai 201306, China^{2}Guangxi Institute of Water Resources Research, Nanning 530023, China^{3}State Key Laboratory of Simulation and Regulation of River Basin Water Cycle, China Institute of Water Resources and Hydropower Research, Beijing 100048, China^{4}Department of Civil Engineering, Xi’an University of Architecture & Technology, Xi’an 710055, China

Received 2 July 2014; Revised 15 September 2014; Accepted 20 September 2014

Academic Editor: L. W. Zhang

Copyright © 2015 Zhaocai Wang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

The maximum weighted clique (MWC) problem, as a typical NP-complete problem, is difficult to be solved by the electronic computer algorithm. The aim of the problem is to seek a vertex clique with maximal weight sum in a given undirected graph. It is an extremely important problem in the field of optimal engineering scheme and control with numerous practical applications. From the point of view of practice, we give a parallel biological algorithm to solve the MWC problem. For the maximum weighted clique problem with edges and vertices, we use fixed length DNA strands to represent different vertices and edges, fully conduct biochemical reaction, and find the solution to the MVC problem in certain length range with time complexity, comparing to the exponential time level by previous computer algorithms. We expand the applied scope of parallel biological computation and reduce computational complexity of practical engineering problems. Meanwhile, we provide a meaningful reference for solving other complex problems.

#### 1. Introduction

DNA computing, as a comprehensive discipline, can use DNA biological technologies to solve complex practical engineering problems. In 1994, Adleman [1] made use of DNA molecule operations to solve the Hamiltonian path problem with vertices in time complexity; simultaneously, he also demonstrated the strong parallel ability of DNA computing. In 1995, Lipton [2] figured out the NP-complete satisfiability problem utilizing Adleman’s biochemical experiment. Since then, DNA biological computing attracted more and more interest from different disciplinary scholars. DNA biological computing has three advantages: high parallelism, low energy consumption, and large memory capacity. Many research scholars, designing DNA procedures and algorithms, succeed in solving multifarious kinds of complicated NP-complete problems [3–21], which promoted development of DNA computing. In order to better apply DNA computing theory to more practical engineering science broad, it is worth trying to solve more intractable problems using the DNA molecular computing. Furthermore, most previous works, relating to DNA computing, focused on how to solve the path search problems that the solutions are continuous head-to-tail ligation edge or vertex sets, so that the possible solutions can be relatively easily represented by DNA strands, while some practical engineering problems, such as maximum weighted clique problem, are discrete set problems without sequentially connected path. So how to represent discrete data on DNA strands is an important key to expand the applied scope of DNA computing.

The maximum weighted clique problem has a wide range of applications in optimal engineering scheme and computational mathematics. In this paper, DNA algorithm, based on the research foundation of Adleman [1] and Lipton [2], is used to get solution of the maximum weighted clique problem. The rest dissertation is organized as follows. In Section 2, the parallel biological computing model is introduced with detailed description. Section 3 uses DNA molecular algorithm to solve the maximum weighted clique problem. Section 4 proves DNA algorithm correctness and feasibility and gets the computation complexity. We come to the conclusions in Section 5.

#### 2. The Parallel Biological Computing Model

DNA is the material basis of biological genetics, which is strung together from deoxyribonucleotides. DNA is formed by four kinds of base composition. These bases are, respectively, called adenine (), guanine (), cytosine (), and thymine (). The permutation and combination of bases store genetic information. An important feature of DNA is that two single strands can form a double strand through complementary base pairing. Moreover, the pairing has high specificity: can only match ; can only be paired with . The length of a DNA single strand is counted by the number of bases. For example, a single strand includes 5 bases; then it is called a .

Based on Adleman [1] and Lipton’s [2] research, DNA biological algorithm operations are described as follows. Corresponding biological operations can be used to get solution of the maximum weighted clique problem. In the parallel biological computing model, we can perform the following operations with given tubes which contain a list of DNA strands.(1): given a test tube , it can get another test tube with the same strands as .(2): given two test tubes and , it can get the compound strands and in and leave empty.(3): given a test tube , it can generate all feasible double strands in by annealing. The products and residues are still stored in after annealing.(4): given a test tube and a list strands set , it can remove all single strands in from and get an another tube with the removed strands.(5): given a tube , it is used to ligate together the strands in .(6): it picks out the shortest length strands into tube from tube , the longest strands into , and the surplus strands are still kept in .(7): given a test tube , it can dissociate every double strand in to couple of single strands.(8): given a tube , it can be used to describe each single strand in .(9): given a test tube and a single strand , it can append at back of each strand in the tube .(10): given a test tube , it discards the strands in tube and leave empty.

Since above operations are realized through the limited biological experimental procedures with DNA strands [18], we can reasonably conclude that each operation is in time complexity.

#### 3. Biological Algorithm for the Maximum Weighted Clique Problem

An undirected simple graph is a pair of vertex set with corresponding vertex positive weight value and edge set . For a vertex subset , if , and can be linked by edge in the graph, then is called a clique of the graph , and simultaneously the clique weight is the sum of vertex weight in the . The solution of maximum weighted clique problem aims to seek a vertex clique of graph with maximal weight sum. For example, the undirected simple graph in Figure 1 is defined as the MVC problem.