Distributed Approximate Matching DAM PowerPoint PPT Presentation

presentation player overlay
1 / 22
About This Presentation
Transcript and Presenter's Notes

Title: Distributed Approximate Matching DAM


1
Distributed Approximate Matching (DAM)
  • Zvi Lotker, Boaz Patt-Shamir, Adi Rosen
  • Presentation Deniz Çokuslu
  • May 2008

2
Motivation
  • 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
3
Motivation
  • 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

4
Motivation
  • 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

5
Distributed 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

6
Distributed 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)

7
DAM 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

8
DAM 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

9
DAM 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
10
DAM 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
11
DAM 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

12
DAM 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...

13
DAM 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)

14
DAM 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 )

15
DAM 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

16
DAM 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.

17
DAM 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

18
DAM 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)

19
DAM 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

20
DAM 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

21
DAM 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

22
Questions ...
Write a Comment
User Comments (0)
About PowerShow.com