Anonymous group structure algorithm based on community structure

View article
PeerJ Computer Science

Main article text

 

Introduction

Preliminaries

Q=i(eiia2i)

Methods

Overview of our proposed scheme

Community structure mining algorithm

Fuzzy subordinative degree community structure mining algorithm

 
_______________________ 
Algorithm 1 Fuzzy Subordinative degree Community Structure mining Algo- 
rithm (FSCA)_____________________________________________________________________________________ 
Input: Graph G 
Output: subordinative degree of nodes f(ui,C), communities C 
 1:  Select the c nodes with the largest degree as the initial communities 
  2:  Set the threshold η1. 
  3:  calculate the fuzzy subordinative degree. 
  4:  if fuzzy subordinative degree > η1 then 
 5:       merge communities 
  6:  end if 
 7:  Update subordinative degree 
  8:  Join the community with the highest subordinative degree 
  9:  if subordinative degree < η2 then 
10:       Create a new community 
11:  end if______________________________________________________________________________    

Improved KL community mining algorithm

 
__________________________________________________________________________________________ 
Algorithm 2 Improved KL community mining Algorithm (KLA)_________________ 
Input: Graph G 
Output: communities C 
 1:  Divide G equally into two communities based on the number of nodes 
  2:  Calculate the gain value g of the two communities according to Equation 3 
  3:  exchange two nodes, and exchange the pair with the largest difference in 
     gain value g 
 4:  Update the weight difference between inside and outside the remaining nodes 
  5:  Repeat 2 and 4 so that all nodes experience an exchange 
  6:  The sequence of node exchanges with the largest cumulative gain is selected 
     as the result of the division according to the order of node pair exchanges_    

Enhanced label propagation community mining algorithm

Anonymous graph construction

 
_______________________________________________________________________________________________________ 
Algorithm  3  Enhanced  label  Propagation  Community  mining  Algorithm 
(LPA)_______________________________________________________________________________________________ 
Input: Graph G 
Output: communities C 
 1:  Get the current labels of all nodes and all their neighbor nodes 
  2:  Calculate the subordinative degree based on Equation 1 
  3:  Update node labels and their counts based on the subordinative degree 
  4:  Find the most appearing label 
  5:  if The current node label is in the most labeled set then 
 6:       start the next round of the loop 
  7:  end if______________________________________________________________________________    
 
__________________________________________________________________________________________ 
Algorithm 4 Anonymous Graph Construction Algorithm (AGCA)_______________ 
Input: Graph G 
Output: Anonymous Graph G′ 
 1:  Set anonymity level 
  2:  Choose an anonymizing graph construction method based on the degree of 
     anonymity 
  3:  if level equal 1 then 
 4:       Generalization. Each node within the community is replaced by the 
     community to which it belongs 
  5:  end if 
 6:  if level equal 2 then 
 7:       Both nodes and edges are altered by adding and deleting certain nodes 
     and edges. This process ensures that the association internally forms an 
     L-regular graph, where L represents the average degree within the 
     community. The counts of edges represent the average fuzzy subordinative 
     degree between two nodes. Additionally, edges between communities are 
     added if a connection exists between the communities. 
  8:  end if 
 9:  if level equal 3 then 
10:       The set of nodes remains unchanged while the edges are modified. Add 
     or remove the corresponding edges as required, and assign weights to 
     them. The original edge weights are set to range from 0.6 to 1, while the 
     weights of newly added edges are set to range from 0 to 0.5. 
11:  end if______________________________________________________________________________    

Performance analysis

Data sets and experiment environments

Experiments

Community mining

Running time.

Modularity

Compare original k-anonymization

Conclusion

Supplemental Information

Python implement of Anonymous group structure Algorithm based on Community Structure

DOI: 10.7717/peerj-cs.2244/supp-1

Additional Information and Declarations

Competing Interests

The authors declare there are no competing interests.

Author Contributions

Linghong Kuang conceived and designed the experiments, performed the experiments, analyzed the data, performed the computation work, prepared figures and/or tables, and approved the final draft.

Kunliang Si performed the experiments, analyzed the data, performed the computation work, prepared figures and/or tables, and approved the final draft.

Jing Zhang performed the experiments, analyzed the data, authored or reviewed drafts of the article, and approved the final draft.

Data Availability

The following information was supplied regarding data availability:

The raw data and code are available in the Supplemental Files.

The dolphins dataset is available from: https://doi.org/10.1007/s00265-003-0651-y.

The football dataset is available from: https://doi.org/10.1073/pnas.122653799.

The karate dataset is available from: https://doi.org/10.1086/jar.33.4.3629752.

Funding

This research is supported by the National Natural Science Foundation of China (No. 61902069) and the Natural Science Foundation of Fujian Province of China (2021J011068). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.

703 Visitors 610 Views 23 Downloads