# IAMnet: Presentation of Parallelization Approach for Repetitive Mining on Network Topologies with an Improved Apriori Method

Authors: Hooman Bavarsad Salehpour; Parvaneh Asghari; Hamid Haj Seyyed Javadi; Mohammad Ebrahim Shiri
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

Recently, the discovery of association rules and the consequent mining frequent patterns have attracted the attention of many researchers to discover unknown relationships in big data, especially in networking and distributed environments. In this research, a parallelization-based approach is proposed to improve the performance of the Apriori algorithm in repetitive mining patterns on network topologies. The proposed approach includes two main features: (1) combining centrality criteria of the node and the Apriori algorithm to identify repetitive patterns and (2) using the mapping/reduction method to create parallel processing and achieve optimal values in the shortest time. This approach also pursues three main objectives: reducing the temporal and spatial complexity of the Apriori algorithm, improving the association rules mining process and identifying repetitive patterns, and comparing the proposed approach’s performance on different network topologies to determine the advantages and disadvantages of each topology. Comparing our proposed method and the basic Apriori algorithm, it is concluded that our approach provides acceptable efficiency in terms of evaluation criteria such as energy consumption, network lifetime, and runtime compared to other methods. Experimental results also show that when using our proposed method compared to the basic Apriori algorithm, network life is increased by 7.1%, the runtime is reduced by 43.2%, and the energy consumption is saved by about 41.2%.


---

## Body

## 1. Introduction

Data mining is a set of techniques that allows a person to move beyond ordinary data processing to the mining analysis of massive data and the mining of valuable information contained in them [1, 2]. In addition, there is a close connection between data mining, artificial intelligence, and machine learning. Therefore, it can be said that data mining combines database theories, artificial intelligence, machine learning, and statistics to provide practical contexts [3]. Categorization, clustering, forecasting, and discovering association rules are the most important data mining applications that are widely used in different areas of the real world. The most important reason that made data mining the focus of attention in the information industry was the availability of large volumes of data and the urgent need to extract useful information and knowledge from this massive volume of data [4–7].Reviewing articles in this field shows that the essential part of this process is discovering repetitive items and patterns, which seems quite logical given the time-consuming nature of this part of the process [8]. The performance of standard techniques of frequent mining item set is the discovery of item sets that are simultaneously observed in user transactions. A review of previous studies shows that exploring frequent patterns is the most important and central part of the process of discovering association rules, which has been widely used in network topologies to discover unknown relationships [7]. Most researchers in previous studies have stated that the importance of this part of discovering association rules is considered time-consuming of identifying frequent patterns [9, 57, 58]. As an example of frequent mining patterns in the network, we can refer to the studies conducted in the sources [12–17]. For example, the authors in [14] have explored trends desired by mining frequent patterns on social media. In another successful example [15], the authors proposed an alternative algorithm named B-mine for improving the Apriori algorithm that uses a bitwise approach to explore frequent patterns in social networks. Also, Zoraghchian and Sohrabi [17] proposed using the butterfly optimization algorithm (BOA) in the process of mining the association rules to increase the efficiency of the basic algorithms. In this proposal, the authors use one CPU and three GPUs to parallelize the process and apply the optimization algorithm. The CPU is used for synchronization, and the GPU is used to speed up the execution of rules exploration operations.Although the initial application of this research topic seems to be in the field of business, what is seen in today’s world is the attention of researchers to this new research topic and the expansion of its application in areas such as text exploration, e-learning, medicine, and clickstream analysis [8, 18]. Also, reviewing articles in this field includes two main points: (1) many of the previously proposed techniques are based on the efficient, common, and popular Apriori algorithm and its numerous versions. (2) In many previous studies, the problem of temporal and spatial complexity of the basic Apriori algorithm has been mentioned as a challenging problem due to the high volume of computations in the section of repetitive patterns and items mining that show that more extensive studies are needed to improve this challenge [8, 19]. This algorithm is in the category of exponential algorithms in terms of temporal and spatial complexity due to frequent visits from the database and producing multiple sets of repetitive and candidate items. Also, there is the application of optimization in other subjects such as healthcare [20]. In this research, a parallelization-based approach is proposed to improve the performance of the Apriori algorithm in repetitive mining patterns on network topologies. The proposed approach includes two main features: (1) combining centrality criteria of the node and the Apriori algorithm to identify repetitive patterns and (2) using the mapping/reduction method to create parallel processing and achieve optimal values in the shortest time.In this research, several primary goals in the field of mining association rules and repetitive items in the application domain are pursued, which are briefly listed as follows:(i)
Investigating the possibility of parallelism of the Apriori algorithm(ii)
A balanced distribution of mining operations and data used on processors(iii)
Reducing the volume of data exchanges(iv)
Finding the most appropriate network topology to apply the basic algorithm in terms of speed of mining operationsThe innovative aspects of this research, while considering the shortcomings of previous research, are listed as follows:(i)
Reducing the temporal and spatial complexities of the Apriori algorithm(ii)
Improving the efficiency of the association rules mining process and find repetitive patterns(iii)
Comparing the performance of the proposed approach on different network topologies with existing methods


## 2. Previous Research Studies

Association rules mining is an essential and applied task of data mining in discovering the knowledge latent in big data and transactional databases in different application areas [21]. Discovering the latent associations between different items can help understand customer behavior [19, 22]. For example, a retail store manager can use the knowledge gained from interdependencies between transactions for strategic marketing decisions, such as simultaneous production of products or putting them on shelves. Varmaghani et al. have studied a model for optimizing energy consumption in WSN based on cloud computing and fuzzy logic MCADM [23]. Sui et al. have investigated the use of coded data to assess multi-sensor status over loss networks [24]. Using acoustic sensors, researchers investigated an indirect eavesdropping assault on keys on a touch panel [25]. Kong et al. have analyzed persistent identification for home automation using wifi through fingertip gesture interactions [26]. Based on novel model clustering, Ahmadi et al. have developed a new hybrid strategy for selecting users in federated learning [27]. The activity of association rules mining is performed in two main stages: discovering a set of frequent items and creating association rules. Also, the literature shows that exploring a set of frequent items is considered the essential action in association rules mining because this action is time-consuming [8]. Hence, this part of the association rules mining process requires efficient techniques to improve performance and reduce computational time. It can be said that the essential action in association rules mining is discovering a set of repetitive items. In other words, mining a collection of redundant items is a type of data analysis that has an essential role in mining events, patterns, and sets of repetitive items in the data. Zhao has investigated a feasible and intelligent web analytics technique for fog-based smart grids that preserves anonymity [28]. Han et al. have studied a geographical crowdsourced distance calculation that keeps location privacy [29]. Although the topic of repetitive items mining was initially provided for customer data analysis, the literature shows that repetitive items mining can be used as a general task of data mining in many different fields of application and science, especially network topologies and distribution environments [18]. Ni et al. have proposed a novel hybrid model of cobweb-based redundant TSV for evaluating the clustered faults [30]. Che and Wang have investigated a multiplex neurodynamic method to blended optimization on two timescales [31]. Jiang and Li have examined a method for canceling off spectrum noise in an intelligent co-site interleaving device [32]. Wu et al. (2021) have researched the accuracy of data labels to predict security bug reports using a test case [33]. On the other hand, with the increasing growth of data and technology to collect them, the need for rapid access to latent knowledge, and meaningful and valuable rules among data, we face challenges such as slow processing speed and the time-consuming mining process [19]. So far, many studies have been conducted in the field of association rules mining and latent relationships among transactional databases, many of which have focused on using the standard Apriori algorithm in their ideas as an efficient base technique [3–8, 18]. The Apriori algorithm is a surface search algorithm, which goes to the next step, k + 1, at the end of the mining in step k-th. This operation is repeated until the final condition or conditions are fulfilled. In step k-th, a set of k items will be generated. After calculating the backup value for each item and comparing it with the minsup value, k frequent patterns are detected. In the next step, the algorithm generates a set of items candidate k + 1 that can potentially be repeated with the help of k systematic way. In the same way, due to the minsup value, some will be deleted, and a set of frequent items k + 1 will be formed. This process continues until the last set of frequent items is found [34]. Zheng et al. have analyzed comparative research of class equalization techniques for categorizing cyber bug reports [35]. Dong et al. have researched the sense of transferability produced by information aggregating for unsupervised feature adaption [36]. Artin et al. have analyzed a novel approach for the prediction of traffic based on machine learning methods [37]. Zhong et al. have explored a way to adapt open set domains that bridge the limits and deep techniques [38]. He et al. have investigated multi-branch deep convolution learning for grouping and directional antennas in user-centric networks [39]. Zhao et al. have examined a unique approach for delayed complex adaptive networks that use nonfragile sampling information exponential synchronizing [40]. Luo et al. have investigated fuzzy system stabilization analysis using a switched selected sample management [41]. Zhang et al. have analyzed a complementary-label source domain: theory and algorithms [42]. Studies in this field show two significant challenges in generating large items and multiple database transitions in the basic Apriori algorithm. A review of articles in this field shows that, to resolve these two challenges, several ideas have been proposed to improve the basic Apriori algorithm, many of which, while maintaining the overall structure, have added techniques to increase efficiency [19, 21, 43, 44]. This section has tried to cover some ideas proposed in previous studies regarding association rules mining and frequent patterns mining in different applied areas, especially network topologies and distributed environments. In addition, the authors of [44] have developed a model for evaluating emissions of Nox, as well as the efficiency of an engine’s supply. They also, like the authors of the study [9], believe that FPM algorithms can be classified into three general classes: join-based, tree-based, and pattern growth, as shown in Figure 1.Figure 1
Classification of mining algorithms of repetitive patterns [9].Join-based algorithms use a bottom-up approach to identify duplicate item sets. Then, it extends them to larger sets until those sets appear above the minimum user-defined threshold value in the database. On the other hand, tree-based algorithms use countable set concepts to generate duplicate items by building a dictionary tree. In this way, it is possible to extract items through various first-depth or first-level methods. Depending on the identified duplicate patterns, the third class of algorithms implements the split and dominance methods for project database partitioning and extends them to more comprehensive databases. In [45], the authors of the article determined a good buying pattern from previous customers’ shopping history in order to help retail business owners; a systematic research method based on mining association rules placed in mining Apriori based on mapping/reduction and smart cloud architecture on Hadoop is called MR-Apriori. They believe that the proposed system sufficiently provides all the significant and anticipated needs of modern extensive data processing systems such as scalability, fault tolerance, minor breakdown support, etc. Finally, the authors stated that their study experimentally examined the effect of the proposed MR-Apriori algorithm with speed, size, and scale evaluation parameters [46].An experimental comparison between Apriori and FP-growth algorithms has been performed to identify the sequence of repetitive item sets in web application data [47]. For this purpose, the article’s authors have focused on the data structure, implementation, and algorithmic features, which also occur in the extraction of duplicate item sets. They also pointed out that in their analysis, to better understand the evaluation results, a comparison was performed between some features such as memory size, data input, prefetching, scalability, and processing efficiency, which have obtained acceptable results for the Apriori algorithm. In [48], the authors proposed improved versions of the Apriori algorithm based on the mapping-reduction. They have also optimized the multistage phases of these versions by jumping from the pruning step if needed and then have presented more efficient algorithms called VFPC and Optimized-ETDPC. The authors stated that the cost of counting additional un-pruned candidates produced due to neglected pruning is less significant than the reduction in computational cost due to this. The authors in [49] proposed a new algorithm called Index-BitTableFI to mine a set of duplicate items. This algorithm has three main features, which are summarized below. On the one hand, it is possible to avoid additional operations at the intersection of miniature sets and check the frequency. From one side, it has been proven that a set of duplicate items, including the representative item and the identical support with the representative item, can be identified directly by connecting the representative item to all item combinations in its sublist. In this way, the processing cost of this type of item is reduced, and the efficiency is also improved.Huang et al. [50] proposed an optimized algorithm using a bit set matrix that scans the database twice to create a bit set matrix. In this way, invalid and duplicate cases are not investigated. This lack of scanning of the entire database reduces the scanning range and thus the algorithm’s execution time. The authors believe that bit operations in their algorithm have played an influential role in increasing the detection speed of subsets. In [51], the authors proposed a new algorithm exploring iterative patterns to improve the performance of related basic algorithms and reduce temporal complexity. Their proposed algorithm converts the input database into a binary matrix with a single scan. In the next step, we have performed merge and AND operations to achieve the set of candidate items. Raj et al. [52] proposed an efficient scheme called EAFIM, which includes two new methods to improve repetitive mining patterns’ efficiency and extract association rules in distributed networks with macro data. The main difference between the basic Apriori algorithm and the scheme of these authors is that in their proposed design, instead of user input data per iteration, they use an updated dataset that lacks invalid items and transactions. The distributed nature of networking and distributed computing environments, such as edge computing paradigm, introduces a shift in security schemes. Ramtin et al. have conducted research on the underlying scaling rules governing covert DDoS assaults and used the expectation-maximization algorithm to fit the traffic data of thousands of edge-routers to a Gaussian mixture model. Then, they evaluated the theoretical result that the amount of attack traffic that can be generated by a covert DDoS attacker scales according to the square root of the number of infected edge devices [53]. Subsequently, Reza Ramtin et al. [54] showed that when data is normally distributed and the anomaly is small enough in accordance with the square root law, even the most powerful multiple-feature classifier cannot detect the anomaly with high accuracy. In these situations, association rule mining probably helps us to discover a set of rules in the data to promote feature selection and reduce the amount of damage. Applying the basic Apriori algorithm to find meaningful and valuable connections between items in the big data, especially transactional databases, is a complicated process that requires super systems, where access to them can be another challenge. Ni et al. have developed a novel TDMA-based fault detection technique for TSVs in three-dimensional integrated circuits with honeycomb structure [55]. Dong et al. have investigated the effect of learning aggregating on the perception of generalisability for unsupervised feature adapting [56]. Therefore, in this research, the performance of the basic Apriori algorithm is improved by applying similar mining techniques, distributing data on different processors in the distributed network, and applying the Apriori algorithm in parallel and simultaneously. The improvement achieved can reduce the speed of computations and derivation of association rules and be a practical step towards reducing this algorithm’s temporal and spatial complexity. The parallelization of the Apriori algorithm on the main network topologies is the most critical innovation aspect of the current research. A review of the literature shows that, due to the importance of accelerating the process of association rules mining and increasing the speed of access to this helpful knowledge, a lack of fast efficient methods is also visible while maintaining the efficiency of the results. Therefore, the lack of such an efficient approach in the existing literature provided an incentive to conduct current research in this area, proposing an efficient approach to reduce time complexity and increase implementation speed.


## 3. Proposed Method Based on Parallelization

So far, many studies have been conducted in the field of association rules mining and identifying a set of duplicate items based on multiple versions of the Apriori algorithm in different application areas [6–8, 18, 19]. However, most previous studies have observed the complexity of the Apriori algorithm’s time, space, and high runtime as a shortcoming. On the other hand, in today’s world, due to the widespread need of business managers and customers for quick access to meaningful rules latent in the big data and relationships in transactions, the rapid extraction of useful information is quite evident as an essential need. Therefore, to solve the challenge above, in this part of the research, an approach based on parallelization and mapping/reduction method is proposed to improve the Apriori algorithm.The proposed approach has used the mapping/reduction method to increase the speed of computing the parameters by providing the possibility of parallel processing and computing the optimal values in the shortest time. The structural model of the proposed method is shown in Figure2.Figure 2
Structural model of the proposed method.The Apriori algorithm is one of the most popular and widely used data mining algorithms that examine a set of many items using candidate generation. Therefore, creating association rules and discovering a set of duplicate items in a big dataset will be time-consuming. On the other hand, traditional data mining techniques and tools such as this algorithm are efficient in data analysis but not scalable and efficient in extensive data management. It can be an incentive to use parallel processing in conventional computing. Therefore, redesigning traditional data mining algorithms based on a mapping/reduction framework seems necessary for analyzing macro datasets. According to the issues raised, performing this article was formed.


### 3.1. Research Hypotheses

In this part of the article, the current research hypotheses are stated. For this purpose, the hypotheses of research to accelerate the study process of current research are briefly described:(i)
In problem-solving, it is always assumed that the transactions used in the problem are stored within a transaction database.It is assumed that the transaction database is not updated in providing standard solutions to problems:(i)
In the case of updating the transaction database, this update will not change the discovered duplicate patterns(ii)
The same data is provided to the processors for parallelization(iii)
Network topologies will use the same data


### 3.2. Components of the Proposed Method

As shown in Figure2, the structural model of the proposed method consists of three main components, each of which is described below.


#### 3.2.1. Problem Modeling and Parameters Determination

Parallelization is an architectural pattern based on a network of customers and receives services from provider devices. These devices have the computing and storage capacity to assign cloud computing data and items to each customer. Therefore, data and service management policies are needed to decide the place and time of placing services and data. The problem of placing services is significant in the field of services.The required parameters are defined in the following.(i)
Average execution time: the average execution time shows the two methods mapping and reduces, which is calculated through the following equation:(1)average execution time=∑i=1nmetminm+∑i=1nretrinr.(ii)
Based on this equation,etm is the time taken for execution in the mapping method, etr is the runtime in the reduction method, nm is the number of operations in the mapping mode, and nr is the number of operations in the reduce mode. In this study, these two values are the same because the operations are assigned to mapping and reduction methods.(iii)
Makespan: it is the time required to process all tasks. The assignment of tasks to neural network nodes should be such that this value is as low as possible for all tasks.(iv)
Machine computing cost: this value is indicative of the cost of using the CPU in dollars, which can be calculated by the following equation:(2)VM computing cost=∑i=1nvmetmi+∑j=1nvmetrj×VM Cost per Unit Time,whereVM cost represents the cost paid to use one unit of CPU time per second. Here, etm is the mapping method’s processing time, and etr is the processing time in the reduction method.(v)
Fitness function optimization: it is referred to as fitness function optimization process. For this purpose, the three parameters specified in the previous step must be minimized to optimize the final output of the fitness function. The optimal fitness function is formulated according to the following equation:(3)fitness=w1∗average execution time+w2∗makespan+w3∗VmcostBased on this equation,w1, w2, and w3 represent the proportion coefficients, which are used to sum these three parameters with different unit values. In this relation, the sum of three w is equal to one.


#### 3.2.2. Map and Reduction Method

Developing a distributed program without a mapping/reduction framework poses challenges for us, each of which is listed in the following [48, 49]:(i)
Reliability: this is due to the management of distributed systems in a situation where the connection of each of the nodes working on the part of the data is disrupted.(ii)
Distributed load balancing on nodes: how can the data divide into smaller parts so that each machine receives an equal part of the data and the nodes do not suffer underloaded or overloaded.(iii)
Problems in one of the machines: if any of the machines have problems producing output, the final calculation of the result will not be possible. Therefore, there must be a mechanism to ensure the system’s fault tolerance.(iv)
Summary of results: the need for a mechanism to aggregate the results created by each machine to produce the final output.Mapping/reduction is a method that can be used as an effective solution to manage the challenges raised. The mapping/reduction method is a parallel programming approach for processing data on clusters that includes two main phases: map and reduction [48].The mapping phase receives the master node input, breaks it into smaller parts, and divides it among the worker nodes. Ninety workers may repeat this step, creating a tree structure.In the reduction phase, the master node receives the answers to the scaled-down parts and combines them to form the desired output. To implement the two defined phases, we need mapping and reduction functions. This method is a simple programming model used to solve large-scale computational problems in a distributed manner and provides a secure and scalable platform for the development of distributive applications. Each solution is entered in the information mapping and matrix section in this research. In the section on reducing the fitness function value, each solution is calculated in parallel to reduce the processing time. The motivation for choosing this calculation strategy seems logical because the most significant computational volume in this algorithm is performed in calculating the fitness function. Implementing distributed processing and reduction operations is the most important advantage of using the mapping/reduction method. Providing the possibility of parallel processing and independent implementation of each mapping operation highlights the impact of this method in the operation of mining association rules and improving the efficiency of basic techniques.


### 3.3. Parallel Architecture

Parallel mining is one of the practical and precise techniques in modern science that has been widely used in real-world problems today to improve the performance of classical algorithms for discovering association rules [57–60]. The methodology of parallel mining of big data is based on the assumption that several processors work in parallel in the computing environment. The main idea of this methodology is to divide the mining tasks into several subtasks so that each subtask can be processed simultaneously on different processors. Since several processors create association rules simultaneously, the computation speed is higher than classical methods [59].A review of articles in this field shows that in recent years a wide range of different sciences has focused on the use of parallel algorithms in order to improve the performance of traditional techniques [61]. Implementation of large computational operations through parallel algorithms is much faster than performing them with sequential algorithms due to the performance of modern processors. Producing a computer with a high-speed processor is much more complicated than producing a computer with a lot of slower processors with the same throughput. However, there are certain theoretical limitations to the speed of parallel algorithms. Part of any parallel algorithm is consecutive, so every parallel algorithm has a saturation point. After that saturation point, adding more processors increases the throughput and only increases costs and losses. The cost and complexity of parallel algorithms are estimated based on memory and time consumed (number of CPU cycles).Parallel algorithms must also be optimized for communication between different processors. Parallel algorithms communicate with processors in two ways, shared memory and message exchange. Shared memory processing requires an additional lock for information, thus imposing the cost of bus cycles and additional processors, which also causes parts of the algorithm to become non-parallel. Processing through message transmission uses channels and message boxes. However, this type of communication increases the cost of bus transit, additional memory for queues and message boxes, and delays messages. Multiprocessor designs use specific bus bars to reduce transaction costs. However, it is the processor that determines the volume of traffic. Another problem with parallel algorithms is ensuring their proper balance.


## 3.1. Research Hypotheses

In this part of the article, the current research hypotheses are stated. For this purpose, the hypotheses of research to accelerate the study process of current research are briefly described:(i)
In problem-solving, it is always assumed that the transactions used in the problem are stored within a transaction database.It is assumed that the transaction database is not updated in providing standard solutions to problems:(i)
In the case of updating the transaction database, this update will not change the discovered duplicate patterns(ii)
The same data is provided to the processors for parallelization(iii)
Network topologies will use the same data


## 3.2. Components of the Proposed Method

As shown in Figure2, the structural model of the proposed method consists of three main components, each of which is described below.


### 3.2.1. Problem Modeling and Parameters Determination

Parallelization is an architectural pattern based on a network of customers and receives services from provider devices. These devices have the computing and storage capacity to assign cloud computing data and items to each customer. Therefore, data and service management policies are needed to decide the place and time of placing services and data. The problem of placing services is significant in the field of services.The required parameters are defined in the following.(i)
Average execution time: the average execution time shows the two methods mapping and reduces, which is calculated through the following equation:(1)average execution time=∑i=1nmetminm+∑i=1nretrinr.(ii)
Based on this equation,etm is the time taken for execution in the mapping method, etr is the runtime in the reduction method, nm is the number of operations in the mapping mode, and nr is the number of operations in the reduce mode. In this study, these two values are the same because the operations are assigned to mapping and reduction methods.(iii)
Makespan: it is the time required to process all tasks. The assignment of tasks to neural network nodes should be such that this value is as low as possible for all tasks.(iv)
Machine computing cost: this value is indicative of the cost of using the CPU in dollars, which can be calculated by the following equation:(2)VM computing cost=∑i=1nvmetmi+∑j=1nvmetrj×VM Cost per Unit Time,whereVM cost represents the cost paid to use one unit of CPU time per second. Here, etm is the mapping method’s processing time, and etr is the processing time in the reduction method.(v)
Fitness function optimization: it is referred to as fitness function optimization process. For this purpose, the three parameters specified in the previous step must be minimized to optimize the final output of the fitness function. The optimal fitness function is formulated according to the following equation:(3)fitness=w1∗average execution time+w2∗makespan+w3∗VmcostBased on this equation,w1, w2, and w3 represent the proportion coefficients, which are used to sum these three parameters with different unit values. In this relation, the sum of three w is equal to one.


### 3.2.2. Map and Reduction Method

Developing a distributed program without a mapping/reduction framework poses challenges for us, each of which is listed in the following [48, 49]:(i)
Reliability: this is due to the management of distributed systems in a situation where the connection of each of the nodes working on the part of the data is disrupted.(ii)
Distributed load balancing on nodes: how can the data divide into smaller parts so that each machine receives an equal part of the data and the nodes do not suffer underloaded or overloaded.(iii)
Problems in one of the machines: if any of the machines have problems producing output, the final calculation of the result will not be possible. Therefore, there must be a mechanism to ensure the system’s fault tolerance.(iv)
Summary of results: the need for a mechanism to aggregate the results created by each machine to produce the final output.Mapping/reduction is a method that can be used as an effective solution to manage the challenges raised. The mapping/reduction method is a parallel programming approach for processing data on clusters that includes two main phases: map and reduction [48].The mapping phase receives the master node input, breaks it into smaller parts, and divides it among the worker nodes. Ninety workers may repeat this step, creating a tree structure.In the reduction phase, the master node receives the answers to the scaled-down parts and combines them to form the desired output. To implement the two defined phases, we need mapping and reduction functions. This method is a simple programming model used to solve large-scale computational problems in a distributed manner and provides a secure and scalable platform for the development of distributive applications. Each solution is entered in the information mapping and matrix section in this research. In the section on reducing the fitness function value, each solution is calculated in parallel to reduce the processing time. The motivation for choosing this calculation strategy seems logical because the most significant computational volume in this algorithm is performed in calculating the fitness function. Implementing distributed processing and reduction operations is the most important advantage of using the mapping/reduction method. Providing the possibility of parallel processing and independent implementation of each mapping operation highlights the impact of this method in the operation of mining association rules and improving the efficiency of basic techniques.


## 3.2.1. Problem Modeling and Parameters Determination

Parallelization is an architectural pattern based on a network of customers and receives services from provider devices. These devices have the computing and storage capacity to assign cloud computing data and items to each customer. Therefore, data and service management policies are needed to decide the place and time of placing services and data. The problem of placing services is significant in the field of services.The required parameters are defined in the following.(i)
Average execution time: the average execution time shows the two methods mapping and reduces, which is calculated through the following equation:(1)average execution time=∑i=1nmetminm+∑i=1nretrinr.(ii)
Based on this equation,etm is the time taken for execution in the mapping method, etr is the runtime in the reduction method, nm is the number of operations in the mapping mode, and nr is the number of operations in the reduce mode. In this study, these two values are the same because the operations are assigned to mapping and reduction methods.(iii)
Makespan: it is the time required to process all tasks. The assignment of tasks to neural network nodes should be such that this value is as low as possible for all tasks.(iv)
Machine computing cost: this value is indicative of the cost of using the CPU in dollars, which can be calculated by the following equation:(2)VM computing cost=∑i=1nvmetmi+∑j=1nvmetrj×VM Cost per Unit Time,whereVM cost represents the cost paid to use one unit of CPU time per second. Here, etm is the mapping method’s processing time, and etr is the processing time in the reduction method.(v)
Fitness function optimization: it is referred to as fitness function optimization process. For this purpose, the three parameters specified in the previous step must be minimized to optimize the final output of the fitness function. The optimal fitness function is formulated according to the following equation:(3)fitness=w1∗average execution time+w2∗makespan+w3∗VmcostBased on this equation,w1, w2, and w3 represent the proportion coefficients, which are used to sum these three parameters with different unit values. In this relation, the sum of three w is equal to one.


## 3.2.2. Map and Reduction Method

Developing a distributed program without a mapping/reduction framework poses challenges for us, each of which is listed in the following [48, 49]:(i)
Reliability: this is due to the management of distributed systems in a situation where the connection of each of the nodes working on the part of the data is disrupted.(ii)
Distributed load balancing on nodes: how can the data divide into smaller parts so that each machine receives an equal part of the data and the nodes do not suffer underloaded or overloaded.(iii)
Problems in one of the machines: if any of the machines have problems producing output, the final calculation of the result will not be possible. Therefore, there must be a mechanism to ensure the system’s fault tolerance.(iv)
Summary of results: the need for a mechanism to aggregate the results created by each machine to produce the final output.Mapping/reduction is a method that can be used as an effective solution to manage the challenges raised. The mapping/reduction method is a parallel programming approach for processing data on clusters that includes two main phases: map and reduction [48].The mapping phase receives the master node input, breaks it into smaller parts, and divides it among the worker nodes. Ninety workers may repeat this step, creating a tree structure.In the reduction phase, the master node receives the answers to the scaled-down parts and combines them to form the desired output. To implement the two defined phases, we need mapping and reduction functions. This method is a simple programming model used to solve large-scale computational problems in a distributed manner and provides a secure and scalable platform for the development of distributive applications. Each solution is entered in the information mapping and matrix section in this research. In the section on reducing the fitness function value, each solution is calculated in parallel to reduce the processing time. The motivation for choosing this calculation strategy seems logical because the most significant computational volume in this algorithm is performed in calculating the fitness function. Implementing distributed processing and reduction operations is the most important advantage of using the mapping/reduction method. Providing the possibility of parallel processing and independent implementation of each mapping operation highlights the impact of this method in the operation of mining association rules and improving the efficiency of basic techniques.


## 3.3. Parallel Architecture

Parallel mining is one of the practical and precise techniques in modern science that has been widely used in real-world problems today to improve the performance of classical algorithms for discovering association rules [57–60]. The methodology of parallel mining of big data is based on the assumption that several processors work in parallel in the computing environment. The main idea of this methodology is to divide the mining tasks into several subtasks so that each subtask can be processed simultaneously on different processors. Since several processors create association rules simultaneously, the computation speed is higher than classical methods [59].A review of articles in this field shows that in recent years a wide range of different sciences has focused on the use of parallel algorithms in order to improve the performance of traditional techniques [61]. Implementation of large computational operations through parallel algorithms is much faster than performing them with sequential algorithms due to the performance of modern processors. Producing a computer with a high-speed processor is much more complicated than producing a computer with a lot of slower processors with the same throughput. However, there are certain theoretical limitations to the speed of parallel algorithms. Part of any parallel algorithm is consecutive, so every parallel algorithm has a saturation point. After that saturation point, adding more processors increases the throughput and only increases costs and losses. The cost and complexity of parallel algorithms are estimated based on memory and time consumed (number of CPU cycles).Parallel algorithms must also be optimized for communication between different processors. Parallel algorithms communicate with processors in two ways, shared memory and message exchange. Shared memory processing requires an additional lock for information, thus imposing the cost of bus cycles and additional processors, which also causes parts of the algorithm to become non-parallel. Processing through message transmission uses channels and message boxes. However, this type of communication increases the cost of bus transit, additional memory for queues and message boxes, and delays messages. Multiprocessor designs use specific bus bars to reduce transaction costs. However, it is the processor that determines the volume of traffic. Another problem with parallel algorithms is ensuring their proper balance.


## 4. Evaluating the Proposed Method

In this section, experiments are designed to evaluate the effectiveness of the proposed approach compared to other related tasks, and the evaluation results are reported. For this purpose, this section is organized into three different subsections.


### 4.1. Dataset

To evaluate the proposed algorithm, experiments were performed on tasks of different sizes as shown in Table1, which shows the length task value of each machine.Table 1
Length task values of each of the tasks.
Task idLength task12,160,65721,835,95731,819,92341,747,76751,599,44761,583,41371,607,46581,427,07691,463,154101,447,119111,527,292121,503,240131,495,223141,362,938151,370,955161,378,972171,471,171181,431,084191,439,102201,419,059211,403,024221,407,033231,407,033241,423,067251,419,059In addition to the length task values, other values must be specified for the machines as the simulator input so that the simulator is applicable. These values are presented in Table2. In this research work, the pharmaceutical database of the Social Security Organization has been selected as a case study. In this database, the number and price of drugs used are based on the type of insurance and patient referral, patient gender, and specialty of the prescribing physician. They are used to determine the dosage of a particular drug to be used in a given season.Table 2
Specifications of other data center parameters.
ParametersValueLength (MIPS)1,362,938–2,160,657Input size (bytes)291,738Output size (bytes)5,662,310


### 4.2. Performance Evaluation Criteria

This research uses three criteria to evaluate the proposed algorithm [57–59]:(1)
Delay in data transmission: this number indicates the time required to transmit information from source to destination(2)
Energy consumption: this value indicates the energy consumption in the data center for the tasks assigned to the machines(3)
Data center transmission: this criterion indicates the system’s number of data center transmissions


### 4.3. Test Method

This article uses 10–30 machines to test the proposed method in a MATLAB simulator environment. For this purpose, each of the primary and proposed algorithms with this number of machines has been tested four times in a row. In this research, MATLAB software has been used to simulate the system. With this software, the grid environment can be defined in matrices, and the relationships between tasks and resources can be well modeled. In this research, MATLAB 2017b has been used for programming. We present the hardware specifications for the used system in tests (see Table3).Table 3
Hardware specifications of the system used in the tests.
SectionCapacityRAM16 GIGA BYTE DDR4CPUIntel ci7 16 core 12-megabyte cacheHDD1 TRA BYTE


### 4.4. Experimental Results

This section will evaluate the proposed method, which is proposed to improve the basic Apriori algorithm using the parallelization technique on network topologies. In our study, the desired system is considered a data center withN heterogeneous physical nodes. Also, each node I has processor size characteristics specified by MIPS (processing power), memory capacity, and network bandwidth. The data center is dedicated to m machines with these three characteristics. As mentioned earlier, the number of machines varies from 10 to 30 in our evaluation. Also, each of the algorithms with this variable number of machines has been executed four times in a row. The evaluation results have been reported for each implementation of the algorithms.


#### 4.4.1. Evaluating Energy Consumption and the Number of Data Center Transmissions

(1) For Ten Machines. In this part, a comparison is performed between the standard Apriori algorithm and the proposed algorithm in terms of energy consumption. The evaluation results for four algorithm runs are shown in Figure 3.Figure 3
Comparing energy consumption in four experiments.As shown in Figure3, the evaluation results show that, in four different implementations, the energy consumption of the proposed method is lower than the primary method. The data center transmission rate is calculated for the proposed method in another test. The base method results comparison is shown in Figure 4. As in the previous test, the results of four different implementations of the tested algorithms have been reported in this test.Figure 4
Datacenter transmission rate in four experiments.The evaluation results in Figure4 show that the proposed method has a better performance in terms of data transmission rate in the four tests compared to the basic algorithm.(2) For Twenty Machines. In this part, the amount of energy consumption and the data transmission rate for the proposed method and the basic algorithm on twenty machines are calculated in four experiments. We present comparison results in Figures 5 and 6, respectively.Figure 5
Comparison of the amount of energy consumption in four experiments for twenty machines.Figure 6
Comparison of data center transmission rate in four experiments for twenty machines.As seen in Figures5 and 6, the evaluation results of the proposed method show that our proposed method has provided better performance and output in terms of energy consumption and data center transmission rate for twenty machines.(3) For Thirty Machines. In this part, the efficiency of the proposed method and the basic algorithm are investigated in terms of energy consumption and the number of data center transmissions by changing the number of machines from twenty to thirty. The evaluation result of this test is depicted in Figures 7 and 8.Figure 7
Comparison of the amount of energy consumption in four experiments for thirty machines.Figure 8
Comparison of data center transmission rate in four experiments for thirty machines.As a general conclusion from the test performed above, it can be said that our proposed method performed better than the fundamental Apriori algorithm. Also, as can be seen in the results of this evaluation, increasing the number of machines has not had a negative impact on the efficiency of our proposed method. In other words, with the increasing number of machines, energy consumption has decreased, proving the superiority of the proposed method compared to the standard Apriori algorithm. It should be noted that in all tests the amount of energy consumption is calculated in terms of kw/h.


#### 4.4.2. Evaluating Delay Rate in Data Transmission

In this part of the research, the proposed method and the basic Apriori algorithm are compared in terms of delay rate. For this purpose, the comparison results for the four experiments are shown in Figure9. The objective function is considered the delay rate, so the lower the delay, the better the method.Figure 9
Delay rate in four different modes.The results of this experiment in Figure9 show that the proposed method was superior in all four experiments and had a less objective function. As a general conclusion, it can be said that the evaluation of different experiments showed the superiority of the proposed method in different aspects of energy consumption, data center transmission rate, and delay. Also, the proposed algorithm has performed better than the base algorithm due to the use of a more extensive search space and more operators to find the optimal answer.


#### 4.4.3. Runtime

In this experiment, the runtime of the proposed method and the basic algorithm is calculated in four different modes, and the comparison results are shown in Figure10.Figure 10
Algorithm runtime in four different modes.As shown in the results of Figure10, the minimum runtime is provided by the proposed method, and this algorithm can create association rules in less time than the basic Apriori algorithm. Therefore, it can be concluded that the strategy of parallelization of the process of data analysis and mining of the association rules has achieved significant success.


#### 4.4.4. Network Lifetime

In this part of the article, another experiment is designed, based on which the network’s lifetime is evaluated. For this purpose, the network lifetime for the basic algorithm and the proposed method is calculated by changing the number of machines in the network. The results are reported in Table4.Table 4
Results of network lifetime evaluation by changing the number of machines.
Standard Apriori algorithmProposed algorithmThe number of machines401456104715192052862930As shown in the results of Table4, the network lifetime in the proposed method is longer than the standard method. On the other hand, the results of this table show that, with increasing the number of machines, the network’s lifetime has also increased. This increase is higher than the base method in similar conditions. For example, when the number of machines reaches 30, the network lifetime is more significant than the standard method.


#### 4.4.5. Evaluating the Effect of NS Parameter on the Performance of the Proposed Algorithm

To evaluate the effect of the NS parameter on the performance of the proposed algorithm, our proposed algorithm is implemented for different NS values on different datasets. Figures11–14 compare the central execution time with two different NS parameters.Figure 11
Comparison of runtime with different minimum support (dataset accident).Figure 12
Comparison of runtime with different minimum support (dataset mushrooms).Figure 13
Effect of NS parameter at runtime (dataset accident, our method).Figure 14
Effect of NS parameter at runtime (dataset pumsb, our method).In the case of experiments on real datasets, the NS parameter is an important variable to consider the best performance. The NS parameter has a uniform effect on different control values in a specific dataset. For example, for minimum support, the best result for a crash dataset is NS = 5. A simple heuristic, which we used to determine the best value for Apriori, was used to execute the algorithm at large support values. Hence, our proposed method is effective because minimal large amounts of support require less runtime. In addition, the NS parameter is an essential factor in the execution time of the algorithm but also has a significant effect on the amount of memory usage. Figures15 and 16 show the amount of memory required by the proposed algorithm for different NS parameters in different datasets.Figure 15
Effect of NS parameter on memory usage.Figure 16
Effect of NS parameter on memory usage.By comparing these figures, it can be seen that the behavior of the NS parameter on the dataset at runtime and memory usage is almost the same. Therefore, reducing memory usage in the algorithm means reducing the number of tried nodes and thus reducing the processing time required to find frequent item set. Therefore, it can be said that, by reducing the memory usage in any NS parameter, execution time may be reduced.


## 4.1. Dataset

To evaluate the proposed algorithm, experiments were performed on tasks of different sizes as shown in Table1, which shows the length task value of each machine.Table 1
Length task values of each of the tasks.
Task idLength task12,160,65721,835,95731,819,92341,747,76751,599,44761,583,41371,607,46581,427,07691,463,154101,447,119111,527,292121,503,240131,495,223141,362,938151,370,955161,378,972171,471,171181,431,084191,439,102201,419,059211,403,024221,407,033231,407,033241,423,067251,419,059In addition to the length task values, other values must be specified for the machines as the simulator input so that the simulator is applicable. These values are presented in Table2. In this research work, the pharmaceutical database of the Social Security Organization has been selected as a case study. In this database, the number and price of drugs used are based on the type of insurance and patient referral, patient gender, and specialty of the prescribing physician. They are used to determine the dosage of a particular drug to be used in a given season.Table 2
Specifications of other data center parameters.
ParametersValueLength (MIPS)1,362,938–2,160,657Input size (bytes)291,738Output size (bytes)5,662,310


## 4.2. Performance Evaluation Criteria

This research uses three criteria to evaluate the proposed algorithm [57–59]:(1)
Delay in data transmission: this number indicates the time required to transmit information from source to destination(2)
Energy consumption: this value indicates the energy consumption in the data center for the tasks assigned to the machines(3)
Data center transmission: this criterion indicates the system’s number of data center transmissions


## 4.3. Test Method

This article uses 10–30 machines to test the proposed method in a MATLAB simulator environment. For this purpose, each of the primary and proposed algorithms with this number of machines has been tested four times in a row. In this research, MATLAB software has been used to simulate the system. With this software, the grid environment can be defined in matrices, and the relationships between tasks and resources can be well modeled. In this research, MATLAB 2017b has been used for programming. We present the hardware specifications for the used system in tests (see Table3).Table 3
Hardware specifications of the system used in the tests.
SectionCapacityRAM16 GIGA BYTE DDR4CPUIntel ci7 16 core 12-megabyte cacheHDD1 TRA BYTE


## 4.4. Experimental Results

This section will evaluate the proposed method, which is proposed to improve the basic Apriori algorithm using the parallelization technique on network topologies. In our study, the desired system is considered a data center withN heterogeneous physical nodes. Also, each node I has processor size characteristics specified by MIPS (processing power), memory capacity, and network bandwidth. The data center is dedicated to m machines with these three characteristics. As mentioned earlier, the number of machines varies from 10 to 30 in our evaluation. Also, each of the algorithms with this variable number of machines has been executed four times in a row. The evaluation results have been reported for each implementation of the algorithms.


### 4.4.1. Evaluating Energy Consumption and the Number of Data Center Transmissions

(1) For Ten Machines. In this part, a comparison is performed between the standard Apriori algorithm and the proposed algorithm in terms of energy consumption. The evaluation results for four algorithm runs are shown in Figure 3.Figure 3
Comparing energy consumption in four experiments.As shown in Figure3, the evaluation results show that, in four different implementations, the energy consumption of the proposed method is lower than the primary method. The data center transmission rate is calculated for the proposed method in another test. The base method results comparison is shown in Figure 4. As in the previous test, the results of four different implementations of the tested algorithms have been reported in this test.Figure 4
Datacenter transmission rate in four experiments.The evaluation results in Figure4 show that the proposed method has a better performance in terms of data transmission rate in the four tests compared to the basic algorithm.(2) For Twenty Machines. In this part, the amount of energy consumption and the data transmission rate for the proposed method and the basic algorithm on twenty machines are calculated in four experiments. We present comparison results in Figures 5 and 6, respectively.Figure 5
Comparison of the amount of energy consumption in four experiments for twenty machines.Figure 6
Comparison of data center transmission rate in four experiments for twenty machines.As seen in Figures5 and 6, the evaluation results of the proposed method show that our proposed method has provided better performance and output in terms of energy consumption and data center transmission rate for twenty machines.(3) For Thirty Machines. In this part, the efficiency of the proposed method and the basic algorithm are investigated in terms of energy consumption and the number of data center transmissions by changing the number of machines from twenty to thirty. The evaluation result of this test is depicted in Figures 7 and 8.Figure 7
Comparison of the amount of energy consumption in four experiments for thirty machines.Figure 8
Comparison of data center transmission rate in four experiments for thirty machines.As a general conclusion from the test performed above, it can be said that our proposed method performed better than the fundamental Apriori algorithm. Also, as can be seen in the results of this evaluation, increasing the number of machines has not had a negative impact on the efficiency of our proposed method. In other words, with the increasing number of machines, energy consumption has decreased, proving the superiority of the proposed method compared to the standard Apriori algorithm. It should be noted that in all tests the amount of energy consumption is calculated in terms of kw/h.


### 4.4.2. Evaluating Delay Rate in Data Transmission

In this part of the research, the proposed method and the basic Apriori algorithm are compared in terms of delay rate. For this purpose, the comparison results for the four experiments are shown in Figure9. The objective function is considered the delay rate, so the lower the delay, the better the method.Figure 9
Delay rate in four different modes.The results of this experiment in Figure9 show that the proposed method was superior in all four experiments and had a less objective function. As a general conclusion, it can be said that the evaluation of different experiments showed the superiority of the proposed method in different aspects of energy consumption, data center transmission rate, and delay. Also, the proposed algorithm has performed better than the base algorithm due to the use of a more extensive search space and more operators to find the optimal answer.


### 4.4.3. Runtime

In this experiment, the runtime of the proposed method and the basic algorithm is calculated in four different modes, and the comparison results are shown in Figure10.Figure 10
Algorithm runtime in four different modes.As shown in the results of Figure10, the minimum runtime is provided by the proposed method, and this algorithm can create association rules in less time than the basic Apriori algorithm. Therefore, it can be concluded that the strategy of parallelization of the process of data analysis and mining of the association rules has achieved significant success.


### 4.4.4. Network Lifetime

In this part of the article, another experiment is designed, based on which the network’s lifetime is evaluated. For this purpose, the network lifetime for the basic algorithm and the proposed method is calculated by changing the number of machines in the network. The results are reported in Table4.Table 4
Results of network lifetime evaluation by changing the number of machines.
Standard Apriori algorithmProposed algorithmThe number of machines401456104715192052862930As shown in the results of Table4, the network lifetime in the proposed method is longer than the standard method. On the other hand, the results of this table show that, with increasing the number of machines, the network’s lifetime has also increased. This increase is higher than the base method in similar conditions. For example, when the number of machines reaches 30, the network lifetime is more significant than the standard method.


### 4.4.5. Evaluating the Effect of NS Parameter on the Performance of the Proposed Algorithm

To evaluate the effect of the NS parameter on the performance of the proposed algorithm, our proposed algorithm is implemented for different NS values on different datasets. Figures11–14 compare the central execution time with two different NS parameters.Figure 11
Comparison of runtime with different minimum support (dataset accident).Figure 12
Comparison of runtime with different minimum support (dataset mushrooms).Figure 13
Effect of NS parameter at runtime (dataset accident, our method).Figure 14
Effect of NS parameter at runtime (dataset pumsb, our method).In the case of experiments on real datasets, the NS parameter is an important variable to consider the best performance. The NS parameter has a uniform effect on different control values in a specific dataset. For example, for minimum support, the best result for a crash dataset is NS = 5. A simple heuristic, which we used to determine the best value for Apriori, was used to execute the algorithm at large support values. Hence, our proposed method is effective because minimal large amounts of support require less runtime. In addition, the NS parameter is an essential factor in the execution time of the algorithm but also has a significant effect on the amount of memory usage. Figures15 and 16 show the amount of memory required by the proposed algorithm for different NS parameters in different datasets.Figure 15
Effect of NS parameter on memory usage.Figure 16
Effect of NS parameter on memory usage.By comparing these figures, it can be seen that the behavior of the NS parameter on the dataset at runtime and memory usage is almost the same. Therefore, reducing memory usage in the algorithm means reducing the number of tried nodes and thus reducing the processing time required to find frequent item set. Therefore, it can be said that, by reducing the memory usage in any NS parameter, execution time may be reduced.


## 4.4.1. Evaluating Energy Consumption and the Number of Data Center Transmissions

(1) For Ten Machines. In this part, a comparison is performed between the standard Apriori algorithm and the proposed algorithm in terms of energy consumption. The evaluation results for four algorithm runs are shown in Figure 3.Figure 3
Comparing energy consumption in four experiments.As shown in Figure3, the evaluation results show that, in four different implementations, the energy consumption of the proposed method is lower than the primary method. The data center transmission rate is calculated for the proposed method in another test. The base method results comparison is shown in Figure 4. As in the previous test, the results of four different implementations of the tested algorithms have been reported in this test.Figure 4
Datacenter transmission rate in four experiments.The evaluation results in Figure4 show that the proposed method has a better performance in terms of data transmission rate in the four tests compared to the basic algorithm.(2) For Twenty Machines. In this part, the amount of energy consumption and the data transmission rate for the proposed method and the basic algorithm on twenty machines are calculated in four experiments. We present comparison results in Figures 5 and 6, respectively.Figure 5
Comparison of the amount of energy consumption in four experiments for twenty machines.Figure 6
Comparison of data center transmission rate in four experiments for twenty machines.As seen in Figures5 and 6, the evaluation results of the proposed method show that our proposed method has provided better performance and output in terms of energy consumption and data center transmission rate for twenty machines.(3) For Thirty Machines. In this part, the efficiency of the proposed method and the basic algorithm are investigated in terms of energy consumption and the number of data center transmissions by changing the number of machines from twenty to thirty. The evaluation result of this test is depicted in Figures 7 and 8.Figure 7
Comparison of the amount of energy consumption in four experiments for thirty machines.Figure 8
Comparison of data center transmission rate in four experiments for thirty machines.As a general conclusion from the test performed above, it can be said that our proposed method performed better than the fundamental Apriori algorithm. Also, as can be seen in the results of this evaluation, increasing the number of machines has not had a negative impact on the efficiency of our proposed method. In other words, with the increasing number of machines, energy consumption has decreased, proving the superiority of the proposed method compared to the standard Apriori algorithm. It should be noted that in all tests the amount of energy consumption is calculated in terms of kw/h.


## 4.4.2. Evaluating Delay Rate in Data Transmission

In this part of the research, the proposed method and the basic Apriori algorithm are compared in terms of delay rate. For this purpose, the comparison results for the four experiments are shown in Figure9. The objective function is considered the delay rate, so the lower the delay, the better the method.Figure 9
Delay rate in four different modes.The results of this experiment in Figure9 show that the proposed method was superior in all four experiments and had a less objective function. As a general conclusion, it can be said that the evaluation of different experiments showed the superiority of the proposed method in different aspects of energy consumption, data center transmission rate, and delay. Also, the proposed algorithm has performed better than the base algorithm due to the use of a more extensive search space and more operators to find the optimal answer.


## 4.4.3. Runtime

In this experiment, the runtime of the proposed method and the basic algorithm is calculated in four different modes, and the comparison results are shown in Figure10.Figure 10
Algorithm runtime in four different modes.As shown in the results of Figure10, the minimum runtime is provided by the proposed method, and this algorithm can create association rules in less time than the basic Apriori algorithm. Therefore, it can be concluded that the strategy of parallelization of the process of data analysis and mining of the association rules has achieved significant success.


## 4.4.4. Network Lifetime

In this part of the article, another experiment is designed, based on which the network’s lifetime is evaluated. For this purpose, the network lifetime for the basic algorithm and the proposed method is calculated by changing the number of machines in the network. The results are reported in Table4.Table 4
Results of network lifetime evaluation by changing the number of machines.
Standard Apriori algorithmProposed algorithmThe number of machines401456104715192052862930As shown in the results of Table4, the network lifetime in the proposed method is longer than the standard method. On the other hand, the results of this table show that, with increasing the number of machines, the network’s lifetime has also increased. This increase is higher than the base method in similar conditions. For example, when the number of machines reaches 30, the network lifetime is more significant than the standard method.


## 4.4.5. Evaluating the Effect of NS Parameter on the Performance of the Proposed Algorithm

To evaluate the effect of the NS parameter on the performance of the proposed algorithm, our proposed algorithm is implemented for different NS values on different datasets. Figures11–14 compare the central execution time with two different NS parameters.Figure 11
Comparison of runtime with different minimum support (dataset accident).Figure 12
Comparison of runtime with different minimum support (dataset mushrooms).Figure 13
Effect of NS parameter at runtime (dataset accident, our method).Figure 14
Effect of NS parameter at runtime (dataset pumsb, our method).In the case of experiments on real datasets, the NS parameter is an important variable to consider the best performance. The NS parameter has a uniform effect on different control values in a specific dataset. For example, for minimum support, the best result for a crash dataset is NS = 5. A simple heuristic, which we used to determine the best value for Apriori, was used to execute the algorithm at large support values. Hence, our proposed method is effective because minimal large amounts of support require less runtime. In addition, the NS parameter is an essential factor in the execution time of the algorithm but also has a significant effect on the amount of memory usage. Figures15 and 16 show the amount of memory required by the proposed algorithm for different NS parameters in different datasets.Figure 15
Effect of NS parameter on memory usage.Figure 16
Effect of NS parameter on memory usage.By comparing these figures, it can be seen that the behavior of the NS parameter on the dataset at runtime and memory usage is almost the same. Therefore, reducing memory usage in the algorithm means reducing the number of tried nodes and thus reducing the processing time required to find frequent item set. Therefore, it can be said that, by reducing the memory usage in any NS parameter, execution time may be reduced.


## 5. Conclusions and Future Work

Despite the large databases and valuable information scattered in today’s world, the speed of data processing, extraction of association rules, and mining repetitive patterns in them by basic algorithms such as Apriori and different versions of this algorithm is growing. Therefore, reducing the data processing time and speeding up the implementation of the Apriori-based algorithm to mining repetitive patterns can be considered a challenging problem. Accordingly, the information and matrix of each solution are entered into the mapping section. Then, the value of the fitness function of each solution is calculated in parallel in the reduction section to reduce processing time. The reason for performing this parallel processing in the reduction section is to conduct the maximum computational volume of the algorithm when computing the fit function. To evaluate the efficiency of the proposed approach, experiments have been designed and performed that compare our proposed approach with other existing tasks based on the criteria of energy consumption, network lifetime, execution time, and computational complexity. The results of various experiments show the superiority of the efficiency of the proposed algorithm to reduce runtime, energy consumption, and data center transmission by our proposed algorithm. A review of articles in this field shows that many algorithms based on the mapping/reduction framework implement only the production phase of duplicate items in parallel. Therefore, the parallelization of the production process of association rules based on the mapping/reduction framework can be evaluated as a challenging problem in future research. The following are examples of possible research that could be explored in the future:(i)
Applying fuzzy logic to improve the fundamental Apriori algorithm(ii)
Combining optimization algorithms based on collective intelligence and Apriori basic algorithm to improve the performance of traditional algorithms



---

*Source: 8217774-2022-02-09.xml*