Greedy and Local Ratio Algorithms in the MapReduce Model

Similar documents
Readings in Algorithms - CS167. Filtering: A Method for Solving Graph Problems in MapReduce

Fast Clustering using MapReduce

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

A Primal-Dual Approximation Algorithm for Partial Vertex Cover: Making Educated Guesses

A List Heuristic for Vertex Cover

Coverage Approximation Algorithms

A Simple Augmentation Method for Matchings with Applications to Streaming Algorithms

Parallel Algorithms for Geometric Graph Problems Grigory Yaroslavtsev

MapReduce Algorithms. Barna Saha. March 28, 2016

Filtering: A Method for Solving Graph Problems in MapReduce

Clustering. (Part 2)

Complexity Measures for Map-Reduce, and Comparison to Parallel Computing

Graph Connectivity in MapReduce...How Hard Could it Be?

Online Facility Location

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

A Parallel Approximation Hitting Set Algorithm for Gene Expression Analysis

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Algorithms for minimum m-connected k-tuple dominating set problem

The Dominating Set Problem: (a few) variants and results

On Approximating Minimum Vertex Cover for Graphs with Perfect Matching

Faster Algorithms for the Constrained k-means Problem

Greedy Approximations

LITERATURE REVIEW: Parallel algorithms for the maximal independent set problem in graphs

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

Bottleneck Steiner Tree with Bounded Number of Steiner Vertices

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Lecture 25 November 26, 2013

Approximation algorithms for finding a -connected subgraph of a graph with minimum weight

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

arxiv: v2 [cs.dm] 3 Dec 2014

An Efficient Approximation for the Generalized Assignment Problem

Expected Approximation Guarantees for the Demand Matching Problem

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Fennel: Streaming Graph Partitioning for Massive Scale Graphs

An Empirical Analysis of Communities in Real-World Networks

Conversion of Coloring Algorithms into Maximum Weight Independent Set Algorithms

Overlay (and P2P) Networks

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

Algorithms for Grid Graphs in the MapReduce Model

Introduction to Approximation Algorithms

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

An Improved Approximation Algorithm For Vertex Cover with Hard Capacities

Approximation Schemes for Planar Graph Problems (1983, 1994; Baker)

MapReduce in Streaming Data

Approximation Algorithms

Fast and Simple Algorithms for Weighted Perfect Matching

Absorbing Random walks Coverage

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

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

Approximation Algorithms

CMPSCI611: Approximating SET-COVER Lecture 21

When Network Embedding meets Reinforcement Learning?

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

LECTURE 17 GRAPH TRAVERSALS

Vertex Cover Approximations on Random Graphs.

On Streaming and Communication Complexity of the Set Cover Problem

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

6 Randomized rounding of semidefinite programs

CSC 373: Algorithm Design and Analysis Lecture 3

Kernelization via Sampling with Applications to Finding Matchings and Related Problems in Dynamic Graph Streams

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

4 Greedy Approximation for Set Cover

Lecture 7: Asymmetric K-Center

On Streaming and Communication Complexity of the Set Cover Problem

CSCI 5454 Ramdomized Min Cut

Community Detection. Community

A 2-APPROXIMATION ALGORITHM FOR THE MINIMUM KNAPSACK PROBLEM WITH A FORCING GRAPH. Yotaro Takazawa Shinji Mizuno Tokyo Institute of Technology

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

CPSC 536N: Randomized Algorithms Term 2. Lecture 4

Distribution-Free Models of Social and Information Networks

Online paging and caching

Constructing Connected Dominating Sets with Bounded Diameters in Wireless Networks

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Absorbing Random walks Coverage

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Chapter 8 DOMINATING SETS

Clustering: Centroid-Based Partitioning

Summary of Raptor Codes

Chapter 8 DOMINATING SETS

On Covering a Graph Optimally with Induced Subgraphs

Homomorphic Sketches Shrinking Big Data without Sacrificing Structure. Andrew McGregor University of Massachusetts

Analyzing Graph Structure via Linear Measurements

arxiv: v1 [cs.dc] 13 Oct 2008

Approximation Algorithms

Recitation 13. Minimum Spanning Trees Announcements. SegmentLab has been released, and is due Friday, November 17. It s worth 135 points.

Lecture 14: Linear Programming II

CIS 399: Foundations of Data Science

Distributed algorithms for weighted problems in sparse graphs

Maximal Independent Set

Computational Geometry

The minimum cost spanning tree problem

Maximal Independent Set

Lecture 3: Art Gallery Problems and Polygon Triangulation

1 Better Approximation of the Traveling Salesman

arxiv: v1 [cs.ds] 3 Nov 2018

Example 3: Viral Marketing and the vaccination policy problem

A 4-Approximation Algorithm for k-prize Collecting Steiner Tree Problems

Transcription:

Greedy and Local Ratio Algorithms in the MapReduce Model Nick Harvey 1 Chris Liaw 1 Paul Liu 2 1 University of British Columbia 2 Stanford University Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 1/21

MapReduce at a glance [Vassilvitskii, 2012] Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 2/21

MapReduce at a glance [Vassilvitskii, 2012] Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 2/21

MapReduce at a glance [Vassilvitskii, 2012] Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 2/21

MapReduce at a glance [Vassilvitskii, 2012] Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 2/21

MapReduce at a glance [Vassilvitskii, 2012] Data: Represented as <Key, Value> pairs Operations: Map: <Key, Value> List(<Key, Value>) Shuffle: Aggregate all pairs with the same key Reduce: <Key, List(Value)> <Key, List(Value)> Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/21

MRC model for graphs [Karloff et al., 2010] n number of vertices m = n 1+c input size (number of edges) n 1+µ memory on each machine, 0 < µ c n c µ machines Efficiency: algorithms that run in O(1) rounds (often O(c/µ)). Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 4/21

Real world graphs [Leskovec et al., 2005] Figure: E n 1.69 (left) and n 1.66 (right) Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 5/21

Graph problems in MapReduce Filtering: unweighted vertex cover, matching, edge cover [Lattanzi et al., 2011] Rounding and linear programming for weighted matching [Lattanzi et al., 2011, Crouch and Stubbs, 2014, Grigorescu et al., 2016, Ahn and Guha, 2015] Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 6/21

Graph problems in MapReduce Filtering: unweighted vertex cover, matching, edge cover [Lattanzi et al., 2011] Rounding and linear programming for weighted matching [Lattanzi et al., 2011, Crouch and Stubbs, 2014, Grigorescu et al., 2016, Ahn and Guha, 2015] Our paper: Randomized local ratio (weighted matching, vertex cover, etc.) Hungry-greedy (maximal indep. set, maximal clique, etc.) Additional results on colouring problems Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 6/21

Randomized Local Ratio Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 7/21

Sequential Local Ratio Approximation technique for NP-hard optimization problems Initially used in the 80s for finding low cost vertex covers [Bar-Yehuda and Even, 1985] Recently used by [Paz and Schwartzman, 2017] to find weighted matchings in the streaming model Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 8/21

Local Ratio - Weighted Matching A maximum weight matching is a set M E s.t. no two e M shares an endpoint and the sum of weights in M is maximized. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 9/21

Local Ratio - Weighted Matching A maximum weight matching is a set M E s.t. no two e M shares an endpoint and the sum of weights in M is maximized. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 9/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 10/21

Local Ratio - Weighted Matching Select any edge e with positive weight. Reduce its weight from itself and its neighboring edges. Push e onto a stack. Repeat this procedure until no positive weight edges remain. Pop edges off the stack, adding greedily to the matching. Theorem ([Paz and Schwartzman, 2017]) The sequential local ratio algorithm gives a 2-approximation for weighted matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 11/21

Randomized Local Ratio Can cover a large fraction of the remaining sets with just a random sample of elements Random sample will be comparable to optimal solution since the processing order of local ratio is arbitrary Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 12/21

MapReduce - Weighted Matching Initialize an empty stack S and repeat while E is not empty: Sample 8n 1+µ edges uniformly from E Run local ratio on sampled edges, processing edges in order of decreasing weight, adding onto S Remove non-positive edges from E Pop edges off S, adding greedily to the matching. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 13/21

MapReduce - Weighted Matching Initialize an empty stack S and repeat while E is not empty: Sample 8n 1+µ edges uniformly from E Run local ratio on sampled edges, processing edges in order of decreasing weight, adding onto S Remove non-positive edges from E Pop edges off S, adding greedily to the matching. Theorem (Our paper) Each iteration, the number of edges decrease by a factor of n µ. With E = n 1+c edges, the entire algorithm terminates in O(c/µ) iterations. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 13/21

MapReduce - Weighted Matching Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 14/21

MapReduce - Weighted Matching Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 14/21

MapReduce - Weighted Matching Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 14/21

MapReduce - Weighted Matching If the k-th heaviest edge adjacent to a node v is added to S, all but the top k edges are removed. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 15/21

MapReduce - Weighted Matching Each node v has O(n µ ) edges sampled, so we get one of the top O(deg(v)/n µ ) heaviest edges Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 15/21

MapReduce - Weighted Matching Degree of each node decreases by a factor of n µ each iteration Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 15/21

MapReduce - Weighted Matching Further analysis gives O(c/µ) rounds instead of O(1/µ) Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 15/21

Hungry-greedy Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 16/21

Hungry-greedy Unlike local ratio, sampling is non-uniform Heavy elements are sampled first, to quickly disqualify a large fraction of elements from the solution Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 17/21

Hungry-greedy - Maximal Independent Set Given a graph G = (V, E), an independent set (IS) is a set S V s.t. no two v S are adjacent. A maximal independent set (MIS) is not a subset of any other IS. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 18/21

Hungry-greedy - Maximal Independent Set Given a graph G = (V, E), an independent set (IS) is a set S V s.t. no two v S are adjacent. A maximal independent set (MIS) is not a subset of any other IS. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 18/21

Hungry-greedy - Maximal Independent Set Given a graph G = (V, E), an independent set (IS) is a set S V s.t. no two v S are adjacent. A maximal independent set (MIS) is not a subset of any other IS. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 18/21

Hungry-greedy - Maximal Independent Set Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 19/21

Hungry-greedy - Maximal Independent Set Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 19/21

Hungry-greedy - Maximal Independent Set Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 19/21

Hungry-greedy - Maximal Independent Set Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 19/21

Hungry-greedy - Maximal Independent Set For i = 1,..., 2/µ V H {v V deg I (v) > n 1 iµ/2 } While V H > n iµ/2 : Draw n iµ/2 groups of n µ/2 vertices For each group, add any vertices v to I if deg I (v) > n iµ/2 Remove any vertices from V H with small degree Find an MIS in V H and add to I Theorem (Our paper) Each iteration, the maximum degree of the graph decreases by a factor of n µ/4. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 20/21

Additional Results Problem Approximation MapReduce Rounds Space per machine Weighted b-matching 3 2/b O(c/µ) O(n 1+µ ) Weighted vertex cover 2 O(c/µ) O(n 1+µ ) Weighted set cover f ( O((c/µ) 2 ) O(f n 1+µ ) ( log wmax )) w (1 + ε) ln O min if n = poly(m) O(m 1+µ ) µ 2 ε Maximal Clique O(1/µ) O(n 1+µ ) Vertex Colouring (1 + o(1)) colours O(1) O(n 1+µ ) Edge Colouring (1 + o(1)) colours O(1) O(n 1+µ ) See full paper for definition of various parameters. Techniques: Randomized local ratio Hungry-greedy Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 21/21

Thanks for listening! Questions? Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 21/21

The µ = 0 case Problem Weighted? Approximation MapReduce Rounds Space per machine Vertex Cover Y 2 O(log n) O(n) Matching Y 2 O(log n) O(n) b-matching Y 3 2/b O(log n) O(n) Maximal Indep. Set O(log n) O(n) Maximal Clique O(log n) O(n) Set Cover Y f O(log 2 n) O(f n) Vertex Colouring (1 + o(1)) colours O(1) Õ(n) Edge Colouring (1 + o(1)) colours O(1) Õ(n) Techniques: Randomized local ratio Hungry-greedy Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 1/9

Sequential Local Ratio - Weighted Vertex Cover Suppose G = (V, E) with weights w v on the vertices v V. A minimum vertex cover is a set S V s.t. any e E has at least one endpoint in S and the sum of weights in S is minimized. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 2/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 3/9

Sequential Local Ratio - Weighted Vertex Cover Select any uncovered edge e whose vertices have positive weight. Reduce the minimum of the two vertex weights from the two vertices. Remove all vertices with weight 0 and add them to the cover. Repeat while edges remain. Theorem ([Bar-Yehuda and Even, 1985]) The sequential local ratio algorithm gives a 2-approximation for weighted vertex cover. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 4/9

Local Ratio in MapReduce - Weighted Vertex Cover Repeat while E is not empty: Sample each edge in E with probability 2n 1+µ / E Run local ratio on sampled edges Add all vertices of zero weight to cover and update E Theorem (Our paper) Each iteration, the number of edges decrease by a factor of n µ. With E = n 1+c edges, the entire algorithm terminates in O(c/µ) iterations. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 5/9

Local Ratio in MapReduce - Weighted Vertex Cover Repeat while E is not empty: Sample 2n 1+µ edges from E uniformly Run local ratio on sampled edges Add all vertices of zero weight to cover and update E Intuition: Edges left for the next iteration must have both endpoints with positive weight. If there are more than E /n µ such edges, then sampling 2n 1+µ edges should have sampled all of them with high probability. If an edge is sampled, at least one of its endpoints must be zero weight, so it couldn t have been in the next iteration Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 6/9

Local Ratio in MapReduce - Weighted Vertex Cover Repeat while E is not empty: Sample 2n 1+µ edges from E uniformly Run local ratio on sampled edges Add all vertices of zero weight to cover and update E Can be further generalized to an f -approximation for set cover, where each element is in at most f sets. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 7/9

References [Ahn and Guha, 2015] Ahn, K. J. and Guha, S. (2015). Access to data and number of iterations: Dual primal algorithms for maximum matching under resource constraints. In Proceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures (SPAA), pages 202 211. [Bar-Yehuda and Even, 1985] Bar-Yehuda, R. and Even, S. (1985). A local-ratio theorem for approximating the weighted vertex cover problem. Annals of Discrete Mathematics, 25:27 45. [Crouch and Stubbs, 2014] Crouch, M. and Stubbs, D. S. (2014). Improved streaming algorithms for weighted matching, via unweighted matching. In International Workshop on Approximation Algorithms for Combinatorial Optimization Problems (APPROX), pages 96 104. [Grigorescu et al., 2016] Grigorescu, E., Monemizadeh, M., and Zhou, S. (2016). Streaming weighted matchings: Optimal meets greedy. [Karloff et al., 2010] Karloff, H. J., Suri, S., and Vassilvitskii, S. (2010). A model of computation for MapReduce. In Proceedings of the Twenty-First Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 938 948. [Lattanzi et al., 2011] Lattanzi, S., Moseley, B., Suri, S., and Vassilvitskii, S. (2011). Filtering: a method for solving graph problems in MapReduce. In Proceedings of the 23rd Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 85 94. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 8/9

References (cont.) [Leskovec et al., 2005] Leskovec, J., Kleinberg, J. M., and Faloutsos, C. (2005). Graphs over time: densification laws, shrinking diameters and possible explanations. In Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Chicago, Illinois, USA, August 21-24, 2005, pages 177 187. [Paz and Schwartzman, 2017] Paz, A. and Schwartzman, G. (2017). A (2 + ɛ)-approximation for maximum weight matching in the semi-streaming model. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2153 2161. [Vassilvitskii, 2012] Vassilvitskii, S. (2012). CSCI 8980: Algorithmic techniques for big data analysis. Greedy and Local Ratio Algorithms in the MapReduce Model Paul Liu 9/9