Coresets Meet EDCS: Algorithms for Matching and Vertex Cover on Massive Graphs
Randomized composable coresets were introduced recently as an effective technique for solving matching and vertex cover problems in various models of computation. In this technique, one partitions the edges of an input graph randomly into multiple pieces, compresses each piece into a smaller subgraph, namely a coreset, and solves the problem on the union of these coresets to find the solution. By designing small size randomized composable coresets, one can obtain efficient algorithms, in a black-box way, in multiple computational models including streaming, distributed communication, and the massively parallel computation (MPC) model. We develop randomized composable coresets of size O(n) that for any constant ε > 0, give a (3/2+ε)-approximation to matching and a (3+ε)-approximation to vertex cover. Our coresets improve upon the previously best approximation ratio of O(1) for matching and O(n) for vertex cover. Most notably, our result for matching goes beyond a 2-approximation, which is a natural barrier for maximum matching in many models of computation. Furthermore, inspired by the recent work of Czumaj et.al. (arXiv 2017), we study algorithms for matching and vertex cover in the MPC model with only O(n) memory per machine. Building on our coreset constructions, we develop parallel algorithms that give a (1+ε)-approximation to matching and O(1)-approximation to vertex cover in only O_ε(n) MPC rounds and O(n) memory per machine. A key technical ingredient of our paper is a novel application of edge degree constrained subgraphs (EDCS). At the heart of our proofs are new structural properties of EDCS that identify these subgraphs as sparse certificates for large matchings and small vertex covers which are quite robust to sampling and composition.
READ FULL TEXT