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

distributed maximal matching greedy is optimal
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Jukka Suomela

Helsinki Institute for Information Technology HIIT University of Helsinki Joint work with Juho Hirvonen Weizmann Institute of Science, 27 November 2011

Distributed Maximal Matching: Greedy is Optimal

slide-2
SLIDE 2

Background

2

slide-3
SLIDE 3

Maximal Matchings

3

Input Output

slide-4
SLIDE 4

Distributed Algorithms

4

  • Graph G = input = communication network
  • node = computer
  • edge = communication link
slide-5
SLIDE 5

Distributed Algorithms

5

  • Initially, each node only knows its

incident edges

  • i.e., each node knows its

“radius-0 neighbourhood”

slide-6
SLIDE 6

Distributed Algorithms

6

  • Nodes can exchange messages

to learn more about graph G…

  • 1 communication round:

discover radius-1 neighbourhood

slide-7
SLIDE 7

Distributed Algorithms

7

  • Nodes can exchange messages

to learn more about graph G…

  • 2 communication rounds:

discover radius-2 neighbourhood

slide-8
SLIDE 8

Distributed Algorithms

8

  • Nodes can exchange messages

to learn more about graph G…

  • 3 communication rounds:

discover radius-3 neighbourhood

  • all nodes can do this in parallel
slide-9
SLIDE 9

Distributed Algorithms

9

After T rounds, all nodes know their radius-T neighbourhoods in G

slide-10
SLIDE 10

Distributed Algorithms

10

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

slide-11
SLIDE 11

Distributed Algorithms

11

Mapping: local view ↦ local output

Each node decides whether it is matched and with whom

slide-12
SLIDE 12

Distributed Algorithms

12

  • 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

slide-13
SLIDE 13

Distributed Algorithms

13

  • Time = number of communication rounds
  • How fast can we find a maximal matching?
  • O(n)? O(log n)? O(1)?
slide-14
SLIDE 14

Distributed Algorithms

14

  • 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…

slide-15
SLIDE 15

Symmetry Breaking

  • Some kind of symmetry-breaking is needed!
  • identical local views,

identical local outputs…

15

slide-16
SLIDE 16

Symmetry Breaking

  • Unique identifiers
  • Port numbering
  • Node colouring
  • Edge colouring
  • Randomness
  • Geometry

16

30 12 5 72

⚃ ⚁ ⚅ ⚃

2 3 2 1 1 2 2 1 2 1 1 2 2 3 1

slide-17
SLIDE 17

Symmetry Breaking

  • Unique identifiers
  • Port numbering
  • Node colouring
  • Edge colouring
  • Randomness
  • Geometry

17

30 12 5 72

2 3 2 1 1 2 2 1 2 1 1 2 2 3 1

another world…

}

slide-18
SLIDE 18

Symmetry Breaking

  • Unique identifiers
  • Port numbering
  • Node colouring
  • Edge colouring
  • Randomness
  • Geometry

18

30 12 5 72

2 3 1

another world…

}

not enough!

}

slide-19
SLIDE 19

Symmetry Breaking

  • Unique identifiers
  • Edge colouring

19

30 12 5 72

2 3 1

  • n nodes: identifiers subset of {1, 2, … poly(n)}
  • I will refer to this when discussing related work
  • proper k-colouring of edges
  • enough for our purposes—this what we use today
slide-20
SLIDE 20

Greedy Algorithm

  • Given: k-edge coloured graph

20

2 3 1 1 2 4 3 3 4 2 4 3 2 4

Input

slide-21
SLIDE 21

Greedy Algorithm

  • Greedily add edges of colour 1, …

21

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1

Input Greedy algorithm

slide-22
SLIDE 22

Greedy Algorithm

  • Greedily add edges of colour 1, 2, …

22

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2

Input Greedy algorithm

slide-23
SLIDE 23

Greedy Algorithm

  • Greedily add edges of colour 1, 2, 3, …

23

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2 3 3 3 3

Input Greedy algorithm

slide-24
SLIDE 24

Greedy Algorithm

  • Greedily add edges of colour 1, 2, …, k

24

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2 3 3 3 3 4 4 4 4

Input Greedy algorithm

slide-25
SLIDE 25

Greedy Algorithm

  • That’s it – maximal matching in time O(k)

25

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2 3 3 3 3 4 4 4 4

Input Greedy algorithm Output

slide-26
SLIDE 26

Greedy Algorithm

  • Running time is exactly k − 1
  • initially each node knows the colours of incident edges

26

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2 3 3 3 3 4 4 4 4

slide-27
SLIDE 27

Greedy Algorithm

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

27

2 3 1 4 2 3 4

slide-28
SLIDE 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

slide-29
SLIDE 29

Related Work

29

slide-30
SLIDE 30

n and ∆

30

  • 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
slide-31
SLIDE 31

31

Problem Upper bound Lower bound

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

slide-32
SLIDE 32

n and ∆

32

  • 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
slide-33
SLIDE 33

k and ∆

33

  • 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 ∆…
slide-34
SLIDE 34

k and ∆

34

  • 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 ∆…

Ω(∆ + log* k)

slide-35
SLIDE 35

Contributions

35

  • 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)

slide-36
SLIDE 36

Lower Bound

36

slide-37
SLIDE 37

Plan

37

  • Focus: d-regular k-edge-coloured graphs
  • If d = k:
  • trivial to find a maximal matching

in constant time (pick a colour class)

  • If d = k − 1:
  • as difficult as the general case!
  • we show that we need at least d rounds

2 1 2 1 2 3 1 2 1 3 1 1

slide-38
SLIDE 38

Plan

38

  • 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 T1, T2:
  • root nodes have identical (k − 2)-neighbourhoods
  • output of A: root of T1 matched, root of T2 unmatched
  • running time of A is at least k − 1
slide-39
SLIDE 39

Tools

39

  • 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

slide-40
SLIDE 40

Node Colours

40

  • Node colour = the unique “missing colour”

2 3 3 1 2 4 3 1 4 1 4 2 4 2 3 3 1 2 4 3 1 4 1 4 2 4

slide-41
SLIDE 41

Templates

41

  • Degree < d

3 3 1 4 1 2 4

slide-42
SLIDE 42

Templates

42

  • Degree < d: add loops

3 3 1 4 3 3 1 4 2 2 4 1 2 4 1 2 4

slide-43
SLIDE 43

Templates

43

  • Degree < d: add loops, unfold loops

3 3 1 4 3 3 1 4 2 2 4 3 3 1 4 2 3 3 1 4 2 4 3 3 1 4 2 4 3 3 1 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 1 2

slide-44
SLIDE 44

Templates

44

  • Unfolding preserves traversals

3 3 1 4 3 3 1 4 2 2 4 3 3 1 4 2 3 3 1 4 2 4 3 3 1 4 2 4 3 3 1 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 1 2

slide-45
SLIDE 45

Templates

45

  • Natural homomorphism

3 3 1 4 3 3 1 4 2 2 4 3 3 1 4 2 3 3 1 4 2 4 3 3 1 4 2 4 3 3 1 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 1 2

slide-46
SLIDE 46

Templates

46

  • Compact representations of trees

3 3 1 4

=

3 3 1 4 2 3 3 1 4 2 4 3 3 1 4 2 4 3 3 1 4 1 2 4 1 2 4 1 2 4 1 2 1 2

slide-47
SLIDE 47

Templates

47 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 3 1 4 2 2

= =

1 4 1 4 1 4 1 4 1 4 1 4 1 4

slide-48
SLIDE 48

Templates

48 3 4 2 3 4 2 3 4 2 4 2 3 4 2 3 4 2 3 4 2

= =

1 1 1 1 1 1 1 1 1 1

slide-49
SLIDE 49

Templates

49 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 1 4 1 4 1 4 1 4 1 4 1 4

“origin”

slide-50
SLIDE 50

Templates

50 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 1 4 1 4 1 4 1 4 1 4 1 4

same origin same local view same output

slide-51
SLIDE 51

Templates

51 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 1 4 1 4 1 4 1 4 1 4 1 4

What is the output of A here?

slide-52
SLIDE 52

Templates

52 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 1 4 1 4 1 4 1 4 1 4 1 4

What is the output of A here?

slide-53
SLIDE 53

Templates

53 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 1 4 1 4 1 4 1 4 1 4 1 4

What is the output of A here? = What is the output of A here?

Definition!

slide-54
SLIDE 54

Templates

54 3 1 4

What is the output of A here?

From now on we can study the output of algorithm A on templates…

slide-55
SLIDE 55

Templates

55 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 1 4 1 4 1 4 1 4 1 4 1 4

unmatched unmatched non-maximal Template of degree < d: all nodes are matched

slide-56
SLIDE 56

Templates

56 3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 3 1 4 2 2 1 4 1 4 1 4 1 4 1 4 1 4 1 4

4 2 Output x: matched along the edge of colour x

slide-57
SLIDE 57

Templates

57

Output x: matched along the edge of colour x

3 4 2 3 1 2 2 3 1 4 2 2 3 1 2 2 3 1 4 2 2 3 3 1 4 2 2 1 4 1 4 1 4 1 4 1 4 1 4 1 4

3 3

slide-58
SLIDE 58

Base Case

58

  • Apply algorithms A to

templates of degree zero

  • Defines a mapping

from node colours to outputs

2 4 3

template

  • utput

3 1 4 2 1

?

slide-59
SLIDE 59

Base Case

59

  • h: {1,2,…,k} → {1,2,…,k}
  • no fixed points

2 4 3

template

  • utput

3 1 4 2 1

h

slide-60
SLIDE 60

Base Case

60

  • h: {1,2,…,k} → {1,2,…,k}
  • no fixed points
  • there are distinct

x, y, z with

  • h(x) = y
  • h(z) ≠ y

2 4

template

  • utput

3 1 4 2 1

x z y

3

slide-61
SLIDE 61

Base Case

61

  • h: {1,2,…,k} → {1,2,…,k}
  • no fixed points
  • there are distinct

x, y, z with

  • h(x) = y
  • h(z) ≠ y

2 4

template

  • utput

3 1 4 2 1

x z y

3

slide-62
SLIDE 62

Base Case

62

edge of colour y exists, but not in matching

z y x

edge of colour y exists, in matching

x y z

slide-63
SLIDE 63

Base Case

63 z y x x y z z y x z x x y z x z

K L

slide-64
SLIDE 64

Base Case

64 z y x y z y z x y x z y x x z x x z z x z

X K L

  • utput in X cannot

be copied from K & L – something must change!

slide-65
SLIDE 65

Base Case

65 z y z x y x z y x x x z z x z

degree 1 templates, same radius-0 view, different output

z y x

slide-66
SLIDE 66

Base Case

66 z y z x y x z y x x x z z x z

degree 1 templates, same radius-0 view, different output

y x z

slide-67
SLIDE 67

Inductive Step

67 z z x z

Given: degree i templates, same radius-(i−1) view, different output Construct: degree i+1 templates, same radius-i view, different output (here i = 1)

z

S T

slide-68
SLIDE 68

Inductive Step

68 z z x z

Choose one loop per node Prefer loops that are matched in T Then unfold these loops… S T

slide-69
SLIDE 69

Inductive Step

69 z z x z x z x z z z z z

K L

slide-70
SLIDE 70

Inductive Step

70 z z x z x z x z z z z z x z z z z z

… again, something must change in the output!

X K L

slide-71
SLIDE 71

Inductive Step

71 z z x z x z x z z z z z x z z z z z

X K L

slide-72
SLIDE 72

Inductive Step

72 z z x z x z x z z z z z x z z z z z

same radius-0 view

slide-73
SLIDE 73

Inductive Step

73 z z x z x z x z z z z z x z z z z z

same radius-0 view same radius-0 view

slide-74
SLIDE 74

Inductive Step

74 z z x z x z x z z z z z x z z z z z

same radius-1 view

slide-75
SLIDE 75

Inductive Step

75 z z z z z z x z z z z z

same radius-1 view degree 2 templates, same radius-1 view, different output

slide-76
SLIDE 76

Inductive Step

76 z z z z z z x z z z z z z z x z

Given: degree i templates, same radius-(i−1) view, different output Construct: degree i+1 templates, same radius-i view, different output (here i = 1)

slide-77
SLIDE 77

Inductive Step

77 z z z z z z x z z z z z z z z z z z x z z z z z

K L

slide-78
SLIDE 78

Inductive Step

78 z z z z z z x z z z z z z z z z z z x z z z z z z z z z z z x z z z z z

… something must change

X K L

slide-79
SLIDE 79

Inductive Step

79 z z z z z z x z z z z z z z z z z z x z z z z z z z z z z z x z z z z z

X K L

slide-80
SLIDE 80

Inductive Step

80 z z z z z z z z z z z z z z z z z z x z z z z z

same radius-2 view

X K

slide-81
SLIDE 81

Inductive Step

81 z z z z z z x z z z z z z z z z z z x z z z z z z z z z z z x z z z z z

X K L

slide-82
SLIDE 82

Inductive Step

82 x z z z z z x z z z z z z z z z z z x z z z z z

same radius-2 view

X L

slide-83
SLIDE 83

Conclusions

83

  • By induction, we can construct:
  • two degree-d trees
  • same radius-(d−1) view
  • different output
z z z z z z x z z z z z z z x z x z z z z z x z z z z z z z z z z z x z z z z z
slide-84
SLIDE 84

Conclusions

84

  • Algorithm A requires at least k − 1 rounds

in a k-edge-coloured graph

  • Algorithm A cannot be faster than

the greedy algorithm

z z z z z z x z z z z z z z x z x z z z z z x z z z z z z z z z z z x z z z z z
slide-85
SLIDE 85

Conclusions

85

  • Greedy is optimal

2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2 3 3 3 3 4 4 4 4

slide-86
SLIDE 86

Conclusions

86

  • Maximal matching in

k-edge-coloured graphs requires:

  • k − 1 communication rounds in general
  • Θ(∆ + log* k) rounds in graphs of degree ≤ ∆
  • Still open:
  • what if we have unique identifiers?
  • or both edge colouring and node colouring?