Click here to load reader

Distributed Approximate Matching (DAM)

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Distributed Approximate Matching (DAM). Zvi Lotker, Boaz Patt-Shamir, Adi Rosen Presentation: Deniz Çokuslu May 2008. Motivation. Matching A matching M in a graph G is a set of nonloop edges with no shared endpoints. - PowerPoint PPT Presentation

Text of Distributed Approximate Matching (DAM)

  • Distributed Approximate Matching (DAM)Zvi Lotker, Boaz Patt-Shamir, Adi Rosen

    Presentation: Deniz okusluMay 2008

  • MotivationMatchingA 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). v1v2v3v6v5v4v7

  • MotivationA maximal matching in a graph G is a matching that cannot be enlarged by adding more edgesA maximum matching in a graph G is a matching of maximum size among all matchingsA 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

  • MotivationMatching AlgorithmsA. 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. AlgorithmTime Complexity: ConstantFor general graphs: 5-approx. AlgorithmTime 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:

  • Distributed Approximate Matching (DAM)Works on general weighted graphsStatic Graph AlgorithmFinds Maximum weighted matching within a factor of 4+Time complexity: O(-1 log -1 log n), for > 0Dynamic Graph AlgorithmNodes are inserted or deleted one at a timeUnweighted matching: (1 + )-approximate, (1/ ) time per delete/insertWeighted matching: Constant approximate, constant running time

  • Distributed Approximate Matching (DAM)The system is modeled as a unidirected graph G(V,E)Time progress in synchronous roundsIn each round each processor may send messages to any subset of its neighborsAll messages that are sent, are received and processed at the same roundEdges may have weights (min weight = 1)

  • DAM General IdeaSort edges in descendent orderDivide the list into classesDivide the classes into subclassesRun a maximal unweighted matching algorithm on the subclasses concurrentlyRefine resulting edge set

  • DAM in Static GraphsAim is to define an approximation algorithm whose approximation factor is close to 4Let is a positive constantAim: Find a (4 + 5)-approximate algorithmFor simplicity let = /5, then approximate factor is (4 + ) = 1 + 1/ = / -1 = + 1

  • DAM in Static GraphsAssume 1/n 1/2 Otherwise: If > then run algorithm with = If < 1/n run Hoepman* algorithmEach class i include edges weighted: w[i , i+1)Each class is divided into k = [log ] subclassesSubclass (i, j) contains edges in class i whose weights are in [i * j , i * j+1)* J.-H. Hoepman. Simple Distributed Weighted Matchings CoRR cs.DC/0410047, 2004

  • DAM in Static GraphsApproach is to reduce the weighted case to multiple instances of unweighted casesLet UWM* is a black-box model for a maximal unweighted matching algorithmTUWM is the runtime of the UWMRun 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

  • DAM in Static GraphsRunning the UWM on the subclasses sequentially,From heaviest to the lightestDeleting matched nodes from considerationApproximation factor: 2Running time: # of subclasses * TUWMAt the end of concurrent operations, the result may not be a matchingFirst Phase: Run UWM on each subclass of each classes synchronously, this finds matchings in each classSecond Phase: Resolve conflicts between different classes

  • DAM in Static GraphsSecond Phase: Resolve conflictsResulting edges at the end of the first phase is denoted by APartition edges in A according to weight classesEdges in ith class is denoted by AiNote that a node may have at most one incident edge in each AiIf a node has two incident edges in A, the edges are in different classesIn such a case, we should select the heaviest edge, BUT...

  • DAM in Static GraphsThe heaviest edge dominates other incident edges of the nodeHowever, an edge may dominate others in one endpoint, and be dominated in other endpointSo: Select edges which are dominating in both endpoints (Combine Procedure)

  • DAM in Static GraphsAnalysisThe number of phases in the first stage:k = [log ] Each phase takes TUWMSince 0 < log = ln / ln = ln ( 1+1/ ) / ln (1 + ) (2 log 1/ ) / Total runtime of the first stage : O(1/ log 1/ TUWM)The number of iterations in the second stage:3 log n = O( log n / log 1/ )Total runtime of the complete algorithm: O( 1/ log 1/ TUWM + log n / log 1/ )

  • DAM in Unweighted Dynamic GraphsEach topological change is insertion or deletion of a single nodeAim is to develop an algorithm: Whose running time per topological change is O(1/ )Whose output is at least 1/(1+) times the size of the maximum matching

  • DAM in Unweighted Dynamic GraphsAUGMENTING PATHLet 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(k1), v2k1 is an augmenting path of length 2k 1 with respect to M if for all 1 i k 1, (v2i1, v2i) M, for all 1 i k (v2(i1), v2i1) M, and both v0 and v2k1 are not endpoints of any edge in M.

  • DAM in Unweighted Dynamic GraphsAUGMENTING PATHA node is free if none of its incident edges is in a matchingAugmenting path is a path of alternating sequence of matched and unmatched edges with free end nodesTheoremIf there is no augmenting path of length 2k-1 then the size of the largest matching is at most {(k+1)/k } * |M| where M is the set of non-intersecting edgesThe output of the algorithm never contains augmenting paths shorter than 2/

  • DAM in Unweighted Dynamic GraphsInsertionAlgorithm searches for all augmenting paths that starts with the new node vV starts an exploration of the topology of the graph up to (2/)+1 from itself to findout if there is an augmenting path of size at most 2/If no path is found terminateOtherwise the shortest augmenting path is chosen and roles of the edges are flipped (matching non-matching and vice versa)

  • DAM in Unweighted Dynamic GraphsDeletionIf deleted node v was not matched, then terminateOtherwiseFind a neighbor on the otherside of the matched edgeRe-insert that neighbor using the insertion method

  • DAM in Weighted Dynamic GraphsBasic idea is to reduce the weighted case to the unweighted casePartition the edges into disjoint classes where all edges in class i have weights in [4i, 4i+1)When a node is inserted, it initiates the unweighted algorithm for each weight class according to the weights of its incident edgesAfter O(1) times all algorithms terminate in each classesEach node then picks the matched incident edge in the highest weight classAn edge is added iff both its two endpoints choose it

  • DAM in Weighted Dynamic GraphsThe runtime of the algorithm is constantEach of the class weight algorithms works only to distance O(1/) Since only one hop neighborhood is affected by the change, we use = 1, therefore O(1/) = O(1) Only this neighborhood change the output

  • Questions ...

Search related