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 Matchings Input Output 3
Distributed Algorithms • Graph G = input = communication network • node = computer • edge = communication link 4
Distributed Algorithms • Initially, each node only knows its incident edges • i.e., each node knows its “radius-0 neighbourhood” 5
Distributed Algorithms • Nodes can exchange messages to learn more about graph G … • 1 communication round: discover radius-1 neighbourhood 6
Distributed Algorithms • Nodes can exchange messages to learn more about graph G … • 2 communication rounds: discover radius-2 neighbourhood 7
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
Distributed Algorithms After T rounds, all nodes know their radius- T neighbourhoods in G 9
Distributed Algorithms After T rounds, all nodes know their radius- T neighbourhoods in G “local view” 10
Distributed Algorithms Mapping: local view ↦ local output Each node decides whether it is matched and with whom 11
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
Distributed Algorithms • Time = number of communication rounds • How fast can we find a maximal matching? • O ( n )? O (log n )? O (1)? 13
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
Symmetry Breaking • Some kind of symmetry-breaking is needed! • identical local views, identical local outputs… 15
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
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
Symmetry Breaking • Unique identifiers 72 5 12 30 • Port numbering } not enough! • Node colouring • Edge colouring 1 3 2 • Randomness } another world… • Geometry 18
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
Greedy Algorithm • Given: k -edge coloured graph Input 3 4 2 1 3 2 4 2 1 3 4 3 4 2 20
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
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
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
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
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
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
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
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
Related Work 29
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
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
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
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
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
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
Lower Bound 36
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
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
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
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
Templates • Degree < d 4 1 3 4 1 2 3 41
Templates • Degree < d : add loops 4 4 1 1 2 3 3 4 4 2 1 1 2 2 4 3 3 42
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
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
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
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
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
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
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
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
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
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