DNA sequence design has a crucial role in successful DNA computation, which has been proved to be an NP-hard (non-deterministic polynomial-time hard) problem. In this paper, a membrane evolutionary algorithm is proposed for the DNA sequence design problem. The results of computer experiments are reported, in which the new algorithm is validated and out-performs certain known evolutionary algorithms for the DNA sequence design problem.DNA computing, membrane computing, P system, DNA sequence design
Citation:Xiao J H, Zhang X Y, Xu J. A membrane evolutionary algorithm for DNA sequence design in DNA computing. Chin Sci Bull, 2012Bull, , 57: 698706, doi: 10.1007 Membrane computing is an emergent branch of natural computing, first introduced by Paun [1]. This unconventional model of computation is a type of distributed parallel system, which is inspired by the structure and function of living cells. The devices of this model are called P systems.Roughly speaking, a P system consists of a cell-like membrane structure, in the compartments of which there are multisets of objects that evolve according to given rules in a synchronous, non-deterministic maximally parallel manner. Many different classes of such computing devices have already been investigated. Most of them are computationally universal, i.e., able to compute whatever a Turing machine can do [2][3][4], and are computationally efficient, i.e., able to trade space for time and in this way solve presumably intractable problems in a feasible time (e.g., [5][6][7][8][9]). Membrane computing is very attractive from a computational point of view because of its hierarchical structure and intrinsic parallelism. Evolutionary algorithms are robust optimization and search methods inspired by evolutionary processes occurring in natural selection and molecular genetics. They are approximation algorithms that seek a trade-off between solution quality and computational costs. The main features of evolutionary algorithms are the representation and evaluation of individuals, population dynamics, and evolutionary operators, such as selection, crossover, and mutation [10]. Evolutionary algorithms exhibit an intrinsic parallelism derived from dealing with multiple individuals, show remarkable adaptability and flexibility to various applications, and provide good search capabilities and robust results [11].Both P systems and evolutionary algorithms are natureinspired models and are used to solve complex problems; however, they are different with respect to the objects and rules used and in the computational strategies employed. While P systems represent a suitable formal framework for parallel-distributed computation, evolutionary algorithms are very effective for implementing different algorithms to solve numerous problems [11]. Thus, the possible interaction between P systems and evolutionary algorithms represents a fertile research field, as suggested by the list of 26 open problems in membrane computing [12]. The first attempt in this direction was by Nishida [13,14], who ...