Time-Free Solution to SAT Problem by Tissue P Systems

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


Introduction
As a well-known NP-complete problem, SAT 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 SAT or UNSAT.As we know, some traditional SAT algorithms, such as DP [1] and Wu's method [2], have an exponential time complexity.Compared with these algorithms, solving the SAT 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 SAT [4-10], 3coloring 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][14][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 SAT problem was solved by tissue P systems with cell division in polynomial time.
SAT problem has been widely investigated by cell-like P systems [4][5][6][7][8].However, it is rarely investigated by tissue P systems.In [9,16], SAT 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][20][21][22][23].However, the model of these P systems is based on cell-like P systems.In this work, we solve SAT 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 SAT 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 SAT problem can be solved by tissue P systems in a timefree way.Finally, some formal details and conclusions are presented.

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  ≥ 1) with cell division can be defined as the form Π = (, ,  1 , . . .,   , ,  out ) , 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 ( 1 , . . .,   ); that is, objects denoted by  1 , . . .,   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.

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 form where (i)  is the finite nonempty alphabet of objects; (ii) Σ is an (input) alphabet strictly contained in , and Σ ∩  = 0; (iii)  ⊆  is the set of objects, which are initially placed in the environment with arbitrary number of copies; (iv)   (1 ≤  ≤ ) are finite multisets over ; (v)  is a finite set of rules; (vi) we can specify the execution time of each rule by a mapping :  → N, where N is the set of nonpositive integers; (vii)  in ∈ {1, 2, . . ., } is the input cell; (viii)  out is the environment, which saves the results; (ix) the working alphabet contains two distinguished elements yes and no; (x) all the computations halt; (xi) when the system halts, either object yes or no (but not both) must appear in the environment.
The input multiset has been added to the contents of the input cell  in .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 ( 1 , . . ., (  in + ) , . . .,   ) . ( 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 yes appears in the environment when the system stops, it is an accepting computation; on the contrary, if the object no 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  + () + 1.

Polynomial Complexity Classes of Recognizer Timed Tissue P Systems with Cell Division
Definition 4. Let  = (  ,   ) be a decision problem (with yes/no answer), where   is a set of instances and   is a predicate over   , and let Π = {Π() |  ∈ N} 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 Π = {Π() |  ∈ N} 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 (cod, ) of polynomial time computable functions over   such that (i) for each instance  ∈   , () is a natural number and cod() is an input multiset of the system Π(()), (ii) the family Π is time-free sound with regard to (, cod, ).For each instance  ∈   such that there exists an accepting computation if Π((), ) with input cod(), we have   () = 1, (iii) the family Π is time-free complete with regard to (, cod, ).For each instance  ∈   , if   () = 1, then every computation of Π((), ) with input cod() is an accepting one for any time mapping e, (iv) the family Π is time-free polynomially bounded with regard to (, cod, ); namely, there exists a polynomial function () such that for each  ∈   , when all the computations in Π((), ) with input cod() halt, there is at most (||) RS-steps for any time mapping e.
For the set of decision problems, we denote it with PMC TF-TP() which can be solved by recognizer timed tissue P systems and the length of evolution rules at most  working.

A Time-Free Uniform Solution to SAT
Problem Using Tissue P Systems Definition 6.The SAT 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 SAT 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 2  values.By membrane division, we can obtain 2  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 timefree uniform solution to the SAT problem; that is, P systems are constructed from the size of instances of the SAT problem in a time-free manner.
Let us consider the polynomial-time computable function (the pair function) It is a primitive recursive and bijective function from N 2 to N.
The instance  is encoded by multiset as follows: We codify , where for 1 ≤  ≤ , 1 ≤  ≤ , 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 cod().The instance  will be processed by the tissue P system with input cod().For the given  variables and  clauses, we construct the recognizer tissue P system as follows: Π SAT(,) = (, Σ, ,  1 ,  2 , , ,  in ,  out ) , The computing process consists of the following phases: (a) Generation phase: all assignments of variables can be generated by using membrane division.Finally, 2  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 yes/no 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)  1, (1 ≤  ≤ ) 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   (1 ≤  ≤ ).
(iii) The rules from  8,, to  14, are used for the next iteration of variable   or preparing for checking phase.
(iv) With the rules R 15 and  16, , 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 yes and no; cell 2 contains object a 1 , cod().Object a 1 in cell 2 corresponds to variable  1 .
In general, objects   in the cell with label 2 correspond to variable   , 1 ≤  ≤ .Boolean formula containing  variables has 2  values.By cell division, 2  copies of cells can be generated in  steps.Hence, we can obtain all the possible solutions of SAT 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  1,1 in the two newly generated cells: object t 1,1 corresponds to assignment true of variable  1 , and object  1,1 corresponds to assignment false of variable  1 .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  1 in each clause is satisfiable.
When object  1, and object  1, appear in cell 2 or object  1, and object  1, appear in cell 2, it means that the assignment of the current variable  1 can satisfy the clause.At this moment, by the application of the first rule in  2,, (resp.,  5,, ), object  , can be generated.When the execution of this rule has completed, the second rule in  2,, (resp.,  5,, ) 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  1, (resp.,  1, ), 1 ≤  ≤ , by using the rule  2,, ,  3,, , or  4,, (resp.,  5,, ,  6,, , or  7,, ), the second component of the subscript will increase one by one.In general, for the current variable   (1 ≤  ≤ ), there are  clauses; that is, the second component of the subscript can reach to  + 1 in the end.Thus, when the application of all the rules in   (resp.,   ) completes, object  ,+1 (resp.,  ,+1 ) 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,  2,, and  5,, .Note that the two rules ( 2,, and  5,, ) cannot be executed together because the same variable in the same clause is either   or ¬  .Therefore, it takes at most 3 − 1 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  ,+1 (resp.,  ,+1 ) can be generated in every cell with label 2. For example, for the iteration of variable  3 in Figure 1, there are four copies of object  ,+1 (resp.,  ,+1 ) generated at the same time.When division rule completes, the rules in   and   start simultaneously in each cell 2. For every cell containing object  ,+1 (resp.,  ,+1 ), in which the same rules are applied, object  ,+1 (resp.,  ,+1 ) in each cell with label 2 is generated at the same time.But  ,+1 and  ,+1 cannot be generated at the same time because the execution time of rules in   and   is different.
According to the analysis above, the applications of rules  8,1 and  9,1 start at different steps.When an object  1,+1 (resp.,  1,+1 ) is generated, rule  8,1 (resp.,  9,1 ) can be applied, by which cell 2 sends out object  1,+1 (resp.,  1,+1 ) to the environment and receives multiset  1  (resp.,  1 ) from the environment.Thus, the application of rule  8, (resp.,  9, ) can ensure that only one copy of object d can be generated in each cell with label 2. When the object  1 (resp.,    1 ) is generated in a cell 2, rule R 10,1 (resp.,  11,1 ) is applied, by which object  1 (resp.,  1 ) can be sent to cell 1.When the execution of both rule  10,1 and rule  11,1 finishes, rule  12,1 can be applied.At this moment, object  1 and  1 can appear in the cell 1.By using the rule  12,1 , object  1 and  1 in cell 1 can be sent out that cell.At the same time, object  2 enters the cell 1.
As we know, it is obvious that (  ) + ( 8,1 ) + ( 10,1 ) may not be equal to (  ) + ( 9,1 ) + ( 11,1 ) because the system works independently of the execution time of rules.Hence, the rule  12,1 is applied to solve synchronization problem of the rules.When the application of rule  12,1 finishes, the execution of all the aforementioned rules has completed.At that moment, cell 1 has one copy of object  2 .By using the rule  13,2 , two copies of object a 2 enter the cell 1.Note that each cell 2 has an object d; by using the rule  14,2 , each cell 2 will obtain one copy of object  2 simultaneously because of the principle of maximal parallelism; that is, all of the rules that can be applied must be applied simultaneously.Note that only one copy of object  appears in each cell with label 2; eventually, each cell 2 contains one copy of object  +1 .

Figure 1 :
Figure 1: The division process of variables.