Solving the Graph Problem on the Maximal Clique Problem on the P-Systems with Mitochondria Enzymes Layer

: P systems with mitochondria enzymes layer computing is a recent version of P systems; it integrates a new feature inspired from the enzymes gate of a natural cell to the cell-like P systems. The model of a computational layer is well known as a problem of Non-Deterministic (NP-complete) in polynomial time. In this paper, we propose a P systems with enzymes to solve one of the most NP-hard problems, which is the determination of the maximal clique in a given undirected graph. In this context, the evolution strategy proposed is based on using objects under the control of enzymes placed on layers.


Introduction
The concept of P systems with mitochondria enzymes on layers as introduced in [1] is a model of a cell-like P system consisting of the combination of P Systems [2,3] with the neuron brain [4], where the reactions processed in the regions of a P system are controlled by a set of enzymes placed on layers. It was initiated with the aim of: (1) extending the space of reactions, (2) improving the model of the basis P systems by integrating the features and/or considering the mechanisms of the biological model. To show how effective systems are and their applicability, some works that exploited the invoked systems well are cited. For instance, in P systems enzymes-based, Pãun et al. [5] propose a current approach to solve the NP-complete SAT problem which solvable in O (nm) time, in which n is the number of variables and m is the number of that written in the form of normal model. Thus, the authors have provided an in depth investigation into the computational complexity of the complex system and show that can be solvable even in the case of systems that do not even use the layer division and have only one layer. Another interesting work which has taken into account the concept of enzymes applied on layers is presented by Pãun et al. [6,7] which showed that P-systems with enzymes on layers can be solved in polynomial time just like the class of problems Polynomial Space (PSPACE-Complete). Therefore, we can conclude that these P-systems are computationally equivalent to the Turing machine.
Thus, among problems that require most execution time and considered to develop a finite solution in linear or polynomial time, maximal clique problem is a good example. This problem is well known as the algorithm computationally with other graph theory problems, for instances, the stable maximal independent set problem and the minimum nodes cover problem. As it is known that these are NP-hard problems, we understand that no solution of the polynomial time algorithms is expected to be found. Moreover, these problems are well known have several important practical applications; indeed, it will become very challenging to explore and enhance efficient, exact algorithms for many possible problems.
Thus, given a group of nodes which have edges between them, the problem on maximal clique has an objective to find the largest subset of vertices in which each point is in conjuction with every other node. Indeed, provided that the maximal clique problem has many applications in bioinformatics, computational chemistry, social networks, etc. several directions of research have been explored to find an "optimal" solution. For instance, Pardalos et al. [8] presented an efficient and precise parallel algorithm for the maximal clique on the graphs. The experiments on computation with sparse graphs with combination with the test graphs from applications are shown. The algorithm is parallelized using the message passing interface (MPI) standard. In [9], a practical algorithm for finding the maximal clique is proposed. It is based on colour classes and the backtracking technique. It already shown that the algorithm was tested on The Center for Discrete Mathematics and Theoretical Computer Science (DIMACS)-DIMACS graphs and provide the comparison with other well-known algorithms. Base on the experiments has shown the good performance and can achieve more than 10,000 times faster than other better known algorithms on some graph types.
Konc et al. in [10], provide in depth discussion of an algorithm in an undirected graph with the solution of maximal clique. There are some improvements on the approximate coloring algorithm that used to provide bounds to the size of the maximal clique. This approximate coloring algorithm was then expanded to include with the constraint on the dynamically varying bounds. The experiment showed that the resulting algorithm is significantly better in the term of computation time than the comparable algorithm. The implication of the processing speed of the maximal clique algorithm of varying the tightness of upper bounds dynamically during the search are investigated experimentally. In another interesting work presented by Pullan et al. [11], the authors introduced with the probabilistic stochastic on the adverse search algorithm that intend for the maximal clique problem. The adverse search algorithm alternates between phases of iterative improvement, during which suitable vertices are added to the current clique, and plateau search, during which the vertices of the current clique are changing with vertices not contained in the current clique. Thus, the authors showed empirically that the proposed algorithm achieves substantial performance improvements. In [12], Shinano et al. have already shown that the success in combining the latest results for the maximal clique problem with DIMACS. Therefore, several improvements of DIMACS gave a significantly increased performance, even if the some increment procedure of the problem is much complex than the processing time base on the link used. Consequently, more than 20 previously open problems that taken from from DIMACS benchmarks were solved using 71 networked work-stations.
Finally, whether we consider the biological context of layer computing or not, a novel contribution consisting in adding some biological concepts like DNA molecules is introduced by Ouyang et al. [13] to solve by means of the molecular biology technique for the maximal clique problem. On the current research, a collection of DNA molecules that corresponds with the total ensemble of 20-node cliques was built, that accompanied with series of selection processes. The algorithm was design on the parallel and shown with very good satisfactory result.
This paper aims to provide the alternative solution for the maximal clique problem based in P systems with mitochondria enzymes on layers which involves the layer objects rules, division and dissolution rules under the control of multisets of Mitochondria enzymes. The rest of the paper is organized as follows. Section 2 shows the inherent concepts of P systems based on mitochondria enzymes. Hence, the main rules used in developing the proposed algorithm were reported. Section 3 describes in further detail of the functioning of the proposed approach in order to finally reach the maximal clique of a given graph. Section 4 will provide with the numerical example and sensitivity analysis and Section 5 will provide the concluding of the work.

P Systems with Enzymes on Layers
Layer systems or P systems are already known as a class of parallel modified algorithm and classified as non0deterministic algorithm that are inspired by the structure and the functions of living cells. The fundamental structure of a P system [2,3,14] is a levelling arrangement of layers that delimits structure called also areas; each area contains collection of objects. The components of the system will be developed gradually by a set of rules associated with the areas, which are classified in three main types [2]: the rewriting of multiset that transformed the objects into another one or introduced a new one; the relationship rules which bring the objects from regions; and the correlation for handling layers.
The P system with mitochondria enzymes on layers is a P system with two main types of components; mitochondria enzymes and common components, which stated that the previous are placed on the layers, and the next are located in the areas that separated by layers. In some senses, the areas of layers can contain collection of objects and of mitochondria enzymes respectively. Two types of such enzymes in the layer mentioned in literature; integral enzymes, and peripheral enzymes see [2]. The types of rules that can be found in this current model are: proceed components across layers under the control of layer enzymes with changing or not the objects and/or the enzymes during these processes. More than that, it is possible to interchange two objects through the enzymes permitting the P system with enzymes to be an expanded set of antiport rules [2,15]. We could define the P system with mitochondria enzymes to be represented by the following construction: (a) O is an alphabet; its elements are called components; (b) P is an alphabet; its sets are called enzymes, P 1 , . . . , P m are the collection of enzymes on the m layers of µ; (c) µ is a layer structure consists of m layers, m constitute also the level of Π; (d) w i , 1 ≤ i ≤ m, are collection of strings which part of the initial multisets over V associated with the regions 1, 2, . . . , m of µ; (e) R i , 1 ≤ i ≤ m, are sets of rules in a maximal parallel manner that associated to the regions 1, 2, . . . , m of µ; (f) i 0 , is a indexing between 1 and m which shown on the output layer of Π.
Based on the types of rules that introduced in [1,5]. In all of these rules, a; b; c; d are components where p is a enzyme, and i is a label of layer ('reg' stands for 'regulated'), in what follow the fact that a enzyme p is on a layer labeled i is written in the form [ | p] i : Based on all possible situations above, the enzyme is not altered; it plays the role of a catalyst, assisting only the evolution of objects. A more generalized is to permit rules of the model below (now, "alt" means "altered enzyme"): To divide a layer, the following type of control is defined, where p, p , p are enzymes (possibly the same): means that the layer i is assumed not to have any join.

Solving the Graph Maximal Clique Problem
The maximal clique problem is a one of the famous graph constraint satisfaction problems with some applied-world implementations. The maximal clique problem is classified as NP-complete and computationally intractable even to approximate with certain absolute performance bounds. In this part, we provide the proposed alternatives approach for solving the max clique problem for the graph G using P systems with enzymes on layers, where G = (V, E) be an undirected graph, where V is the set of n nodes and E is the set of m edges. A clique is a complete sub graph of G, a set of vertices from G that are pair wise adjacent. The maximal clique problem has goal to find the maximal complete sub graph of G.
We will discuss of Figure 1 that outlines an instance of a graph G with nodes (n) = 5 and edges (m) = 10. Each illustration is drawn base on the edge x i that represents the with i th edge of the graph. All the edges are enumerated in chronological order such that from one node j the connecting edges to this node are labelled from k > i. As illustrated on Figure 1, x 1 represents the edge e(1, 2), i.e., the edge between the node 1 and the node 2; x 2 represents the edge e(1, 3), etc. For the need of the used approach, the graph is virtually decomposed in levels of nodes where each node j is connected to the nodes of the next higher level. Also, in addition to being an edge of the graph, x i is also considered as a variable or an object in the following manipulated rules of the P system. This means that each variable is equivalent to a clique of two nodes in the graph. Effectively, the set of edges is not only the variables of the system. Other pertinent elements are useful to model because they are being used to represent the construction of clique and to lead to the determination of the maximal length of a given clique. To divide a layer, the following type of control is defined, where , , ′′ are enzymes (possibly the same): | → | ′ | ′′ means that the layer is assumed not to have any join.

Solving the Graph Maximal Clique Problem
The maximal clique problem is a one of the famous graph constraint satisfaction problems with some applied-world implementations. The maximal clique problem is classified as NP-complete and computationally intractable even to approximate with certain absolute performance bounds. In this part, we provide the proposed alternatives approach for solving the max clique problem for the graph using P systems with enzymes on layers, where = ( , ) be an undirected graph, where is the set of nodes and is the set of edges. A clique is a complete sub graph of , a set of vertices from that are pair wise adjacent. The maximal clique problem has goal to find the maximal complete sub graph of .
We will discuss of Figure 1 that outlines an instance of a graph with ( ) = 5 ( ) = 10. Each illustration is drawn base on the edge that represents the with edge of the graph. All the edges are enumerated in chronological order such that from one node the connecting edges to this node are labelled from . As illustrated on Figure 1, represents the edge (1,2), i.e., the edge between the node 1 and the node 2; represents the edge (1,3), etc. For the need of the used approach, the graph is virtually decomposed in levels of nodes where each node is connected to the nodes of the next higher level. Also, in addition to being an edge of the graph, is also considered as a variable or an object in the following manipulated rules of the P system. This means that each variable is equivalent to a clique of two nodes in the graph. Effectively, the set of edges is not only the variables of the system. Other pertinent elements are useful to model because they are being used to represent the construction of clique and to lead to the determination of the maximal length of a given clique. As well as the graph of Figure 1 could be decomposed in three complete graphs such that: = , , , , = , , , and = , . Let us taken = , , , as an illustration on the example for the required transformation made after we have chosen an instance of graph. Thus, Figure 2a outlines a graph with 4 nodes which will be transformed in new graph that provided the detail on the right part of the same image. As we can see, the nodes of this new graph are labelled by and its edges are generated by , , that formed by the edges ( , ) which having the common extremity. It is significant to notice that an edge that symbolizes a clique of three As well as the graph G of Figure 1 could be decomposed in three complete graphs such that: } as an illustration on the example for the required transformation made after we have chosen an instance Appl. Sci. 2020, 10, 275 5 of 12 of graph. Thus, Figure 2a outlines a graph with 4 nodes which will be transformed in new graph that provided the detail on the right part of the same image. As we can see, the nodes of this new graph are labelled by x i and its edges are generated by q i,j , that formed by the edges x i , x j which having the common extremity. It is significant to notice that an edge q ij that symbolizes a clique of three nodes. For instance, the edge q 1,3 is formed by the edges (x 1 , x 3 ) and subsists if and only if the edge 6 ( Figure 2a) is created. In general, we consider that the set of all x i is divided into (n − 1) subsets where each subset includes the edges of the same level. According to Figure 2 on the left, we can say that the set of {x 1 , x 2 , x 3 , x 6 , x 8 } is divided into the first subset {x 1 , x 2 , x 3 } which represents the edges of level 1, and all these nodes have the common extremity the node N 1 ; the second subset {x 6 } which represents the edge of level 2; etc.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 5 of 12 6 ( Figure 2a) is created. In general, we consider that the set of all is divided into ( − 1) subsets where each subset includes the edges of the same level. According to Figure 2 on the left, we can say that the set of , , , , is divided into the first subset , , which represents the edges of level 1, and all these nodes have the common extremity the node ; the second subset which represents the edge of level 2; etc. In what follows, let = ( , ) be a graph with nodes and edges. We assume that the least clique in this graph is a clique of five nodes (i.e., 5). The preliminary configuration of the proposed model associated to a graph is illustrated in Figure 3. Where are the initial sets of objects , , , … , , ℎ , the sets of enzymes associated to the layer , and , ℎ is a enzyme associated to layers and to layer such that: = + − ( + 1); We could say that a clique of size Q ≥ 4 possibly could be decomposed in D = 4(Q − 4) cliques of four nodes. This also means that 4(Q − 4) cliques of four nodes, each two of them having two common extremities can form a clique of size Q.
In what follows, let G = (V, D) be a graph with n nodes and m edges. We assume that the least clique in this graph is a clique of five nodes (i.e., n ≥ 5). The preliminary configuration of the proposed model associated to a graph G is illustrated in Figure 3. Where w i are the initial sets of objects p E , z E , z E+1 , . . . , p R , h ij , the sets of enzymes associated to the layer i, and p, h i is a enzyme associated to layers c i and to layer n such that: Initially, for a given graph , we suppose that a graph is completely connected, i.e., we assign to each node ( ), − 1 edges enumerated by . Thus, each variable is considered a Boolean variable with value 0,1 . This manner of operating will help us later to generate all the instances of the graph . We design by (1 ≤ ≤ 2 ) the real existing edges of an instance of the graph defining the input edges. The object is an object that will take the size of the maximal clique size in each level of each instance, and represents the possibly cliques of three nodes in each level that will be transformed in if its edges do not appear in the given base on the problem.
The set , , , , … , , ℎ , ℎ is collection of the initial enzymes associated to different layers in the system, which controlled the evolution of objects and/or layers. The enzymes can be also changed during their control base on the following set of rules that applied in a maximal parallel approach: : 1 ≤ ≤ − 1, 2 ≤ ≤ − 1, ≤ ℎ ≤ .
The first rule is based on the weak division rule for elementary layer, while the second rule is assigned to a strong division for a non-elementary layer. These rules will be used to generate all of The system is composed by (2n − 1) outer layers embedded in each layer. The elementary layer, labeled 1, is associated to the node N 1 and is included in the non-elementary layer, labeled 2 and which is included in a non-elementary layer and associated to the node N 2 and so on, until we reach a layer labeled with (n − 1) which included on its turn in a set of embedded layers labeled with c i . The initial multisets consist in: . , x R } ∪ q 1,2 q 1,3 . . . q 1,R ∪ q 2,3 q 2,4 . . . q 2,R ∪ . . . ∪ q R−1,R ; (4) ∪ . . . ∪ q R−1,R ; Initially, for a given graph G, we suppose that a graph is completely connected, i.e., we assign to each node N i (i < n), n − 1 edges enumerated by {x k }. Thus, each variable x k is considered a Boolean variable with value {0, 1}. This manner of operating will help us later to generate all the instances of the graph G. We design by a u (1 ≤ u ≤ 2n) the real existing edges of an instance of the graph defining the input edges. The object k 0 is an object that will take the size of the maximal clique size in each level of each instance, and q gh represents the possibly cliques of three nodes in each level that will be transformed in q gh if its edges do not appear in the given base on the problem.
The set p, p E , z E , z E+1 , . . . , p R , h ij , h g is collection of the initial enzymes associated to different layers in the system, which controlled the evolution of objects and/or layers. The enzymes can be also changed during their control base on the following set of rules that applied in a maximal parallel approach: Appl. Sci. 2020, 10, 275 7 of 12 The first rule is based on the weak division rule for elementary layer, while the second rule is assigned to a strong division for a non-elementary layer. These rules will be used to generate all of the given graph G under the control of the enzyme p i ; where E and R are the limits min and max of the interval of Boolean variables x i associated with the layer j, where: f or i = R : E ≤ i ≤ R and 1 ≤ j ≤ n − 1; f or i = R : After the execution of the rule R 1 , the rules (11) and (12) can provide the state of the variable x i by their transformation into the object t i (true) or into f i (false) meaning that the edge represented by this variable exists or not in this instance according to the enzyme presented in the layer. In all the instances where s exists, s indicates that this instance is not the instance that we aim to found its maximal clique. So in this moment, p e is changed to p s by applying the rule (14) that means the evolution of this subsystem is suspended.
The role of the rule (15) tends to be decreased the size of the possibility maximal clique in each level represented by the index g and having the enzyme h jg . When the marker f i appeared in layer j, it signifies that two nodes at this level are not linked. Rule (16) will provide the specified objects and changes the enzymes z i according to the value of x i : thus, the enzyme z i will indicate that the value of x i is true and respectively z i will indicate that the value of x i is false. The rule (17) and (18) are used to check whether the current instance is the correct instance in the graph instance where the maximal clique is aimed.
E ≤ w ≤ R and 2 ≤ j ≤ n − 1; This collection of rules are introduced to check the existence of q gh (which indicate the relation between the two edges x g and x h ). Hence, according to our definition, to check that q gh exists in an instance, we must firstly verify that x g and x h exist (i.e., they have true values), and whether this situation is true, passing on to verify their linkage. Rule (19) is devoted to eliminate all the possibly cliques of three nodes represented by q gh having at least one of their extremities x g or x h assigned to the false value (the test is based on the presence of enzymes z g or z h ). In this case, the object q gh will be destroyed, however, in the opposite case, the rule (20) may be applied, which consists of changing and moving q gh to the outer layer. This is done in order to apply a second check concerning the existence of x w . Clearly, we say that the object q gh maybe introduced by rule (22) whether x w is absent, otherwise it has a false assignment. The rule (23) sends down q w gh until it reaches the layer on the enzyme z w or z h .
This set of rules transmit and update the size of the probable maximal clique at each level according to the objects q gh , until when they reached the layer c 1 , where: Appl. Sci. 2020, 10, 275

of 12
This rule is part of layer dissolution rule for 1 ≤ j ≤ n − 1 whether it is controlled by the enzyme h 0 , otherwise it can say that it be considered just as a cleaning rule; λ design empty string, where h 0 is appeared when all the possibly tests of the objects q gh in this level are completed.
Rules (30) and (31) will be executed only if the specified condition is accomplished. In rule (29) the enzyme h i in c i takes the maximal clique at this level represented by the index j. The layer c i can be dissolved by the execution of rule (30) in the case where the maximal clique is carried in the next level (below). Rule (31) transforms and moves the specified object that will be used later for eliminating some levels.
This set of rules consists to research the level where the maximal clique of the given graph is found. If there are several maximal cliques in different levels, the application of these rules enables at least one to be found from them.
In this part of our model, we will generate all the sets of cliques of three nodes which are able to be put together. This is done in order to construct a clique at a given level based on cliques of previous parts of our system.
These rules hold all sets of nodes where their numbers are equal to the size of the maximal clique, and eliminate all the others. When the set of nodes of the resulting maximal clique found in the layer are labeled with n, the role of the dissolution layer rule (38) comes after its execution, and the provided result reach the outer layer labeled with n. Finally, rule (39) evolves the enzyme p to take the maximal clique.

Numerical Example and Sensitivity Analysis
First of all, the utilized parameters for experimental design and their surfaces are described; subsequently the statistical results of modeling with upper and lower limit and the alpha cut method are determined; finally, each parameter's influence on objective function is illustrated by sensitivity analysis. Table 1 indicates the utilized parameters for experiments and their numerical surfaces considering the research of Konc et al. in [8], where: (a) O is an alphabet; its elements are called components; (b) P is an alphabet; its sets are called enzymes, P 1 , . . . , P m are the collection of enzymes on the m layers of µ; (c) µ is a layer structure consists of m layers, m constitute also the level of Π;  Employing Design Expert software and response surface methodology, this has shed light on the parameters' impact on the proposed model. Based on Konc et al. in [8] regarding the demand to be fuzzy, considering an alpha α = 0.1 tolerance Figure 4 presents objective function as a function of parameters, O and P, respectively.
provided result reach the outer layer labeled with . Finally, rule (39) evolves the enzyme to take the maximal clique.

Numerical Example and Sensitivity Analysis
First of all, the utilized parameters for experimental design and their surfaces are described; subsequently the statistical results of modeling with upper and lower limit and the alpha cut method are determined; finally, each parameter's influence on objective function is illustrated by sensitivity analysis. Table 1  , 1 ≤ ≤ , are sets of rules in a maximal parallel manner that associated to the regions 1, 2, … , of µ; (f) 0 , is a indexing between 1 and which shown on the output layer of . Employing Design Expert software and response surface methodology, this has shed light on the parameters' impact on the proposed model. Based on Konc et al. in [8] regarding the demand to be fuzzy, considering an alpha α = 0.1 tolerance Figure 4 presents objective function as a function of parameters, and , respectively.  Furthermore, Figure 5 pictures the objective function based on parameter µ and wi with lower demand limit and α = 0.1. Furthermore, Figure 5 pictures the objective function based on parameter µ and wi with lower demand limit and α = 0.1. As depicted, escalation in enzymes size has a positive correlation with the objective function. We also noted that a collection of P systems with active layers and enzymes used in this experiment already show the polynomial time ( ( − 1)) ( is a number of nodes in the graph).
Moreover, in each problem parameter's coefficient function, response surface prediction of the mentioned issue is explicit which is indicated in Table 2.

Conclusions
In this paper we elaborated a P system using the enzymes on layers to determinate the maximal clique in a given graph, where the objects and the layers evolved under the control of enzymes. The experimental result also showed that the main type of enzyme considered is an enzyme that controlled the evolution of objects and layers, and was also evolving itself. The constructed system showed that a collection of P systems with active layers and enzymes are used to determine polynomial time ( ( − 1)) ( is a number of nodes in the graph). In this experiment, in order to search the maximal clique in a given graph, the enumeration will be started by generating all the possible instances of a graph , then applying a validation step that takes into account only the result of the input instance of the graph, by determining exactly the embodied level of the maximal clique.
There will be some future works deriving from this research such as parallelization of the algorithm and additionally some constraints on the problems. As depicted, escalation in enzymes size has a positive correlation with the objective function. We also noted that a collection of P systems with active layers and enzymes used in this experiment already show the polynomial time O(n(n − 1)) (n is a number of nodes in the graph).
Moreover, in each problem parameter's coefficient function, response surface prediction of the mentioned issue is explicit which is indicated in Table 2.

Conclusions
In this paper we elaborated a P system using the enzymes on layers to determinate the maximal clique in a given graph, where the objects and the layers evolved under the control of enzymes. The experimental result also showed that the main type of enzyme considered is an enzyme that controlled the evolution of objects and layers, and was also evolving itself. The constructed system showed that a collection of P systems with active layers and enzymes are used to determine polynomial time O(n(n − 1)) (n is a number of nodes in the graph). In this experiment, in order to search the maximal clique in a given graph, the enumeration will be started by generating all the possible instances of a graph G, then applying a validation step that takes into account only the result of the input instance of the graph, by determining exactly the embodied level of the maximal clique.
There will be some future works deriving from this research such as parallelization of the algorithm and additionally some constraints on the problems.