1 / 13

Computing Approximate Weighted Matchings in Parallel

Computing Approximate Weighted Matchings in Parallel. Fredrik Manne, University of Bergen with Rob Bisseling, Utrecht University Alicia Permell, Michigan Tech. University. The Edge Weighted Matching Problem. Given an edge weighted graph G(V,E).

yuli-hays
Download Presentation

Computing Approximate Weighted Matchings in Parallel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computing Approximate Weighted Matchings in Parallel Fredrik Manne, University of Bergen with Rob Bisseling, Utrecht University Alicia Permell, Michigan Tech. University

  2. The Edge Weighted Matching Problem Given an edge weighted graph G(V,E). Select an independent set S of edges of maximum weight. 7 2 6 6 W(opt) = 18 1 8 10 5 9 Best known algorithm has running time O(|V||E|+|V|2log|V|) Often too expensive for real applications

  3. Fast Approximation Algorithms The Greedy Approach While there are edges left Add most expensive remaining edge (v,w) to S Remove (v,w) and all edges incident on v and w. 7 2 6 6 W(S) ≥ ½W(opt) 1 8 10 5 9 Running time O(|E| log |V|) (due to sorting) Parallelization: Difficult to sort distributed weights

  4. Fast Approximation Algorithms Path growing [Drake and Hougardy] Grow non-intersecting path along heaviest edge while coloring edges alternatively green or blue. Return heaviest of green and blue. 7 2 6 6 1 8 10 5 W(G) + W(B) ≥ W(opt) Max{W(G),W(B)} ≥ ½W(opt) 9 Running time O(|V| + |E|) Also inherently sequential

  5. A Parallel Path Growing Algorithm Idea: Grow multiple paths at the same time Assumes shared memory model A potential problem 7 8 7 6 5 Cannot guarantee that we get 0.5 approximation Experiments using UPC on random graphs indicate that this does not affect quality too much. P1 P2

  6. A New Sequential Algorithm From the analysis of the Greedy algorithm: A chosen edge must dominate its remaining neighborhood 7 Local Domination Algorithm D = all dominating edges in G While D is not empty Remove (v,w) from D and add to S Remove all edges incident on v and w from G Add any new dominating edges to D 2 6 6 1 8 10 5 9 Observation If the weights are unique, then the algorithm will produce the same matching as the Greedy algorithm.

  7. Implementation Details Selecting initial dominating edges take time O(|V| + |E|) When a dominating edge is removed only its distance-2 neighbors can become dominating Only the heaviest edge incident on v is a candidate Maintain a pointer for each vertex to the remaining heaviest edge 5 w 7 v 2 8 10 • How to find candidates: Total time • Presort edges incident on each vertex, can test candidate in O(1) time, O(|V| d log d + |V| + |E|) • Perform linear search for new candidate incident on vO(|V|d2 + |V| + |E|)

  8. Linear Search for Candidates Heaviest v 6 8 3 7 9 3 4 Only compress list when heaviest edge is removed Observation If every edge has the same probability of being removed, then the expected time to maintain the pointer for v is O(dv) (and not O(d2) ).

  9. Another View of the Algorithm c c Replace edges with vertices 7 8 2 7 2 6 1 5 6 1 8 10 5 10 6 9 9 6 But this is just Luby’s algorithm for finding a maximal independent set of vertices but now run on the edges!

  10. The Parallel Local Domination Algorithm Data distribution The Algorithm Partition vertices (and edges) into p subsets Find initial dominant edges While some processor has edges left Run algorithm locally Update neighbor processors c x y c c x y’ x’ y P1 P2

  11. Initial Experiments Experiments using MPI on IBM Regatta computer

  12. Conclusion Contributions • New fast sequential 0.5 approximation algorithm suitable for parallelization • Parallel implementation showing that it actually scales Still to do • Optimize the code • More experiments • More rigorous analysis • Extend algorithm with short augmenting paths

  13. Data • Bcsstk35, n=30237, m = 1450163 • P Total time Initialization Computation Communication • 74 20 54 0 • 43 11 25 6 • 24 6 13 5 • 16 5 8 3 • 19 6 4 8 • Complete random graph on 1000 vertices and 1000000 vertices • 52 18 33 0 • 45 14 22 9 • 35 11 9 13 • 25 7 4 13 • 16 24 4 2 16

More Related