Distributed Fractional Packing and Maximum Weighted b-Matching via Tail-Recursive Duality
Christos Koufogiannakis and Neal E. Young
University of California, Riverside
Distributed Fractional Packing and Maximum Weighted b-Matching via - - PowerPoint PPT Presentation
Distributed Fractional Packing and Maximum Weighted b-Matching via Tail-Recursive Duality Christos Koufogiannakis and Neal E. Young University of California, Riverside Fractional Packing m max w x j j 1 j m
Christos Koufogiannakis and Neal E. Young
University of California, Riverside
1 1
max subject to: 1
m j j j m ij j i j m
w x A x b i n x
Let δ be the maximum number of constraints in which a variable appears.
( ) | |
max subject to:
e e e E e u e E u E
w x x b u V x
Let δ be the maximum number of constraints in which a variable appears, so δ is the hyperedge degree (δ=2 for graphs). Hypergraph with edge weights w, vertex capacities b.
graph where edges are packing variables and nodes are packing constraints.
with immediate neighbors,
Problem Approx. ratio Running time Where Max Weighted Matching on Graphs 2+ε O(log(ε-1) log n) Lotker et al. 2008 1+ε O(ε-4 log2 n) Lotker et al. 2008 1+ε O(ε-2 +ε-1 log(ε-1n) log n) Nieberg 2008 2 O(log2 n) (ε =1) 2 O(log n) This work
Problem Approx. ratio Running time Where Max Weighted Matching on Graphs 2+ε O(log(ε-1) log n) Lotker et al. 2008 1+ε O(ε-4 log2 n) Lotker et al. 2008 1+ε O(ε-2 +ε-1 log(ε-1n) log n) Nieberg 2008 2 O(log2 n) (ε =1) 2 O(log n) This work Max Weighted Matching on Hypergraphs O(δ) (>δ) O(log m) Kuhn et al. 2006 δ O(log2 m) This work
Problem Approx. ratio Running time Where Max Weighted Matching on Graphs 2+ε O(log(ε-1) log n) Lotker et al. 2008 1+ε O(ε-4 log2 n) Lotker et al. 2008 1+ε O(ε-2 +ε-1 log(ε-1n) log n) Nieberg 2008 2 O(log2 n) (ε =1) 2 O(log n) This work Max Weighted Matching on Hypergraphs O(δ) (>δ) O(log m) Kuhn et al. 2006 δ O(log2 m) This work Fractional Packing
δ = 2
O(1) (>2) O(log m) Kuhn et al. 2006 2 O(log m) This work
Problem Approx. ratio Running time Where Max Weighted Matching on Graphs 2+ε O(log(ε-1) log n) Lotker et al. 2008 1+ε O(ε-4 log2 n) Lotker et al. 2008 1+ε O(ε-2 +ε-1 log(ε-1n) log n) Nieberg 2008 2 O(log2 n) (ε =1) 2 O(log n) This work Max Weighted Matching on Hypergraphs O(δ) (>δ) O(log m) Kuhn et al. 2006 δ O(log2 m) This work Fractional Packing
δ = 2
O(1) (>2) O(log m) Kuhn et al. 2006 2 O(log m) This work Fractional Packing general δ O(1) >12 O(log m) Kuhn et al. 2006 δ O(log2 m) This work
1 1
max subject to: 1
m j j j m ij j i j m
w x A x b i n x
1 1
min subject to: 1
n i i i n ij i j i n
b y A y w j m y
Packing Covering
primal Packing Problem.
1 1 cost to reduce slack by 1 using the cheapest variable OPT cost to satisfy
0.
do:
min /
n ij i j i n j ij i i i ij i slack
y j A y w w A y b A
the constraint given the current solution y
0) by .
i ij i
y A b y
1 1
min subject to: 1
n i i i n ij i j i n
b y A y w j m y
1
0.
do:
maximally without violating any packing constraint.
n ij i j i j
x y j A y w x x y
1 1
min subject to: 1
n i i i n ij i j i n
b y A y w j m y
1 1
max subject to: 1
m j j j m ij j i j m
w x A x b i n x
1
0.
do:
maximally without violating any packing constraint.
n ij i j i j
x y j A y w x x y
1 1
min subject to: 1
n i i i n ij i j i n
b y A y w j m y
1 1
max subject to: 1
m j j j m ij j i j m
w x A x b i n x
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
1
0.
do:
n ij i j i
x y j A y w j
maximally without violating any packing constraint.
j
x x y
1 1
min subject to: 1
n i i i n ij i j i n
b y A y w j m y
1 1
max subject to: 1
m j j j m ij j i j m
w x A x b i n x
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
Note δ = 2
constraints record the partial order
algorithm performed a step.
variables in a valid reverse order, and raising them maximally.
The order in which steps to satisfy covering constraints does not matter for covering constraints that do no share a variable. Since the order is partial, there might be more than
1
min
m j i i ij j j
x b A x
0 /1
ij
A
i
b
j
x
( ) | |
max subject to:
e e e E e u e E u E
w x x b u V x
[KY 2009].
(matching) problem as soon as possible.
(an edge can compute its packing variable as long as all of its adjacent edges are covered and they are not waiting for their adjacent edges)
2 2 3 4 6 3 2 1 1 5 1 3 3 17 5 1 1 20 10 4 11 2 13 7 5 7 6 4 10 9
1. Create stars, where the roots have weight greater than or equal to the weight of leaves.
4 11 2 7 6 10 9 5 5 6 1 1 1 2 3 4 3
4 11 2 7 6 10 9 5 5 6 1 1 1 2 3 4 3
1
10 y
2
4 y
round 1, step 1
4
6 y
6
11 y
7
11 5 y
5
3 y
1. Create stars, where the roots have weight greater than
2. Roots perform steps to cover edges to leafs that selected them.
4 11 2 7 6 10 9 5 5 6 1 1 1 2 3 4 3
1
10 y
2
4 y
round 1, step 2
4
6 y
6
11 y
7
11 5 y
5
7 y
8
y
9
y
10
6 y
1. Create stars, where the roots have weight greater than
2. Roots perform steps to cover edges to leafs that selected them.
1. Create stars, where the roots have weight greater than
2. Roots perform steps to cover edges to leafs that selected them.
4 11 2 7 6 10 9 5 5 6 1 1 1 2 3 4 3
1
10 y
2
4 y
round 1, step 3
4
6 y
6
11 y
7
11 5 y
5
7 y
8
y
9
y
10
6 y
11
y
1. For each edge record “when” a covering step was performed.
no step round 1, step 1 no step no step round 1, step 1 round 1, step 1 round 1, step 2 5 5 6 1 1 1 2 3 4 3
1. For each edge record “when” a covering step was performed. 2. If an edge is covered but no step was performed for it, set its packing variable to 0.
no step round 1, step 1 no step no step round 1, step 1 round 1, step 1 round 1, step 2 5 5 6 1 1 1 2 3 4 3
3
x
1
x
2
x
1. For each edge record “when” a covering step was performed. 2. If an edge is covered but no step was performed for it, set its packing variable to 0. 3. If edge e and all of its adjacent edges are covered: a) wait until all adjacent edges that were covered later have set their packing variables. b) raise xe maximally w/out violating any constraint.
round 4, step 3 no step no step round 4, step 5 round 8, step 3 no step round 5, step 3 round 2, step 1
1. For each edge record “when” a covering step was performed. 2. If an edge is covered but no step was performed for it, set its packing variable to 0. 3. If edge e and all of its adjacent edges are covered: a) wait until all adjacent edges that were covered later have set their packing variables. b) raise xe maximally w/out violating any constraint. round 4, step 3
no step no step round 4, step 5 round 8, step 3 no step round 5, step 3 round 2, step 1
Done? Done? Done? Edge under consideration
solution, since it implements the sequential algorithm.
rounds, then the distributed packing algorithm finishes in at most 2T rounds.
corollary: Since T = O(log n), the distributed packing algorithm
finishes in O(log n) rounds.
can all set their packing variables in a single round as long as neither of them is waiting for any adjacent edge.
can immediately raise their packing variables (at round T).
variables in round T+1.
at round T+t…
necessary to construct the packing solution.
rounds?