1. Introduction
Membrane computing is a bio-inspired paradigm of computation, based on the structure and behavior of living cells. Introduced in 1998 by G. Păun [
1], giving birth to devices known as
membrane systems or
P systems. There are several different types of P systems, but three of them are specially studied: cell-like membrane systems [
1], whose tree-like structure characterizes the relation between its regions; tissue-like membrane systems [
2], defined as a set of cells that can interact between them and with the environment, and neural-like membrane systems [
3], having an explicitly defined directed graph as a relation of the neurons through synapses. The last paradigm is being intensely studied in practical applications, and different variants have been created to their use in different fields [
4,
5,
6] The paradigm of membrane computing is very wide, covering topics from theory [
7,
8] to applications [
9,
10,
11], dedicating a branch to simulators and in silico implementations [
12].
A widely studied question in this framework from the very beginning is which kind of problems can be solved by means of membrane systems. Membrane systems can differ in the type of objects with which they can compute (e.g., symbols, strings, matrices), the type of relation between the regions (e.g., hierarchical structure, directly connected membranes, cells implicitly connected by the rules) and the rules governing the computation of the system (e.g., object evolution rules, symport/antiport rules, division rules), among others. This variety of ingredients can change not only the type of problem that a P system can solve, but how efficiently can it solve a certain problem. More precisely, decision problems are usually studied in the field of computational complexity theory in order to classify them in complexity classes that contain problems that can be solved with a similar amount of computational resources [
13].
Recognizer membrane systems [
14] are P systems with certain ingredients, such as two special objects
and
, and requisites, such as all the computations halt and return the same result. The design of a family of recognizer membrane systems of a certain type
solving certain decision problems can reveal which kind of problems can be solved efficiently by means of that class of P systems.
A widely studied type of membrane systems in the field of computational complexity theory is the framework of tissue P systems with symport/antiport rules. In [
15], a polynomial-time solution to
was designed by means of a family of recognizer tissue P systems with symport/antiport rules of length at most five and division rules. In this type of P system, the length is defined as the number of objects implied in the symport/antiport rules of the system (e.g., the length of the rule
is
). This result was eventually improved in [
16], where the maximum number of objects implied in a communication rule was two. If only one object was allowed in communication rules, then only tractable problems could be efficiently solved, as demonstrated in [
17]. A similar frontier of efficiency was found by using separation rules instead of division rules in [
18,
19], but in this case, the frontier is from passing of communication rules of length at most two to length at most three, instead of passing from one to two. Some results about their relative environmentless counterparts were demonstrated in [
20,
21]. Symport/antiport rules were first introduced in tissue-like membrane systems, but later used in cell-like membrane systems, where results were surprisingly similar [
22,
23,
24,
25,
26,
27], giving a glance of the similarity of using both tree-like and directed graph structures.
In [
28], tissue P systems with evolutional symport/antiport rules were introduced, including in communication rules the capability to evolve the objects while traveling from one region to another one. In this type of P system, two different definitions of length can be cited: On the one hand, the length of an evolutional communication rule can be defined with a single number that is related with the number of objects in the whole rule (e.g., in the rule
is
); on the other hand, the length can be defined as a pair of numbers concerning the number of objects in the left-hand side and the right-hand side of the evolutional communication rules of the system (e.g., the length of the rule
is
). In [
29], several new results were presented, publishing some improvements from [
28,
30,
31,
32]. More precisely, in [
32] an efficient family of tissue P systems with evolutional communication rules of length at most
and division rules using the environment as an active agent of the system solving the
problem is presented. In this work, we investigate the role of evolutional communication rules in cell-like membrane systems that use division rules as exponential workspace-generating rules, and letting the environment as a mere agent that only receives the corresponding answer of the system.
The rest of the paper is structured as follows:
Section 2 is dedicated to introducing some terms used throughout the work. In the next section, cell P systems with evolutional symport/antiport rules and division rules are defined, and their recognizer versions are introduced.
Section 4 and
Section 5 are devoted to present a solution to the problem
by means of a family of P systems with evolutional communication rules and division rules of length at most
, and to prove the correctness of the solution. Finally, in
Section 6 the results of this paper are discussed, and comparatives with other classes of P systems are given, and some open research lines are proposed, besides a description of the work in progress.
2. Preliminaries
In this section, some concepts that will be used throughout the paper will be defined. The reader can find expanded and deeper information about formal languages and membrane computing in [
8,
33].
An alphabet is a non-empty (finite) set, whose elements are usually called symbols. A string over is a ordered finite succession of elements from . We denote the empty string by .
Given two sets A and B, the relative complement is defined as . For each set A, we denote by the cardinal (number of elements) from A.
A multiset can be described explicitly as follows: , and the notation will be used. The cardinal of a multiset over is defined as . We denote by the set of all the finite multisets over , and
Given two multisets and over , the union of the multisets, denoted as or , is the application over defined as: for each , . A multiset is included in , and it is denoted by , if for each .
3. P Systems with Evolutional Communication and Division Rules
In this section, the framework of cell-like membrane systems where evolutional communication rules and division rules are used is introduced.
Definition 1. A P system with evolutional symport/antiport rules and division rules of degree is a tuplewhere: Γ is a finite (working) alphabet;
is the environment alphabet;
μ is a rooted tree structure;
are the initial multisets of the membranes;
are the rules of the membranes of the system of the following form:
- –
, with ; in the case that , then u must contain at least one object from (evolutional send-in symport rules);
- –
, with (evolutional send-out symport rules);
- –
, with (evolutional antiport rules);
- –
, with , being the label of the skin membrane (division rules).
is the output region of the system.
A P system with evolutional symport/antiport rules and division rules of degree can be seen as a set of q membranes biyectively labelled by organized in the rooted tree structure , whose root node is the skin membrane, and such that (a) represents the set of objects that are situated in the environment an arbitrary number of times; (b) represents the initial multisets situated in the q membranes of the system; (c) is a distinguished region i that will encode the output of the system. The term region i will be used to denote the membrane i, in case , and to the environment in the case or . We will use and 0 indistinguishably as the label of the environment. If , it is usually omitted from the tuple.
A configuration at an instant t of such a system is described by the membrane structure of the P system at the instant t, the multisets of objects from in each membrane at that instant and the multiset of objects from situated in the environment. The initial configuration of is .
A evolutional send-in symport rule is applicable to a configuration at an instant t if there exists a region labelled by i that has at least a child membrane labelled by j and that it contains the multiset u of objects. The execution of such a rule in consumes the objects of u from such a region i, and it produces the multiset of objects in the child membrane j in .
A evolutional send-out symport rule is applicable to a configuration at an instant t if there exists a region labelled by i that has at least a child membrane labelled by j and the child membrane contains the multiset u of objects. The execution of such a rule in consumes the objects of u from such a region j, and it produces the multiset of objects in the child membrane i in .
A evolutional antiport rule is applicable to a configuration at an instant t if there exists a region labelled by i that contains a multiset of objects u and it has at least a child membrane labelled by j and the child membrane contains the multiset v of objects. The execution of such a rule in consumes the objects of u from such a region j and objects from v from such a region i, and it produces the multiset of objects in that membrane i and the multiset of objects in that membrane j in .
A division rule is applicable to a configuration at an instant t if there exists a region labelled by i that contains an object a. The execution of such a rule in consumes the object a from the membrane i, the membrane is duplicated with its contents included, and objects b and c are produced one in each new membrane created in .
As in tissue P systems with evolutional symport/antiport rules, two definitions of length (or size) can be described. On the one hand, the length of a evolutional communication rule can be ; on the other hand, it can be described as a pair . The first description corresponds with the sum of the cardinalities of all the multisets in the rule, while the second definition corresponds with the pair such that the first component corresponds with the sum of cardinalities of the left-hand side of the rule (LHS), and the second component corresponds with the sum of the cardinalities of the right-hand side of the rule (RHS). If r is a symport rule, then or .
We say that a configuration of a P system with evolutional communication rules and division rules produces a configuration in a transition step, denoted by and we say that is a next configuration of if we can pass from to applying the rules of according to the following principles:
At most one rule can be applied to each object of each membrane (selected in a non-deterministic way).
For each membrane i, either evolutional communication rules or a single division rule can be applied. In the case of applying evolutional communication rules at configuration , they would be selected in a non-deterministic, parallel and maximal way; that is, all the objects in the membrane i that can fire a rule, will fire it. In the case that a division rule is applied, it will be selected in a non-deterministic way. It can be seen as the division rule blocks the communication of the membrane with its corresponding parent membrane. All the rules are applied in an atomic way, but in order to be precise, it can be that two microsteps are executed: first, all the evolutional communication rules are executed, and then division rules are executed. It is worth taking this into account since a membrane i being divided can still communicate with its inner membranes in the same transition step.
A configuration is a halting configuration if no rules can be applied to such configuration at an instant t.
A computation of a P system can be described as a tuple , where each configuration can be obtained from , except for the initial configuration . We say that is a halting computation of length if the configuration is a halting configuration.
Recognizer membrane systems were introduced in [
14] as a way to solve decision problems. We define here recognizer P systems with evolutional communication rules and division rules.
Definition 2. A recognizer P system with evolutional communication rules and division rules of degree is a tuple , where:
is a P system with evolutional communication rules and division rules of degree q, withtwo distinguished objects that will represent the output of the system, and for ;
is the input alphabet;
is the label of the input membrane;
;
All the computations of Π halt.
Ifis a computation of Π, then either an object or an object , but not both, are sent to the environment in the last step of the computation.
Let be a recognizer P system of this type, then for each input multiset m over , we consider the system with input multiset m, and we denote it by . This is characterized by the fact that the multisets associated with the initial configuration of the system is: ; that is, it is obtained from the initial configuration of , by adding the multiset m to .
We define then a function whose domain is the set of computations of . Such a function will formalize the results or outputs of the system. If is a computation of the system , then (respectively, ) if the object (resp., object ) appears in the environment associated to the halting configuration of , but does not appear in any other configuration of . A computation will be called an accepting computation (respectively, a rejecting computation) if (resp., ). Computations of recognizer membrane systems always halt, and will return either or as a response. A recognizer membrane system with input multiset is confluent, in the sense that all the computations give the same answer; that is, given an input multiset m, all the computations of a recognizer membrane system with input multiset will be either accepting computations or rejecting computations.
The class of recognizer P systems with evolutional symport/antiport rules of length at most k (respectively, with length at most ) and division rules is denoted by (resp., ). If the environment does not play an active role, we say that it is a recognizer P system with symport/antiport rules of length at most k (resp., with length at most , i.e., LHS with length at most and RHS with length at most ) and division rules without environment, and we denote this class of systems by (resp., ).
In this work, a family of recognizer P systems will be used in order to solve decision problems. Let a decision problem. We say that X is solvable in polynomial time by means of a uniform family of recognizer P systems of the class , and we denote it by , if the following conditions hold:
- (a)
is polynomially uniform by Turing machines; that is, there exists a Turing machine that constructs in polynomial time.
- (b)
There exists a polynomial encoding of X such that:
- b.1
is polynomially bounded with respect to ; that is, there exists such that for each , each computation of runs, at most, for computation steps.
- b.2
is sound and complete with respect to .
4. Methods
Let
a propositional formula in CNF with
n variables and
p clauses. Let
and
contains
if the literal
is in the clause
,
if the literal
is in the clause
and
if the variable
does not appear in the clause
. Let the function
. Then, the system
will be the responsible of solving
. Let
a recognizer membrane system from
, where:
The working alphabet
The input alphabet .
Environment alphabet .
The set of rules contains the following rules:
- 6.1
Rules for generating all the necessary to simulate the environment.
- 6.2
Rules to generate p copies of the possible truth assignments. For that, “partial” truth assignments will be generated.
- 6.3
Rules to generate copies of .
- 6.4
Rules to check which clauses are satisfied.
- 6.5
Rules to check if all the clauses are satisfied by a truth assignment.
- 6.6
General counter.
- 6.7
Rules to return a negative answer.
- 6.8
Rules to return an affirmative answer.
- 6.9
Input membrane and output membrane .
In this section, the behaviour of a recognizer P system from solving an instance from is described. Let be a propositional logic formula in CNF, where . Then will be processed by the system , where and .
Let us note the set of all the elements from with the third subscript equal to k. Let us note the set of all the elements from without the third subscript.
The solution follows a brute force algorithm protocol in the framework of recognizer P systems with evolutional symport/antiport rules and division rules, and consists of the following stages:
4.1. Generation Stage
In the generation stage, different elements necessary for the rest of the computation are generated at the same time. First, in order to avoid the use of the environment to obtain
objects, it is necessary to use some of the synchronization protocols in [
32],
copies of the object
will be generated in membranes
through the rules from 6.1. These objects will be present in the membrane
at configuration
. For generating the different truth assignments, objects
and
will represent a partial truth assignment of the variable
in the following sense: Objects
and
, with
, would be incompatible, since two different values would be assigned to the same variable. Therefore, in order to remove this possibility, these two objects will be removed from the system by means of the rule
. After applying these rules, only “real” truth assignments would be present in the system. In fact, there can be assignments where a variables has not been assigned any value. In this case, it will not return a false positive. For generating the different
partial truth assignments,
computational steps should be applied, but since rules are fired in a non-deterministic way, and the removal of these incompatible variables could be applied in between the process of generation, at most
extra steps should be taken into account. Therefore, in configuration
, membranes labelled by
will contain all the possible truth assignments.
Besides, objects from will be sent into their corresponding membrane. From the second computational step, membranes will be duplicated in each step until having copies of the corresponding object from . These objects will be sent out to the membrane , and therefore in the configuration , copies of will be present in the membrane . In this configuration, the next stage begins.
4.2. First Checking Stage
In this stage, objects from will react with objects and through rules from 6.4. In this stage, an object will be generated in a membrane if and only if the truth assignment represented in that membrane makes true the corresponding literal. This stage takes one computational step. At the same time, counters and are being generated. will evolve by using objects as “catalysts”, and copies of the object will be present at the membrane at configuration . When this happens, the second checking stage starts.
4.3. Second Checking Stage
The -th step will consist of the application of the rule , creating an object in each membrane labelled by . At the same time, objects present in a membrane will remove the corresponding object ; that is, the absence of an object in a membrane represents that clause is satisfied by the corresponding truth assignment. The object will fire a rule if there exists an object in such a membrane. This stage takes exactly two computational steps.
4.4. Output Stage
In configuration
, the existence of an object
in a membrane labelled by
implies that no objects
remained in such a membrane; that is, that all clauses are satisfied by the corresponding truth assignment. Therefore, if there exists an object
in such a membrane, it implies that the formula
is satisfiable. Thus, two different scenarios can be observed. On the one hand, if the formula is satisfiable, there exists at least one membrane labelled by
at configuration
such that it contains an object
. In the next step, an object
will be generated in such a membrane, that will be sent out, first to membrane
as an object
, and finally to the environment as an object
. On the other hand, if the formula is unsatisfiable, no objects
remain in any of the membranes labelled by
at configuration
. Objects
will be sent to the membrane
and, in the next step, they will be sent back to any membrane
, taking into account that the target membranes are selected in a non-deterministic way. In the next step, as the object
still exists in membrane
, it reacts with an object
, transforming it into an object
at the skin membrane, and in the last step of the configuration, it will be sent out to the environment as an object
. It is important to take into account that, in the affirmative case, object
is consumed, and since only one object of this kind exists, objects
will not have any objects to react with. This stage takes exactly three computational steps, both in the affirmative case and in the negative case. In
Figure 1, a graphical description of this process is provided to clarify how this stage works.