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 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
Jukka Suomela
Helsinki Institute for Information Technology HIIT University of Helsinki Joint work with Juho Hirvonen Weizmann Institute of Science, 27 November 2011
2
3
Input Output
4
5
incident edges
“radius-0 neighbourhood”
6
to learn more about graph G…
discover radius-1 neighbourhood
7
to learn more about graph G…
discover radius-2 neighbourhood
8
to learn more about graph G…
discover radius-3 neighbourhood
9
After T rounds, all nodes know their radius-T neighbourhoods in G
10
After T rounds, all nodes know their radius-T neighbourhoods in G “local view”
11
Mapping: local view ↦ local output
Each node decides whether it is matched and with whom
12
after T synchronous communication rounds all nodes announce their local outputs
to local outputs
13
14
we can find a maximal matching at all…
identical local outputs…
15
16
30 12 5 72
⚃ ⚁ ⚅ ⚃
2 3 2 1 1 2 2 1 2 1 1 2 2 3 1
17
30 12 5 72
2 3 2 1 1 2 2 1 2 1 1 2 2 3 1
another world…
18
30 12 5 72
2 3 1
another world…
not enough!
19
30 12 5 72
2 3 1
20
2 3 1 1 2 4 3 3 4 2 4 3 2 4
Input
21
2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1
Input Greedy algorithm
22
2 3 1 1 2 4 3 3 4 2 4 3 2 4 1 1 2 2 2 2
Input Greedy algorithm
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
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
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
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
27
2 3 1 4 2 3 4
fundamental open questions of the field…
28
29
30
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)
32
as a function of n
time complexity as a function of ∆
33
34
Ω(∆ + log* k)
35
matchings in k-edge-coloured graphs
(an adaptation of Panconesi–Rizzi 2001)
36
37
in constant time (pick a colour class)
2 1 2 1 2 3 1 2 1 3 1 1
38
in any d-regular k-edge-coloured graph
39
manipulating infinite edge-coloured trees…
(with some group-theoretic constructions)
and just present the key ideas with illustrations
40
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
41
3 3 1 4 1 2 4
42
3 3 1 4 3 3 1 4 2 2 4 1 2 4 1 2 4
43
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
44
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
45
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
46
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
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
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
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”
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
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?
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?
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!
54 3 1 4
What is the output of A here?
From now on we can study the output of algorithm A on 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
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
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
58
templates of degree zero
from node colours to outputs
2 4 3
template
3 1 4 2 1
?
59
2 4 3
template
3 1 4 2 1
h
60
x, y, z with
2 4
template
3 1 4 2 1
x z y
3
61
x, y, z with
2 4
template
3 1 4 2 1
x z y
3
62
edge of colour y exists, but not in matching
z y x
edge of colour y exists, in matching
x y z
63 z y x x y z z y x z x x y z x z
K L
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
be copied from K & L – something must change!
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
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
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
68 z z x z
Choose one loop per node Prefer loops that are matched in T Then unfold these loops… S T
69 z z x z x z x z z z z z
K L
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
71 z z x z x z x z z z z z x z z z z z
X K L
72 z z x z x z x z z z z z x z z z z z
same radius-0 view
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
74 z z x z x z x z z z z z x z z z z z
same radius-1 view
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
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)
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
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
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
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
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
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
83
84
in a k-edge-coloured graph
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 z85
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
86
k-edge-coloured graphs requires: