Title: Distributed Approximate Matching DAM
1Distributed Approximate Matching (DAM)
- Zvi Lotker, Boaz Patt-Shamir, Adi Rosen
- Presentation Deniz Çokuslu
- May 2008
2Motivation
- Matching
- A matching M in a graph G is a set of nonloop
edges with no shared endpoints. - The vertices incident to M are saturated
(matched) by M and the others are unsaturated
(unmatched).
v2
v3
v6
v5
v4
v1
v7
3Motivation
- A maximal matching in a graph G is a matching
that cannot be enlarged by adding more edges - A maximum matching in a graph G is a matching of
maximum size among all matchings - A perfect matching covers all vertices of the
graph (all are saturated) - A maximal weighted matching in a weighted graph,
is a matching that maximizes the weight of the
selected edges
4Motivation
- Matching Algorithms
- A. Israeli and A. Itai, A fast and simple
randomized parallel algorithm for maximal
matching (1986) - Time complexity O(log n)
- M. Wattenhofer and R. Wattenhofer. Distributed
weighted matching (2004) - For trees 4-approx. Algorithm
- Time Complexity Constant
- For general graphs 5-approx. Algorithm
- Time Complexity O(log2 n)
- F. Kuhn, T. Moscibroda and R. Wattenhofer. The
price of being near-sighted (2005) - Lowerbound of any distributed algorithm that
approximates the maximum weighted matching
5Distributed Approximate Matching (DAM)
- Works on general weighted graphs
- Static Graph Algorithm
- Finds Maximum weighted matching within a factor
of 4e - Time complexity O(e-1 log e-1 log n), for e gt 0
- Dynamic Graph Algorithm
- Nodes are inserted or deleted one at a time
- Unweighted matching (1 e)-approximate, T(1/ e)
time per delete/insert - Weighted matching Constant approximate, constant
running time
6Distributed Approximate Matching (DAM)
- The system is modeled as a unidirected graph
G(V,E) - Time progress in synchronous rounds
- In each round each processor may send messages to
any subset of its neighbors - All messages that are sent, are received and
processed at the same round - Edges may have weights (min weight 1)
7DAM General Idea
- Sort edges in descendent order
- Divide the list into classes
- Divide the classes into subclasses
- Run a maximal unweighted matching algorithm on
the subclasses concurrently - Refine resulting edge set
8DAM in Static Graphs
- Aim is to define an approximation algorithm whose
approximation factor is close to 4 - Let e is a positive constant
- Aim Find a (4 5e)-approximate algorithm
- For simplicity let e e/5, then approximate
factor is (4 e) - a 1 1/ e
- ß a / a-1 e 1
9DAM in Static Graphs
- Assume 1/n e 1/2
- Otherwise
- If e gt ½ then run algorithm with e ½
- If e lt 1/n run Hoepman algorithm
- Each class i include edges weighted wai , ai1)
- Each class is divided into k logß a
subclasses - Subclass (i, j) contains edges in class i whose
weights are in ai ßj , ai ßj1)
J.-H. Hoepman. Simple Distributed Weighted
Matchings CoRR cs.DC/0410047, 2004
10DAM in Static Graphs
- Approach is to reduce the weighted case to
multiple instances of unweighted cases - Let UWM is a black-box model for a maximal
unweighted matching algorithm - TUWM is the runtime of the UWM
- Run UWM for each subclasses concurrently
A. Israeli and A. Itai. A fast and simple
randomized parallel algorithm for maximal
matching. Info. Proc. Lett., 22(2)7780, 1986
11DAM in Static Graphs
- Running the UWM on the subclasses sequentially,
- From heaviest to the lightest
- Deleting matched nodes from consideration
- Approximation factor 2ß
- Running time of subclasses TUWM
- At the end of concurrent operations, the result
may not be a matching - First Phase Run UWM on each subclass of each
classes synchronously, this finds matchings in
each class - Second Phase Resolve conflicts between different
classes
12DAM in Static Graphs
- Second Phase Resolve conflicts
- Resulting edges at the end of the first phase is
denoted by A - Partition edges in A according to weight classes
- Edges in ith class is denoted by Ai
- Note that a node may have at most one incident
edge in each Ai - If a node has two incident edges in A, the edges
are in different classes - In such a case, we should select the heaviest
edge, BUT...
13DAM in Static Graphs
- The heaviest edge dominates other incident edges
of the node - However, an edge may dominate others in one
endpoint, and be dominated in other endpoint - So Select edges which are dominating in both
endpoints (Combine Procedure)
14DAM in Static Graphs
- Analysis
- The number of phases in the first stage
- k logß a
- Each phase takes TUWM
- Since 0 lt e ½
- logß a ln a / ln ß ln ( 11/ e) / ln (1 e)
(2 log 1/ e) / e - Total runtime of the first stage O(1/ e log 1/
e TUWM) - The number of iterations in the second stage
- 3 loga n O( log n / log 1/ e )
- Total runtime of the complete algorithm
- O( 1/ e log 1/ e TUWM log n / log 1/ e )
15DAM in Unweighted Dynamic Graphs
- Each topological change is insertion or deletion
of a single node - Aim is to develop an algorithm
- Whose running time per topological change is O(1/
e) - Whose output is at least 1/(1e) times the size
of the maximum matching
16DAM in Unweighted Dynamic Graphs
- AUGMENTING PATH
- Let G (V,E) be a graph, let M E be a set of
non-intersecting edges in E, and let k 1. - A path v0, v1, . . . , v2(k-1), v2k-1 is an
augmenting path of length 2k - 1 with respect to
M if for all 1 i k - 1, (v2i-1, v2i) M,
for all 1 i k (v2(i-1), v2i-1) M, and both
v0 and v2k-1 are not endpoints of any edge in M.
17DAM in Unweighted Dynamic Graphs
- AUGMENTING PATH
- A node is free if none of its incident edges is
in a matching - Augmenting path is a path of alternating sequence
of matched and unmatched edges with free end nodes
- Theorem
- If there is no augmenting path of length 2k-1
then the size of the largest matching is at most
(k1)/k M where M is the set of
non-intersecting edges - The output of the algorithm never contains
augmenting paths shorter than 2/e
18DAM in Unweighted Dynamic Graphs
- Insertion
- Algorithm searches for all augmenting paths that
starts with the new node v - V starts an exploration of the topology of the
graph up to (2/e)1 from itself to findout if
there is an augmenting path of size at most 2/e - If no path is found terminate
- Otherwise the shortest augmenting path is chosen
and roles of the edges are flipped (matching ?
non-matching and vice versa)
19DAM in Unweighted Dynamic Graphs
- Deletion
- If deleted node v was not matched, then terminate
- Otherwise
- Find a neighbor on the otherside of the matched
edge - Re-insert that neighbor using the insertion method
20DAM in Weighted Dynamic Graphs
- Basic idea is to reduce the weighted case to the
unweighted case - Partition the edges into disjoint classes where
all edges in class i have weights in 4i, 4i1) - When a node is inserted, it initiates the
unweighted algorithm for each weight class
according to the weights of its incident edges - After O(1) times all algorithms terminate in each
classes - Each node then picks the matched incident edge in
the highest weight class - An edge is added iff both its two endpoints
choose it
21DAM in Weighted Dynamic Graphs
- The runtime of the algorithm is constant
- Each of the class weight algorithms works only to
distance O(1/e) - Since only one hop neighborhood is affected by
the change, we use e 1, therefore O(1/e) O(1)
- Only this neighborhood change the output
22Questions ...