An Improved Eclat Algorithm Based on Tissue-Like P System with Active Membranes

: The Eclat algorithm is a typical frequent pattern mining algorithm using vertical data. This study proposes an improved Eclat algorithm called ETPAM, based on the tissue-like P system with active membranes. The active membranes are used to run evolution rules, i.e., object rewriting rules, in parallel. Moreover, ETPAM utilizes subsume indices and an early pruning strategy to reduce the number of frequent pattern candidates and subsumes. The time complexity of ETPAM is decreased from O( t 2 ) to O( t ) as compared with the original Eclat algorithm through the parallelism of the P system. The experimental results using two databases indicate that ETPAM performs very well in mining frequent patterns, and the experimental results using four databases prove that ETPAM is computationally very e ﬃ cient as compared with three other existing frequent pattern mining algorithms.


Introduction
Membrane computing is a branch of natural computing, and its development provides many computing frameworks and new bio-molecular computing models [1]. The development of membrane computing started with observing the structure and functions of living cells. Membranes play important roles in the functioning of cells and separate the cells from the outside environment [2,3]. The models extracted from membrane computing are usually called P systems and are divided into three main categories, i.e., cell-like P systems, neural-like P systems, and tissue-like P systems. Most of these P systems have high computing power, are very efficient and Turing universal [4]. This study employs a tissue-like P system with active membranes to mine frequent patterns. A P system mainly consists of three parts: Membrane structure, multiple sets of objects, and evolution rules. For the membrane structure, the size and spatial layout are not important, and the focus is on the relationship between membranes [5,6]. Object sets are usually represented by a string of symbols and evolution rules of the objects are given in the form of rewriting rules. A P system is a distributed and parallel computing model, and evolutionary rules run synchronously, non-deterministically, and in maximum parallel [7], making the system computationally very efficient.
Data mining is a knowledge discovery process from large amounts of data and has been extensively studied in many fields. Frequent pattern mining is a fundamental field of data mining, and the goal is to find patterns that appear frequently in a database [8][9][10][11]. Many algorithms for mining frequent patterns, such as Apriori, FP-growth, and Eclat, to mention only a few, have been developed. Apriori utilizes an iterative approach called level-wise search, where k + 1 itemsets are generated from k itemsets, by taking the join and prune actions [12,13]. Nevertheless, the database must be scanned multiple times, which is inefficient for large-scale databases. FP-growth employs an FP-tree structure and pattern fragment growth method to mine frequent patterns [14,15], but it is difficult to generate a main memory-based FP-tree when the database is large. Eclat mines frequent patterns using vertical data different from Apriori and FP-growth, and only needs to read the columns relevant to the query to avoid reading unnecessary columns. In the Eclat algorithm, a new candidate set is generated from the union of two sets. By finding the intersection of the TID_sets of the two itemsets, the support count of the candidate set is quickly obtained. However, when there are too many candidates, the following problems will occur: (i) The operation of finding the intersection of the TID_sets is time consuming; and (ii) the scale of the TID_set is quite large and consumes a lot of memory. Many important improvements have been proposed [16][17][18]. However, it is necessary to improve the computational efficiency of the Eclat algorithm when the database becomes large.
This study proposes an improved Eclat algorithm called ETPAM based on the tissue-like P system with active membranes. The active membranes are used to generate subsume indices and frequent patterns. ETPAM utilizes the parallelism of the P system to execute rules in parallel. For a database with t items, the algorithm generates t + 1 cells, uses t cells to explore frequent patterns, and uses the other cell, usually cell 0, as the output cell to output all frequent patterns generated. The subsume is considered as a technique that can greatly reduce the size of the search space [19], the priori law is introduced into the frequent mining process, and a threshold is used to limit the number of candidates of subsumes to further improve efficiency. The time complexity of ETPAM is reduced from O(t 2 ) to O(t) as compared with the original Eclat algorithm. Experimental results using two databases indicate that ETPAM performs very well in frequent pattern mining, and those using four databases shows that ETPAM is computationally very efficient as compared with three existing frequent pattern mining algorithms.
The rest of this paper is arranged as follows. Section 2 describes the frequent pattern mining problem, the original Eclat algorithm, and the basic tissue-like P system. Section 3 introduces the design of the tissue-like P system for ETPAM, and provides explanations of the rules and the computing process. Section 4 presents an example to show how ETPAM works. In Section 5, two databases are used to evaluate the performance of the tissue-like P system in identifying frequent patterns and four databases are used to verify the efficiency of ETPM. Conclusions are drawn and further research directions are given in Section 6.

Preliminaries
In this section, some basic definitions about frequent pattern mining [10,11], the original Eclat algorithm, and structure of the tissue-like P system with active membranes are introduced.

Frequent Pattern Mining
Let I = {I 1 ,I 2 . . . I n } be a set of items and DB = {T 1 ,T 2 . . . T m } be a transaction database with m transactions.
(i) Pattern: A set of items P ⊆ I is called a pattern or an itemset. (ii) h-pattern: A pattern consisting of h items. (iii) Support count: The number of transactions containing a certain pattern P, denoted as sup (P). (iv) Frequent pattern: A pattern with a support count no less than a given threshold k is called a frequent pattern.

The Eclat Algorithm
Eclat mines frequent patterns using the vertical data format [18,20] that is different from Apriori and FP-growth because they use horizontal data.
Vertical data: The more commonly used horizontal data is in a format TID: Itemset, where TID represents a unique transaction T 1 , T 2 , . . . , T m in a transaction database DB, and an itemset represents a set of items I 1 , I 2 , . . . , I n that belong to a transaction. Relatively, vertical data is in a format of item: TID_set, where item represents the unique item I 1 , I 2 . . . I n in itemset I, and TID_set represents the set of transactions T 1 , T 2 . . . T m that include the corresponding item. An example of vertical database is  Table 1. Vertical data is more efficient than horizontal data in the process of obtaining the support of items because an algorithm only needs to read the columns related to a query, but does not need to read other unnecessary columns. For instance, if the support of itemset {I 1 I 2 } is needed in Table 1, an algorithm just needs to read and intersect the TID_sets of I 1 and I 2 and find support (I 1 I 2 ) = Num[ (1,4,5,7,8,9)∩ (1,2,3,4,6,8,9)] = Num (1,4,8,9) = 4, instead of scanning the entire database as using horizontal data. Table 1. A transaction database.

Item
TID_Set The basic Eclat algorithm is described as follows and the procedure using the example database in Table 1 is shown in Figure 1.
The basic Eclat algorithm is described as follows and the procedure using the example database in Table 1 is shown in Figure 1.
Input: Database in vertical data format and the threshold .
Step 1: Take all items as a set and find all subsets of the set . Let subset be , as shown in the labeling process in the red arrow in Figure 1.
Step 2: Find the intersection of each pair of the transaction sets _ corresponding to the items in each subset, let intersection be denoted by , as shown in the labeling process in the blue arrow in Figure 1.
Step 3: Count the number of items in each , and find the support of each itemset. Itemsets with support count greater than or equal to the threshold are frequent itemsets.

Tissue-Like P Systems
The tissue-like P system is an important expansion of the cell-like P system [21]. In a tissue-like P system, multiple cells are placed in the same environment, both cells and the environment can contain objects, and the cells and the environment communicate through evolution rules. Evolution rules are conducted in a non-deterministic and maximally parallel manner, and usually can produce an exponential growth space within linear operation steps [22]. When no evolution rules can be executed, the operation of the system stops and the final results are stored in a specific cell.
A basic tissue-like P system is a construct of the form:  Table 1.
Input: Database in vertical data format and the threshold k.
Step 1: Take all items as a set I all and find all subsets of the set I all . Let subset i be I i , as shown in the labeling process in the red arrow in Figure 1.
Step 2: Find the intersection of each pair of the transaction sets TID_sets corresponding to the items in each subset, let intersection i be denoted by T i , as shown in the labeling process in the blue arrow in Figure 1.
Step 3: Count the number of items in each T i , and find the support of each itemset. Itemsets with support count greater than or equal to the threshold k are frequent itemsets.
Output: Frequent patterns with support not less than the threshold k.

Tissue-Like P Systems
The tissue-like P system is an important expansion of the cell-like P system [21]. In a tissue-like P system, multiple cells are placed in the same environment, both cells and the environment can contain objects, and the cells and the environment communicate through evolution rules. Evolution rules are conducted in a non-deterministic and maximally parallel manner, and usually can produce an exponential growth space within linear operation steps [22]. When no evolution rules can be executed, the operation of the system stops and the final results are stored in a specific cell.
A basic tissue-like P system is a construct of the form: where: (i) O is a non-empty alphabet that represents a collection of objects in the tissue-like P system. (ii) syn ⊆ {1, 2, . . . , m} * {1, 2, . . ., m} represents all channels between cells.
(iii) ρ represents the execution order of the rules in the membranes.
(iv) i out is the output membrane which stores the final results of the algorithm.
(v) σ 1 , σ 2 , . . . , σ m are the cells, each of which is a construct of the form: where w h,0 is the object set initially in cell h, if no object is in cell h initially, w h,0 is empty represented by λ, and R h is the set of evolution rules in cell h. A rule R h : u → vw go means removing the object multiset represented by u, generating the object multiset represented by v and w, and sending the objects in v and w out to a specific area according to the target command. In the rule, w go means objects in w are sent to the cells connected to the current cell, and v means objects in v stay in the current cell. In u , is the promoter of the rule. If u ¬ is in the rule, ¬ is the inhibitor of the rule.
If the rule has a promoter, the rule can be executed only when all objects in the promoter appear, and if the rule has an inhibitor, the rule cannot be executed when the objects in the inhibitor appear. Active membranes are used to generate subsume indices for frequent 1-patterns, and dissolved when all subsume indices are found.

The ETPAM Algorithm
This section begins with an introduction of two improvements to the Eclat algorithm. The design of the tissue-like P system with active membranes to improve the algorithm is then discussed. The evolution rules and the computing process are explained next.

Improvements to the Eclat Algorithm
Improvement 1: The subsume index and a quick method to generate it. The subsume index is used to restrict the number of candidates in the process of frequent pattern mining [19,23].
Definitions: subsume (A) represents the subsume index of pattern A: The support of pattern A is the same as the support of the union of the patterns that are subsets of subsume (A) with pattern A.
Eclat mines frequent patterns using the vertical data format. g (A) is the TID_set of transactions, including pattern A. Using vertical data can generate subsumes of 1-patterns quickly and effectively. Improvement 2: Early pruning of the search space by the threshold. In step 1 of the Eclat algorithm, all items are taken as the set I all and all subsets of set I all are found. This step generates too many candidate subsets when the size of TID_set is large. Hence, a priori law is introduced to prune the search space early. In the process of obtaining the (h + 1)-itemsets through the intersections of the frequent h-itemsets, a h-itemset with a support count not larger than the threshold will be removed from the intersection since any superset containing this itemset cannot be a frequent itemset and candidates containing this itemset do no need to be generated. The process of generating subsume indices is also improved. Just finding subsume indices for items with support counts larger than the threshold instead of subsume indices for all items in the database reduces the time and memory used.

Algorithm and Evolution Rules
Assume that the database DB contains N transactions with t fields. The tissue-like P system with active membranes with t + 1 cells, designed for the ETPAM algorithm, is shown in Figure 2. Frequent patterns are generated in cells 1 to t. The union of each of these frequent patterns and its corresponding subsume indices are formed in cell 0, where all frequent patterns are finally obtained. Assume that the database contains transactions with fields. The tissue-like P system with active membranes with + 1 cells, designed for the ETPAM algorithm, is shown in Figure 2. Frequent patterns are generated in cells 1 to t. The union of each of these frequent patterns and its corresponding subsume indices are formed in cell 0, where all frequent patterns are finally obtained. The threshold is represented by in the P system. An object represents a transaction containing item . In this way, the vertical database can be transformed into objects used in the P system. Auxiliary object is used to perform the comparison between the support of an itemset and the threshold. In the comparison, one item in the itemset consumes one , and means copies of object . Object is the promoter of the intersection process, and the corresponding rules can be executed only when object appears. Object is the catalyst to delete the redundant … in cell , keeping the uniqueness of the object.
The tissue-like P system with active membranes for ETPAM is defined as follows: where: The tissue-like P system for the ETPAM algorithm.
The threshold k is represented by θ k in the P system. An object T i j represents a transaction T i containing item I j . In this way, the vertical database can be transformed into objects used in the P system. Auxiliary object β is used to perform the comparison between the support of an itemset and the threshold. In the comparison, one item in the itemset consumes one β, and β k j means k copies of object β j . Object ξ is the promoter of the intersection process, and the corresponding rules can be executed only when object ξ appears. Object ζ is the catalyst to delete the redundant T i keeping the uniqueness of the object.
The tissue-like P system with active membranes for ETPAM is defined as follows: where: In σ 2 = (w 2,0 , R 2 ), w 2,0 = λ and R 2 : In σ t = (w t,0 , R t ), w t,0 = λ and R t : In σ t+1 = (w t+1,0 , R t+1 ), w t+1,0 = λ and R t+1 = ∅. In σ j = (w j,0 , j 1 ), w j ,0 = λ and R j : When computation starts, frequent 1-patterns are generated in cell 1, and then sent to cell 2 and cell 0 by executing rules in parallel. At the same time, objects T i j of frequent 1-patterns are also sent to cell 2. Frequent 2-patterns are then generated in cell 2 and sent to cell 3 and cell 0 by executing rules also in parallel, and objects T i j of frequent 2-patterns are sent to cell 3. This process stops when all frequent patterns are found. In cell 0, patterns that have subsumes combine with their subsumes to obtain all frequent patterns. When computation ends, the final results are stored in cell 0. Compared to other frequent pattern mining algorithms, the ETPAM algorithm executes evolution rules in parallel to generate frequent patterns, the time complexity of ETPAM is reduced from O(t 2 ) to O(t) as compared with the original Eclat algorithm.

Computing Process
Generation of Frequent 1-Pattern Itemsets. When computation begins, objects T i j are entered into cell 1 and then copies of the objects are sent to cell 2 by the rule r 11 . The searching process of the candidate frequent 1-pattern I 1 is taken as an example, and the searching processes of the other candidate frequent 1-patterns are similar to that of the process of I 1 . A total of k copies of β 1 is generated by rule r 12 and one T i 1 consumes one β 1 through rule r 13 . Finally if any copy of β 1 is left in cell 1, I 1 is not a frequent 1-pattern because its support count is less than the threshold k; otherwise, if no copy of β 1 is left in cell 1, I 1 is a frequent 1-pattern and is sent to cell 2 and cell 0 through the rule r 14 .
Generation of Subsume of Frequent 1-Patterns. In cell 2, extra objects T i j are removed first by rule r 21 , and frequent 1-pattern I j acts as an inhibitor so that only objects T i j belonging to frequent 1-patterns are left in cell 2. Assume that J frequent 1-patterns are obtained in cell 1, then J cells that are the same as cell 2 are generated by rule r 22 . Rule r 23 cannot be executed without promoter ξ. Rules in cell j for 1 ≤ j ≤ J are executed and subsumes of I j for 1 ≤ j ≤ t are generated in the corresponding cell j for 1 ≤ j ≤ J. In cell j , objects T i j belonging to I j are compared with objects T i j belonging to I j for 1 ≤ j ≤ t sequentially, and one T i j consumes one T i j . Finally, if both T i j and T i j remain in the cell, I j and I j are not subsume of each other. If just T i j remains, I j is a subsume of I j and X j j is generated by rule r j 2 . If just T i j remains, I j is a subsume of I j and X j j is generated by rule r j 2 . In the searching process for subsumes of I 2 , for example, after T 3 2 T 6 2 T 8 2 T 9 2 are compared with T 3 3 T 6 3 T 8 3 T 9 3 , T 1 2 T 2 2 T 4 2 , and T 5 3 T 7 3 remain, so that I 2 and I 3 are not subsume of each other. After T 1 2 T 2 2 T 4 2 are compared with T 1 4 T 2 4 T 4 4 , T 3 2 T 6 2 T 8 2 T 9 2 remain, so that I 2 is a subsume of I 4 , and X 2 4 is generated. When all subsumes of I j in cell j are found, computation halts, promoter ξ is generated, and promoter ξ and the subsumes are sent to cell 0 and cell 2.
Generation of Frequent 2-Pattern Itemsets. The execution condition of rule r 23 is met when promotor ξ appears in cell 2, so that rule r 23 generates objects T i j1 j2 as frequent 2-pattern candidates. Subsumes of frequent 1-patterns are inhibitors of this process, so that only objects T i   Each of the other cells j for 3 ≤ j ≤ t executes evolution rules similar to those in cell 2 and performs similar functions to find j-frequent patterns.
In cell 0, R 0 is executed to combine frequent patterns obtained with their subsumes to get all frequent patterns of the database. After the algorithm finishes, all frequent patterns are stored in cell 0 as the final results.

Algorithm Specification
The typical Eclat algorithm runs sequentially. However, ETPAM is executed in parallel utilizing the nature of the tissue-like P system. A pseudo code of ETPAM is presented in Algorithm 1 in the following. Input: Transactional database; θ k representing the threshold k; Method: { Rule r 11 : Transfer one copy of objects T i j to cell 2. Rule r 12 : Generate β k j for 1 ≤ j ≤ t to check the candidate frequent 1-patterns T 1 . Rule r 13 : Check all objects T i j in the cell, and one object T i j consumes one β j . Continue until all objects T i j have been checked or all k copies of β j have been consumed. Rule r 14 : If all k copies of β j have been consumed, generate an object δ j to add I j to L 1 as a frequent 1-pattern and transfer I j cell 2, and cell 0. Rule r 21 : Generate a new membrane j for each frequent 1-pattern I j , and transfer the corresponding objects I j and T i j to cell j . Rule r j 1 : In cell j , compare objects T i j belonging to I j and objects T i j belonging to I j for 1 ≤ j ≤ j' ≤ t in parallel, and one T i j consumes one T i j . Finally, if both T i j and T i j remain in the cell, I j and I j are not subsume of each other. If just T i j remains, I j is a subsume of I j and then X j j is generated. If just T i j remains, I j is subsume of I j and then X j j is generated. Continue this way until all subsumes of I j have been found. Rule r j 2 : Generate object ξ and transfer it to cell 2 and cell 0 together with all subsumes of I j . For

Time Complexity
In this section, the time complexity of ETPAM in the worst case is evaluated. Obtaining frequent 1-patterns needs 4 steps. Passing objects T i j to cell 2 and cell 0 needs 1 step and generating β k j needs 1 step. Checking all frequent 1-pattern candidates in parallel takes 1 step. Finally sending the frequent 1-patterns obtained in cell 1 to cell 2 and cell 0 needs 1 step.
Obtaining subsumes of frequent 1-patterns needs 5 steps. Generating new membrane j for each frequent 1-pattern I j needs 1 step, and transferring the corresponding objects I j and T i j to cell j needs 1 step. Comparing all T i j belonging to I j and T i j belonging to I j for 1 ≤ j ≤ j' ≤ t in parallel and generating subsumes of frequent 1-pattern I j in cell j in parallel take 1 step. Executing rules r j 1 , r j 2 , Processes 2019, 7, 555 9 of 15 and r j 3 in parallel in each cell j and obtaining subsumes for all frequent 1-patterns simultaneously take 1 step. Sending object ξ and subsumes obtained in cell 1 to cell 2 and cell 0 needs 1 step.
Obtaining frequent h-patterns needs 6 steps. Deleting extra objects T i j 1 j 2 ... j h−1 not belonging to frequent (h -1)-patterns needs 1 step. Generating candidate frequent h-patterns T h needs 1 step. Passing objects T i j 1 j 2 ... j h to cell h + 1 needs 1 step and generating β k j 1 j 2 ... j h needs 1 step. Checking all frequent h-pattern candidates in parallel takes one step. Finally sending the frequent h-patterns obtained in cell h to cell h + 1 and cell 0 needs 1 step.
Finally, in cell 0, obtaining all frequent patterns by combining all frequent patterns with their subsumes in parallel takes 1 step.
Thus, the complexity of ETPAM is 4 + 4 + 6(t−1) + 1 = 6t + 3, which gives O (t). Table 2 presents the time complexities of some basic frequent pattern mining algorithms. In the table, |C h | represents the number of candidate frequent h-patterns and |L h | represents the number of frequent (h − 1)-patterns. As shown in Table 2, the performance of ETPAM is better than that of other existing algorithms. Table 2. Time complexities of some pattern mining algorithms.

An Illustrative Example
To give a clear demonstration about how ETPAM works, this section presents an illustrative example to demonstrate the execution of the algorithm using the database in Table 1. As shown in Table 1, the database contains 9 transactions. The threshold is set to k = 3.
Generation of Frequent 1-Pattern Itemsets. When computation begins, objects {T 1 T 4 4 }, and {T 1 5 T 8 5 } are entered into cell 1 and then one copy is sent to cell 2 by rule r 11 . The auxiliary objects β j for 1 ≤ j ≤ 5 are created by rule r 12 . The searching process of candidate frequent 1-pattern I 1 is used as an example. Objects {T 1 1 T 4 1 T 5 1 } and {T 7 1 T 8 1 T 9 1 } are in cell 1 meaning that item I 1 is included in the first, fourth, fifth, seventh, eighth, and ninth transactions. After rules {T 1 1 β 1 → λ} and {T 1 4 β 1 → λ} are executed, objects {T 5 1 T 7 1 T 8 1 T 9 1 } remain in cell 1. Hence, I 1 is a frequent 1-pattern, and subrule {δ 1 → (I 1 ) go } sends I 1 to cell 2 and cell 0. The searching processes of I 2 I 3 I 4 I 5 are the same as that of I 1 . Finally, {I 1 I 2 I 3 I 4 } are determined to be frequent 1-patterns in cell 1, and are sent to cell 2 and cell 0.
Generation of Subsumes of Frequent 1-Patterns. In cell 2, extra objects T 1 5 T 8 5 are removed by rule r 21 , and objects {T 1 } remain, so that I 2 is a subsume of I 4 , and, therefore, X 2 4 is generated. To improve efficiency, just subsume indices for items with support larger than the threshold are found. Because I 5 is not a frequent 1-pattern, the process of searching subsumes of I 2 ends. Object ξ, together with X 2 4 , is generated and sent to cell 2 and cell 0. The searching processes in cells j for 1 ≤ j ≤ 4 are similar to that in cell 2 . All rules in cells j for 1 ≤ j ≤ J are executed in parallel, and all frequent 1-patterns' subsumes are obtained simultaneously. The process and results of the generation of frequent 1-patterns are summarized in Table 3. Table 3. Generation of frequent 1-patterns. In cell 0, R 0 executes to combine I 2 I 12 with I 4 and in turn to generate I 24 and I 124 . The computation of the P system ends at this point and all frequent patterns {I 1 I 2 I 3 I 4 I 12 I 13 I 24 I 124 } are stored in cell 0.

Experiments
Five databases, Connect, Mushroom, MovieItem, Retail, and T10I4D100K, from the UCI Machine Learning Repository were used in the experiments. Some of these databases are dense and others are sparse, and all of them are often utilized to test the performance of frequent pattern mining methods. The characteristics of these databases are given in Table 6. All experiments were performed on a personal computer with an Intel Core i3 processor and 4 GB of RAM under the Microsoft Windows 10 64-bit operating system. All the programs are coded in Python 3.

Effectiveness of ETPAM in Identifying the Frequent Pattern Itemsets
Two databases, Mushroom and Connect, are used to verify the performance of ETPAM in identifying the frequent patterns. The results are reported in the following.
The Mushroom database includes 8124 transactions, each transaction has 23 attributes (fields), each attribute represents one characteristic of the mushrooms, such as the poisonousness of the mushroom, and each attribute has 2 to 12 values for a total of 119 possible values. The purpose is to know what attributes often appear together, i.e., to find frequent patterns in the database. The data is preprocessed first, where each attribute value is treated as a new attribute, and each new attribute has only two values, 1 or 0 representing yes or no. The threshold is set to k = 4062 (8124 * 0.50). The frequent patterns found by ETPAM are presented in Table 7. The Connect database includes 67,557 transactions, each transaction has 43 attributes (fields), and each attribute has 3 values for a total of 129 values. The data is preprocessed in a way similar to that used in the Mushroom database, i.e., each attribute value is treated as a new attribute, and each new attribute has only two values, 1 or 0, representing yes or no. The threshold is set to k = 66,205 (67,557 * 0.98). The frequent patterns found by ETPAM are presented in Table 8.

Efficiency of the Proposed Algorithm
To verify the efficiency of the two improvements introduced into the original Eclat algorithm, ETPAM with rules executed serially is used to compare with those of Apriori [7], Fp-growth [24], and the original Eclat algorithm [25]. The total running time is used as a metric to evaluate performance in experiments. The total running time of each algorithm on each database is plotted against the values of the threshold k in Figure 3, where the vertical axis signifies the total running time in seconds and the horizontal axis represents the different threshold values. As shown in Figure 3, ETPAM with rules executed serially is more efficient than Apriori, Fp-growth, and Eclat for all values of the threshold. Thus, the experimental results verify the efficiency of the improvements proposed. More importantly, the evolution rules of the ETPAM algorithm are actually executed in parallel utilizing the nature of tissue-like P system. For example, the process of generating subsumes of the frequent 1-pattern I j in cell j is conducted in parallel, rules r j 1 , r j 2 , and r j 3 are executed in parallel in each cell j , and the subsumes of all frequent 1-patterns are obtained simultaneously. Running in parallel, it will use much less running time, making the algorithm more efficient.

Conclusions
Membrane computing, inspired by the structure and functioning of biological cells, was introduced as a branch of natural computing. This paper introduces a tissue-like P system with active membranes to mine frequent patterns, and proposes a novel algorithm, called ETPAM, for mining frequent patterns based on the tissue-like P system introduced. ETPAM utilizes the parallel mechanism of the tissue-like P system to execute evolutionary rules synchronously, and in maximum parallel. The time complexity is decreased from O( ) to O( ) as compared with the original Eclat algorithm. The experimental results using two databases show that ETPAM performed very well in mining frequent patterns. The experimental results on four databases prove that ETPAM is very efficient in mining frequent patterns as compared with three existing algorithms. In addition, only several cells are needed to implement tissue-like P system by biological methods, which can greatly reduce the computing resource consumption. For further research, some other types of P systems, such as the spiking neural P systems (SN P systems) [26] and the cell-like P systems, can be used to develop hopefully more effective and efficient data mining algorithms.  With these improvements, the time complexity of ETPAM is decreased to O(t) from O(t 2 ) compared to the original Eclat algorithm. The tissue-like P system is a distributed and parallel model, and its evolutionary rules run synchronously, non-deterministically, and in maximum parallel, making the system computationally highly efficient. The tissue-like P system is a natural distributed parallel computing system that can be implemented biologically. The calculation requires only a few cells, which can reduce the computational resource requirements and improve the computational efficiency.

Conclusions
Membrane computing, inspired by the structure and functioning of biological cells, was introduced as a branch of natural computing. This paper introduces a tissue-like P system with active membranes to mine frequent patterns, and proposes a novel algorithm, called ETPAM, for mining frequent patterns based on the tissue-like P system introduced. ETPAM utilizes the parallel mechanism of the tissue-like P system to execute evolutionary rules synchronously, and in maximum parallel. The time complexity is decreased from O(t 2 ) to O(t) as compared with the original Eclat algorithm. The experimental results using two databases show that ETPAM performed very well in mining frequent patterns. The experimental results on four databases prove that ETPAM is very efficient in mining frequent patterns as compared with three existing algorithms. In addition, only several cells are needed to implement tissue-like P system by biological methods, which can greatly reduce the computing resource consumption. For further research, some other types of P systems, such as the spiking neural P systems (SN P systems) [26] and the cell-like P systems, can be used to develop hopefully more effective and efficient data mining algorithms.