Research article Special Issues

Parallel label propagation algorithm based on weight and random walk

  • Received: 03 November 2020 Accepted: 13 January 2021 Published: 02 February 2021
  • Community detection is a complex and meaningful process, which plays an important role in studying the characteristics of complex networks. In recent years, the discovery and analysis of community structures in complex networks has attracted the attention of many scholars, and many community discovery algorithms have been proposed. Many existing algorithms are only suitable for small-scale data, not for large-scale data, so it is necessary to establish a stable and efficient label propagation algorithm to deal with massive data and complex social networks. In this paper, we propose a novel label propagation algorithm, called WRWPLPA (Parallel Label Propagation Algorithm based on Weight and Random Walk). WRWPLPA proposes a new similarity calculation method combining weights and random walks. It uses weights and similarities to update labels in the process of label propagation, improving the accuracy and stability of community detection. First, weight is calculated by combining the neighborhood index and the position index, and the weight is used to distinguish the importance of the nodes in the network. Then, use random walk strategy to describe the similarity between nodes, and the label of nodes are updated by combining the weight and similarity. Finally, parallel propagation is comprehensively proposed to utilize label probability efficiently. Experiment results on artificial network datasets and real network datasets show that our algorithm has improved accuracy and stability compared with other label propagation algorithms.

    Citation: Meili Tang, Qian Pan, Yurong Qian, Yuan Tian, Najla Al-Nabhan, Xin Wang. Parallel label propagation algorithm based on weight and random walk[J]. Mathematical Biosciences and Engineering, 2021, 18(2): 1609-1628. doi: 10.3934/mbe.2021083

    Related Papers:

    [1] Paola Goatin, Chiara Daini, Maria Laura Delle Monache, Antonella Ferrara . Interacting moving bottlenecks in traffic flow. Networks and Heterogeneous Media, 2023, 18(2): 930-945. doi: 10.3934/nhm.2023040
    [2] Felisia Angela Chiarello, Paola Goatin . Non-local multi-class traffic flow models. Networks and Heterogeneous Media, 2019, 14(2): 371-387. doi: 10.3934/nhm.2019015
    [3] Jan Friedrich, Oliver Kolb, Simone Göttlich . A Godunov type scheme for a class of LWR traffic flow models with non-local flux. Networks and Heterogeneous Media, 2018, 13(4): 531-547. doi: 10.3934/nhm.2018024
    [4] Abraham Sylla . Influence of a slow moving vehicle on traffic: Well-posedness and approximation for a mildly nonlocal model. Networks and Heterogeneous Media, 2021, 16(2): 221-256. doi: 10.3934/nhm.2021005
    [5] Christophe Chalons, Paola Goatin, Nicolas Seguin . General constrained conservation laws. Application to pedestrian flow modeling. Networks and Heterogeneous Media, 2013, 8(2): 433-463. doi: 10.3934/nhm.2013.8.433
    [6] Caterina Balzotti, Simone Göttlich . A two-dimensional multi-class traffic flow model. Networks and Heterogeneous Media, 2021, 16(1): 69-90. doi: 10.3934/nhm.2020034
    [7] Dong Li, Tong Li . Shock formation in a traffic flow model with Arrhenius look-ahead dynamics. Networks and Heterogeneous Media, 2011, 6(4): 681-694. doi: 10.3934/nhm.2011.6.681
    [8] Raimund Bürger, Kenneth H. Karlsen, John D. Towers . On some difference schemes and entropy conditions for a class of multi-species kinematic flow models with discontinuous flux. Networks and Heterogeneous Media, 2010, 5(3): 461-485. doi: 10.3934/nhm.2010.5.461
    [9] Raimund Bürger, Christophe Chalons, Rafael Ordoñez, Luis Miguel Villada . A multiclass Lighthill-Whitham-Richards traffic model with a discontinuous velocity function. Networks and Heterogeneous Media, 2021, 16(2): 187-219. doi: 10.3934/nhm.2021004
    [10] Alexander Kurganov, Anthony Polizzi . Non-oscillatory central schemes for traffic flow models with Arrhenius look-ahead dynamics. Networks and Heterogeneous Media, 2009, 4(3): 431-451. doi: 10.3934/nhm.2009.4.431
  • Community detection is a complex and meaningful process, which plays an important role in studying the characteristics of complex networks. In recent years, the discovery and analysis of community structures in complex networks has attracted the attention of many scholars, and many community discovery algorithms have been proposed. Many existing algorithms are only suitable for small-scale data, not for large-scale data, so it is necessary to establish a stable and efficient label propagation algorithm to deal with massive data and complex social networks. In this paper, we propose a novel label propagation algorithm, called WRWPLPA (Parallel Label Propagation Algorithm based on Weight and Random Walk). WRWPLPA proposes a new similarity calculation method combining weights and random walks. It uses weights and similarities to update labels in the process of label propagation, improving the accuracy and stability of community detection. First, weight is calculated by combining the neighborhood index and the position index, and the weight is used to distinguish the importance of the nodes in the network. Then, use random walk strategy to describe the similarity between nodes, and the label of nodes are updated by combining the weight and similarity. Finally, parallel propagation is comprehensively proposed to utilize label probability efficiently. Experiment results on artificial network datasets and real network datasets show that our algorithm has improved accuracy and stability compared with other label propagation algorithms.



    According to Ericsson's "Mobile Market Report", it is predicted that by the end of 2025, there will be more than 2.8 billion 5G subscribers worldwide. 5G will cover nearly 65% of the world's population, and 5G networks will carry 45% of data traffic. Among that, smartphones will account for 86%, and the world will usher in the Internet era of the explosive growth of network data and information. The increasing popularity of 5G networks has witnessed the rapid development of the Internet of Things [1], which has stimulated the emergence of various forms of new applications, such as AR, VR, autonomous driving, smart cities, telemedicine and other technical fields. These application scenarios require a higher bandwidth rate and lower system energy consumption and computing delay [2,3], while the centralized processing mode adopted by the mobile cloud computing model is far from the terminal devices and cannot meet the daily needs of users [4,5]. Therefore, mobile edge computing (MEC) technology has emerged.

    Mobile edge computing [6] is considered one of the core technologies in developing modern communication networks and 5G technology. MEC performs operations such as computing processing and resource allocation on edge nodes by introducing computing data to the edge of the mobile network. As a research hotspot of MEC, resource allocation mainly studies the problem of where to unload computing tasks [7]. In the MEC network scenario of computing-intensive applications, tasks need to be reasonably allocated to maximize the utilization rate of each computing node's storage, CPU and other resources. Therefore, effective resource allocation can not only avoid channel interference between tasks but also increase the calculation rate of tasks, effectively reducing resource occupancy rate and improving resource utilization rate [8,9]. Although a large number of excellent works are devoted to the related research of resource allocation in the MEC environment, numerous studies cover resource allocation based on joint computing offload, channel allocation, spectrum allocation, power allocation and other technologies; and most of the optimization objectives are offload delay, system energy consumption or user income. Thus, there is little research on dynamic resource allocation under multi-user and multiple MEC servers. Therefore, this paper studies the dynamic resource allocation problem in the mobile edge environment and proposes a resource allocation optimization method based on comprehensive utility in the MEC (RAOCU). The method mainly includes three parts: job classification based on an improved Naive Bayes algorithm, resource service node classification based on resource utilization and resource allocation based on comprehensive utility. The main, specific contributions of this work are summarized as follows.

    1) Aiming at the problem of inaccurate job classification results caused by the underflow of the Naive Bayes algorithm, the Naive Bayes algorithm is optimized. The conditional probability of the job type is obtained according to the established Naive Bayes formula, and then the posterior probability that the running job is a CPU-intensive job and I/O-intensive job under certain conditions is obtained, which improves the Naive Bayes Classifier performance.

    2) For resource allocation based on comprehensive utility, by considering the three factors of resource location, task priority and network transmission cost, matching computing resources are assigned to the particular types of jobs, and according to the weighted bipartite graph, the optimal solution of matching job and resource nodes is obtained.

    3) The experimental results demonstrate that, compared with other algorithms, the algorithm of this paper can classify job types and resource service nodes more effectively, reduce resource occupancy rate and improve resource utilization rate.

    The rest of the paper is organized as follows: Section 2 is the research status, and Section 3 expounds on and analyzes the design of resource optimization methods based on comprehensive utility in an MEC environment, including job classification based on an improved Naive Bayes algorithm, resource service node classification based on resource utilization rate and resource allocation based on comprehensive utility. Section 4 provides a detailed description of the proposed algorithm. Section 5 provides a comparison and analysis of experimental results. Finally, Section 6 summarizes the paper and discusses its development direction.

    Many scholars have conducted relevant research on resource allocation in the MEC environment. Tran et al. [10] studied joint task offloading and resource allocation, aiming at maximizing the revenue of user task offloading, and the total revenue of the user is characterized as the weighted sum of task execution delay and energy consumption. Xu et al. [11] established a comprehensive model, Zenith, to capture the optimization problem of online resource allocation in the edge cloud. Based on the proposed model, an auction-based resource contract mechanism and a delay scheduling technology to maximize the utility of service providers were proposed. Dab et al. [12] proposed a joint task allocation and resource allocation method aiming at minimizing the energy consumption of mobile terminals. This scheme formulated the optimization problem based on integer programming and proposed an enhancement algorithm considering the waiting delay of mobile terminals and data transmission. Jinke et al. [13] studied the joint communication and computing resource allocation of multi-user multiple access communication systems, established a function with the delay and energy consumption of mobile devices as the optimization objectives and proposed a resource allocation scheme based on a subgradient algorithm. You et al. [14] discussed the resource allocation problem of minimum energy consumption in multi-user multiple access systems, defined the average unloading priority function and described the resource allocation as a convex optimization problem to minimize the weighted sum of system energy consumption under the constraint of calculation execution delay. Sardellitti et al. [15] considered a multi-cell mobile edge computing offload system, which jointly allocates radio and computing resources to minimize the total energy consumption of mobile terminals under the constraint of offload delay. Ketyko et al. [16] studied the offloading decision with the goal of maximizing the number of service applications and assigning computing nodes by priority. Wang et al. [17] used the method of deep learning to allocate resources and proposed a dynamic unloading scheme. Lemaréchal et al. [18] proposed a layered MEC deployment architecture when MEC computing resources are limited. Boyd et al. [19] proposed three different cloud selection strategies to optimize delay, total cluster energy consumption and energy consumption of each SCeNB in the cluster. Liu et al. [20] used the knapsack model to optimize the whole resource allocation and load balancing problem. Jabeen et al. [21] proposed an interference management scheme, which allocates communication resources and computing resources under the condition of minimum interference. Avgeris et al. [22] proposed an optimal resource allocation framework leveraging the amalgamation of the edge resources. A mechanism based on Markov Random Fields was introduced to allocate redundant workload. To speed up the learning and reduce the resource consumption of the network, Zuo et al. [23] formulated a problem of joint transmission time allocation, computing frequency control and user selection. Fan et al. [24] modeled the resource allocation and pricing of a cloud/edge computing service provider (CESP) as a mixed-integer programming problem (MIP) with the goal of optimizing the revenue of the CESP, and an efficient resource allocation and pricing algorithm based on iterative greed and search was proposed. AlQerm et al. [25] proposed a novel resource allocation model that aimed to maximize the IoT applications' utilities considering multiple applications' priorities and various delay requirements and guaranteed resource allocation fairness. In order to solve the multi-user resource allocation problem, Huang et al. [26] adopted a performance-aware resource allocation (PARA) scheme based on a depth deterministic policy gradient (DDPG) to derive the optimal resource allocation strategy. Lin et al. [27] formulated the upstream resource allocation as a stratified multi-objective optimization model, adjusting the spectrum and storage allocation between latency-critical and delay-tolerant flows. Zhu et al. [28] formulated the virtual resource allocation strategy as an optimization problem that aims to maximize the revenue earned by mobile virtual network operators and proposed a distributed virtual resource allocation algorithm based on the alternating direction method of multipliers. Shabbir et al. [29] compared other commonly used algorithms against the health information security at the MCC environment in terms of better performance and auxiliary qualitative security-ensuring measures.

    Although the literature mentioned above on resource allocation optimization has made some achievements, in the multi-user and multi-MEC server environment, the classification of resource nodes and the low utilization rate of resources in resource allocation are seldom considered. Therefore, this paper proposes a resource optimization algorithm based on comprehensive utility in the MEC environment, and the dynamic resource allocation problem in the mobile edge environment is studied.

    The resource allocation optimization method based on comprehensive utility in the MEC environment proposed in this paper mainly includes job classification based on an improved Naive Bayesian algorithm, classification of resource service nodes based on resource utilization rate and resource allocation based on comprehensive utility. The main parameters involved and their meanings are shown in Table 1.

    In the edge computing environment, by deploying edge computing nodes at the edge of the network, various mobile applications and new application scenarios can provide users with various services, increasing the number and types of jobs that edge computing nodes need to handle exponentially. Therefore, different types of jobs will generate different workloads on the cluster, including I/O-bound or CPU-bound workloads. In the research of job classification, jobs are mostly divided into I/O type or CPU type. I/O-intensive jobs are allocated to I/O type resources. CPU-intensive jobs are allocated to CPU type resources to achieve the load balance of cluster nodes and reduce the response delay of task allocation in the edge environment. Job classification based on job priority or resource requirements will also affect job resource allocation for most applications. The job controller uses the priority and the load indexes to establish the Bayes' theorem's conditional probability.

    The jobs are divided into I/O type or CPU type according to the characteristics of the jobs. The ratio of input data (MID) to output data (MOD) is represented as ρ = MOD/MID, MCD denotes Map processing data, SOD indicates the output result of Shuffle, RID shows the output data of Reduce, MTCT represents the completion time of the Map task, DIOR illustrates the I/O rate of the disk, and N illustrates the number of tasks. Therefore, I/O type and CPU type tasks can be defined as follows:

    N(MID + MOD + SOD + SID)MTCT=N((1+2ρ)MID+SID)MTCTDIOR. (1)
    N(MID + MOD+SOD+SID)MTCT=N((1+2ρ)MID + SID)MTCT<DIOR. (2)
    Table 1.  The meanings of main parameters.
    Parameter Definition
    MTCT Completion time of Map task
    DIOR Disk I/O rate
    N Number of tasks
    jobz job z
    TlastCPU Last cumulative CPU cycle
    TcumulativeCPU The actual CPU cycle used to execute the job is the cumulative CPU cycle
    TcurrentCPU Current CPU cycle
    TlastcurrentCPU Historical CPU cycle and CPU cycle at the last heartbeat
    Ureadi/o The amount of reads that the job accumulates in I/O
    Uwritei/o The cumulative output of the job in I/O
    vzh The amount of calculation required to complete the task hz
    szh The amount of memory required to complete the task hz
    J Resource pool set
    vj Computing power
    sj Memory size of resource pool j
    y(z) Priority of job z
    yzh Priority of resources required for task hz
    le Location of the local server
    lo Location of required resources
    δ Quantity of content required
    wt Size of the t -th required content
    ψ(hz,j) Weight between task hz and container ur

     | Show Table
    DownLoad: CSV

    If the sum of the resource utilization rates of the five stages of MapReduce (MID, MOD, MCD, SOD and RID) is greater than or equal to the disk I/O utilization rate, the job is a CPU type job; otherwise, it is an I/O type of job. According to Eqs (1) and (2), it can be seen that the categories that affect the job include input data (MID), output data (MOD), Shuffle output result (SOD), Reduce output data (RID) and ρ factors, and among them, the values of some factors need to be determined after the job is executed. This paper needs to classify jobs before they are executed, so Eqs (1) and (2) cannot be used to directly judge the types of work. Therefore, this paper uses the Bayesian classifier to classify jobs in Hadoop. According to job-related features and node characteristics, the Bayesian classifier is adopted, and its input data is expressed as job characteristics and node characteristics. According to job characteristics and node characteristics, the Bayesian classifier divides jobs into I/O-intensive and CPU-intensive jobs.

    Equations (3) and (4) calculate the conditional probability that the running job is I/O-intensive and CPU-intensive under certain specific conditions.

    P(jobz=CPU|X1,X2,,Xn) (3)
    P(jobz=I/O|X1,X2,,Xn) (4)

    jobz represents job z, and Xn indicates job characteristics and node characteristics, where it is assumed that each Xn is independent of each other. Taking CPU-intensive jobs as an example, P(B|A)=P(AB)/P(A) can be acquired according to the Bayesian formula, as shown in Eq (5).

    ρP(jobz = CPU|X1,X2,,Xn)=P(X1,X2,,Xn|jobz=CPU)P(jobz=CPU)P(X1,X2,,Xn) (5)

    Equation (6) can be derived from Eq (5).

    P(X1,X2,,Xn|jobz = CPU)=n1P(Xn|jobz = CPU) (6)

    Since there is no correlation between P(X1,X2,,Xn) and job attributes, it can be ignored. Thus, Eq (6) can be converted to Eq (7).

    P(jobz = CPU|X1,X2,,Xn)=P(jobz = CPU)n1P(Xn|jobz = CPU) (7)

    As shown in Eqs (5)-(7), the posterior probability P(jobz = CPU|X1,X2,,Xn) can be obtained by being given jobz = CPU under the premise of the conditional independence assumption, which is expressed as Eq (8).

    P(jobz = CPU|X1,X2,,Xn)=P(jobz = CPU)n1P(Xn|jobz = CPU)P(X1,X2,,Xn) (8)

    Owing to the value of P(X1,X2,,Xn) being constant, it is only necessary to calculate the relative size of the numerator in Eq (8), which can be expressed as Eq (9).

    (jobz = CPU)max = argmaxP(jobz = CPU|X1,X2,,Xn)=argmaxP(jobz = CPU)n1P(Xn|jobz = CPU) (9)

    Based on Eq (9), when the posterior probability P(jobz = CPU|X1,X2,,Xn) is contrasted, more conditional probabilities are required for multiplication calculation. At the same time, it is likely that underflow will occur, which will lead to the abnormal execution of the next command, thus leading to the uncertainty result of a posterior probability P(jobz = CPU|X1,X2,,Xn), thereby affecting the judgment of job type, influencing the feasibility of the algorithm and reducing the performance of the algorithm. Consequently, this paper optimizes according to the disadvantages of the Naive Bayes algorithm, and Eq (9) is transformed into the following:

    (jobz = CPU)max = argmaxP(jobz = CPU|X1,X2,,Xn)=InP(jobz = CPU) + n1InP(Xn|jobz = CPU). (10)

    It can be seen from Eq (10) that there may be a value of 0 on the right side of the equation, which will have a certain impact on the job classification result, thus affecting the performance of the algorithm. The Laplace smoothing technique can effectively avoid the situation where the right side of the equation is 0, and we can add 1 to the right side of the equation. Therefore, the class conditional probability of I/O-intensive jobs and CPU-intensive jobs can be expressed as

    P(X1,X2,,Xn|jobz = CPU)=Tk+1kTk+Tc. (11)

    In Eq (11), Tk denotes the number of occurrences of feature items in I/O-intensive jobs and CPU-intensive jobs in the total workload, the total number of all feature items of a job type, and Tc illustrates the smoothing factor, the total number of feature items of all job types. Therefore, the posterior probability for the two types of operations can be formulated as

    P(jobz = CPU|X1,X2,,Xn)=argmaxP(jobz = CPU)n1Tk+1kTk+Tc. (12)
    P(jobz = I/O|X1,X2,,Xn)=argmaxP(jobz = I/O)n1Tk+1kTk+Tc. (13)

    The job type is judged according to the established Naive Bayes posterior probability. Therefore, when P(jobz=CPU|X1,,Xn)>P(jobz=I/O|X1,,Xn), the job is CPU-intensive, and when P(jobz=I/O|X1,,Xn)>P(jobz=CPU|X1,,Xn), the job is I/O-intensive. The job classification algorithm based on improved Naive Bayes is shown in Algorithm 4.1.

    In the problem of resource allocation in the edge cloud environment, not only the types of jobs and the arrival times and regularity of jobs should be considered, but also the requirements for resource types of jobs should be considered. Therefore, according to the resource utilization rates of I/O and CPU, the resource service nodes are divided into I/O main resource and CPU main resource to make full use of the system resources.

    TaskTracker sends heartbeat information to JobTracker within a specific time to indicate that the node is running. Therefore, I/O and CPU usages on TaskTracker are captured by adding specific indicators. According to the heartbeat message received from TaskTracker, JobTracker obtains the resource utilization rate information of the node. There, I/O and CPU resource utilization rates in TaskTracker are achieved as follows:

    CPUusage=TcumulativeCPUTlastCPU(TcurrentCPU     TlastcurrentCPU   )Num_of_processors. (14)
    I/Ousage=(Ureadi/oUlastreadi/o   )+(Uwritei/oUlastwritei/o  )(TcurrentCPU   TlastcurrentCPU   ). (15)

    In Eq (14), TcumulativeCPU shows the actual CPU cycle used to execute the job, the cumulative CPU cycle, TlastCPU indicates the last cumulative CPU cycle, TcurrentCPU denotes the current CPU cycle, and the value of TlastcurrentCPU manifests the historical CPU cycle and the CPU cycle at the last heartbeat. Ureadi/o indicates the cumulative read amount of the job in I/O, and Uwritei/o shows the cumulative output of the job in I/O. When CPUusage>I/Ousage, the resource node is the main CPU resource, and when CPUusageI/Ousage, the resource node is the main I/O resource. The classification algorithm of resource service nodes is shown in Algorithm 4.2.

    In this section, resource nodes are calculated for job allocation according to three factors: resource location, task priority and network transmission cost. The optimal solution of job and resource node matching is obtained according to the method of a weighted bipartite graph.

    The job is denoted as z, each job z(0zf) is composed of multiple tasks lz, and each task is indivisible, independent and non-preemptive. The task hz is illustrated as hz = (vzh,szh)(1hzlz), vzh represents the amount of computation required to complete task hz, and szh illustrates the memory size required to complete task hz. The resource pool set is defined as j(0jJ), and each resource pool is indicated as j(vj,sj), where vj is the computing power of the CPU, and sj is the memory size of the resource pool j. Therefore, the similarity between task hz and resource service node j can be defined as follows. uj is the transpose of vector uj.

    Sim(hz,j)=hzj|hz||j| (16)

    The priority y(hz) of task hz is expressed as

    y(hz) = ηy(z)(1η)yzh. (17)

    In Eq (17), y(z) represents the priority of job z, which is determined by the scheduling priority in the data processing system, yzh denotes the priority of resources required by task hz, and η indicates the weight coefficient. As the value of y(hz) increases, the priority of task hz will also increase, and yzh is determined by the location of resources required by task hz. When the required resources are stored in the memory on the local server, set yzh = 2. When the demand resources are stored in the disk on the local server yzh = 1, and otherwise, yzh = 1h(le,lo ). le represents the location of the local server, lo illustrates the location of the required resources, and h(le,lo) describes the minimum network distance between the local server and the required resources.

    The network transmission cost is illustrated as

    e(hz,j) = δtwth(le,wt)band(le,wt). (18)

    In Eq (18), δ represents the quantity of required content, wt indicates the size of the t -th required content, h(le,wt) manifests the minimum network distance between the local server and the needed content location, and band(le,wt) illustrates the bandwidth between the local server and the required content location. When the demand content is stored on the local server, h(le,wt) = 0 and band(le,wt) = 1. Therefore, the job resource matching optimization problem is described as

    P1:maxfz=1Jj=1lzhz=1πzhjSim(hz,j)y(hz)[e(hz,j)+1]. (19)
    s.t.πzhj{0,1}Jj=1πzhj=1j=1,2,,Jh=1,2,,lz. (20)

    In Eq (19), for πzhj{0,1}, when the h -th task matches the j -th resource pool, πzhj = 1; otherwise, πzhj = 0. Since problem P1 is a shaping programming problem, that is, an NP hard problem, in order to solve this problem, problem P1 is transformed into an optimal matching problem under the condition of a weighted bipartite graph. Consequently, in the weighted bipartite graph, the weight of task hz and resource pool j is composed of their similarities. The weight between task priority and network transmission cost can be depicted as

    ψ(hz,j) = λ1Sim(hz,j)¯Sim(hz,j) + λ2y(hz)¯y(hz) - λ3e(hz,j)¯e(hz,j). (21)

    ψ(hz,j) represents the weight between task hz and container ur, λ1 denotes the weight coefficient of similarity, λ2 illustrates the weight coefficient of task priority, and λ3 manifests the weight coefficient of network transmission cost.

    ¯Sim(hz,j) = fz=1Jj=1lzhz=1Sim(hz,j)fz=1lzhz=1j (22)
    ¯y(hz) = fz=1lzhz=1y(hz)fz=1lz (23)
    ¯e(hz,j) = fz=1Jj=1zghz=1e(hz,j)fz=1lzhz=1j (24)

    P1 can be reduced to the following programming problem.

    P2:maxfz=1Jj=1lzhz=1πzhjψ(hz,j) (25)
    s.t.πzhj{0,1}Jj=1πzhj=1j=1,2,,Jh=1,2,,lz (26)

    When fz=1lz>j, fz=1lz - j virtual resource pools need to be added, so that there is a one-to-one relationship between each task and each resource pool. The weight between each task and the added virtual resource pool is zero. The resource allocation algorithm is based on comprehensive utility, as shown in Algorithm 4.3.

    The first step is to establish the conditional probability of the job by using Naive Bayes and then calculate the posterior probability of each job type according to the formula. Aiming at the shortcomings of Naive Bayes, the Laplace Smoothing technique is used to optimize the Naive Bayes algorithm. Finally, the posterior probability of the job to be classified is computed, and the job type is judged according to the acquired posterior probability of the job type. The core pseudo-code of job classification based on the improved Naive Bayesian algorithm is shown in Algorithm 1.

    Algorithm 1: Job classification based on improved Naive Bayesian algorithm
    Input: Job volume ω, job [1, 2, ..., f] // job is defined as the job to be classified
    1. for (ω = 1; ωf; ω + + ) do
    2.   Establish Bayesian conditional probability // according to Eq (3), (4)
    3.   Calculate the posterior probability of the operation type according to Eq (8)
    4.   Use Laplace smoothing technique to eliminate the situation where the right side of Eq (8) is 0 // Eq (11)
    5.   Obtain the posterior probability of CPU-intensive jobs and I/O-intensive jobs // Eq (12) and Eq (13)
    6.   call.Classifier(ω)
    7.   if ωP(jobz=CPU|X1,,Xn)>P(jobz=I/O|X1,,Xn) then
    8.      the job is CPU-intensive
    9.    else if ωP(jobz=I/O|X1,,Xn)>P(jobz=CPU|X1,,Xn)
    10.      the job is I/O-intensive
    11.    end if
    12. end for
    13. return JobType[1, 2, …, f]

    According to the resource utilization rate, the resource pool is divided into CPU main resources and I/O main resources. The core pseudo-code for classifying resource service nodes is shown in Algorithm 2.

    Algorithm 2: Resource classification algorithm based on status of resource service nodes
    Input: Resource Service Node j = {1, 2, , J} // The number of J resource nodes to be classified
    Output: Classify[1, 2, , J] // Classified resource nodes
    1. For each j
    2.    CPUusage, I/Ousage // Obtain the resource utilization of the CPU and I/O in TaskTracker according to Eqs (14) and (15)
    3.    if CPUusage>I/Ousage
    4.    the resource node is the main CPU resource
    5.    else CPUusageI/Ousage
    6.    the resource node is the main I/O resource
    7.    end if
    8. end for
    9. return Classify[1, 2, , J]

    It is necessary to divide corresponding types of jobs into corresponding resource pools. This paper formulates a resource allocation algorithm based on comprehensive utility by calculating the similarity between tasks and resource pools, task priority and network transmission overhead of required resources. The core pseudo-code is exhibited in Algorithm 3.

    The flow chart of the resource allocation optimization algorithm based on comprehensive utility in the MEC environment is shown in Figure 1.

    1) Experimental environment

    This experimental environment is ubuntu-18.10-desktop-amd64, JDK1.8.0_11. Use the virtual machine software VMware Workstation 15.0.4 and SSH tools OpenSSH-server and OpenSSH-client. Build cloud computing framework Hadoop-3.1.2. The Linux system cloning tool is Clonezilla. The integrated development environment is Linux Eclipse 4.5.0. The specific experimental test environment and cluster node configuration in this study are indicated in Figure 2 and Table 2.

    In order to simulate the actual scene of the experiment, the edge server is built with nine mobile terminals with different configurations. The remote cloud uses the Aliyun instance to build the environment. Edge servers and remote cloud communicate via VPN. Table 2 shows the configuration of the cluster node of the Edge Server.

    2) Experimental data

    The experiment data comes from the dataset of Stanford Network [30] (SNAP), including the online social network set, communication network set, Amazon network set, and other large network data sets. The range is [2,40] G, the size of the experimental data set is about 40 GB, the size of each segmented data is 128 MB, and the range of the map task is [14,300]. Therefore, the scale of the dataset executed by the benchmark program in this experiment is shown in Table 3.

    Algorithm 3: Resource allocation algorithm based on Comprehensive Utility
    Input:Resource pool set J={1, 2, ,j}, job Job[1,2,,f], task set H={h1,h2,,hz;z=1,2,,f}
    Output:Resource allocation result HashMap
    1. for each hzH do
    2. Calculate the similarity Sim(hz,j) between task hz and resource service node j // according to Eq (16)
    3. Calculate the priority y(hz) of task hz // according to Eq (17)
    4. Calculate the network transmission cost e(hz,j) // according to Eq (18)
    5. end for each
    6. for each heartbeat information
    7. if fz=1lz>j then
    8.    add fz=1lz - j virtual resource pools
    9.    Repeat
    10.    Use weighted bipartite graph matching method to select mutually matching job and resource service nodes
    11.    until obtaining the optimal solution matching the job and resource service node // according to the formula (19)
    12. else
    13.    add jfz=1lz virtual resource pools
    14. end if
    15. update matching operation of job and resource service node
    16. end for each
    17. return obtained matching jobs and resource service nodes

    Figure 1.  The flow chart of resource allocation optimization algorithm based on comprehensive utility in MEC environment.
    Table 2.  Edge server cluster node configuration.
    Node type and name IP address CPU type Running memory
    Master (NameNode) 193.168.121.101 Inter Core i5 3.30 GHz, 2 cores, 500 G disk 8 GB
    Slave (DateNode1) 193.168.121.102 Inter Core i5 3.30 GHz, 2 cores, 500 G disk 2 GB
    Slave (DateNode2) 193.168.121.103 Inter Core i5 3.30 GHz, 2 cores, 500 G disk 8 GB
    Slave (DateNode3) 193.168.121.104 Inter Core i5 3.30 GHz, 2 cores, 500 G disk 4 GB

     | Show Table
    DownLoad: CSV
    Figure 2.  Experimental test environment.
    Table 3.  Data set size of benchmark program execution.
    Data set Data count Map tasks
    Online social network collection 4039 data of Facebook social circle, a total of 2 G data volume 16
    Communication network set 36, 692 data of e-mail communication network, a total of 8G data volume 32
    Amazon Web collection Purchase information and all comment data of various products, a total of 25 G data volume 190
    Wikipedia Network 7115 data voted by Wiki, a total of 4 G data 25

     | Show Table
    DownLoad: CSV

    The experiment uses different job streams as the test cases [31], namely Wordcount, Kmeans, and Teragen. Since there are not many data calculation operations in the map and reduced phases of WordCount, this type of job can be classified as I/O-intensive. Kmeans involves more data computing operations in the Map and Reduce phases and does not have too many intermediate data read and write operations, so this type of job is classified as CPU-intensive. The data generated by Teragen is mostly used for subsequent programs, so this type of job can be classified as I/O intensive. The test case related data description of this experiment is shown in Table 4.

    Table 4.  Description of experimental test cases.
    Test procedure Description Characteristic
    WordCount Total word count I/O-intensive
    Kmeans Smaller dimension, numerical and continuous data set CPU-intensive
    Teragen The generated data (3 GB) is used in subsequent procedures I/O-intensive

     | Show Table
    DownLoad: CSV

    In order to verify the effectiveness and stability of the algorithm proposed in this paper, the average job execution time and hit rate are used as the evaluation indicators of algorithm performance.

    This group of experiments analyzes the average job execution time of the same job running under FIFO [32], FAIR [33], COSHH [34] and RAOCU. This experiment sets four job streams for each type of job, each job stream has 35 jobs, and a total of 140 jobs are submitted. Jobs of WorkCount, Kmeans and Teragen types are executed eight times each with job counts of 20, 60, 100 and 140, respectively. The average execution times of jobs under different numbers of jobs are shown in Figure 3. The job hit rates under different job numbers are shown in Figure 4.

    Figure 3.  Comparison of average job execution times in different job quantities.

    Figure 3 shows that when the number of jobs is 20, the average execution times of FIFO, FAIR, COSHH and RAOCU have little distinction, and they can all be stable at about 350 s. With increasing job data, COSHH can achieve a lower average job execution delay than FIFO and FAIR. The average job execution delay of the algorithm in this paper can show a lower trend than the other three algorithms. As the scale of job data increases, some jobs have priority implemented, while some jobs are only part of the execution jobs. For the jobs with priority execution, the Map task collects the job execution information and classifies the jobs, and then the remaining job allocates resources according to the corresponding labels. Because the RAOCU uses an improved Naive Bayes classification algorithm to classify the job, it can effectively speed up the classification of job data and reduce the average job execution time.

    Figure 4.  Comparison of job hit rates in different job numbers.

    Figure 4 shows that with the increase in the number of tasks, the job hit rate of each algorithm also increases. For example, under the number of 140 jobs, the job hit rate of RAOCU is about 46.3% higher than that of 20 tasks, so the job hit rate of RAOCU is higher than those of the FIFO, FAIR and COSHH algorithms. In the case of 140 jobs, the RAOCU hit rate is about 25.9% higher than FIFO, 12.96% higher than FAIR and 11.1% higher than COSHH.

    Figure 5 describes the average execution times of jobs with available storage space under different resource service nodes. Figure 6 illustrates the hit rates of job resources under different storage spaces.

    Figure 5.  Comparison of average job execution time in different available storage spaces.

    As shown in Figure 5, as the available storage space increases, the average job execution time for each algorithm decreases. When the size of the storage space under the resource service node increases from 20 to 50, the average job execution time of RAOCU is reduced by about 53.3%. Under the same available storage space, the average job execution time of the algorithm in this paper shows a lower trend than the other three algorithms. The resource location considered in RAOCU establishes the relationship between the task and the resource pool according to the similarity, which can be matched by the task content and effectively reduce the average execution time of the job.

    Figure 6.  Comparison of job hit rates in different available storage spaces.

    As shown in Figure 6, with the increase of storage space under the resource service node, the job hit rate of each algorithm also rises. When the size of the storage space under the resource service node changes from 20 to 50, the job hit rate of RAOCU increases by about 61.5%, which is higher than those of the FIFO, FAIR and COSHH algorithms. When the available storage space is 50, RAOCU's job hit rate is about 31.2% higher than FIFO's, 26% higher than FAIR's and 14.3% higher than COSHH's. With the same available storage space, the job hit rates of the other three algorithms are lower than that of the RAOCU algorithm. As the available storage space under the resource service node increases, the edge nodes contain more content. In resource matching, RAOCU considers three factors: resource location, task priority and network transmission cost, thus improving the hit rate of each algorithm.

    Figure 7 depicts the influence of the number of resource service nodes on the average job execution times. Figure 8 manifests the influence of the number of resource service nodes on the job hit rates.

    Figure 7.  Comparison of average job execution times in different numbers of resource service nodes.

    As shown in Figure 7, when the number of resource service nodes is between 20 and 100, the FIFO and FAIR algorithms fluctuate greatly. The average task execution delay of FIFO decreases first and then increases with the increase of resource service nodes. FAIR's average task execution delay first decreases and gradually increases with the number of resource service nodes. COSHH's performance shows a trend of first declining and then stabilizing. When it is stable, RAOCU shows a lower average job response time than COSHH. When the number of resource service nodes is about 52, the average job response time of RAOCU is the lowest.

    It can be seen from Figure 8 that with the increasing number of resource service nodes, the job hit rates of FIFO and FAIR algorithms are in a relatively stable trend. Compared with FIFO and FAIR, COSHH and RAOCU show a convex trend with the increase in the number of resource service nodes. With the increase of resource service nodes, the job hit rates first show an upward trend and then gradually decrease. RAOCU considers the classification of jobs and the classification of resource service nodes. When the number of resource service nodes is too low, the matching between jobs and corresponding resource service nodes cannot be well completed, so the job hit rate is low. When the number of resource service nodes exceeds a specific number, the job will be matched to resource service nodes of the same type. Hence, RAOCU improves the utilization rate of resource nodes to a certain extent and has higher optimization performance than FIFO, FAIR and COSHH.

    Figure 8.  Comparison of job hit rates in different numbers of resource service nodes.

    By analyzing the above three sets of experiments, the following conclusions can be drawn: 1) The number of jobs impacts the resource optimization algorithm. As the number of jobs increases, the average task execution delay and the job hit rate also increase. 2) The available storage space under different resource service nodes will affect the resource allocation optimization algorithm. As the available storage space increases, the average task execution delay decreases, and the job hit rate gradually increases. 3) The number of resource service nodes influences the resource optimization algorithm. As the number of resource service nodes increases, the average task execution time increases steadily, while the job hit rate increases first and then gradually decreases.

    This paper studies the resource allocation optimization method based on comprehensive utility in multi-user and multiple MEC environments. The algorithm mainly includes job classification based on an improved Naive Bayesian algorithm, resource service node classification based on resource utilization rate and resource allocation based on comprehensive utility. Finally, the simulation results show that the RAOCU algorithm can reduce the resource occupancy rate and improve the resource utilization rate. At the same time, it has good performance in the average job execution delay and job hit rate. However, when classifying the computing tasks requested by the mobile terminal, this work does not consider the deadline and computing cost of the job. In the classification method of resource service nodes, only the resource utilization rate of resource service nodes is considered for classification. The network load of resource service node classification after job classification is not considered, so the next key work will be about these aspects of research.

    The work was supported by the National Natural Science Foundation (NSF) under grants (No. 61802353), the Natural Science Foundation of Henan Province (No. 202300410505), the project of Science and Technology of Henan Province (NO. 192102210270) and the Henan Provincial Department of Science and Technology (NO. 192102210270).

    The authors declared that they have no conflicts of interest to this work. We declare that we do not have any commercial or associative interest that represents a conflict of interest in connection with the work submitted.



    [1] T. Ma, Y. Zhao, H. Zhou, Y. Tian, A. A. Dhelaan, M. Al-Rodhaan, Natural disaster topic extraction in sina microblogging based on graph analysis, Expert Syst. Appl., 115 (2019), 346–355. doi: 10.1016/j.eswa.2018.08.010
    [2] H. Rong, T. Ma, J. Cao, Y. Tian, A. A. Dhelaan, M. Al-Rodhaan, Deep rolling: A novel emotion prediction model for a multi-participant communication context, Inf. Sci., 488 (2019), 158–180. doi: 10.1016/j.ins.2019.03.023
    [3] J. Wu, Z. Chen, M. Zhao, An efficient data packet iteration and transmission algorithm in opportunistic social networks, J. Ambient Intell. Humanized Comput., 11 (2020), 3141–3153. doi: 10.1007/s12652-019-01480-2
    [4] T. Ma, H. Rong, Y. Hao, J. Cao, Y. Tian, M. Al-Rodhaan, A novel sentiment polarity detection framework for chinese, IEEE Trans. Affective Comput., 2019 (2019).
    [5] H. T. Nguyen, A. Cano, T. Vu, T. N. Dinh, Blocking self-avoiding walks stops cyber-epidemics: a scalable gpu-based approach, IEEE Trans. Knowl. Data Eng., 32 (2020), 1263–1275. doi: 10.1109/TKDE.2019.2904969
    [6] C. Su, Y. K. Wang, Y. Yu, Community detection in social networks, Trans Tech Publications Ltd, 2014.
    [7] R. Kishore, S. Swayamjyoti, S. Das, A. K. Gogineni, Z. Nussinov, D. Solenov, et al., Visual machine learning: Insight through eigenvectors, chladni patterns and community detection in 2d particulate structures, arXiv preprint arXiv: 2001.00345, 2020.
    [8] K. Liu, Z. Chen, J. Wu, Y. Xiao, H. Zhang, Predict and forward: An efficient routing-delivery scheme based on node profile in opportunistic networks, Future Int., 10 (2018), 74. doi: 10.3390/fi10080074
    [9] M. Alsenwi, K. Kim, C. S. Hong, Radio resource allocation in 5g new radio: A neural networks based approach, arXiv preprint arXiv: 1911.05294, 2019.
    [10] Y. Kang, B. Yu, W. Wang, D. Meng, Spectral clustering for large-scale social networks via a pre-coarsening sampling based nystrÖm method, Pacific-asia Conference on Knowledge Discovery & Data Mining, 2015.
    [11] D. Cheng, Q. Zhu, Q. Wu, A local cores-based hierarchical clustering algorithm for data sets with complex structures, 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), 2018.
    [12] J. Wu, L. Zhang, Y. Li, Y. Jiao, Partition signed social networks via clustering dynamics, Phys. A, 443 (2016), 568–582. doi: 10.1016/j.physa.2015.09.066
    [13] T. P. Q. Nguyen, R. Kuo, Partition-and-merge based fuzzy genetic clustering algorithm for categorical data, Appl. Soft Comput., 75 (2019), 254–264. doi: 10.1016/j.asoc.2018.11.028
    [14] M. E. J. Newman, Finding community structure in networks using the eigenvectors of matrices, Phys. Rev. E, 74 (2006), 036104. doi: 10.1103/PhysRevE.74.036104
    [15] M. E. Newman, Fast algorithm for detecting community structure in networks, Phys. Rev. E, 69 (2004), 066133. doi: 10.1103/PhysRevE.69.066133
    [16] R. Guimera, M. Sales-Pardo, L. A. N. Amaral, Modularity from fluctuations in random graphs and complex networks, Phys. Rev. E, 70 (2004), 025101. doi: 10.1103/PhysRevE.70.025101
    [17] J. Duch, A. Alex, Community detection in complex networks using extremal optimization, Phys. Rev. E, 72 (2005), 027104. doi: 10.1103/PhysRevE.72.027104
    [18] L. Donetti, M. A. Munoz, Detecting network communities: a new systematic and efficient algorithm, J. Stat. Mech. Theory Exp., 2004 (2004), P10012. doi: 10.1088/1742-5468/2004/10/P10012
    [19] S. Gregory, An algorithm to find overlapping community structure in networks, in European Conference on Principles & Practice of Knowledge Discovery in Databases, 2007.
    [20] S. Gregory, A fast algorithm to find overlapping communities in networks, Joint European Conference on Machine Learning and Knowledge Discovery in Databases, Springer, 2008.
    [21] P. Schuetz, A. Caflisch, Multistep greedy algorithm identifies community structure in real-world and computer-generated networks, Phys. Rev. E, 78 (2008), 026112. doi: 10.1103/PhysRevE.78.026112
    [22] F. Hu, J. Liu, L. Li, J. Liang, Community detection in complex networks using node2vec with spectral clustering, Phys. A, 545 (2020), 123633. doi: 10.1016/j.physa.2019.123633
    [23] G. Palla, I. Derényi, I. Farkas, T. Vicsek, Uncovering the overlapping community structure of complex networks in nature and society, Nature, 435 (2005), 814–818. doi: 10.1038/nature03607
    [24] J. M. Kumpula, K. Mikko, K. Kimmo, S. K. Jari, Sequential algorithm for fast clique percolation, Phys. Rev. E, 78 (2008), 026109. doi: 10.1103/PhysRevE.78.026109
    [25] R. Usha Nandini, A. Réka, K. Soundar, Near linear time algorithm to detect community structures in large-scale networks, Phys. Rev. E, 76 (2007), 036106. doi: 10.1103/PhysRevE.76.036106
    [26] I. X. Y. Leung, H. Pan, L. Pietro, C. Jon, Towards real-time community detection in large networks, Phys. Rev. E, 79 (2007), 066107.
    [27] J. Xie, S. Kelley, B. K. Szymanski, Overlapping community detection in networks: the state of the art and comparative study, Acm Comput. Surv., 45, (2013), 43.
    [28] T. Ma, W. Shao, Y. Hao, J. Cao, Graph classification based on graph set reconstruction and graph kernel feature reduction, Neurocomputing, 296 (2018), 33–45. doi: 10.1016/j.neucom.2018.03.029
    [29] S. Gregory, Finding overlapping communities in networks by label propagation, New J. Phys., 12 (2010), 103018. doi: 10.1088/1367-2630/12/10/103018
    [30] Z. H. Wu, Y. F. Lin, S. Gregory, H. Y. Wan, S. F. Tian, Balanced multi-label propagation for overlapping community detection in social networks, J. Comput. Sci. Technol., 27 (2012), 468–479. doi: 10.1007/s11390-012-1236-x
    [31] T. Ma, Y. Wang, M. Tang, C. Jie, T. Yuan, A. Al-Dhelaan, M. Al-Rodhaan, Led: A fast overlapping communities detection algorithm based on structural clustering, Neurocomputing, 207 (2016), 488–500. doi: 10.1016/j.neucom.2016.05.020
    [32] T. Ma, Q. Liu, J. Cao, Y. Tian, A. Al-Dhelaan, MznahAl-Rodhaan, Lgiem: Global and local node influence based community detection, Future Gener. Comput. Syst., 105 (2020), 533–546. doi: 10.1016/j.future.2019.12.022
    [33] T. Ma, Q. Pan, H. Wang, W. Shao, Y. Tian, N. Al-Nabhan, Graph classification algorithm based on graph structure embedding, Expert Syst. Appl., 161 (2020), 113715. doi: 10.1016/j.eswa.2020.113715
    [34] I. Ben El Kouni, W. Karoui, L. B. Romdhane, Node importance based label propagation algorithm for overlapping community detection in networks, Expert Syst. Appl., 162 (2020), 113020. doi: 10.1016/j.eswa.2019.113020
    [35] Y. Lv, T. Ma, M. Tang, J. Cao, Y. Tian, A. Al-Dhelaan, MznahAl-Rodhaan, An efficient and scalable density-based clustering algorithm for datasets with complex structures, Neurocomputing, 171 (2016), 9–22. doi: 10.1016/j.neucom.2015.05.109
    [36] T. Ma, H. Wang, L. Zhang, Y. Tian, N. Al-Nabhan, Graph classification based on structural features of significant nodes and spatial convolutional neural networks, Neurocomputing, 423 (2021), 639–650. doi: 10.1016/j.neucom.2020.10.060
    [37] K. Lei, B. Zhang, Y. Liu, Y. Deng, D. Zhang, Y. Shen, A knowledge graph based solution for entity discovery and linking in open-domain questions, International Conference on Smart Computing and Communication, 2017.
    [38] Z. Liu, M. Barahona, Graph-based data clustering via multiscale community detection, Appl. Network Sci., 5 (2020), 1–20. doi: 10.1007/s41109-019-0247-8
    [39] J. Li, H. Zhang, Z. Han, Y. Rong, H. Cheng, J. Huang, Adversarial attack on community detection by hiding individuals, WWW '20: Proceedings of The Web Conference, 2020.
    [40] Y. Zhang, Y. Liu, R. Jin, J. Tao, L. Chen, X. Wu, Gllpa: A graph layout based label propagation algorithm for community detection, Knowl. Based Syst., 206 (2020), 106363. doi: 10.1016/j.knosys.2020.106363
    [41] Y. Zhang, Y. Liu, Q. Li, R. Jin, C. Wen, Lilpa: A label importance based label propagation algorithm for community detection with application to core drug discovery, Neurocomputing, 413 (2020), 107–133. doi: 10.1016/j.neucom.2020.06.088
    [42] Graphx programming guide, 2020. Available from: http://spark.apache.org/docs/latest/graphx-programming-guide.html#graph-algorithms.
    [43] A. Bandyopadhyay, O. Zeitouni, Random walk in dynamic markovian random environment, arXiv preprint math/0509066, 2005.
    [44] W. Liu, L. Lü, Link prediction based on local random walk, EPL, 89 (2010), 58007. doi: 10.1209/0295-5075/89/58007
    [45] P. Hanggi, P. Talkner, First-passage time problems for non-markovian processes, Phys. Rev. A, 32 (1985), 1934–1937. doi: 10.1103/PhysRevA.32.1934
    [46] X.-K. Zhang, C. Song, J. Jia, Z.-L. Lu, Q. Zhang, An improved label propagation algorithm based on the similarity matrix using random walk, Int. J. Mod. Phys. B, 30 (2016), 1650093. doi: 10.1142/S0217979216500934
    [47] W. W. Zachary, An information flow model for conflict and fission in small groups, J. Anthropological Res., 33 (1977), 452–473. doi: 10.1086/jar.33.4.3629752
    [48] W. Li, C. Huang, M. Wang, X. Chen, Stepping community detection algorithm based on label propagation and similarity, Phys. A, 472 (2017), 145–155. doi: 10.1016/j.physa.2017.01.030
    [49] D. Lusseau, K. Schneider, O. J. Boisseau, P. Haase, E. Slooten, S. M. Dawson, The bottlenose dolphin community of doubtful sound features a large proportion of long-lasting associations, Behav. Ecol. Sociobiology, 54 (2003), 396–405. doi: 10.1007/s00265-003-0651-y
    [50] X. K. Zhang, S. Fei, C. Song, X. Tian, Y. Y. Ao, Label propagation algorithm based on local cycles for community detection, Int. J. Mod. Phys. B, 29 (2015), 1550029, 2015.
    [51] T. Ma, Z. Xia, An improved label propagation algorithm based on node importance and random walk for community detection, Mod. Phys. Lett. B, 31 (2017), 1750162.
    [52] A. Lancichinetti, S. Fortunato, F. Radicchi, Benchmark graphs for testing community detection algorithms, Phys. Rev. E, 78 (2008), 046110. doi: 10.1103/PhysRevE.78.046110
  • This article has been cited by:

    1. Sachinthani Alahakoon, Rajasvaran Logeswaran, 2023, Review on Workload and Resource Allocation in Edge-Based Wireless Body Area Networks, 979-8-3503-4731-9, 304, 10.1109/ISCAIE57739.2023.10165335
  • Reader Comments
  • © 2021 the Author(s), licensee AIMS Press. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0)
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Metrics

Article views(3554) PDF downloads(170) Cited by(0)

Figures and Tables

Figures(7)  /  Tables(2)

/

DownLoad:  Full-Size Img  PowerPoint
Return
Return

Catalog