Distributed Fractional Packing and Maximum Weighted b-Matching via - - PowerPoint PPT Presentation

distributed fractional packing and maximum weighted b
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Distributed Fractional Packing and Maximum Weighted b-Matching via Tail-Recursive Duality

Christos Koufogiannakis and Neal E. Young

University of California, Riverside

slide-2
SLIDE 2

Fractional Packing

 

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.

slide-3
SLIDE 3

Maximum Weighted b-Matching

 

( ) | |

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.

slide-4
SLIDE 4

Distributed Computation

  • The problem instance is represented by a

graph where edges are packing variables and nodes are packing constraints.

  • Computation takes place in rounds.
  • In each round:
  • Each node exchanges O(1) messages

with immediate neighbors,

  • then does some computation.
  • goal: Finish in a poly-log number of rounds.
slide-5
SLIDE 5

Related 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

slide-6
SLIDE 6

Related 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

slide-7
SLIDE 7

Related 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

slide-8
SLIDE 8

Related 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

slide-9
SLIDE 9

Primal-Dual

δ-approximation algorithm

 

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

  • Compute a solution for the dual Covering Problem.
  • Use the dual solution to compute a solution for the

primal Packing Problem.

slide-10
SLIDE 10

δ-approximation for Covering

 

1 1 cost to reduce slack by 1 using the cheapest variable OPT cost to satisfy

  • 1. Let

0.

  • 2. While such that

do:

  • 3. Let

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

  • 4. Raise each (with

0) by .

  • 5. Return .

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

  

   

 

slide-11
SLIDE 11

Primal-Dual Attempt

1

  • 1. Let ,

0.

  • 2. While such that

do:

  • 3. Do a "step" to satisfy this covering constraint.
  • 4. Raise

maximally without violating any packing constraint.

  • 5. Return , .

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

  

   

 

slide-12
SLIDE 12

Primal-Dual Attempt

1

  • 1. Let ,

0.

  • 2. While such that

do:

  • 3. Do a "step" to satisfy this covering constraint.
  • 4. Raise

maximally without violating any packing constraint.

  • 5. Return , .

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

  

   

 

slide-13
SLIDE 13

Note δ = 2

slide-14
SLIDE 14

Note δ = 2

slide-15
SLIDE 15

Note δ = 2

slide-16
SLIDE 16

Note δ = 2

slide-17
SLIDE 17

Note δ = 2

slide-18
SLIDE 18

Note δ = 2

slide-19
SLIDE 19

Note δ = 2

Not 2-approximate

slide-20
SLIDE 20

Primal-Dual Algorithm

1

  • 1. Let ,

0.

  • 2. While such that

do:

  • 3. Do a "step" to satisfy this covering constraint..
  • 4. For each for which a step was done (line 2) in reverse order do:
  • 5. Raise

n ij i j i

x y j A y w j

  

maximally without violating any packing constraint.

  • 6. Return , .

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

  

   

 

slide-21
SLIDE 21

Note δ = 2

slide-22
SLIDE 22

Note δ = 2

slide-23
SLIDE 23

Note δ = 2

slide-24
SLIDE 24

Note δ = 2

slide-25
SLIDE 25

Note δ = 2

slide-26
SLIDE 26

Note δ = 2

slide-27
SLIDE 27

Note δ = 2

slide-28
SLIDE 28

Note δ = 2

slide-29
SLIDE 29

Note δ = 2

slide-30
SLIDE 30

Note δ = 2

slide-31
SLIDE 31

Note δ = 2

slide-32
SLIDE 32

Note δ = 2

slide-33
SLIDE 33

Recap of the algorithm

  • Perform steps to satisfy covering

constraints record the partial order

  • f the covering constraints for which the

algorithm performed a step.

  • Consider the corresponding packing

variables in a valid reverse order, and raising them maximally.

slide-34
SLIDE 34

Partial order

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

  • ne valid reverse orders. Any one of them works!
slide-35
SLIDE 35

Max Weighted b-matching

  • Raise xj maximally
  • If and then

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

  

   

 

slide-36
SLIDE 36

Distributed Computation

  • Compute solution for the covering problem

[KY 2009].

  • Start computing solution for the packing

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

slide-37
SLIDE 37
  • Distributed covering:

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

slide-38
SLIDE 38
  • Distributed covering:

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

slide-39
SLIDE 39

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 

  • Distributed covering:

1. Create stars, where the roots have weight greater than

  • r equal to the weight of leaves.

2. Roots perform steps to cover edges to leafs that selected them.

slide-40
SLIDE 40

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 

  • Distributed covering:

1. Create stars, where the roots have weight greater than

  • r equal to the weight of leaves.

2. Roots perform steps to cover edges to leafs that selected them.

slide-41
SLIDE 41
  • Distributed covering:

1. Create stars, where the roots have weight greater than

  • r equal to the weight of leaves.

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 

slide-42
SLIDE 42
  • Distributed packing:

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

slide-43
SLIDE 43
  • Distributed packing:

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 

slide-44
SLIDE 44
  • Distributed packing:

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

slide-45
SLIDE 45
  • Distributed packing:

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

slide-46
SLIDE 46

Analysis

  • Guaranteed to return a 2-approximate

solution, since it implements the sequential algorithm.

  • What about running time?
  • Goal: Show O(log n) rounds (w.h.p.).
slide-47
SLIDE 47

Analysis of number of rounds

  • lemma: If the distributed covering algorithm finishes in T

rounds, then the distributed packing algorithm finishes in at most 2T rounds.

  • proof: (next)

corollary: Since T = O(log n), the distributed packing algorithm

finishes in O(log n) rounds.

slide-48
SLIDE 48

Analysis of number of rounds

  • Edges covered at the same round by the same root node

can all set their packing variables in a single round as long as neither of them is waiting for any adjacent edge.

  • Edges covered at round T (last round of covering algorithm)

can immediately raise their packing variables (at round T).

  • Then, edges covered at round T-1, can set their packing

variables in round T+1.

  • Edges covered at round T-t, can set their packing variables

at round T+t…

  • Using induction on t = 1,2,.., at most T more rounds are

necessary to construct the packing solution.

slide-49
SLIDE 49

Open problems

  • (1+ε)-approximation in Oε(log n)

rounds?

  • Deterministic algorithm?
slide-50
SLIDE 50

thank you