Abstract

Tissue P systems with evolutional communication (symport/antiport) rules are computational models inspired by biochemical systems consisting of multiple individuals living and cooperating in a certain environment, where objects can be modified when moving from one region to another region. In this work, cell separation, inspired from membrane fission process, is introduced in the framework of tissue P systems with evolutional communication rules. The computational complexity of this kind of P systems is investigated. It is proved that only problems in class P can be efficiently solved by tissue P systems with cell separation with evolutional communication rules of length at most , for each natural number . In the case where that length is upper bounded by , a polynomial time solution to the SAT problem is provided, hence, assuming that a new boundary between tractability and NP-hardness on the basis of the length of evolutional communication rules is provided. Finally, a new simulator for tissue P systems with evolutional communication rules is designed and is used to check the correctness of the solution to the SAT problem.

1. Introduction

A cell is the basic unit of biological organization that constitutes all living organisms. There are many different types of biological cells, which have different specialized functions that maintain an organism working properly. Inspired by the structure and functioning of living cells, Păun proposed a computing paradigm in 2000 [1], called membrane computing, which has become an active research area (for other research domains of natural computing, one can refer to [2, 3]). A large number of theoretical models were proposed [46] and they have been used to solve various real problems [710]. These distributed and parallel computation models investigated in membrane computing are called P systems. In general, there exist two main families of P systems: cell-like P systems [1], which have a hierarchical arrangement of membranes described by a rooted tree (corresponding to cell-like membrane structure), and tissue-like P systems [11] or neural-like P systems [12], which have a net of cells or neurons described by a directed graph. An overview of membrane computing can be found in [13]. The present work deals with tissue-like P systems.

Inspired by the biological phenomenon of trans-membrane transport of couples of chemicals, communication P systems with symport/antiport rules were proposed in [14], where symport rules move objects (without evolution) between two regions in one direction, and antiport rules move objects (without evolution) between two regions in opposite directions. Later, symport/antiport rules were considered in tissue-like P systems [11], where cells are placed in nodes of a directed graph, and an arc between two nodes corresponds to a communication channel between cells placed in these nodes.

Since the notion of tissue P systems was proposed, numerous research topics have been arisen [1518], and various ingredients (energy, catalyst, mitosis, etc.) from other computational models were considered in the context of tissue P systems. In [19], tissue P systems with channel states controlling the communication between two regions were proposed, and several Turing universality results were achieved, where the systems work in a maximally parallel way with sequential behavior on channels. In [20], a general model of tissue P systems with channel states that allow us to model hybrid cooperating grammar systems was considered, where the results were established for strings and arrays.

Tissue P systems have been used to find polynomial time solutions to NP-complete problems. In [21], membrane division rules used in P systems with active membranes have been introduced into tissue P systems yielding tissue P systems with cell division, and a polynomial time uniform solution to the SAT problem was shown. Since then, tissue P systems with cell division were also considered to solve other NP-complete problems: bin packing [22], subset sum [23], vertex cover [24], and so on. Cell division rules have a replication functioning; that is, two new created cells by a division rule have exactly the same objects except for at most a pair of different objects. Inspired from membrane fission process, cell separation rules are another way to obtain an exponential workspace in polynomial time, but they do not have the duplication functioning; that is, when a cell is separated, the objects in the cell are distributed in each of the newly created cells. Tissue P systems with cell separation have also been used to solve NP-complete problems in polynomial time; one can refer to [25, 26] for these investigations.

Computational complexity theory in the framework of tissue P systems was introduced in [21] and it has been studied in [2730]. It was shown that in the framework of tissue P systems with cell division, only tractable problems can be efficiently solved by using communication rules with length at most one [31] (the length of such a rule is the total number of objects involved in it), but a uniform polynomial time solution to the HAM-CYCLE problem by a family of such P systems using communication rules with length at most two has been given [30]. On the other hand, in the framework of tissue P systems with cell separation, by using communication rules with length at most two, only tractable problems can be efficiently solved, but the SAT problem can be solved by this kind of P systems using communication rules with length at most three [26]. Moreover, frontiers between efficiency and nonefficiency in terms of the length of symport/antiport rules in the framework of cell-like P systems have been investigated in [32].

Tissue-like P systems with evolutional symport/antiport rules (TESA P systems, for short) were proposed in [33], where objects are moved from one region to another region and may be evolved during this process. In [33], the computational efficiency of TESA P systems with cell division (TESAD P systems, for short) was investigated. It is shown that a limit on the efficiency of TESAD P systems is provided with evolutional communication rules of length at most 2. However, when using evolutional communication rules of length at most 4, the SAT problem can be solved by TESAD P systems. However, it is still an open problem as formulated in [33] related to the role of evolutional communication rules in tissue P systems with cell separation from a computational complexity point of view.

During those computational complexity studies for new variants of P systems, the solutions designed for NP-complete problems are frequently difficult to follow, and requerying makes sure that the evolution of the systems is exactly as expected. In this context, the aid of computer tools to assist in both the design and verification tasks may be crucial, producing much more reliable solutions. In this sense, the development of P-Lingua [3436] implied a significant progress. This open source framework includes a standard language aiming to specify the elements of different types of P systems using a notation very close to the researchers in membrane computing community. Besides, it contains simulation engines for a number of P system types. On top of that, MeCoSim [37, 38] provides an additional layer of abstraction with a visual application where researchers can explore at a higher level the evolution of their solutions based on P systems.

In this work, we investigate tissue P systems with evolutional symport/antiport rules and cell separation (TESAS P systems, for short) from a computational complexity point of view.

Contributions of the present work are summarized as follows:(a)A variant of tissue P systems with evolutional symport/antiport rules, called tissue P systems with evolutional symport/antiport rules and cell separation (TESAS P systems, for short), and the corresponding recognizer version are proposed. In TESAS P systems, the length of an evolutional symport/antiport rule is defined as an ordered pair whose first component is the total number of objects involved in the left hand side (LHS) of the rule and the second component is the total number of objects involved in the right hand side (RHS) of the rule; that is, . The set of all recognizer TESAS P systems with evolutional communication rules of length at most is denoted by TSEC.(b)The computation efficiency of recognizer TESAS P systems is investigated in terms of the length of evolutional communication rules. It is shown that only tractable problems can be efficiently solved by families of systems from TSEC or from TSEC, for each natural number . We further show that the SAT problem can be solved in polynomial time by a family of systems from TSEC, hence, assuming that , a new boundary between tractability and NP-hardness on the basis of the length of evolutional communication rules, is provided.(c)A new simulator MeCoSim is designed in order to check the correctness of the solution to the SAT problem. By using the software MeCoSim, we can analyse the designed P systems, then run the simulation, and obtain the computation results.

2. Tissue P Systems with Evolutional Symport/Antiport Rules and Cell Separation

Let us start this section by recalling some notions from formal language theory used in this work; the reader can find details in [39].

An alphabet is a nonempty set. Any sequence of elements from is called a string over . The length of , denoted by , is the number of occurrences in of symbols from .

A multiset over an alphabet is a function from to the set of natural numbers . The multiplicity of a symbol in the multiset is . The support of is the set of symbols such that . A multiset is finite and its support is a finite set. The set of all finite multisets over is denoted by , and by we denote the set of all nonempty finite multisets over an alphabet , and the empty multiset is denoted by . The cardinal of a finite multiset , denoted by , is the sum of all multiplicities of elements in the support of . If and are multisets over , then we define the union of and , denoted by , as follows: , for each .

Definition 1. A tissue P system with evolutional symport/antiport rules and cell separation of degree is a tuple where (i) and are finite alphabets such that ;(ii), are nonempty sets such that and ;(iii) are multisets over ;(iv) is a finite set of rules of the following forms:(1)evolutional communication rules:(a), where , , , (evolutional symport rules);(b), where , , , (evolutional antiport rules);(2)separation rules:(a), where , , ;(v).

A tissue P system with evolutional symport/antiport rules and cell separation of degree , , can be viewed as a set of cells, labelled by such that (a) represent the multisets of objects initially placed in the cells of the system; (b) is the set of objects initially located in the environment of the system, all of them available in an arbitrary number of copies; and (c) represents a distinguished region which will encode the output of the system. We use the term region () to refer to cell in the case and to refer to the environment in the case .

A configuration at any instant of a TESAS P system is described by multisets of objects in each cell and the multiset of objects over in the environment at that moment. The initial configuration of is .

An evolutional symport rule is enabled at a configuration at an instant if there is a region from which contains multiset . By applying an evolutional symport rule, the multiset of objects in region from is consumed and the multiset of objects is generated in region from . An evolutional antiport rule is enabled at a configuration at an instant if there is a region from which contains multiset of objects and a region from which contains multiset of objects . By applying an evolutional antiport rule, (a) the multiset of objects in region from and the multiset of objects in region from are consumed; (b) the multiset of objects is generated in region from configuration ; and (c) the multiset of objects is generated in region from configuration . The length of an evolutional symport/antiport rule is an ordered pair of natural numbers: .

A separation rule is enabled at a configuration at an instant if there is a cell from which contains object and . By applying a separation rule to a such a cell , (a) object is consumed from such cell; (b) two new cells with label are generated at configuration ; (c) in the original cell , the objects from are placed in one of the new cells, while the other objects from are placed in another one.

The rules of a TESAS P system are applied in a maximally parallel manner, and we have the restriction that when a cell is separated at one transition step, no other rules can be applied for that cell at that step.

A transition from a configuration to another configuration is obtained by applying rules in a maximally parallel manner following the previous remarks. A computation of the system is a (finite or infinite) sequence of transitions starting from the initial configuration, where any term of the sequence other than the first is obtained from the previous configuration in one transition step. If the sequence is finite (called halting computation) then the last term of the sequence is a halting configuration, that is, a configuration where no rule is applicable to it. A computation gives a result only when an halting configuration is reached, and that result is encoded by the multiset of objects present in the output region .

A natural framework to solve decision problems is to use recognizer P systems; one can refer to [21, 29] for further details.

Definition 2. A recognizer tissue P system with evolutional symport/antiport rules and cell separation of degree is a tuple where(i)the tuple is a TESAS P system of degree , where strictly contains an (input) alphabet and two distinguished objects yes, no, and () are multisets over ;(ii) is the input cell and is the label of the environment;(iii)for each multiset over the input alphabet , any computation of the system with input starts from the configuration of the form and always halts and either object yes or object no (but not both) must appear in the environment at the last step.

It is worth pointing out that, in any recognizer TESAS P systems, all computations halt. Then, any symport rule of the type must verify the following condition: multiset contains some object from .

For each ordered pair of natural numbers greater than or equal to 1, the class of recognizer TESAS P systems with cell separation and with evolutional communication rules of length at most is denoted by . This means that the LHS (resp., RHS) of any evolutional communication rule in a system from involves at most objects (resp., objects).

Next, we define the concept of solving a problem in a uniform way and in polynomial time by a family of recognizer TESAS P systems (see [40] for details).

Definition 3. A decision problem is solvable in a uniform way and in polynomial time by a family of recognizer TESAS P systems if the following conditions hold:(i)the family is polynomially uniform by Turing machines;(ii)there exists a polynomial encoding of in such that (a) for each instance , is a natural number and is an input multiset of the system ; (b) for each , is a finite set; and (c) the family is polynomially bounded, sound, and complete with regard to .

The set of all decision problems that can be solved by recognizer TESAS P systems with evolutional communication rules of length at most in a uniform way and polynomial time is denoted by .

3. The Computational Complexity of Tissue P Systems with Evolutional Symport/Antiport Rules

3.1. The Limitation on the Efficiency of

In this subsection, we use tissue P systems with cell separation and evolutional communication rules of length at most to provide a new characterization of the classical complexity class .

The proof uses a similar technique as in [32]. Firstly, some representations of TESAS P systems from are given. By (resp., ) we denote the set of communication rules (resp., separation rules) of . We will fix a total order in and a total order in . Because several cells with the same label are generated by using separation rules, in order to identify the different cells with the same label, the following recursive definition is used to modify the labels of the new generated cells:(i)We denote the label of a cell as a pair , where and is a binary string.(ii)If a separation rule is applied to a cell with label , then the new created two cells will be labelled by and , respectively. We mention that, for the system during any computation, we consider a lexicographical order over the set of labels of cells.

Note that if communication rules occur in two cells, then the labels of these two cells do not change.

A configuration at an instant of a tissue P system from is described by the multisets of objects over contained in each cell and the multiset of objects over in the environment. Hence, a configuration of can be described as follows:

Let , , be an evolutional symport rule of and . We denote by the multiset of objects and the corresponding the multiset of objects . In a similar way, and are defined when is of the form .

Let , , be an evolutional symport rule of and . We denote by the multiset of objects , and the corresponding is . In a similar way, and are defined when is of the form .

Let , , be an evolutional symport rule of and . We denote by the multiset of objects and we denote by the corresponding the multiset of objects . In a similar way, and are defined when is of the form .

Let , , be an evolutional symport rule of and . We denote by the multiset of objects The corresponding is . In a similar way, and are defined when is of the form .

Let , , be an evolutional antiport rule of and . We denote by the multiset of objects and the corresponding the multiset of objects . In a similar way, and are defined when is of the form .

Let , , be an evolutional antiport rule of and . We denote by the multiset of objects , and the corresponding is .

Let , , be an evolutional antiport rule of and . We denote by the multiset of objects and we denote by the corresponding the multiset of objects

Let , , be an evolutional antiport rule of and . We denote by the multiset of objects and we denote by the corresponding the multiset of objects .

Let , , be an evolutional antiport rule of and . We denote by the multiset of objects The corresponding is .

If is a configuration of , then the multiset obtained by replacing in every occurrence of by is denoted by . Moreover, we denote by (resp., ) a multiset of labelled objects added to (resp., removed from) the configuration .

Next, we show that TESAS P systems from can only solve tractable problems.

If of () is a halting computation, then we denote by the length of . For each , the multiset of objects over contained in all cells labelled by at configuration is denoted by . We denote by the multiset of objects over contained in the environment at configuration . Finally, the finite multiset is denoted by .

Lemma 4. Let be a recognizer tissue P system of degree from . Let and let be a computation of . Then, one has(1), and for each , , ;(2)for each , , ;(3)the number of created cells along the computation by the application of cell separation rules is bounded by .

Proof. (1) Let us notice that Let be a recognizer tissue P system from and let be the set of rules associated with , which contains the following types of evolutional communication rules:(a), () or ();(b), () or ();(c), ;(d), ;(e), ;(f), () or ();(g), () or (). For each , , in the transition from configuration to configuration , by using any rules of types from (a) to (g), at least one object from is consumed and at most one object is produced in . Hence, in any transition step the number of objects in the system is not increased.
(2) By induction on , let us start analyzing the basic case . The result is trivial because of . By induction hypothesis, let us suppose the result holds for , . Then, Hence, the result is also true for .
(3) According to the fact that the application of a cell separation rule consumes an object and produces two new cells, result (3) can be obtained from (2) easily.

Next, a deterministic algorithm working in polynomial time is presented, which receives as input a P system from and an input multiset of , in such manner that algorithm reproduces the behaviour of a computation of . If the system is confluent, then the algorithm will provide the same answer of . We give Pseudocode 1 of the algorithm to describe the simulation process.

Input: A P system    from  TSEC  and an input multiset  
Initialization phase:   is the initial configuration of  
while    is a non-halting configuration  do
Selection phase: Input  ,Output  
Execution phase: Input  , Output  
end while
Output: Yes  if    has an accepting computation,  No  otherwise

The algorithm receives a recognizer tissue P systemfrom and an input multiset . Let . Let any computation of perform at most ( is a natural number) transition steps. Hence, from Lemma 4, the number of cells in the system along any computation is bounded by .

A transition of a recognizer tissue P system is performed in two phases: selection phase and execution phase (see Algorithms 1 and 2). For the detailed information of a transition of such P system, one can refer to [32].

Input:  A configuration    of    at instant  
;  ;  
for  , according to the order
chosen  do
for  each pair of cells  ,    of    according to the
lexicographical order  do
  maximum number of times that    is applicable to  ,
if    then
end if
end for
end for
for    according to the order
chosen  do
for  each cell    of    according to the lexicographical
order  do
  maximum number of times that    is applicable to  
if    then
end if
end for
end for
for    according to the
order chosen  do
for  each    according to the lexicographical
order,and  such that    do
end for
end for
Input:  The output    of the selection phase
for  each    do
end for
for  each    do
end for
for  each    do
for  each    according to the lexicographical
order  do
if    then
else
end if
end for
end for

It is easy to check that Algorithm 1 is deterministic and the running time of this algorithm is polynomial in the size of because the number of cycles of the first main loop for is of order ; the number of cycles of the second main loop for is of order ; and the number of cycles of the third main loop for is of order .

Algorithm 2 is deterministic and the running time of this algorithm is polynomial in the size of because the number of cycles of the first main loop for is of order ; the number of cycles of the second main loop for is of order ; and the number of cycles of the third main loop for is of order .

Theorem 5. One has .

Proof. Because is closed under polynomial time reduction and nonempty, hence . In what follows, we show that . Let and let be a family of recognizer tissue P systems from TSEC solving according to Definition 3. Let be a polynomial encoding associated with that solution. If is an instance of the problem , then will be processed by the system . We consider the deterministic algorithm as shown in Algorithm 3.
The algorithm receives an instance of the decision problem , working in a polynomial time. The following three assertions are equivalent:(i); that is, the answer of problem to instance is affirmative.(ii)Every computation of is an accepting computation.(iii)The output of the algorithm with input is Yes. Hence, .

Input:  an instance    of the problem  
Construct the system  
Run algorithm    with input  
Output:  Yes if    has an accepting computation
No otherwise

Corollary 6. For each , , one has .

Proof. Indeed, it suffices to notice that, at any transition step, the application of each rule consumes at least one object from and produces at most one object from . Thus, along any computation of the system, the total number in it is not increased.

Theorem 7. For each , , one has .

Proof. In [31], it was shown that the class of decision problems solvable in polynomial time by means of families of tissue P systems with cell division and symport rules with length 1 is equal to class P. Bearing in mind that systems from are noncooperative ones, the dependency graph technique used in the cited paper can be used to obtain the result, in a similar way.

3.2. An Efficient Solution to the SAT Problem by P Systems in

The SAT problem is a well-known NP-complete problem; here we give an efficient solution to the SAT problem by a family of tissue P systems with evolutional communication rules of length at most .

Theorem 8. One has SAT  .

Proof. We provide a polynomial time uniform solution to the SAT problem [41] by a family of recognizer tissue P systems from . Each system () can process all Boolean formula in conjunctive normal form with variables and clauses.
For each , we consider the recognizer tissue P system whereand the set of rules consists of the following rules:We consider a propositional formula , which contains () clauses, , for , and , for , .
Let be a polynomial encoding of instances from SAT in , where and . So the propositional formula will be processed by the system .
An instance of the SAT problem is solved by the system , which can be separated into three phases: generation phase, checking phase, and output phase.
Generation Phase. In this phase, by using separation rules in cell with label 1, all truth assignments for the variables associated with the Boolean formula will be generated. When this phase completes, there are copies of cell with label 1 such that each of them encodes a different truth assignment of variables .
The generation phase takes steps, which has two parallel processes. On the one hand, loops are executed, and each loop takes four steps. When the loops are completed, three additional steps are executed. On the other hand, there is a counter object in cell 3 that evolves from to , and objects , () are produced in cell 3 after steps at this phase.
In the initial configuration, we have objects , in cell 1, objects , , , in cell 2, and objects , , , in cell 3.
In what follows, we first analyze the computation process that takes place in cells 1 and 2; then we explain the computation process that takes place in cell 3.
At the first step of the th () loop involving cells 1 and 2, by using rules , objects , , , in cell 1 are sent to cell 2 and evolved to , , , , respectively; simultaneously, objects , , , in cell 2 are sent to cell 1 and evolved to , , , , respectively. By applying rule , object in cell 2 is consumed, and object in the environment is sent into cell 2 and evolved to . By using rule , object in the environment is sent into cell 2 and evolved to , and object in cell 2 is consumed. By using rules , objects , , , in cell 2 are sent to the corresponding cell 1, respectively; simultaneously, objects , , , in cell 1 are consumed.
Note that at the first step of the 1st loop involving cells 1 and 2, only rules , , , are applied; at the first step of the 2nd loop involving cells 1 and 2, only rules , , , , , , , are applied.
At the second step of the th () loop involving cells 1 and 2, by using rules , objects , , , in cell 1 are exchanged with objects , , , in the environment, and objects , , , are produced in cell 1, respectively. By applying rules , objects , , , are produced in corresponding cell 2, respectively. Object in cell 2 is exchanged with object in the environment by using rule , and two copies of object are produced in cell 2. By applying rule , two copies of object are produced in cell 2. By applying rules , , objects , in the environment are sent into corresponding cell 1 and evolved to , , respectively.
Note that at the second step of the 1st loop involving cells 1 and 2, only rules , , , , , are applied.
At the third step of the th () loop involving cells 1 and 2, by using rules , objects , , , in cell 2 are exchanged with objects , , , in the environment, respectively; objects , , , are sent to the environment and consumed, and objects , , , are sent into cell 2 and evolved to . By applying rules , objects , , , are produced in corresponding cell 1, respectively. By using rule , object in cell 2 is sent to the environment and consumed; simultaneously, object in the environment is sent into cell 2 and evolved to . By using rule , object in cell 2 is sent to the environment and consumed; simultaneously, object in the environment is sent into cell 2 and evolved to .
Note that at the third step of the 1st loop involving cells 1 and 2, only rules , , , , , , , are applied.
At the fourth step of the th () loop involving cells 1 and 2, by using rule , object is consumed, and the objects from already existing in cell 1 are placed in the first cell, while those from are placed in the second cell. By using rules , objects , , , , , in cell 2 are sent to the environment and consumed; simultaneously, objects , , , , , in the environment are sent into cell 2 and evolved to , , , , , , respectively.
Note that at the fourth step of the 1st loop involving cells 1 and 2, only rules , , , , , are applied.
At step , rules , are enabled. By applying rules , objects , , , in each cell 1 are changed to objects , , , , respectively. By using rule , object in cell 2 is sent to the environment; simultaneously, object in the environment is sent into cell 2 and evolved to two copies of object . By applying rules , , each cell with label 1 will produce an object .
At step , by using rules , , objects , in each cell 1 are changed to objects , , respectively.
At step , rules , are enabled and applied, and objects , in each cell 1 are changed to , , respectively.
At the first steps of the generation phase, by using rules , copies of objects , are produced in cell 3.
Checking Phase. This phase takes steps and consists of a loop with iterations, where each iteration takes three steps.
At the first step of the th loop (), objects , (resp., , ) in cell 1 are exchanged with object (resp., ) in cell 3 by using rule (resp., ), in case cell 1 encodes a truth assignment making clauses true. Note that if a cell with label 1 contains a truth assignment that does not make the clause true, the computation will stop in that cell when rule or rule is applied. When using rule (resp., ), object (resp., ) is sent into cell 1 and evolved to (resp., ); simultaneously, objects , (resp., , ) in cell 1 are sent to cell 3 and consumed. In addition, counter object in cell 3 is evolved.
At the second step of the th loop (), if a cell with label 1 contains object (resp., ), then rule (resp., ) is enabled and applied, and object (resp., ) in cell 1 is sent to cell 3; simultaneously, object in cell 3 is sent to the corresponding cell 1 and evolved to (resp., ). Moreover, counter object in cell 3 is evolved.
At the third step of the th loop (), rule (resp., ) is enabled in cell 1 in case object (resp., ) appears in that cell. By using rule (resp., ), object (resp., ) in cell 1 is sent to cell 3 and consumed; simultaneously, object (resp., ) in cell 3 is sent into corresponding cell 1 and evolved to , (resp., , ). In addition, counter object increases its subscript.
Output Phase. In this phase, the system sends the right answer into the environment according to the result of the previous phase.
If the input formula is satisfiable, then there exists at least one cell with label 1 that contains object after steps. In this case, at step , by using rule , object will present in cell 3; simultaneously, rule is enabled and applied; object in cell 3 is sent into the corresponding cell 1 and consumed; object in cell 1 is sent into cell 3 and evolved to yes, which will be sent to the environment at the next step by using rule , and the system halts, and the answer of the system is affirmative.
If the input formula is not satisfiable, then there is no cell with label 1 that contains object after steps. In this case, at step , only rule is enabled and applied, and object will appear in cell 3. At step , if object appears in cell 3, then rule is applied, objects , are sent to the environment and evolved to no, the system halts, and the answer of the system is negative.
From the computation process, we can check that rules of a system of the family are defined recursively from values and , and the necessary resources to build each such system are as follows:(i)size of the alphabet: ;(ii)initial number of cells: ;(iii)initial number of objects: ;(iv)number of rules: ;(v)maximum length of a rule (the total number of objects involved in a rule): . Hence, there exists a deterministic Turing machine that builds the system in a polynomial time with respect to and . So the family is polynomially uniform by Turing machines.
The tissue P system with input multiset always halts and sends object yes or no to the environment at the last step, that is, at step . Hence the family is polynomially bounded.
According to Definition 3, the family of recognizer tissue P systems from solve SAT problem in linear time. Hence, the theorem holds.

Corollary 9. One has .

Proof. The theorem holds because the SAT problem is NP-complete, SAT  , and the class is closed under polynomial time reduction and under complement.

Corollary 10. For each natural number , one has .

Proof. It suffices to notice that for each natural number the following holds: .

Figure 1 illustrates the results obtained in this paper as well as some open problems. The point represents the complexity class . The green circles correspond to class P, the red circles correspond to a class containing , and the black circles correspond to open problems.

4. A Software Tool to Aid in Formal Validation

The solution to the SAT problem by TESAS P systems is very complicated (see Theorem 8), not obviously a trivial solution, easy to follow and check. In order to evaluate the correctness of the solution to the SAT problem by TESAS P systems, a visual application was provided (see Algorithm 4 for extensive details). With this software, P systems designers could analyse carefully the design proposed; in addition, end users were able to introduce their propositional formulas visually, then run the simulations, and finally get the results.

@model<tsec>
def  main()
call init_membrane_structure();
call init_first_alphabet(m,n);
call init_second_alphabet(m,n);
call init_environment(m,n);
call init_multisets(m);
call init_rules(m,n);
call define_input();
definit_membrane_structure()
@mu = [  [  ]’1  [  ]’2  [  ]’3  ]’0;
/* @ms1 is  *$Gamma_0  =  GammasetminusGamma_1$*),including  *$SigmacupmathcalE$*) */
/* Some special symbols as a bar, tilde, hat or prime are replaced in
P-Lingua plain text file with suffixes b (bar), t (tilde), h (hat) or
p (prime), respectively. Thus,  *$∖hatA'$*) is written as Ahp ("A hat prime").*/
def  init_first_alphabet(m,n)
@ms1 += Ai,Abi,Abpi,Ahi,Ahpi,Bi,Bbi,Bbpi,
Bhi,Bhpi,Cbi,Ti,Tbi,Fi,Fbi,ai,
api,bi,bpi,ci,ti,fi,hi,yi,si,
vi,wi,zi  : 1<=i<=n;
@ms1 += Dbi,j,qi,j,ri,j,ui,j  : 1<=j<=n,1<=i<=n;
@ms1 += Dbi,n+1  : 1<=i<=n+1;
@ms1 += gi,j,k,gbi,j,k  : 1<=k<=n,1<=j<=m,1<=i<=n;
@ms1 += Ei,j,Ebi,j,ei,j,ebi,j,lj,i  : 1<=j<=m,1<=i<=n;
@ms1 += lj,lbj,lj,0,Ej  : 1<= j <= m;
@ms1 += An+1,Abn+1,Bn+1,Bbn+1,Cbn+1,Em+1,
S,p,yes,no;
/* Input alphabet  *$Sigma$*) */
@ms1 += xi,j,nxi,j  : 1<=j<=m,1<=i<=n;
/* Environment alphabet  *$mathcalE$*) */
@ms1 += Ati,Bti,abi,ati,bbi,bti,cbi,cti,dti,
tbi,fbi,sti,vbi,vti,n+1,wti,ybi,yti,
zti  : 1<=i<=n;
@ms1 += rbi,j,rti,j,uti,j,vti,j  : 1<=j<=n,1<=i<=n;
@ms1 += gpi,j,k,gbpi,j,k  : 0<=k<=n,1<=j<=m,1<=i<=n;
@ms1 += lbj,k  : 0<=k<=n,1<=j<=m;
@ms1 += ali,albi  : 0<=i<=4*n+3*m+4;
@ms1 += E0;
def  init_second_alphabet(m,n)
@ms2 += Tpi,Fpi  : 1<=i<=n;
@ms2 += Api,Bpi  : 2<=i<=n+1;
def  init_environment(m,n)
@ms(0) += Ati,Bti,abi,ati,bbi,bti,cbi,cti,
dti,tbi,fbi,sti,vbi,vti,n+1,wti,
ybi,yti,zti  : 1<=i<=n;
@ms(0) += rbi,j,rti,j,uti,j,vti,j  : 1<=j<=n,1<=i<=n;
@ms(0) += gpi,j,k,gbpi,j,k  : 0<=k<=n,1<=j<=m,1<=i<=n;
@ms(0) += lbj,k  : 0<=k<=n,1<=j<=m;
@ms(0) += ali,albi  : 0<=i<=4*n+3*m+4;
@ms(0) += E0;
def  init_multisets(m)
@ms(1) = A1,B1;
@ms(2) = Ab1,Bb1,Cb1,Db1,1;
@ms(3) = p,al0;
@ms(3) += li,0  : 1<=i<=m;
def  init_rules(m,n)
/* r_1,i */ [Ai]’1 [Abi]’2 –> [Abi]’1 [Ahi]’2;
/*  r_2,i  */ [Api]’1 [Abi]’2 –> [Abpi]’1 [Ahpi]’2;
/*  r_3,i  */ [Bi]’1 [Bbi]’2 –> [Bbi]’1 [Bhi]’2;
/*  r_4,i  */ [Bpi]’1 [Bbi]’2 –> [Bbpi]’1 [Bhpi]’2;
/*  r_5,i  */ [Cbi]’2 [vbi]’0 –> [vi]’2 []’0;
/*  r_6,i,j  */ [Dbi,j]’2 [vti,j]’0 –> [qi,j]’2 []’0   :1<=j<=n;
/*  r_7,i  */ [Ti]’1 [ti]’2 –> [ti]’1 []’2;
/*  r_8,i  */ [Tpi]’1 [ti]’2 –> [ti]’1 []’2;
/*  r_9,i  */ [Fi]’1 [fi]’2 –> [fi]’1 []’2;
/*  r_10,i  */ [Fpi]’1 [fi]’2 –> [fi]’1 []’2;
  : 1<=i<=n;
/* r_11,i */ [Abi]’1 [Ati]’0 –> [ai,api]’1 []’0  : 1<=i<=n;
/* r_12,i  */ [Abpi]’1 [Ati]’0 –> [ai,api]’1 []’0  :2<=i<=n;
/*  r_13,i  */ [Bbi]’1 [Bti]’0 –> [bi,bpi]’1 []’0  : 1<=i<=n;
/*  r_14,i  */ [Bbpi]’1 [Bti]’0 –> [bi,bpi]’1 []’0  :2<=i<=n;
/*  r_15,i  */ [Ahi]’2 [Ati]’0 –> [Ai]’2 []’0  : 1<=i<=n;
/*  r_16,i  */ [Ahpi]’2 [Ati]’0 –> [Api]’2 []’0  : 2<=i<=n;
/*  r_17,i  */ [Bhi]’2 [Bti]’0 –> [Bi]’2 []’0  : 1<=i<=n;
/*  r_18,i  */ [Bhpi]’2 [Bti]’0 –> [Bpi]’2 []’0  : 2<=i<=n;
/*  r_19,i  */ [vi]’2 [ybi]’0 –>  [yi*2]’2 []’0  : 1<=i<=n;
/*  r_20  */ [q1,1]’2 [rb1,1]’0 –> [r1,1]’2 []’0;
/*  r_21,i,j  */ [qi,j]’2 [rbi,j]’0 –> [ri,j*2]’2 []’0
: 2<=j<=n,  1<=i<=n;
/*  r_22,i  */ [ti]’1 [tbi]’0 –> [Ti,Tpi]’1 []’0;
/*  r_23,i  */ [fi]’1 [fbi]’0 –> [Fi,Fpi]’1 []’0;
  : 1<=i<=n;
/* r_24,i */ [Ai]’2 [cbi]’0 –> [ci]’2 []’0  : 1<=i<=n;
/* r_25,i */ [Api]’2 [cti]’0 –> [ci]’2 []’0  : 2<=i<=n;
/* r_26,i */ [Bi]’2 [cbi]’0 –> [ci]’2 []’0  : 1<=i<=n;
/* r_27,i */ [Bpi]’2 [cti]’0 –> [ci]’2 []’0  : 2<=i<=n;
/* r_28,i */ [ai]’1 [abi]’0 –> [Ti,Ai+1]’1 []’0  : 1<=i<=n;
/* r_29,i */ [api]’1 [ati]’0 –> [Fpi,Api+1]’1 []’0
: 1<=i<=n;
/* r_30,i */ [bi]’1 [bbi]’0 –> [Bi+1,S]’1 []’0;
/* r_31,i */ [bpi]’1 [bti]’0 –> [Bpi+1]’1 []’0;
/* r_32,i */ [yi]’2 [yti]’0 –> [zi,wi]’2 []’0;
/* r_33,i,j */ [ri,j]’2 [rti,j]’0 –> [si,ui,j]’2 []’0
: 1<=j<=n;
/* r_34,i */ [wi]’2 [wti]’0 –> [Abi+1]’2 []’0;
/* r_35,i */ [ci]’2 [dti]’0 –> [Bbi+1]’2 []’0;
/* r_36,i */ [zi]’2 [zti]’0 –> [Cbi+1]’2 []’0;
/* r_37,i */ [si]’2 [sti]’0 –> [ti,fi]’2 []’0;
  : 1<=i<=n;
/* r_38,j */ [u1,j]’2 [ut1,j]’0 –> [Db1,j+1,Db2,j+1]’2 []’0
: 1<=j<=n;
/* r_39,i,j */ [ui,j]’2 [uti,j]’0 –> [Dbi+1,j+1]’2 []’0
: 2<=j<=n, 2<=i<=n;
/* r_40 */ [S]’1 –> []’1 []’1;
/* r_41,i */ [Dbi,n+1]’2 [vti,n+1]’0 –> [hi*2]’2 []’0
: 1<=i<=n;
/* r_42 */ [An+1]’1 [Abn+1]’2 –> [E1]’1 []2;
/* r_43 */ [Apn+1]’1 [Bbn+1]’2 –> [E1]’1 []’2;
/* r_44,i */ [Ti,Tpi]’1 [hi]’2 –> [Tbi]’1 []’2;
/* r_45,i */ [Fi,Fpi]’1 [hi]’2 –> [Fbi]’1 []’2;
  : 1<=i<=n;
/* r_46,i,j */ [xi,j]’3 [gpi,j,0]’0 –> [gi,j,1*2]’3 []’0;
/* r_47,i,j */ [xbi,j]’3 [gbpi,j,0]’0 –> [gbi,j,1*2]’3 []’0;
/*r_48,i,j,k*/ [gi,j,k]’3 [gpi,j,k]’0 –> [gi,j,k+1*2]’3 []’0;
/*r_49,i,j,k*/ [gbi,j,k]’3 [gbpi,j,k]’0–>[gbi,j,k+1*2]’3 []’0;
  : 1<=k<=n-1;
/* r_50,i,j */ [gi,j,n]’3 [gpi,j,n]’0 –> [ei,j]’3 []’0;
/* r_51,i,j */ [gbi,j,n]’3 [gbpi,j,n]’0 –> [ebi,j]’3 []’0;
  : 1<=j<=m, 1<=i<=n;
/* r_52,j,k */ [lj,k]’3 [lbj,k]’0 –> [lj,k+1*2]’3 []’0
: 0<=k<=n-1, 1<=j<=m;
/* r_53,j */ [lj,n]3 [lbj,n]’0 –> [lj]’3 []’0  : 1<=j<=m;
/* r_54,i,j */ [Tbi,Ej]’1 [ei,j]’3 –> [Ei,j]’1 []’3;
/* r_55,i,j */ [Fbi,Ej]’1 [ebi,j]’3 –> [Ebi,j]’1 []’3;
/* r_56,i,j */ [Ei,j]’1 [lj]’3 –> [li,j]’1 [Ei,j]’3;
/* r_57,i,j */ [Ebi,j]’1 [lj]’3 –> [lbi,j]’1  [Ebi,j]’3;
/* r_58,i,j */ [li,j]’1 [Ei,j]’3 –> [Tbi,Ej+1]’1 []’3;
/* r_59,i,j */ [lbi,j]’1 [Ebi,j]’3 –> [Fbi,Ej+1]’1 []’3;
  : 1<=j<=m, 1<=i<=n;
/*r_60,i*/ [ali]’3 [albi]’0–>[ali+1]’3 []’0  : 0<=i<=4*n+3*m+3;
/* r_61*/ [Em+1]’1 [p]’3 –> []’1 [yes]’3;
/* r_62*/ [yes]’3 []’0 –> []’3 [yes]’0;
/* r_63*/ [al4*n+3*m+4,p]’3 []’0 –> []’3 [no]’0;
/* Input cell: 3 */
def  define_input()
@ms(3) += xbvariablei,clausei*valni,
xvariablei,clausei*vali  : 1<=i<=nvals;

As described in Algorithm 4 mentioned, the new tool extends the framework provided by P-Lingua and MeCoSim in terms of language accepted, simulation engines, and custom apps provided. We present all the aspects of the simulation in detail in Algorithm 4, but let us highlight the main features included at these different levels.

New Elements in P-Lingua Framework. Taking the existing P-Lingua syntax for P systems introduced in [25] as a starting point, some extensions in the syntax of the language had to be included for tissue P systems with evolutional symport/antiport rules. We can mention some of them:(i)New model type, tsec:@model<tsec>(ii)Communication rules with two cells in the right hand of the rule, as:[Ebi,j]’1 [lj]’3 –> [lbi,j]’1 [Ebi,j]’3  : 1<=j<=m, 1<=i<=n;[al4*n+3*m+4,p]’3 [  ]’0 –> [  ]’3 [no]’0;

Custom App Based on MeCoSim. A new visual app has been customised using MeCoSim for the solution of SAT with TESAS P systems, including a series of relevant elements:(i)Input tables to introduce the propositional formulas. The data introduced in these tables are then converted into parameters for the model that can be used to generate the corresponding .(ii)Use of existing SAT plugin to provide end users with a more natural way of introducing the formulas that are then converted to the format of the previous tables.(iii)Definition of the output showing in different formats if the formula is satisfiable or not, generated from the objects of the computation.

New Simulators for Tissue P Systems with Evolutional Rules. In the proof of Theorem 5, a deterministic algorithm was given to reproduce the behaviour of a computation of , with an input multiset coding the input of the system. To mimic the algorithm described, several simulators were developed to compute P systems in TSEC. These simulators present subtle differences to select the rules to be applied, all of them compliant with the semantics defined for these systems (more details in Algorithm 4). The main differences among them are the following:(i)Nondeterministic simulator: this simulator distinguishes two states (first communication rules are selected and later separation rules if no communication rules can be selected over a cell); this simulator visits cell by cell, according to its order of appearance in P-Lingua file; for each cell, the set of rules is shuffled and then applied as many times as possible, to guarantee maximality.(ii)Deterministic by cell: the selection phase keeps the same two states of the previous simulator, but the cells are visited according to the lexicographical order of their labels. The set of rules inside each cell is not shuffled, but visited according to P-Lingua file order.(iii)Deterministic by rule: this simulator is more similar to the deterministic algorithm described in the proof of Theorem 5. Thus, its selection phase, instead of going cell by cell (as the previous simulators), starts visiting at the most external level each rule. As described in Section 3, the rules are visited in the following order: direct communication between cells, then communication with environment, and finally separation, if possible; for each type of rules of the same type, it selects the rules following the order in the P-Lingua file.(iv)Deterministic by rule, lexicographically: it performs the computations as described in the proof of Theorem 5. In addition to the most external visit of the different set of rules, in the same order of the previous simulator, inside a specific type of rules, the cells are visited according to the lexicographical order of their labels, thus meeting the structure defined in the referred section.

Computer-Aided Design and Validation of Tissue P Systems with Evolutional Symport/Antiport Rules. The tools described played a significant role in the design, simulation, and validation of the solution for the SAT problem described in Theorem 8. Handling these complex solutions is hard and error-prone, and here the availability of the software tools helped significantly in the checking of the model and its properties, as detailed in the Appendix. Additionally, the development of the tools implied revisiting the general algorithms proposed for the model, thus paying attention to subtle details, given the need of reproducing every detail specified in the formal definition of the model, so these development tasks emerged as enriching complementary works to enhance the robustness of the computing models and their corresponding theoretical definitions.

5. Conclusions and Further Works

The computational complexity of tissue P systems with cell separation was first investigated in [29], where using communication rules with the length of at most 1, only tractable problems can be efficiently solved; and using communication rules with length at most 8, the SAT problem can be solved. In [42], it is shown that only tractable problems can be efficiently solved by tissue P systems with cell separation using communication rules with length at most 2; and the SAT problem can be solved by this kind of P systems using communication rules with length at most 3 [26]. In [33], tissue P systems with evolutional symport/antiport rules and cell division (TESAD P systems, for short) were proposed, where objects are moved from one region to another region and may be evolved during this process. It is shown that a limit on the efficiency of TESAD P systems is provided with evolutional communication rules of length at most 2; and when using evolutional communication rules of length at most 4, the SAT problem can be solved by TESAD P systems.

In this work, membrane fission as a mechanism to generate an exponential workspace (expressed in terms of number of membranes and number of objects) has been considered instead of membrane division, in the framework of tissue P systems with evolutional symport/antiport rules. The computational efficiency of this kind of tissue P systems has been investigated. In this context, the main contributions of the paper are the following: (a) only problems in class P can be efficiently solved by means of families of tissue P systems with cell separation and evolutional communication rules of length at most (or rules of length at most ), for each natural number ; (b) computationally hard problems can be solved in polynomial time by recognizer TESAS P systems when using evolutional communication rules of length at most , for each natural number ; and (c) a new MeCoSim based simulator has been designed to check the correctness of the solution to the SAT problem.

As future works, we propose the following:(1)In Section 3, a polynomial time solution to the SAT problem by means of a family of tissue P systems from TSEC has been provided. It remains open whether NP-complete problems can be efficiently solved by tissue P systems from TSEC. What about the computational efficiency of TSEC, for each natural number ? Moreover, the solution to the SAT problem in Theorem 8 has both evolutional symport rules and evolutional antiport rules. It is of interest to investigate the computational power of tissue P systems with cell separation that use only either evolutional symport or evolutional antiport rules.(2)In the framework of tissue P systems, the environment is a singular region since the objects initially placed in it have an arbitrary large number of copies. Tissue P systems with cell separation and without environment (the alphabet of the environment is empty) were considered in [43]. It would be interesting to analyze the computational efficiency of recognizer TESAS P systems when the alphabet of the environment is an empty set.(3)Besides much investigated maximal parallelism, several ways of using rules were also considered in membrane computing, such as flat maximal parallelism [44, 45]. It remains open what the computation power of recognizer TESAS P systems working in a flat maximally parallel manner is.(4)In [33], recognizer TESA P systems with cell division were introduced and the length of an evolutional communication rule was defined as the total number of objects involved in it. The computational efficiency of TDEC, the class of all recognizer TESA P systems with cell division using evolutional communication rules with length at most , was provided. We propose to analyze the efficiency of recognizer TESA P systems with cell division with respect to the length of evolutional communication rules given in this paper: . In fact, the solution to SAT problem provided in the cited paper corresponds to a family from TDEC. What about the computational efficiency of TDEC, for each natural number ?

Appendix

A Software Aid for Validation: Details and Remarks

The solution to the SAT problem by TESAS P systems is very complicated (see Theorem 8); it is not obviously a trivial solution, easy to follow and check. In order to check whether the solution to the SAT problem by TESAS P systems is correct, a custom visual application based on MeCoSim (http://www.p-lingua.org/mecosim/) was provided (see [25] for further study). With this software application, P systems designers could analyse carefully their design; in addition, end users were able to introduce their propositional formulas visually, then run the simulations, and finally get the results.

In what follows, we will develop a new simulator MeCoSim to check the correctness of the solution to the SAT problems.

Taking the existing P-Lingua syntax for P systems introduced in [25] as a starting point, we will introduce the syntax for tissue P systems with evolutional symport/antiport rules (that we will abbreviate referring to the class as ), along the following subsections. Then, we will provide a brief description about the simulators developed to run this kind of systems.

New Elements in P-Lingua Framework. P-Lingua framework includes up to now a significant number of P systems supported; however, it cannot obviously include elements not conceived so far. Therefore, if we want to simulate a new model, some elements might be necessary. The following types of rules were available for classical symport/antiport rules:(i);(ii).

The P-Lingua syntax for these classical types of communication rules was the following:[  T ]’1 <--> [  t ]’2;/ antiport rule $(1, T_1/t_i, 2))$ /[  E ]’3 <--> [  ]’0./ symport rule $(3, E_3/∖lambda, 0))$ /

Thus, the syntax tried to mimic the theoretical description of the computing model. This kind of rules might also be present in P systems in TSEC. However, in this new model, additional types of rules appear, and the previous ingredients are not enough, so P-Lingua language had to be extended to include the possibility of rules with two cells in the left hand side of the rule, as the ones described along the paper:(i), , ;(ii).

Model Specification. Any P-Lingua file defining a P system in TSEC must set tsec as its model, thus beginning such file with the sentence:@model<tsec>

The rest of the file will then define the main elements describing the P system, typically consisting of

These elements are described in detail in the following subsections. The sets of rules will include the new elements introduced by this work, and other subsections, without significant changes with respect to other existing models, are included here to make the work self-contained.

Cells Structure. Before starting with the translation of the elements explicitly written in , let us pay attention to the structure of the system. While the structure of cells is implicit in the definition above, which is deduced from , in P-Lingua, the structure of cells must be explicitly described. For instance, the structure of a tissue P system in with should be defined as follows:@mu = [  [  ]’1 [  ]’2 [  ]’3 ]’0;

As it can be seen, an external structure labelled by is included, representing the environment containing the three cells.

Alphabets. The first element appearing in the definition of a P system is , with partition divided into and . These alphabets are described in P-Lingua in the following way:@ms1 = a, b, c;/ Describe $∖Gamma_0$), containing the set $∖)$ /@ms2 = d, e, f;/ Describe $∖Gamma_1$), containing the set $∖)$ /

The alphabet of the environment is specified through the assignment of an initial set of elements to the environment, in the usual way to specify multisets in P-Lingua, but in this case with the target region 0 representing the environment. For instance, let us consider an alphabet of the environment as

It would be written in P-Lingua as@ms(0) = E;@ms(0) += al  : 0<=i<=4n+3m+4;/ $∖alpha_i$ is written as al/

Note that while a simple set can be assigned by the symbol =, the incremental inclusion of new elements requires the use of symbol +=. Otherwise, the previous assignment is replaced by the new one, not only between the first instruction and the second, but also for each iteration of the loop involving variable i.

No explicit definition of is given in P-Lingua. On the contrary, the corresponding symbols are introduced in or , thus being part of , and their use as elements of the input alphabet will be given by its inclusion in the input cell, which is also not explicitly given.

Definition of Initial Multisets. When defining P systems in , a relevant element to include is the multiset of objects initially present inside each cell, . This is performed through the assignment of the multiset to the label of the corresponding cell. Thus, given , it can be specified in P-Lingua as follows:@ms(1) = A, B;

Definition of Rules. The main focus of this work was on the study of the computational complexity of tissue P systems with evolutional symport/antiport rules. More specifically, relevant results regarding frontiers of the efficiency of P systems in were provided, and in this kind of systems the role of the evolutional rules was crucial. It is not therefore surprising that the most relevant ingredients included in P-Lingua framework as part of this work were the evolutional communication rules needed as part of the definition of the sets described below.(i), , ,(ii)

The grammar designed in P-Lingua for tsec includes the required elements, so that these rules can be specified as shown:[Ebi,j]’1 [lj]’3 –> [lbi,j]’1[Ebi,j]’3  : 1<=j<=m, 1<=i<=n;[al4*n+3*m+4,p]’3 [ ]’0 –> [ ]’3 [no]’0;

Note that the suffix b in some objects stands for bar, given the impossibility to express the top bars over the letters in plain text files. Apart from that, the design of the language tried to preserve the syntax as close as possible of that for defining the P systems throughout the paper. Thus, the first rule is an evolutional antiport rule involving cells 1 and 3, and the second one is an evolutional symport rule.

Input and Output Region. The last syntactic elements in the definition of P systems in TSEC are the input and the output region. There is no explicit definition of these elements in P-Lingua. Instead, some elements can be defined in MeCoSim website in relation with that input/output. Regarding the input, MeCoSim provides most user-oriented layer of the framework, allowing the customization of input tables in the user interface. The data introduced in these tables are then converted into parameters for the model that can be used to generate the corresponding .

Let us illustrate this with the solution for the SAT problem given in the previous section and whose P-Lingua file is given in Algorithm 4. A MeCoSim custom app has been defined, including an input table whose rows represent tuples (clause, variable, and value), so that, for each variable appearing in a clause and input formula, the value can be 1 if the variable appears in the clause in positive form and −1 if it is negated (see Figure 2). For each row i, the configuration given in MeCoSim defines parameters for variable, clause, and value; this last parameter is converted to other two parameters, and , each one being 1 if the value is 1 (resp., −1), and 0 otherwise.

In the given solution, the input cell is 3, so the input multiset is finally generated, from an input given by the input and automatically converted into parameters, with the following sentence in P-Lingua:def define_input ()@ms(3) += xbariable, clausevaln,xariable, clauseval  : 1<=i<=nvals;

As it can be seen, the assignment of objects to the input cell iterates over each pair (note that nvals is another parameter corresponding with the number of rows in the input table, that is, the number of pairs ). Thus, if row 1 of the input table states that variable 2 appears in clause 1 in negated form (resp., in affirmed form), then an object xb2,1 (resp., x2,1) is added to the input multiset, as expected by the definition of the input given in the previous subsection, where objects (resp., ) were described. It is worth noting at this point that the end user was provided with an additional aid to introduce their formulas, through a MeCoSim plugin for SAT that generates the information for the tables from a more user-friendly input format, as shown in Figure 3.

Regarding the output cell, again there is no explicit definition in P-Lingua, but the whole system will follow a computation; when a halting configuration is reached, one can interpret the output in many different ways. However, another mechanism in MeCoSim allows the customization of outputs to focus on the regions, objects, or results expected by the user. Thus, for SAT problem, a P system designer can pay attention to every object appearing inside each cell or in the environment, as shown in Figure 4; however, an end user interested in SAT problem itself will only focus on the final answer, given internally by the presence of object or in the environment in the last step of the computation and abstracted to the user by tables or charts as shown in Figure 5.

New Simulators for Tissue P Systems with Evolutional Rules. The main elements of the language designed for the specification of P systems in within the framework of P-Lingua have been described. In addition, some features have been shown concerning the interaction layer provided by MeCoSim, the introduction of inputs, and the visualization of results. However, nothing has been said about what happens with the specification of the P system given in P-Lingua and the input given by the end user, before the result actually appears. Obviously, the answer is clear: we need something able to generate the initial configuration of the P system and perform its computation until a halting configuration is reached.

In the proof of Theorem 5, a deterministic algorithm was given to reproduce the behaviour of a computation of , with an input multiset coding the input of the system. We will see that a simulator has been developed to mimic the algorithm described, but before that other alternative approaches have been followed to complement it. Thus, several simulators have been developed within the engine of P-Lingua, in order to perform the computations of P systems in . All the simulators follow a general schema:(1)Initialization(2)For each computation step, while some rules are applicable:(a)Selection of rules(b)Execution of rules

The initialization phase will set the initial structures needed by the algorithm, and the details are mainly technical, not considered very relevant for scientific purposes. Then, the main loop will run until a halting configuration is reached, that is, until no rule is applicable at a given computation step.

The selection phase will check which rules can be applied. The simulators developed present subtle differences in this phase, but all of them meet the semantics defined for this kind of newly defined systems. Thus, the maximality is guaranteed, and the applicability of the rules is the same in all the cases: the multisets present in the left hand side of the rules must be present in order to make a rule applicable. Besides, at most one selection rule can be performed over the same cell in a computation step, and the simultaneous execution of separation and communication rules in the same step affecting the same cell is not allowed. In addition, the simulators developed prioritize the selection of evolutional symport/antiport rules (abbreviated as communication rules), so that selection rules will only be applied to a cell if no evolutional symport/antiport rules can be selected affecting the cell. The main differences in the four simulators developed are the following:(i)Nondeterministic simulator: this simulator distinguishes two states (first communication rules are selected and later separation rules if no communication rules can be selected over a cell); this simulator visits cell by cell, according to its order of appearance in P-Lingua file; for each cell, the set of rules is shuffled and then applied as many times as possible, to guarantee maximality.(ii)Deterministic by cell: the selection phase keeps the same two states of the previous simulator, but the cells are visited according to the lexicographical order of their labels. The set of rules inside each cell is not shuffled but visited according to P-Lingua file order.(iii)Deterministic by rule: this simulator is more similar to the deterministic algorithm described in the proof of Theorem 5. Thus, its selection phase, instead of going cell by cell (as the previous simulators), starts visiting at the most external level each rule. As described in that section, the rules are visited in the following order: direct communication between cells, then communication with environment, and finally separation, if possible; for each type of rules of the same type, it selects the rules following the order in the P-Lingua file.(iv)Deterministic by rule, lexicographically: it performs the computations as described in the proof of Theorem 5. In addition to the most external visit of the different set of rules, in the same order of the previous simulator, inside a specific type of rules, the cells are visited according to the lexicographical order of their labels, thus meeting the structure defined in the referred section.

As a result of this selection phase, a set of rules will have been selected, verifying that every membrane with applicable rules has selected exactly one.

Then, the execution phase applies the change in the configuration, passing from to , removing the objects consumed by the selected rules, and adding the objects produced by the rules to the corresponding target indicators.

Computer-Aided Design and Validation of Tissue P Systems with Evolutional Symport/Antiport Rules. The tools described in the previous subsections have played a significant role in the design, simulation, and validation of the solution for the SAT problem described in Theorem 8. As mentioned at the beginning of the present section, handling complex solutions as the one presented here is not an easy task, frequently tedious end error-prone. Therefore, the availability of the software tools developed has provided a significant help in the checking of the model and its properties.

First of all, these tools include parsers to detect possible errors in P-Lingua files that could be translation errors or due to inaccuracies from the solution, maybe not meeting some features required by the computing model. Throughout the debugging process, we are informed about the rules that are being generated for the system, so that we can check that the expected sets of rules are actually available for the computation of the system, as shown in Figure 6. If some errors are detected, we are informed in Errors tab. Other possible alerts are given in Warnings tab.

In addition, parsing tab will show at the end the initial configuration of the system, thus allowing the P systems designer to contrast if the expected multisets were produced.

Once the solution has been proved correct after the debugging process, we can be interested in checking that the system evolves according to our manual traces; to do so, we can follow the computation step by step, informing about the rules applied for each step and the objects contained inside each region of every configuration, as shown in Figure 7.

In addition, several visual aids are available to ease the checking of information concerning alphabets, structure, or multisets inside each region. These aids can be visualized in any moment of the computation. An example of this kind of viewers is given in Figure 8.

Additionally, along with the checking of the specific solution, the development of this type of tools shows itself as a good way of revisiting the general algorithms proposed for the model, paying attention to subtle details, given the need of reproducing every detail specified in the formal definition of the model, so these development tasks emerge as enriching complementary tasks for the robustness of the computing models and their corresponding theoretical definitions.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this article.

Acknowledgments

The work of Linqiang Pan and Bosheng Song was supported by National Natural Science Foundation of China (61602192, 61772214, 61320106005, and 61033003), China Postdoctoral Science Foundation (2016M600592, 2017T100554), and the Innovation Scientists and Technicians Troop Construction Projects of Henan Province (154200510012).