Jukka Suomela
Helsinki Institute for Information Technology HIIT University of Helsinki Wireless Networks and Mobile Computing Carleton University 26–27 April 2011
www.hiit.fi/jukka.suomela/tut-2011
Local Algorithms: Past, Present, Future Jukka Suomela Helsinki - - PowerPoint PPT Presentation
Local Algorithms: Past, Present, Future Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki Wireless Networks and Mobile Computing Carleton University 2627 April 2011 www.hiit.fi/jukka.suomela/tut-2011
Jukka Suomela
Helsinki Institute for Information Technology HIIT University of Helsinki Wireless Networks and Mobile Computing Carleton University 26–27 April 2011
www.hiit.fi/jukka.suomela/tut-2011
2
3
4
graph problems
5
graph problems
matchings
6
graph problems
matchings, vertex covers
7
graph problems
matchings, vertex covers, dominating sets
8
graph problems
matchings, vertex covers, dominating sets, edge dominating sets
9
graph problems
matchings, vertex covers, dominating sets, edge dominating sets, graph colourings
10
graph problems
matchings, vertex covers, dominating sets, edge dominating sets, graph colourings, …
11
nodes at distance r
independent of number of nodes
number of edges
12
each node operates based on its local neighbourhood only
13
same output
14
distributed algorithm
communication rounds
15
16
17
18
19
unique node identifiers…
20
19 30 12 5 72 4 18 34 2 68 77 15 19
unique node identifiers…
21
19 30 12 5 72 4 18 34 2 68 77 15 19
unique node identifiers…
local algorithm you use, there is a “bad input”
22
19 30 12 5 72 4 18 34 2 68 77 15 19
produce the same output
not possible
independent sets, matchings, vertex covers, dominating sets, …
23
19 30 12 5 72 4 18 34 2 68 77 15 19
identifiers to local outputs
24
19 30 12 5 72 4 18 34 2 68 77 15 19
a < b < c < d < e
C(X) = A(a, b, c, d, e)
25
? e d c b ? ? ? ? ? ? a ?
a < b < c < d < e
C(X) = A(a, b, c, d, e)
26
? e d c b ? ? ? ? ? ? a ?
colouring C(X) of 5-subsets
there exists a large monochromatic subset M ⊆ I
the same colour C(X)
27
? e d c b ? ? ? ? ? ? a ?
is a monochromatic subset, a < b < c < d < e < f
C({b, c, d, e, f})
28
f e d c b ? ? ? ? ? ? a ?
nodes with identifiers c and d are adjacent and they produce the same output
A cannot produce a valid graph colouring!
29
f e d c b ? ? ? ? ? ? a ?
for any value of r
the argument and show that almost all nodes will produce the same output
30
f e d c b ? ? ? ? ? ? a ?
we can choose unique identifiers in an n-cycle so that A outputs an independent set with only εn nodes
31
we can choose unique identifiers in an n-cycle so that A outputs a vertex cover with at least (1 − ε)n nodes
32
33
34
35
36
a good solution
with high probability or in expectation
37
uniformly at random X(v) = ⚀, ⚁, ⚂, ⚃, ⚄, ⚅
38
⚃ ⚀ ⚁ ⚅ ⚂ ⚀ ⚁ ⚂ ⚄ ⚄ ⚂ ⚃ ⚂
uniformly at random X(v) = ⚀, ⚁, ⚂, ⚃, ⚄, ⚅
(strict) local maximum
39
⚃ ⚀ ⚁ ⚅ ⚂ ⚀ ⚁ ⚂ ⚄ ⚄ ⚂ ⚃ ⚂
uniformly at random X(v) = ⚀, ⚁, ⚂, ⚃, ⚄, ⚅
(strict) local maximum
I is an independent set
40
⚃ ⚀ ⚁ ⚅ ⚂ ⚀ ⚁ ⚂ ⚄ ⚄ ⚂ ⚃ ⚂
uniformly at random X(v) = ⚀, ⚁, ⚂, ⚃, ⚄, ⚅
(strict) local maximum
is reasonably large
41
⚃ ⚀ ⚁ ⚅ ⚂ ⚀ ⚁ ⚂ ⚄ ⚄ ⚂ ⚃ ⚂
algorithm can find a large independent set
(in expectation)
maximum independent set or maximal independent set
42
⚃ ⚀ ⚁ ⚅ ⚂ ⚀ ⚁ ⚂ ⚄ ⚄ ⚂ ⚃ ⚂
43
points in the plane
embedding
44
points in the plane
embedding
45
points in the plane
embedding
edges not too long…
46
no!
points in the plane
embedding
edges not too long, nodes not in too dense
47
no!
points in the plane
embedding
48
divide-and-conquer
in rectangular tiles
49
a constant-size subproblem
locally within each tile (in parallel for all tiles)
50
a constant-size subproblem
locally within each tile
51
that joins e.g. a blue tile and another blue tile
52
is valid inside each tile
by brute force
53
is valid inside each tile
54
algorithms:
independent sets, …
algorithms for vertex covers, dominating sets, colourings, …
55
56
in a cycle in O(1) rounds
57
58
59
13573 1029 13348 9252 3108 7491 3139 5443 3427 15683 9315 15715 7523
Initial colouring
60
13573 1029 13348 9252 3108 7491 3139 5443 3427 15683 9315 15715 7523
110001000011 11110101000011 Key idea: inspect the binary encodings
61
13573 1029 13348 9252 3108 7491 3139 5443 3427 15683 9315 15715 7523
110001000011 11110101000011 Bit number 8 differs (8, 1) 10001
62
13573 1029 13348 9252 3108 7491 3139 5443 3427 15683 9315 15715 7523
1110101000011 110001000011 11110101000011 Bit number 8 differs (8, 0) (8, 1) 10000 10001
63
13573 1029 13348 9252 3108 7491 3139 5443 3427 15683 9315 15715 7523
1110101000011 110001000011 1010101000011 11110101000011 (11, 1) Bit number 11 differs (8, 0) (8, 1) 10111 10000 10001
64
13573 1029 13348 9252 3108 7491 3139 5443 3427 15683 9315 15715 7523
17 1 25 22 23 16 3 17 16 17 25
A proper colouring!
65
17 1 25 22 23 16 3 … 17 16 17 25 17 1 25 22 23 16 3 17 16 17 25
Update colours…
66
17 1 25 22 23 16 3 … 17 16 17 25
After one round
67
9 6 1 3 5 3 … 1 1 …
After two rounds
68
1 2 1 2 3 … 1 … 1 …
After three rounds
69
(∆+1)-colouring in O(∆ + log* n) rounds
70
first try to add nodes of colour 0 (in parallel), then try to add nodes of colour 1 (in parallel), …
71
small, unique, numerical identifiers
72
73
! ! ! ! ! ! ! ! ! ! ! ! !
symmetry breaking in cycles?
74
problems can be modelled as LPs
a trivial solution is an optimal solution!
inputs are challenging…
75
! ! ! ! ! ! ! ! ! ! ! ! !
packing and covering LPs
Wattenhofer (2006)
76
! ! ! ! ! ! ! ! ! ! ! ! !
with centralised polynomial-time algorithms
1.9999-approximation efficiently
with local algorithms, it would be amazing!
77
require symmetry breaking
solution (all nodes) is 2-approximation
inputs are challenging…
78
in bounded-degree graphs
79
in bounded-degree graphs
a simpler local algorithm: 3-approximation of vertex cover
80
A simple local algorithm: 3-approximation of minimum vertex cover
81
Construct a virtual graph: two copies of each node; edges across
82
The virtual graph is 2-coloured: all edges are from white to black
83
The virtual graph is 2-coloured – therefore we can find a maximal matching!
84
White nodes send proposals to their black neighbours
85
Black nodes accept one of the proposals
86
White nodes send proposals to another black neighbour if they were rejected
87
Again, black nodes accept one proposal – unless they were already matched
88
Continue until all white nodes are matched –
89
End result: a maximal matching in the virtual graph
90
Take all original nodes that were matched – 3-approximation of minimum vertex cover!
91
that do not require symmetry breaking!
92
93
94
constant-size output
constant number of bits
95
19 30 12 5 72 4 18 34 2 68 77 15 19
dominating set, cut: 1 bit per node
edge cover: 1 bit per edge
96
encode the solution
finite-precision rational numbers
97
constant-size output
do not require symmetry-breaking
98
constant-size output
99
everyone must get 3 units of work done
100
time: 1 2 3 4 5 6 7 node 1: node 2: node 3: node 4: node 5: node 6:
a more fine-grained schedule if it helps
101
time: 1 2 3 4 5 6 7 node 1: node 2: node 3: node 4: node 5: node 6:
a more fine-grained schedule if it helps
have a constant-size description
102
a more fine-grained schedule if it helps
have a constant-size description
Just derive a bit stronger negative result?
103
a more fine-grained schedule if it helps
have a constant-size description
Just derive a bit stronger negative result?
104
fractional graph colouring, fractional domatic partition, …
actually requires unique numerical identifiers
(work in progress)
105
106
Eulerian? Connected? 3-colourable? Symmetric?
107
with deterministic local algorithms
108
that can be verified with a local algorithm
that can be verified in P
109
bipartite: just give a 2-colouring, 1 bit per node
110
bipartite: just give a 2-colouring, 1 bit per node
111
112
a lot of progress!
113