Computing Approximate Weighted Matchings in Parallel - PowerPoint PPT Presentation

About This Presentation
Title:

Computing Approximate Weighted Matchings in Parallel

Description:

The Edge Weighted Matching Problem. Given an edge weighted ... W(G) W(B) W(opt) Max{W(G),W(B)} W(opt) Running time O(|V| |E|) Also inherently sequential ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 14
Provided by: fredri8
Category:

less

Transcript and Presenter's Notes

Title: Computing Approximate Weighted Matchings in Parallel


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
6
2
6
W(opt) 18
8
1
10
5
9
Best known algorithm has running time
O(VEV2logV) 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
6
2
6
W(S) ½W(opt)
8
1
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
6
2
6
8
1
10
5
W(G) W(B) W(opt) MaxW(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
8
7
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
6
2
6
8
1
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 v O(Vd2 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
6
2
1
5
6
8
1
10
5
10
6
9
9
6
But this is just Lubys 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
y
x
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, n30237, m 1450163
  • P Total time Initialization Computation Communica
    tion
  • 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
Write a Comment
User Comments (0)
About PowerShow.com