This paper combines the graph theory and P system to solve the clustering problem. In order to effectively identify clusters with arbitrary shapes and uneven densities, we combine MkNN clustering algorithm and graph theory to propose a mutual -nearest neighbors graph (MkNNG) clustering algorithm. In order to further improve the efficiency of MkNNG algorithm, based on the non-determinism and great parallelism of P system, a cell-like P system with multi-promoters and multi-inhibitors named mutual -nearest neighbors graph P system (MkNNG-P) is designed. And then based on MkNNG-P system, a novel clustering algorithm named MkNNG-P clustering algorithm is proposed, which uses the membrane objects and rules to solve the clustering problem. MkNNG-P algorithm first calculates the dissimilarity between any two nodes in membranes in parallel. After then it uses one membrane to get -nearest neighbors of nodes. Finally, one membrane is used to find mutual -nearest neighbors and construct MkNNG to discover the natural clusters in the data set. Experiments show that MkNNG-P algorithm has the advantages of both MkNNG and P system. It not only can obtain good clustering quality for data of different sizes and shapes without presetting clustering numbers, but also has extremely high computing speed.
As an unsupervised learning process, data clustering is a common tool for data analysis, which divides data points into several groups or clusters with intra-cluster data as similar as possible and extra-cluster data as dissimilar as possible. Over the past years, cluster analysis is widely used in many areas and many kinds of classical clustering algorithms have been proposed, such as hierarchical algorithms, partitioning algorithms, density-based algorithms, grid-based algorithms and so on. In recent years, due to the sharply increasing amounts of new-generated data and the growing kinds of disparate data sources, it becomes more and more difficult to obtain useful information from complex data using traditional clustering algorithms. Therefore, it is necessary to study clustering algorithms which can deal with these complex data such as high-dimensional data, complex structural data, large-scale data and so on. Graph-based clustering algorithms transform the clustering problem into the graph partitioning problem by treating objects as graph vertices and dissimilarities as edges with weights, regardless of the specific shape of the data, so it can cluster data of any shape, density, dimension [4].
A very important graph-based clustering algorithm is the spectral clustering algorithm [20]. The core idea of this algorithm is to construct a similar matrix from the input data, then calculate the eigenvectors of the matrix, and then select some vectors to map to a low-dimensional space. In this low-dimensional space, data is clustered into several clusters using traditional clustering methods such as K-means. Due to the use of dimensionality reduction, the complexity of spectral clustering is lower than that of traditional clustering algorithms when clustering high-dimensional data. However, since no effective parallel computing method is adopted, the computational complexity of spectral clustering is too high and the amount of computation is large, so this method is only suitable for small datasets. In addition, the number of feature vectors and the final number of clusters need to be determined in advance by experience, and these are very difficult.
As a new branch of natural computing, membrane computing, known as P system [5], is a class of distributed parallel computing models. It abstracts computing models from the structure and the functioning of living cells as well as from the cooperation of cells in tissues, organs, and other higher order structures such as colonies of cells. Because of its attractive features such as distribution, maximum parallelism and non-determinism, system has the higher computing power and satisfies the requirement of improving the processing speed of the large-scale data [18, 19]. Up to now, system has been applied in various areas such as biological modeling, graph theory, cryptology, fault diagnosis, combinatorial problems [21, 22, 25] and other fields [13].
This paper combines the graph theory and system to design a cell-like P system with multi-promoters and multi-inhibitors named mutual -nearest neighbors graph system (MkNNG-P). And then based on MkNNG-P system, a novel clustering algorithm named MkNNG-P clustering algorithm is proposed, which uses the membrane objects and rules to solve the clustering problem. Experiments and analyzes show that MkNNG-P algorithm not only can obtain good clustering quality for data of different sizes and shapes without presetting clustering numbers, but also has extremely high computing speed due to the inherent parallelism of system.
The remaining sections are organized as follows. Section 2 proposes an improved Graph-based clustering algorithm named mutual -nearest neighbors graph clustering algorithm (MkNNG). In Section 3, based on the parallel mechanism of system, we designed an MkNNG-P system and proposed an efficient clustering algorithm-MkNNG-P clustering algorithm. Then, in Section 4, the superiority of MkNNG-P clustering algorithm is proved through analysis and experiment. Finally, Section 5 concludes work.
The mutual -nearest neighbors graph clustering algorithm
In this section, we introduce the mutual -nearest neighbor graph (MkNNG) clustering algorithm. First, we formally describe the related concepts of MkNNG. Then, we describe the clustering process of MkNNG clustering algorithm in detail.
Preliminary
Firstly, we introduce two definitions related to MkNN clustering algorithm.
Definition 1: -nearest neighbors (kNN)
Let be data points in data set . For each in , most similar neighbors of are called -nearest neighbors (kNN) of , denoted as kNN (), kNN .
Definition 2: Mutual -nearest neighbors (MkNN)
Given a data set , two points and , if and only if and , then and are mutual -nearest neighbors (MkNN) [16].
According to this definition, MkNN defines a two-way relationship between points [17]. If and are mutual -nearest neighbors, it means that is one of the -nearest neighbors of , and at the same time, is also belongs to the -nearest neighbors of .
In this paper, we extend this concept to graph: the data points are used as graph vertices and dissimilarities are used as edges with weight [15]. We propose the following two definitions:
Definition 3: -nearest neighbor graph (kNNG)
A -NNG is a directed weighted graph , where is the set of vertices and is the set of edges. Each vertex is connected to its nearest neighbors with directed edges, and the direction of each edge is from to its nearest neighbors.
So, -NNG is a directed graph connecting each node to its nearest neighbors.
An MkNNG is an undirected weighted graph , where is the set of vertices and .
is the set of edges. In MkNNG, for any vertex and in , there is an edge between and , if and only if vertex and are mutually -nearest-neighbors (MkNN).
There are several important characteristics of the MkNNG. These are:
MkNNG is symmetric and it is a sub-graph of the kNNG.
In kNNG, there is an edge between vertex and , if one of them belongs to the -nearest neighbors of the other. In contrast, MkNNG defines a two-way relationship between the vertices: there is an edge between vertex and if and only if is one of the nearest neighbors of and is also belongs to the -nearest neighbors of at the same time. Therefore, with the same data set and the same value of parameter , MkNNG is a sub-graph of kNNG.
Points in the same cluster can be grouped together by MkNNG.
In MkNNG, the mutually -neighbors (MkNN) are relatively close. They are connected one by one to form a connected subgraph. The nodes contained in the connected subgraphs are relatively close together so that they are clustered into the same clusters while the nodes in the non-connected subgraphs are relatively distant so that they belong to different clusters. Hence, points in the same cluster can be grouped together by MkNNG.
MkNNG clustering process
Assuming the data set to be clustered contains data points , where data point is an -dimensional vector, (1 ) is the value of the -th vector of point and its value is a non-negative integer. Therefore, the data set can be expressed as a matrix as Eq. (1):
After transforming the data points of the data set into nodes of the graph, for a given parameter , MkNNG clustering algorithm is carried out through four key steps:
The first step, calculate the dissimilarity between any two nodes.
A dissimilarity matrix is defined as Eq. (2) to show the dissimilarity between any two nodes.
Where, is the dissimilarity between and . The smaller the dissimilarity value of and , the more similar they are. There are many ways to calculate the dissimilarity. Which method should be used depends on the type of object. In this paper, we use Manhattan Distance [26] to measure dissimilarity. Hence, the smaller the Manhattan distance between and , the more similar they are.
The distance matrix is a symmetric matrix, where . In general, ( is the dimension of the data, is the number of data point in dataset), therefore, the time complexity of this step is .
The second step, search for the -nearest neighbors for each node, construct kNNG.
After getting the distance matrix , kNNG can be constructed by searching the distance matrix .
In computing and storage, the kNNG can be expressed as a form of adjacency matrix , the elements of the matrix are defined as Eq. (4).
In general, adjacency matrix is not a symmetric matrix. The time complexity of constructing kNNG from distance matrix is .
The third step, find mutual -nearest neighbors by searching kNNG, and then construct MkNNG.
In computing and storage, the mutual -nearest neighbor graph (MkNNG)also can be expressed as a form of adjacency matrix , the elements of the matrix are defined as Eq. (5).
Obviously, the adjacency matrix of MkNNG is a symmetric matrix. The time complexity of constructing MkNNG algorithm from kNNG is .
The fourth step, traverse MkNNG to get the clustering result.
MkNNG contains several connected subgraphs made up of mutual -nearest neighbors (when the subgraph contains only one node, it degenerates into an isolated point). Therefore, by traversing MkNNG, the final clustering result can be obtained.
As a novel clustering algorithm based on graph theory, MkNNG clustering algorithm has many advantages: (1) it does not need to preset the number of clusters; (2) it is robust to outliers; (3) it can find a variety of clusters with different densities and different shapes. While, for big database of high-dimensional data, its time complexity is too high. For instance, finding the -nearest neighbors of each node needs to calculate the distance between any two nodes in the data set and its time complexity is .
As a new bio-inspired computing model of membrane computing, system can reduce computational complexity due to its great parallelism, and it is especially suitable for dealing with complex problems. So, in order to further improve the time efficiency of MkNNG, in this paper, we combine the system and MkNNG clustering algorithm together to design a novel distributed and parallel computing model called mutual -nearest neighbors graph system (MkNNG-P) to solve the clustering problem.
MkNNG-P clustering algorithm
This section can be divided into three parts. In the first part, we introduce basic concept of cell-like system with promoters and inhibitors. In the second part, a System with Active Membrane named MkNNG-P system is designed. In the third part, we propose MkNNG clustering algorithm and describe the clustering process of it in detail.
Cell-like system with promoters and inhibitors
Membrane computing is a new branch of natural computing, which abstracts computing models from the structure and the functioning of living cells or tissues. The parallelism of system makes it has the higher computing power and been widely applied to many fields like graph theory, biological modeling, combinatorial problem and finite state problem [24]. In order to solve various practical problems, the scholars have been proposed many variants of the system [6, 9, 12]. There are three main types of systems: cell-like systems, neural-like systems [14] and tissue-like systems [2, 3, 23]. According to the scholars’ research, the applied research of membrane system can be divided into two categories, the direct membrane algorithm and the coupled membrane algorithm. The direct membrane algorithm designs the algorithm based on the structure, the objects and the rules of systems directly [1, 10, 11]. The coupled membrane algorithm is using indirect membrane algorithm to solve practical problems [7, 8].
Cell-like system is the most basic membrane computing model. A cell-like system is defined as follows:
where,
is an alphabet which includes all the objects of the system.
is the membrane structure.
is the initial multiset of objects in membrane .
is the set of revolutionary rules in membrane . The form of is , is the string of , and is the string over , means object remains in membran �, means object is sent to the outer layer membrane, and means object is sent to the inner membrane �. is the string over . is a promoter and a rule can be executed when it exists. is an inhibitors and a rule cannot be executed when it exists.
is the precedence level of rules.
is the output membrane of this system.
The structure of MkNNG-P system
In this section, an active membrane system with promoters and inhibitors for MkNNG clustering algorithm is designed, which called MkNNG-P System. Its initial structure is shown in Fig. 1.
The initial structure of MkNNG-P system.
The definition of MkNNG-P system is as follows:
where,
Alphabet: (1 )
Membrane structure: ;
Initial multisets:
Output membrane:
The rules in :
The rules in : (0 )
The rules in :
The priority relations over :
The computational process of MkNNG-P clustering algorithm
The MkNNG-P system contains membranes: membranes are used to calculate the dissimilarity (distance) between any two nodes in the data set, one membrane is used to obtained -nearest neighbors for each node, one membrane is used to find mutual -nearest neighbors in the data set and it is also used to store the results.
In the initial state, membrane (0 ) contains objects , (1 ). The object represents -th the data node of the data set and the object represents all the data nodes , , …. The number of and is equivalent to and of the matrix .
In the initial state, membrane 0 (the skin membrane) contains the object , (). Object means the -th data in the data set and means the -nearest neighbors of each object . Objects are auxiliary objects which means the total number of nearest neighbors that all objects need to obtain is .
Membrane is the output membrane, which does not contain any object in the initial state.
The computational process of MkNNG-P is as follows:
Calculate the dissimilarity (distance) between any two nodes
In the initial state of the system, the rules that can be executed are and in membrane (0). Rule eliminate the same parts of the individual and . Rule transform the different parts into object and , sending them into the skin membrane and dissolving membrane . Here, the number of represents the dissimilarity between individual and .
Obtained -nearest neighbors for each object
When the objects are received, the rules in the skin membrane are activated. Rule is executed first to eliminate the same number of objects , , …. The object , which is the first to be completely eliminated, has the least number of all objects , , …. It means the node is the nearest neighbor of node . After that, Ruler is executed to generate an object to store the results. That is to say, represents the node is the nearest neighbor of node . After then, rule is executed to eliminate the same number of objects , …. The object , which is the second object to be completely eliminated, has the least number of all objects , …. It means the node is the second-nearest neighbor of node . After that, rule is executed to generate an object to store the result which represents the node is the second-nearest neighbor of node . … The above process will continue until rule is executed to eliminate the same number of object , …. The objects , which is the -th to be completely eliminated, has the least number of all objects , …. It means node is the (-th)-nearest neighbor of node . Rule is executed to generate an object to store the result which represents the node is the (-th)-nearest neighbor of node .
When all -nearest neighbors of node (0 ) have been obtained, the rule is activated to send all the generated objects into membrane . Here, object means node is one of the -nearest neighbors of node .
Cluster the mutual -nearest neighbors into the same cluster
When the object are received, the rule in membrane is activated. Object means is one of the -nearest neighbors of and means is one of the -nearest neighbors of . When objects and exist together, object is generated. It means that and are mutual -nearest neighbors and should be clustered into the same cluster. After that, the remaining objects are eliminated.
At the termination of the system, the objects in the output membrane represent the final clustering result.
All the objects that can be connected together form a connected subgraph. The nodes in the same connected subgraph belong to the same cluster and the nodes in different connected subgraphs belong to different clusters. The nodes that are not in any connected subgraphs are outliers.
The sample points waiting for clustering.
That is, if there exists an object , it means that the nodes and belong to the same cluster; if both and exist or both and exist, it means that the nodes , and belong to the same cluster. The nodes whose labels do not appear in indicate that they are not in any connected subgraph and are outliers.
Example and illustration
We use a concrete example to illustrate the clustering process of the above MkNNG-P system. For simplicity, we choose two-dimensional data points to experiment. The data set (1,3), (2,3), (3,3), (1,6), (5,2), (6,2), (6,4), (6,8), (8,6) (as shown in Fig. 2), the number of nearest neighbors 3. Obviously, 9, 2. Its data matrix is .
MkNNG-P system contains 10 membranes. Membrane 1 to membrane 8 are used to calculate the dissimilarity between any two nodes in the data set. Membrane 0 (the skin membrane) is used to obtain 3-nearest neighbors for each node. Membrane 9 is used to find mutual 3-nearest neighbors in the data set and it is also used as the output membrane to store the final result. The initial membrane structure of MkNNG-P system is shown in Fig. 3.
In the initial state of this system, the rules that can be executed are and of membrane 1-8 (0 8). The rules eliminate the same parts of the individual and . The rules transform the different parts into object and , sending it into the skin membrane. The number of represents the dissimilarity between nodes and . The resulting objects are as follows:
When the objects are received, rule in the skin membrane is executed to eliminate the same number of objects , , …. The object which is the first to be completely eliminated is the nearest neighbor of node . The second object to be completely eliminated is the next nearest neighbor of . The third object to be completely eliminated is the third nearest neighbor of . Rule is executed to store the result. In this way, we get 3-neighbors of all nodes. They are:
After the membrane receives the objects which are sent from the membrane 0, it executes the rule to obtain all the mutual 3-nearest neighbors in the data set and represent them by the object .
The final state of this system is shown in Fig. 4. Based on the connectivity of the object , we can find that: nodes , , , form a connected subgraph, nodes , , , form another connected subgraph, and the node does not appear in means that it is an isolated node. Therefore, the clustering result of this P-system is: the data points in the data set are clustered into two clusters, (1,3), (2,3), (3,3), (5,2)}, (6,2), (6,4), (6,8), (8,6), data point (1,6) is an isolated point.
The initial structure of an instance-based system.
The final state of an instance-based system.
Test and analysis
In this section, we first analyze the time complexity of MkNNG-P clustering algorithm and compare it with several classical algorithms. Then, the effectiveness of MkNNG-P was verified by experiments. Finally, we analyze the effect of parameter on the experimental results.
Complexity analysis
According to the previous analysis, the time complexity of MkNNG is , where is the number of data points in the data set and is the number of nearest neighbors for each node.
Due to the great parallelism of P-systems, the time complexity of MkNNG-P algorithm is greatly reduced. Since membranes work in parallel and the rules in each membrane are also extremely parallel, the time complexity of MkNNG-P clustering algorithm in the first step is . In the second step, because nodes can find their -nearest neighbors in parallel, the time complexity of the algorithm in this step is , where is the number of neighbors. In the third step, the time complexity of obtaining MkNNG is . Therefore, the overall time complexity of MkNNG-P algorithm is . In general, , so in this case, the time complexity of MkNNG-P is approximately equal to .
In order to further prove the superiority of MkNNG-P algorithm in the execution efficiency, we list the time complexity of several classical algorithms in Table 1. It can be found that the MkNNG-P system greatly improves the time efficiency in computation, so it is suitable for clustering large data sets.
Time complexities of several classical algorithms
Algorithm
-means
-medoids
PAM
CLARA
CLARANS
Time complexity
Algorithm
BIRCH
Chameleon
ROCK
MkNNG
MkNNG-P
Time complexity
A quantitative comparison of clustering results generated by -Means, DBSCAN, OPTICS, MkNNG-P on Compound and Jain datasets
Algorithm
Compound
Jain
ARI
NMI
ARI
NMI
-Means
0.5364
0.5195
0.5112
0.4941
DBSCAN
0.8678
0.7104
0.8574
0.7712
OPTICS
0.7232
0.7031
0.9562
0.9251
MkNNG-P
0.8990
0.8623
0.9607
0.9408
Experiment
In this subsection, in order to evaluate the effectiveness of MkNNG-P clustering algorithms, we present the comparison results of MkNNG-P and three classical clustering algorithms (-means, DBSCAN, OPTICS).
We use two real-world data sets Compound and Jain (Obtained from University of Eastern Finland website1
http://cs.joensuu.fi/sipu/datasets/.
) to evaluate and compare our algorithm. In order to observe the clustering quality, the experiment uses two-dimensional data to cluster. These data sets representing some difficult clustering instances because they contain clusters with different sizes, varying densities and different shapes.
To quantify the performance of MkNNG-P, we measure the clustering results with Adjusted Rand Index (ARI) and Normalized Mutual Information (NMI). The corresponding ARI and NMI values of each algorithm on data sets Compound and Jain are listed in Table 2.
Compound is a very typical data set, which can represent many representative problems encountered during the clustering process. The true cluster structure of Compound is shown in Fig. 5. The two clusters on the upper left of it represent the spherical clusters and the density of the data points in the same cluster is not uniform; the external cluster at the lower left indicates that there is no clear central point in the cluster; the cluster on the right shows two different clusters with uneven density. Therefore, Compound is a data set containing multiple clusters of arbitrary shapes and uneven densities.
A comparison of clustering results generated by -Means, DBSCAN, OPTICS, MkNNG-P in dataset Compound.
A comparison of clustering results generated by -Means, DBSCAN, OPTICS, MkNNG-P in dataset Jain.
Figure 5 shows a comparison of clustering results generated by -means, DBSCAN, OPTICS, and MkNNG-P on dataset Compound. It can be seen that DBSCAN is not effective in the case of clustering different densities, OPTICS cannot separate the very dense cores of the graph from their sparse neighborhoods, and -means cannot obtain the ideal clustering result because the cluster center point cannot be correctly identified MkNNG-P can cluster most of the points correctly and only have errors in identify individual points. It can also be seen from Table 2 that MkNNG-P get the best ARI and NMI. Therefore, on Compound, the clustering effect of MkNNG-P is superior to three comparison algorithms.
The true cluster structure of Jain is shown in Fig. 6. It contains two non-spherical clusters, and the clusters at the top are composed of data points with unevenly distributed density. From the clustering results, it can be seen that -Means can’t distinguish two non-spherical clusters, and DBSCAN does not work well when clustering non-uniform density clusters. OPTICS and MkNNG-P can get the correct results. The corresponding ARI and NMI values in Table 2 prove this conclusion.
The above experimental results show that, in many cases, MkNNG-P algorithm is superior to the comparison algorithms. It can obtain good clustering results in different types of data sets including convex shapes, Non-convex shape, arbitrary shape, uniform density and various densities.
A comparison of clustering results generated by different parameter on dataset Compound.
Parameter analysis
Different from the -means algorithm, MkNNG-P algorithm does not need to preset the number of clusters. MkNNG-P algorithm only needs one parameter , which is the number of nearest neighbors. The value of determines the number of clusters and the quality of clustering, so determining a suitable is a key point for a successful MkNNG-P algorithm.
Obviously, when 0, there is no MkMN in MkNNG, and each object is a single cluster. In this way, the data set containing objects is clustered into clusters. As the value of increases, the number of clusters decreases. When , in, the degree of each vertex is , so that MkNNG is a strongly-connected graph. Therefore, the data set is clustered into one cluster.
With the change of the parameter , the clustering results in data set Compound are shown in Fig. 7. It can be seen that the clustering result changes as the value of changes from 5 to 20. When 5, the data set compound is divided into many small clusters. As the value of increases, some small clusters are gradually merged into large ones. When 15, a more accurate clustering results can be obtained. When 20, some clusters maybe merged incorrectly.
Through further research, we found that when the value of is small, the data will be clustered into a large number of small clusters, but it will not be misclassified. As the increases, the small clusters merge into large clusters. This property helps the user to determine the best value based on the result of the gradual change. In general, the value of varies depending on different practical applications. For data with relatively uniform distribution, takes a smaller value to get a good clustering result. However, for unevenly distributed data, takes a larger value to get good clustering results. In practice, the value of varies depending on the actual application, so entering the appropriate value requires some field experience. In this case, you need to manually select the optimal clustering result.
Conclusions
This paper provides new ideas and methods for cluster analysis. In order to overcome the shortcomings of traditional clustering algorithms and further improve the computational efficiency, this paper combines the graph theory and system to propose a cell-like system with multi-promoters and multi-inhibitors named MkNNG-P system. And then based on it, an effective MkNNG-P clustering algorithm is proposed. Depending on the analysis and experiments we can conclude that MkNNG-P clustering algorithm has the following advantages: (1) It has very low time complexity and can great improve computational efficiency. (2) It does not need to preset the number of clusters and only needs one input parameter -the number of neighbors of each object need to be considered. (3) It is robust to outliers. (4) It can find a variety of clusters with different densities and different shapes. (5) It can cluster data in high-dimensional data set.
In this paper, the graph-based clustering method is combined with the cell-like system containing promoters and inhibitors to solve the clustering problem. This method is a new attempt in applications of membrane system. In the future, we will combine the graph theory with other membrane systems to improve accuracy and efficiency of clustering.
Footnotes
Acknowledgments
Project is supported by National Natural Science Foundation of China (nos. 61472231, 61502283, 61640201, 61602284, 61602285, 61602282, and ZR2016AQ21).
References
1.
SongB.Pérez-JiménezM.J. and PanL., Computational efficiency and universality of timed P systems with membrane creation, Soft Computing9(11) (2015), 3043–3053.
2.
SongB.ZhangC. and PanL., Tissue-like P systems with evolutional symport/antiport rules, Information Sciences378 (2017), 177–193.
3.
Martín-VideC.PăunG.PazosJ. et al., Tissue P systems, Theoretical Computer Science296(2) (2003), 295–326.
4.
HruschkaE.R. and FreitasA.A., A survey of evolutionary algorithms for clustering, IEEE Transactions on Systems Man and Cybernetics Part C Applications and Reviews39(2) (2009), 133–155.
5.
PăunG., Computing with membranes, Journal of Computer and System Sciences61(1) (2000), 108–143.
6.
PaunG.RozenbergG. and SalomaaA., Membrane computing with external output, Fundamenta Informaticae41(3) (1998), 313–340.
7.
SinghG. and DeepK., A new membrane algorithm using the rules of Particle Swarm Optimization incorporated within the framework of cell-like P-systems to solve Sudoku, Applied Soft Computing45 (2016), 27–39.
8.
ZhangG. et al., A Population-membrane-system-inspired evolutionary algorithm for distribution network reconfiguration, Chinese Journal of Electronics23(3) (2014), 437–441.
9.
ZhangG. and PanL., A survey of membrane computing as a new branch of natural computing, Chinese Journal of Computers33(2) (2010), 208–214.
10.
PengH. and WangJ., Optimal multi-level thresholding with membrane computing, Digital Signal Processing37(1) (2015), 53–64.
11.
PengH.WangJ. and Pérez-JiménezM.J., An unsupervised learning algorithm for membrane computing, Information Sciences304 (2015), 80–91.
12.
HuangL., Research on Membrane Computing Optimization Methods, Ph.D. Dissertation, Dept Control Science and Engineering, Zhejiang Univ, Hangzhou, China, 2007.
13.
Martinez-del-AmorM.A.Garcia-QuismondoM. and Macias-RamosL.F., Simulating P systems on GPU devices: A survey, Fundamenta Informaticae136(3) (2015), 269–284.
14.
IonescuM.PăunG. and YokomoriT., Spiking neural P systems, Fundameta Informaticae71(2–3) (2006), 279–308.
15.
SatoM.AnadaK. and TsutsumiM., Formulations of patterns by a graph model for the game of Go, Journal of Computational Methods in Sciences and Engineering17(1) (2017), 1–11.
16.
AltmanN.S., An introduction to kernel and nearest-neighbor nonparametric regression, The American Statistician46(3) (1992), 175–185.
17.
DingQ. and BoykinR., A framework for distributed nearest neighbor classification using Hadoop, Journal of Computational Methods in Sciences and Engineering17 (2016), 1–9.
18.
FreundR.KariL. and OswaldM., Computationally universal P systems without priorities: Two catalysts are sufficient, Theoretical Computer Science J330(2) (2005), 251–266.
19.
FreundR.OswaldM. and PaunG., Catalytic and purely catalytic P system and P automata: Control mechnisms for obtaining computational completeness, in: 14th International Conference, CMC14, 2013, pp. 317–320.
20.
LuxburgU.V., A tutorial on spectral clustering, Statistics and Computing17(4) (2007), 395–416.
21.
YuanW.ZhangG. and Pérez-JiménezM.J., P systems based computing polynomials: Design and formal verification, Natural Computing15(4) (2016), 591–596.
22.
LiuX. and XueJ., A cluster splitting technique by hopfield networks and P systems on simplices, Neural Processing Letters24(1) (2017), 1–24.
23.
LiuX.ZhaoY. and SunW., Tissue P systems with cooperating rules, Chinese Journal of Electronics27(2) (2018), 324–333.
24.
ZengX.ZhangX. and PanL., Homogeneous spiking neural P systems, Fundamenta Informaticae97 (2009), 275–294.
25.
ZhaoY.LiuX. and YanX., A grid-based chameleon algorithm based on the tissue-like P system with promoters and inhibitors, Journal of Computational and Theoretical Nanoscience13(6) (2016), 3652–3658.
26.
JiaZ.W.CuiJ. and YuH.J., Graph-clustering method based on the dissimilarity, Journal of Shanxi Agricultural University29(3) (2009), 284–288.