distributed maximal matching greedy is optimal
play

Distributed Maximal Matching: Greedy is Optimal Jukka Suomela - PowerPoint PPT Presentation

Distributed Maximal Matching: Greedy is Optimal Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki Joint work with Juho Hirvonen Weizmann Institute of Science, 27 November 2011 Background 2 Maximal


  1. Distributed Maximal Matching: Greedy is Optimal Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki Joint work with Juho Hirvonen Weizmann Institute of Science, 27 November 2011

  2. Background 2

  3. Maximal Matchings Input Output 3

  4. Distributed Algorithms • Graph G = input = communication network • node = computer • edge = communication link 4

  5. Distributed Algorithms • Initially, each node only knows its incident edges • i.e., each node knows its “radius-0 neighbourhood” 5

  6. Distributed Algorithms • Nodes can exchange messages to learn more about graph G … • 1 communication round: discover radius-1 neighbourhood 6

  7. Distributed Algorithms • Nodes can exchange messages to learn more about graph G … • 2 communication rounds: discover radius-2 neighbourhood 7

  8. Distributed Algorithms • Nodes can exchange messages to learn more about graph G … • 3 communication rounds: discover radius-3 neighbourhood • all nodes can do this in parallel 8

  9. Distributed Algorithms After T rounds, all nodes know their radius- T neighbourhoods in G 9

  10. Distributed Algorithms After T rounds, all nodes know their radius- T neighbourhoods in G “local view” 10

  11. Distributed Algorithms Mapping: local view ↦ local output Each node decides whether it is matched and with whom 11

  12. Distributed Algorithms • Time = number of communication rounds • Equivalent: • Distributed algorithm that runs in time T • All nodes run the same algorithms; after T synchronous communication rounds all nodes announce their local outputs • Mapping from radius- T neighbourhoods to local outputs 12

  13. Distributed Algorithms • Time = number of communication rounds • How fast can we find a maximal matching? • O ( n )? O (log n )? O (1)? 13

  14. Distributed Algorithms • Time = number of communication rounds • How fast can we find a maximal matching? • O ( n )? O (log n )? O (1)? • Maybe we should first make sure that we can find a maximal matching at all … 14

  15. Symmetry Breaking • Some kind of symmetry-breaking is needed! • identical local views, identical local outputs… 15

  16. Symmetry Breaking • Unique identifiers 72 5 12 30 2 1 1 2 1 2 2 1 • Port numbering • Node colouring 1 2 3 2 • Edge colouring 1 3 2 • Randomness ⚃ ⚅ ⚁ ⚃ • Geometry 16

  17. Symmetry Breaking • Unique identifiers 72 5 12 30 2 1 1 2 1 2 2 1 • Port numbering • Node colouring 1 2 3 2 • Edge colouring 1 3 2 • Randomness } another world… • Geometry 17

  18. Symmetry Breaking • Unique identifiers 72 5 12 30 • Port numbering } not enough! • Node colouring • Edge colouring 1 3 2 • Randomness } another world… • Geometry 18

  19. Symmetry Breaking • Unique identifiers 72 5 12 30 • n nodes: identifiers subset of {1, 2, … poly( n )} • I will refer to this when discussing related work • Edge colouring 1 3 2 • proper k -colouring of edges • enough for our purposes—this what we use today 19

  20. Greedy Algorithm • Given: k -edge coloured graph Input 3 4 2 1 3 2 4 2 1 3 4 3 4 2 20

  21. Greedy Algorithm • Greedily add edges of colour 1, … Input Greedy algorithm 3 4 2 1 1 3 2 4 2 1 1 3 4 3 4 2 21

  22. Greedy Algorithm • Greedily add edges of colour 1, 2, … Input Greedy algorithm 3 4 2 2 1 1 3 2 2 4 2 2 1 1 3 4 3 4 2 2 22

  23. Greedy Algorithm • Greedily add edges of colour 1, 2, 3, … Input Greedy algorithm 3 3 4 2 2 1 1 3 3 2 2 4 2 2 1 1 3 3 4 3 3 4 2 2 23

  24. Greedy Algorithm • Greedily add edges of colour 1, 2, …, k Input Greedy algorithm 3 3 4 4 2 2 1 1 3 3 2 2 4 4 2 2 1 1 3 3 4 4 3 3 4 4 2 2 24

  25. Greedy Algorithm • That’s it – maximal matching in time O ( k ) Input Greedy algorithm Output 3 3 4 4 2 2 1 1 3 3 2 2 4 4 2 2 1 1 3 3 4 4 3 3 4 4 2 2 25

  26. Greedy Algorithm • Running time is exactly k − 1 • initially each node knows the colours of incident edges 3 3 4 4 2 2 1 1 3 3 2 2 4 4 2 2 1 1 3 3 4 4 3 3 4 4 2 2 26

  27. Greedy Algorithm • Running time is exactly k − 1 • Analysis is tight • Example for case k = 4 • Identical radius-2 neighbourhoods, different outputs: 1 2 3 4 2 3 4 27

  28. Greedy Algorithm • Running time is exactly k − 1 • Analysis is tight • But could we design a faster algorithm ? • turns out that this is connected to some fundamental open questions of the field… 28

  29. Related Work 29

  30. n and ∆ • Running time as a function of what? • Two parameters commonly used: • n = number of nodes • ∆ = maximum degree • We often assume that n and ∆ are known • or some upper bounds of them 30

  31. Upper Lower Problem bound bound maximal matching ∆ + log* n polylog( ∆ ) + log* n ( ∆ +1)-vertex colouring ∆ + log* n polylog( ∆ ) + log* n (2 ∆ -1)-edge colouring ∆ + log* n polylog( ∆ ) + log* n maximal edge packing ∆ polylog( ∆ ) vertex cover 2-approx. ∆ polylog( ∆ ) Positive: Panconesi–Rizzi (2001), Barenboim–Elkin (2009), Kuhn (2009), Åstrand–Suomela (2010), … Negative: Linial (1992), Kuhn et al. (2004, 2006) 31

  32. n and ∆ • Time complexity is well-understood as a function of n • asymptotically tight upper and lower bounds • But we do not really understand time complexity as a function of ∆ • exponential gap 32

  33. k and ∆ • What about edge-coloured graphs? • k = number of colours, ∆ = maximum degree • Maximal matching: • upper bound: O ( ∆ + log* k ) • lower bound: Ω (polylog( ∆ ) + log* k ) • Again, an exponential gap for ∆ … 33

  34. k and ∆ • What about edge-coloured graphs? • k = number of colours, ∆ = maximum degree • Maximal matching: • upper bound: O ( ∆ + log* k ) Ω ( ∆ + log* k ) • lower bound: Ω (polylog( ∆ ) + log* k ) • Again, an exponential gap for ∆ … 34

  35. Contributions • Time complexity of finding maximal matchings in k -edge-coloured graphs • General graphs: ≥ k − 1 • matching upper bound: ≤ k − 1 (greedy) • Bounded-degree graphs: Ω ( ∆ + log* k ) • matching upper bound: O ( ∆ + log* k) (an adaptation of Panconesi–Rizzi 2001) 35

  36. Lower Bound 36

  37. Plan • Focus: d -regular k -edge-coloured graphs • If d = k : 1 2 2 1 • trivial to find a maximal matching 1 2 in constant time (pick a colour class) • If d = k − 1: 1 3 • as difficult as the general case! 3 1 1 • we show that we need at least d rounds 2 37

  38. Plan • Given k ≥ 3, define d = k − 1, assume: • algorithm A finds a maximal matching in any d -regular k -edge-coloured graph • We construct a pair of infinite trees T 1 , T 2 : • root nodes have identical ( k − 2)-neighbourhoods • output of A : root of T 1 matched, root of T 2 unmatched • running time of A is at least k − 1 38

  39. Tools • Now we need tools for constructing and manipulating infinite edge-coloured trees… • Warning : • the manuscript uses a very different formalism (with some group-theoretic constructions) • in this talk I’ll try to keep everything lightweight, and just present the key ideas with illustrations 39

  40. Node Colours • Node colour = the unique “missing colour” 4 4 3 3 2 2 4 4 1 1 1 1 3 3 2 2 4 4 2 2 4 4 1 1 3 3 40

  41. Templates • Degree < d 4 1 3 4 1 2 3 41

  42. Templates • Degree < d : add loops 4 4 1 1 2 3 3 4 4 2 1 1 2 2 4 3 3 42

  43. Templates • Degree < d : add loops, unfold loops 4 4 4 4 4 4 1 1 2 1 2 1 1 2 1 3 3 3 3 3 3 4 4 2 4 2 4 1 1 1 1 1 1 2 2 2 4 2 2 4 2 4 3 3 3 3 3 3 43

  44. Templates • Unfolding preserves traversals 4 4 4 4 4 4 1 1 2 1 2 1 1 2 1 3 3 3 3 3 3 4 4 2 4 2 4 1 1 1 1 1 1 2 2 2 4 2 2 4 2 4 3 3 3 3 3 3 44

  45. Templates • Natural homomorphism 4 4 4 4 4 4 1 1 2 1 2 1 1 2 1 3 3 3 3 3 3 4 4 2 4 2 4 1 1 1 1 1 1 2 2 2 4 2 2 4 2 4 3 3 3 3 3 3 45

  46. Templates • Compact representations of trees 4 4 4 4 4 1 1 2 1 1 2 1 3 3 3 3 3 = 4 4 2 4 1 1 1 1 1 2 2 4 2 2 4 2 3 3 3 3 3 46

  47. Templates 1 2 4 2 1 3 4 1 3 2 4 1 2 1 4 1 2 1 = = 4 3 3 3 1 4 4 3 1 4 2 2 1 1 4 4 2 2 2 3 4 2 1 47

  48. Templates 2 4 1 3 4 2 4 = = 2 1 1 1 1 2 4 1 2 3 3 3 1 4 1 1 4 2 3 2 1 3 4 48

  49. Templates 1 2 4 2 1 3 4 1 3 2 4 “origin” 1 2 1 1 4 3 3 1 4 4 3 1 4 2 2 1 4 2 2 3 4 2 1 49

  50. Templates 1 2 4 2 same origin 1 3 4 same local view 1 3 2 same output 4 1 2 1 1 4 3 3 1 4 4 3 1 4 2 2 1 4 2 2 3 4 2 1 50

  51. Templates 1 2 4 2 1 3 4 1 3 2 4 1 What is the output of A here? 2 1 1 4 3 3 1 4 4 3 1 4 2 2 1 4 2 2 3 4 2 1 51

  52. Templates 1 2 4 2 1 3 4 1 3 2 4 1 What is the output of A here? 2 1 1 4 3 3 1 4 4 3 1 4 2 2 1 4 2 2 3 4 2 1 52

Recommend


More recommend