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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend