parallel greedy graph matching using an edge partitioning
play

Parallel Greedy Graph Matching using an Edge Partitioning Approach - PowerPoint PPT Presentation

Introduction Matching Algorithms Experiments Conclusion Parallel Greedy Graph Matching using an Edge Partitioning Approach Md. Mostofa Ali Patwary* Rob H. Bisseling** Fredrik Manne* *Department of Informatics, University of Bergen, Norway


  1. Introduction Matching Algorithms Experiments Conclusion Parallel Greedy Graph Matching using an Edge Partitioning Approach Md. Mostofa Ali Patwary* Rob H. Bisseling** Fredrik Manne* *Department of Informatics, University of Bergen, Norway **Department of Mathematics, Utrecht University, the Netherlands September 25, 2010 HLPP 2010, Baltimore, Maryland USA Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  2. Introduction Matching Algorithms Experiments Conclusion Outline Introduction Problem Definitions Objectives Matching Algorithms Sequential Karp–Sipser Algorithm Parallel Matching Algorithm Communication Requirements Experiments Experimental Setup Experimental Results Conclusion Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  3. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Matching ◮ Given a graph G = ( V , E ). ◮ A Matching M is a pairing of a b adjacent vertices such that each vertex is matched with e f at most one other vertex. c ◮ In other words, M is the set of d independent edges. Figure: G = ( V , E ) Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  4. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Matching ◮ Given a graph G = ( V , E ). ◮ A Matching M is a pairing of a b adjacent vertices such that each vertex is matched with e f at most one other vertex. c ◮ In other words, M is the set of d independent edges. Figure: G = ( V , E ) ◮ | M | = 2. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  5. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Matching ◮ Given a graph G = ( V , E ). ◮ A Matching M is a pairing of a b adjacent vertices such that each vertex is matched with e f at most one other vertex. c ◮ In other words, M is the set of d independent edges. Figure: G = ( V , E ) ◮ | M | = 2. ◮ | M | = 3. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  6. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion The Matching Problem ◮ Find a matching M such that a b ◮ M has maximum cardinality. e f c d Figure: G = ( V , E ) Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  7. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion The Matching Problem ◮ Find a matching M such that a b 2 ◮ M has maximum cardinality. 1 1 ◮ Edge weight w of M is maximum 8 e 1 f 5 for edge weighted graph. 9 1 ◮ w ( M ) = 11. 4 c d Figure: G = ( V , E ) Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  8. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion The Matching Problem ◮ Find a matching M such that a b 2 ◮ M has maximum cardinality. 1 1 ◮ Edge weight w of M is maximum 8 e 1 f 5 for edge weighted graph. 9 1 ◮ w ( M ) = 11. 4 c d ◮ w ( M ) = 17. ◮ In this work we consider maximum Figure: G = ( V , E ) cardinality matching. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  9. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Applications ◮ Combinatorial optimization, e.g. assignment problem, stable marriage problem. ◮ Linear solvers, e.g. improve pivoting. ◮ Load balancing in parallel computation, e.g. graph partitioning. ◮ Bioinformatics, e.g. alignment problems. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  10. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: G = ( V , E ) A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: G = ( V , E ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  11. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ∅ and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  12. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ( d , e ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  13. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ( d , e ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  14. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ( d , e ); ( a , b ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  15. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ( d , e ); ( a , b ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  16. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ( d , e ); ( a , b ); ( c , f ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  17. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Maximum Cardinality Matching: Example A general greedy framework: a b 1: M = ∅ e f 2: while E � = ∅ do Pick the BEST remaining edge 3: c ( v , w ). d Add ( v , w ) to the matching M . 4: Remove all edges incident on v 5: Figure: M = ( d , e ); ( a , b ); ( c , f ) and w from E . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  18. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Best Edge ◮ HOW to choose the BEST edge of the remaining edges? ◮ What should the criteria be? ◮ Although exact algorithms are polynomial, they could be expensive in practice. ◮ Therefore, the common choice is heuristics, which - ◮ gives high-quality matchings in many cases. ◮ is much faster for large problem sizes. ◮ is easier to implement. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  19. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Heuristics - Best Edge ◮ Simple greedy [M¨ uller–Hannemann, 1995, Magun, 1998] . ohring and M¨ ◮ Picks an edge ( v , w ) where v and w are unmatched vertices. ◮ Static Mindegree ◮ Picks the minimum degree unmatched vertex v and find a lower degree unmatched neighbour w . ◮ Dynamic Mindegree - Updates degree after deletion of edges. ◮ Karp–Sipser algorithm - Keeps track of degree 1 vertices only + Simple greedy [Aronson et al., 1998] . ◮ This is the method of choice in many cases [Langguth et al., 2010] . Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  20. Introduction Matching Algorithms Problem Definitions Experiments Objectives Conclusion Objectives ◮ Investigate the parallelization of Maximum Cardinality Matching for distributed memory computers. ◮ The Karp–Sipser algorithm has been picked. ◮ High quality matching quickly. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

  21. Introduction Sequential Karp–Sipser Algorithm Matching Algorithms Parallel Matching Algorithm Experiments Communication Requirements Conclusion Sequential Karp–Sipser Algorithm: Idea ◮ A vertex v is singleton if d ( v ) = 1. ◮ Idea: Match singleton vertices. If there is no singleton vertex, run simple greedy algorithm, that is, pick edges randomly. Md. Mostofa Ali Patwary et al. Parallel Greedy Graph Matching

Recommend


More recommend