Mathematical Problems in Engineering

Volume 2017 (2017), Article ID 1567378, 8 pages

https://doi.org/10.1155/2017/1567378

## Time-Free Solution to SAT Problem by Tissue P Systems

^{1}College of Computer Science, Chongqing University, Chongqing 400030, China^{2}College of Computer Engineering, Yangtze Normal University, Chongqing 408100, China

Correspondence should be addressed to Yueguo Luo

Received 15 December 2016; Revised 15 January 2017; Accepted 19 January 2017; Published 23 February 2017

Academic Editor: Nicolas Hudon

Copyright © 2017 Yueguo Luo 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

Tissue P systems are a class of computing models inspired by intercellular communication, where the rules are used in the nondeterministic maximally parallel manner. As we know, the execution time of each rule is the same in the system. However, the execution time of biochemical reactions is hard to control from a biochemical point of view. In this work, we construct a uniform and efficient solution to the problem with tissue P systems in a time-free way for the first time. With the P systems constructed from the sizes of instances, the execution time of the rules has no influence on the computation results. As a result, we prove that such system is shown to be highly effective for NP-complete problem even in a time-free manner with communication rules of length at most 3.

#### 1. Introduction

As a well-known NP-complete problem, problem has been widely used in artificial intelligence and electronic design automation. Many applications can be considered as a decision procedure to determine if a specific instance is or . As we know, some traditional algorithms, such as DP [1] and Wu’s method [2], have an exponential time complexity. Compared with these algorithms, solving the problem in a distributed and parallel manner may be an efficient method. Hence, we naturally consider the computing models in the framework of membrane computing, which can solve computationally hard problems efficiently.

Membrane computing is a new area of computer science in recent years. It is introduced by Păun in [3]. Since then, this research area has been widely concerned by researchers. The computing models are inspired by biological phenomena and biological characteristics like other methods of natural computing, such as particle swarm optimization algorithms, ant colony algorithms, and genetic algorithms. The models abstract computing ideas from the structure and function of individual cells and from complexes of cells, such as tissues and organs (including the brain). Based on these biological facts, there are mainly three types of P systems which have been introduced: cell-like P systems, tissue P systems, and neural-like P systems. In traditional tissue P systems, rules are used in a synchronous, parallel, and nondeterministic way. Note that evolution rules in each cell follow the principle of maximal parallelism. Therefore, NP-hard problems can be solved efficiently. Until now, many kinds of P systems can solve some NP-complete problems, such as [4–10], 3-coloring problem [11], and Hamiltonian cycle problem [12]. In addition, many new variants of P systems have equivalent computing power with Turing machine and to be Turing universal as language generators [13–15]. Inspired by some biological facts, several methods were proposed to produce new membranes in living cells: membrane division [5, 16], membrane creation [4], and membrane separation [7]. In this paper, we pay close attention to tissue P systems with cell division. In [16], tissue P systems with cell division were proposed. This computing model is inspired by the biological fact that cells are duplicated via mitosis. By this method, an exponential amount of cells can be generated. It has been proved that tissue P systems can solve some computational hard problems in polynomial time (even linear time). The first attempt in this topic was done in [16], where problem was solved by tissue P systems with cell division in polynomial time.

problem has been widely investigated by cell-like P systems [4–8]. However, it is rarely investigated by tissue P systems. In [9, 16], problem was solved by tissue P systems in polynomial time. However, in these works, each rule is assumed to be completed in one accurate unit time. Hence, every rule in these systems has the same execution time. However, the execution time of biochemical reactions is uncontrollable. Therefore, it is necessary to construct a system that works independently of the execution time of rules. The concept of time-free was first introduced in [17], and the open problems with solutions for NP-complete problems were formulated in [18]. Recently, some NP-complete problems have been solved in a time-free manner [19–23]. However, the model of these P systems is based on cell-like P systems. In this work, we solve problem with timed tissue P systems by cell division in a uniform way. As far as we know, there are no other relevant papers on solving problem with tissue P systems in a time-free manner.

The paper is structured as follows: firstly, we give brief descriptions of the basic model of tissue P systems with cell division. Then, timed P systems with tissue P systems to decision problems will be proposed. In Section 3, we prove that problem can be solved by tissue P systems in a time-free way. Finally, some formal details and conclusions are presented.

#### 2. Tissue P Systems with Cell Division

##### 2.1. Tissue P Systems with Cell Division

The membrane structures of tissue P systems are described by general graphs, where cells correspond to nodes of a graph, and communication channels correspond to edges between two nodes. If there exists a communication channel, objects can communicate between two cells (or a cell and the environment) with communication rules.

*Definition 1. *Formally, a tissue P system (of degree ) with cell division can be defined as the formwhere(i) is the finite nonempty alphabet of objects,(ii) is the set of objects, which are initially placed in the environment with arbitrary number of copies,(iii) are finite multisets over ,(iv) is output region of membrane structure, and it saves the results,(v) is a finite set of rules. There are mainly the following two forms:(a)communication rules: , where , , and and correspond to the cell and cell , respectively*.* When or , it corresponds to the environment. If and , a communication rule is called an antiport rule; otherwise it is a symport rule. When there are objects represented by multiset in cell and objects represented by multiset in cell , a communication rule can be applied. With applying this rule, the objects denoted by are sent into region ; at the same time, the objects denoted by are sent into region in the opposite direction. These objects can evolve by given rules in a synchronous, parallel, and nondeterministic way,(b)division rules: , where ; . Under the influence of the object present in a cell, this rule can be applied to divide the cell into two copies of cells (with the same label with ); object and object in the two cells can be generated, respectively. The remaining objects in the original cell enter the newly generated cells, respectively. When a cell is being divided, the division rule is the only one which is applied for that cell at that step.

Before the system begins to run, the initial configuration is represented by (); that is, objects denoted by are placed in the corresponding cells. We can get transitions between the configurations by applying rules of the system as described above. The current configuration is described by multisets of objects. Finally, the system will stop running. At that moment, there is no rule which is being applied, and no rule can be applied. In each cell, it must be stressed that the system works with the following principles:(i)Nondeterminism: for each computation step, rules and objects are nondeterministically chosen; that is, any possible execution of rules can start randomly.(ii)Maximal parallelism: at one computation step, if no other rules can be added to be applied, all rules which can be applied have to be applied to all possible objects.

##### 2.2. Recognizer Timed Tissue P Systems with Cell Division

A P system that generates (or accepts) the same family of vectors of natural numbers, independently of the value assigned to the execution time of each rule , is called time-free [18].

*Definition 2. *A recognizer timed tissue P system can be defined as the formwhere(i) is the finite nonempty alphabet of objects;(ii) is an (input) alphabet strictly contained in , and ;(iii) is the set of objects, which are initially placed in the environment with arbitrary number of copies;(iv) are finite multisets over ;(v) is a finite set of rules;(vi)we can specify the execution time of each rule by a mapping : , where is the set of nonpositive integers;(vii) is the input cell;(viii) is the environment, which saves the results;(ix)the working alphabet contains two distinguished elements and ;(x)all the computations halt;(xi)when the system halts, either object or (but not both) must appear in the environment.

The input multiset has been added to the contents of the input cell . Thus, we have an initial configuration associated with each input multiset. For the multiset over the input alphabet , the computation of the system with input starts as the form

At one step, if no rules can be applied to the current configuration and no rules are being applying, the system will stop running. In this case, the object of output cell is computing result in the stopping configuration. If the object appears in the environment when the system stops, it is an* accepting computation*; on the contrary, if the object appears, it is a* rejecting computation*.

*Definition 3. *A timed tissue P system with cell division is a pair , where Π is a tissue P system with cell division and represent the execution times of the rules. We denote by the timed tissue P system with cell division.

works in the following way: an external clock is supposed to mark time units of equal length, starting from time 0. If a rule from is selected to be executed, we denote as the time which the rule lasts. If the application of a rule starts at time , the execution of this rule terminates at time . It means that the rule lasts steps. The objects and the cells produced by the rule are not available until the beginning of step .

##### 2.3. Polynomial Complexity Classes of Recognizer Timed Tissue P Systems with Cell Division

*Definition 4. *Let be a decision problem (with answer), where is a set of instances and is a predicate over , and let be a family of recognizer P systems. We use* rule starting step* (RS-step, for short) to define the computation step in timed P systems [18].

Because the system works in a time-free manner, the execution time of each rule is no longer one accurate unit time. computes a solution of an instance, and the system works independently of any time mapping* e*. Hence, the systems can solve problem* X* in a time-free manner.

*Definition 5. *A decision problem is solvable in polynomial time and in uniform way by a family of recognizer timed tissue P systems, if the following holds:(1)The family is polynomially uniform with respect to Turing machines; namely, there exists a deterministic Turing machine which constructs the system with knowledge involving only the size of the problem for every instance of working in polynomial time.(2)There exists a pair of polynomial time computable functions over such that(i)for each instance , is a natural number and is an input multiset of the system ,(ii)the family is time-free sound with regard to . For each instance such that there exists an accepting computation if with input , we have ,(iii)the family is time-free complete with regard to . For each instance , if , then every computation of with input is an accepting one for any time mapping* e*,(iv)the family is time-free polynomially bounded with regard to ; namely, there exists a polynomial function such that for each , when all the computations in with input halt, there is at most RS-steps for any time mapping* e*.

For the set of decision problems, we denote it with which can be solved by recognizer timed tissue P systems and the length of evolution rules at most working.

#### 3. A Time-Free Uniform Solution to Problem Using Tissue P Systems

*Definition 6. *The problem is, for a Boolean formula of CNF, to look for whether or not there exists an assignment to its variables on which it is evaluated to be true [4].

The problem is a well-known NP-complete problem. This problem has been widely used in artificial intelligence and computer theories. Boolean formula containing* n* variables has values. By membrane division, we can obtain membranes in* n* steps. In addition, by the maximal parallelism, we can obtain polynomial (maybe, linear) solutions to NP-hard problems. In what follows, we will propose a time-free uniform solution to the problem; that is, P systems are constructed from the size of instances of the problem in a time-free manner.

Theorem 7. * problem can be solved by a uniform family of timed tissue P systems by cell division.*

*Proof. *For a formula with Boolean variables and clauses, its CNF form is input into P systems. Let us consider a propositional formula , consisting of clauses , where . , .

Let us consider the polynomial–time computable function (the pair function)It is a primitive recursive and bijective function from *ℕ*^{2} to *ℕ*.

The instance is encoded by multiset as follows:

We codify , where for , , by the multiset Next, we define a family of recognizer tissue P systems with cell division, which can process all instances provided the appropriate input multiset . The instance will be processed by the tissue P system with input . For the given variables and clauses, we construct the recognizer tissue P system as follows:where(i) is the finite alphabet of the system, *∪*, the objects in the mainly contain(a) denotes* true* of the Boolean value for the variable;(b) denotes* false* of the Boolean value for the variable;(c)the object means that the CNF is satisfiable;(d)the object means that the CNF is unsatisfiable,(ii) is the input alphabet contained in* O*,(iii)* E* is the arbitrary copies of objects in the environment, *∪*,(iv) () are finite multisets over , , ,(v) = 2 is the input cell; is the output region which saves the results,(vi)We can specify the execution time of each rule by a mapping : , where is the set of rules of . is the following set of rules.

*(a) Generation Phase*

*(b) Checking Phase*

*(c) Output Phase*The computing process consists of the following phases:(a)Generation phase: all assignments of variables can be generated by using membrane division. Finally, copies of membranes can be generated.(b)Checking phase: the system checks whether or not the formula has a truth assignment. If all assignments of variables cannot satisfy the clause, it means that there is no satisfiable solution; or it means that there is at least one satisfiable solution.(c)Output phase: the object of output membrane is computing result in the stopping configuration.

The multiset of an instance is introduced into input cell of the system, and we can get the initial configuration. In what follows, we will give an overview of computing process to show how the system works. In order to have a global understanding of the subsequent process of proof, we classify all the rules as follows:(i) are division rules which can be used to produce an exponential space.(ii)The rules and are used to check whether the corresponding clauses are satisfied by the assignment* true* or* false* of variable ().(iii)The rules from to are used for the next iteration of variable or preparing for checking phase.(iv)With the rules* R*_{15} and , the final detection results can be generated in each cell.(v)With the rules from* R*_{17} to* R*_{19}, the system sends to the environment the final answer.

*(a) Generation Phase*. Let be the execution time of the rules. Initially, cell 1 contains objects and ; cell 2 contains object* a*_{1}, . Object* a*_{1} in cell 2 corresponds to variable .

In general, objects in the cell with label 2 correspond to variable , . Boolean formula containing variables has values. By cell division, copies of cells can be generated in steps. Hence, we can obtain all the possible solutions of problem in the end. At step 1, the system starts running, and rules* R*_{1,1} and* R*_{17} can be applied at the same time. Rule* R*_{1,1} is a division rule, which can be applied to divide this cell into new cells with the same label. At the same time, object* a*_{1} evolves to objects* t*_{1,1} and in the two newly generated cells: object* t*_{1,1} corresponds to assignment* true* of variable , and object corresponds to assignment* false* of variable . In this process, there is only one RS-step because no other rules can be applied except for the rules* R*_{1,1} and* R*_{17}. When the execution of rule* R*_{1,1} finishes, a rule in (resp., ) can be enabled. These rules correspond to check whether the assignment (*true* or* false*) to the variable in each clause is satisfiable.

When object and object appear in cell 2 or object and object appear in cell 2, it means that the assignment of the current variable can satisfy the clause. At this moment, by the application of the first rule in (resp., ), object can be generated. When the execution of this rule has completed, the second rule in (resp., ) can be applied. By using the rule, object in cell 2 can be sent out the cell, and object can be generated, which represent that this clause can be satisfied by the assignment. For object (resp., ), , by using the rule , , or (resp., , , or ), the second component of the subscript will increase one by one. In general, for the current variable (), there are clauses; that is, the second component of the subscript can reach to in the end. Thus, when the application of all the rules in (resp., ) completes, object (resp., ) can be generated. Because the first two rules in and are started at the same time, these two rules take only one RS-step. In addition, we consider maximum number of rules in and , namely, and . Note that the two rules ( and ) cannot be executed together because the same variable in the same clause is either or . Therefore, it takes at most RS-steps to complete this process.

Figure 1 shows the division process of variables, which can be represented by a binary tree. Each variable of a CNF formula is divided into two parts in an iterative manner. Each node of the binary tree is assigned to* true* or* false*, which represents the assignment of a variable. Left and right subtree branches indicate the* true* value and the* false* value, respectively. For every iteration of variable , when the execution of rule (resp., ) finishes, at that moment, object (resp., ) can be generated in every cell with label 2. For example, for the iteration of variable in Figure 1, there are four copies of object (resp., ) generated at the same time. When division rule completes, the rules in and start simultaneously in each cell 2. For every cell containing object (resp., ), in which the same rules are applied, object (resp., ) in each cell with label 2 is generated at the same time. But and cannot be generated at the same time because the execution time of rules in and is different.