The mission of the Google Graph Mining team is to build the most scalable library for graph algorithms and analysis and apply it to a multitude of Google products. In particular, we develop tools for building similarity graphs, clustering, node classification, node embedding, training graph neural networks, graph visualization, diverse sampling and similarity ranking. For more information, see our NeurIPS'20 workshop.
This repository currently contains a collection of clustering algorithms. For our Graph Neural Network (GNN) framework, see TF-GNN (part of the TensorFlow project).
This repository contains shared memory parallel clustering algorithms which scale to graphs with tens of billions of edges, as well as several sequential algorithms. The parallel algorithms are based on the following research papers:
-
Hierarchical Agglomerative Graph Clustering in Poly-Logarithmic Depth, Laxman Dhulipala, David Eisenstat, Jakub Lacki, Vahab Mirrokni, Jessica Shi, NeurIPS'22. See https://github.com/google/graph-mining/tree/main/in_memory/clustering/hac
-
Scalable community detection via parallel correlation clustering, Jessica Shi, Laxman Dhulipala, David Eisenstat, Jakub Łącki, Vahab Mirrokni, VLDB'21. See https://github.com/google/graph-mining/tree/main/in_memory/clustering/correlation
-
Affinity Clustering: Hierarchical Clustering at Scale, Mohammadhossein Bateni, Soheil Behnezhad, Mahsa Derakhshan, MohammadTaghi Hajiaghayi, Raimondas Kiveris, Silvio Lattanzi, Vahab Mirrokni, NeurIPS'17 (the paper describes a MapReduce algorithm). See https://github.com/google/graph-mining/tree/main/in_memory/clustering/affinity
-
Distributed Balanced Partitioning via Linear Embedding, Kevin Aydin, MohammadHossein Bateni, Vahab Mirrokni, WSDM'16 (the paper describes a MapReduce algorithm). See https://github.com/google/graph-mining/tree/main/in_memory/clustering/parline
This is not an officially supported Google product. For questions/comments, please create an issue on this repository.
- Install Bazel
- Run the example:
bazel run //examples:quickstart