Graph Partitioning Algorithms

Similar documents
Community detection. Leonid E. Zhukov

CSCI-B609: A Theorist s Toolkit, Fall 2016 Sept. 6, Firstly let s consider a real world problem: community detection.

Local Graph Clustering and Applications to Graph Partitioning

Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering

CSCI 5454 Ramdomized Min Cut

Lecture 19: Graph Partitioning

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Computing Heat Kernel Pagerank and a Local Clustering Algorithm

Multilevel Graph Partitioning

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Graph and Hypergraph Partitioning for Parallel Computing

Lecture 11: Clustering and the Spectral Partitioning Algorithm A note on randomized algorithm, Unbiased estimates

Fennel: Streaming Graph Partitioning for Massive Scale Graphs

princeton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm

arxiv: v3 [cs.ds] 15 Dec 2016

Testing Isomorphism of Strongly Regular Graphs

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec.

Seminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm

Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems

Lecture 9. Semidefinite programming is linear programming where variables are entries in a positive semidefinite matrix.

Penalized Graph Partitioning for Static and Dynamic Load Balancing

Lecture Notes on Karger s Min-Cut Algorithm. Eric Vigoda Georgia Institute of Technology Last updated for Advanced Algorithms, Fall 2013.

Non Overlapping Communities

Spectral Clustering on Handwritten Digits Database

Spectral Sparsification in Spectral Clustering

Lecture 6: Spectral Graph Theory I

Introduction to Approximation Algorithms

Spectral Clustering X I AO ZE N G + E L HA M TA BA S SI CS E CL A S S P R ESENTATION MA RCH 1 6,

Modeling and Detecting Community Hierarchies

Graph Partitioning for High-Performance Scientific Simulations. Advanced Topics Spring 2008 Prof. Robert van Engelen

Mining Social Network Graphs

Lesson 2 7 Graph Partitioning

Parallel Local Graph Clustering

with Dana Richards December 1, 2017 George Mason University New Results On Routing Via Matchings Indranil Banerjee The Routing Model

Randomized Graph Algorithms

Scalable Clustering of Signed Networks Using Balance Normalized Cut

Part II. Graph Theory. Year

Parallel Local Graph Clustering

MapReduce Algorithms. Barna Saha. March 28, 2016

Efficient Programming of Nanowire-based Sublithographic PLAs: A Multilevel Algorithm for Partitioning Graphs

My favorite application using eigenvalues: partitioning and community detection in social networks

Lecture 1 August 31, 2017

Modeling web-crawlers on the Internet with random walksdecember on graphs11, / 15

On Covering a Graph Optimally with Induced Subgraphs

PuLP: Scalable Multi-Objective Multi-Constraint Partitioning for Small-World Networks

Big Data Analytics. Special Topics for Computer Science CSE CSE Feb 11

CMPSCI611: The SUBSET-SUM Problem Lecture 18

CS 534: Computer Vision Segmentation II Graph Cuts and Image Segmentation

Local Partitioning using PageRank

Greedy and Local Ratio Algorithms in the MapReduce Model

Single link clustering: 11/7: Lecture 18. Clustering Heuristics 1

PARALLEL DECOMPOSITION OF 100-MILLION DOF MESHES INTO HIERARCHICAL SUBDOMAINS

Multilevel Algorithms for Multi-Constraint Hypergraph Partitioning

Partitioning of Public Transit Networks

A Local Algorithm for Structure-Preserving Graph Cut

Kernighan/Lin - Preliminary Definitions. Comments on Kernighan/Lin Algorithm. Partitioning Without Nodal Coordinates Kernighan/Lin

Graph drawing in spectral layout

Local higher-order graph clustering

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Level 3: Level 2: Level 1: Level 0:

Graph Approximation and Clustering on a Budget

Fast Methods with Sieve

Dynamic Algorithm for Graph Clustering Using Minimum Cut Tree

Dynamic Algorithm for Graph Clustering Using Minimum Cut Tree

OPTIMAL DYNAMIC LOAD BALANCE IN DISTRIBUTED SYSTEMS FOR CLIENT SERVER ASSIGNMENT

Stanford University CS359G: Graph Partitioning and Expanders Handout 18 Luca Trevisan March 3, 2011

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning

Stanford University CS359G: Graph Partitioning and Expanders Handout 1 Luca Trevisan January 4, 2011

Parallel Multilevel Algorithms for Multi-constraint Graph Partitioning

On Approximating Minimum Vertex Cover for Graphs with Perfect Matching

Analysis of Multilevel Graph Partitioning

GClustering Algorithm

Algorithms, Spring 2014, CSE, OSU Greedy algorithms II. Instructor: Anastasios Sidiropoulos

Studying Graph Connectivity

Parallel Graph Partitioning for Complex Networks

Probabilistic embedding into trees: definitions and applications. Fall 2011 Lecture 4

K-Ways Partitioning of Polyhedral Process Networks: a Multi-Level Approach

Implementation of Network Community Profile using Local Spectral algorithm and its application in Community Networking

Snowball Sampling a Large Graph

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Design and Analysis of Algorithms (VII)

Machine Learning for Data Science (CS4786) Lecture 11

Relative Constraints as Features

Solvers for Linear Systems in Graph Laplacians

Graph theory - solutions to problem set 1

CS 5614: (Big) Data Management Systems. B. Aditya Prakash Lecture #21: Graph Mining 2

Lecture 27: Fast Laplacian Solvers

Unit 5A: Circuit Partitioning

Clustering: Classic Methods and Modern Views

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

Parallel Local Graph Clustering

Multilevel k-way Hypergraph Partitioning

Community Detection. Community

Non-exhaustive, Overlapping k-means

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

Efficient FM Algorithm for VLSI Circuit Partitioning

Numerical Linear Algebra for Data and Link Analysis

A Local Algorithm for Product Return Prediction in E-Commerce

A Recommender System Based on Local Random Walks and Spectral Methods

Lecture 16 October 23, 2014

Transcription:

Graph Partitioning Algorithms Leonid E. Zhukov School of Applied Mathematics and Information Science National Research University Higher School of Economics 03.03.2014 Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 1 / 19

Minimum Cut Graph:G(E, V ), E = m, V = n, Graph cut - partition vertices in two disjoint subsets: V = V 1 + V 2 Cut-set of the cut is a set of edges with endpoints in defferent partitions. Cut size - the number of edges in cut-set cut(v 1, V 2 ) = i V 1,j V 2 e ij Min cut is the smallest possible cut in the graph: min cut(v 1, V 2 ) Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 2 / 19

Randomized Min Cut Vertex contraction: replace conected (v 1, v 2 ) v, edges E v = E v1 E v2 Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 3 / 19

Randomized Min Cut David Karger, 1993 Algorithm: Randomized Min-Cut Input: Graph G(V, E) Output: Graph min cut-set repeat pick a random edge e in G; contract its endpoints, G G \ e ; until two vertices remain; Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 4 / 19

Randomized Min Cut Vertex contraction: G G \ e For any cut in G there is a cut in G with the same size (converse not true) Collapsing an edge can not decrease minimum cut size, min cut(g ) min cut(g) Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 5 / 19

Randomized Min Cut Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 6 / 19

Randomized Min Cut Graph G(m, n), m-edges, n-nodes Let min(cut) = k, then every node has degree k i k and there m = 1 2 i k i nk 2 edges in the graph Probability randomly select an edge from the min cut P(e min cut) = k m Let E i event that on i-th step selected edge is not in min cut. P(E 1 ) 1 k m 1 2 n = n 2 n P(E 2 E 1 ) 1 2 n 1 = n 3 n 1 P(E i E 1 E 2...E i 1 ) 2 1 n i + 1 = n i 1 n i + 1 P(E 1..E n 2 ) = P(E 1 )P(E 2 E 1 )...P(E n 2 E 1 E 2...E n 3 ) n 2 n n 3 n 1 n 4 n 2 n 5 n 2 n 3...2 4 = n i 1 n i + 1 = 2 n(n 1) Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 7 / 19 i 1

Randomized Min Cut Probability of success - all selected edges are not in min cut (what s left is min cut) 2 P(success) n(n 1) Probability of not finding min cut after N n 2 /2 independent runs: P(error) ( ) 2 n 2 /2 1 1 n(n 1) e = 0.37 With N = c n(n 1) 2 log n independent runs P(error) 1 n c Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 8 / 19

Randomized Min Cut Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 9 / 19

Multilevel Graph Partitioning G. Karypis, 1998 Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 10 / 19

Graph Matching Matching - independent edge set, i.e set of edges without common veritces Maximal matching - if one more edge added, it is no longer a matching Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 11 / 19

Coarsening schemes random matching, heavy-edge matching, light-edge matching multinode/hypergraph heavy clique matching (max density) Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 12 / 19

Multilevel Graph Partitioning George Karypis, 1998 Algorithm: Multilevel graph partitioning Input: Graph G(V, E) Output: Graph partition 1. Coarsening: G 0 G 1 G 2... G m, such that V 0 > V 1 > V 2 >.. > V m 2. Partition: P m 3. Uncoarsening: P m P m 1 P m 2... P 0 coarsening is done by randomized maximal matching partition on coarse graph can be done by greedy or advanced algorithms Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 13 / 19

Local clustering algorithm Conductance of the vertex set S φ(s) = cut(s, V \S) min(vol(s), vol(s\v )) where vol(s) = i S k i - sum of all node degrees in the set Conductance is a probability of picking up an edge from the smaller set that crosses the cut. It is also probability that one-step random walk starting in the cluster will leave the cluster Example: cut(s) = 7, vol(s) = 33, vol(v \S) = 11, φ(s) = 7/11 Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 14 / 19

Local clustering algorithm Cheeger inequality (1/2)λ 2 min S V φ(s) 2λ 2 λ 2 - second smallest eigenvalue of normalizes graph Laplacian L = D 1/2 (D A)D 1/2, D = diag(d(i)) Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 15 / 19

Local clustering algorihtm Spielman, 2003/2008 Algorithm: Nibble Input: Graph G, q 0 (v 0 ), φ 0 Output: Graph partition S for t = 1 : t last do q t = Mr t 1 ; r t (i) = q t (i) if q t (i)/d(i) > ɛ, else 0; sort i descending based on r tlast (i)/d(i); sweep from top φ(s{i = 1..j}) < φ 0 or φ(s{i = j + 1..n}) < φ 0 ; Random walk: M = (AD 1 + I )/2, D = diag(d(i)) Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 16 / 19

Multiple clusters D. Gleich, 2013 Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 17 / 19

References Global min-cuts in RNC, and other ramifications of a simple min-cut algorithm, D.R. Karger, SODA 93, pp 21-30, 1993 Multilevel algorithms for partitioning power-law graphs, A. Abou-Rjeili, G. Karypis. IPDPS 06, p 124, 2006 A fast and high quality multilevel scheme for partitioning irregular graphs. G.Karypis and V. Kumar, SIAM J. Sci. Comput.,Vol. 20, No 1, pp. 359-392,1998 Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 18 / 19

References Daniel A. Spielman, Shang-Hua Teng: Nearly-linear time algorithms for graph partitioning, graph sparsification, and solving linear systems. STOC 2004: 81-90 Daniel A. Spielman, Shang-Hua Teng: A Local Clustering Algorithm for Massive Graphs and Its Application to Nearly Linear Time Graph Partitioning. SIAM J. Comput. 42(1): 1-26 (2013) R. Andersen, F. Chung, and K. Lang. Local graph partitioning using PageRank vectors. In Proceedings of the 47th Annual IEEE Symposium on Foundations of Computer Science, 2006. Leonid E. Zhukov (HSE) Lecture 8 03.03.2014 19 / 19