Bounded Degree Spanning Tree using Iterative Relaxation Barna Saha - - PowerPoint PPT Presentation

bounded degree spanning tree using iterative relaxation
SMART_READER_LITE
LIVE PREVIEW

Bounded Degree Spanning Tree using Iterative Relaxation Barna Saha - - PowerPoint PPT Presentation

Bounded Degree Spanning Tree using Iterative Relaxation Barna Saha March 11, 2015 Bounded Degree Spanning Tree Iterative Minimum Spanning Tree Algorithm Iterative Algorithm for Degree Bounded Spanning Tree Primal Dual Methods for Algorithm


slide-1
SLIDE 1

Bounded Degree Spanning Tree using Iterative Relaxation

Barna Saha March 11, 2015

slide-2
SLIDE 2

Bounded Degree Spanning Tree Iterative Minimum Spanning Tree Algorithm Iterative Algorithm for Degree Bounded Spanning Tree Primal Dual Methods for Algorithm Design

slide-3
SLIDE 3

Problem Definition

Problem

We are given an undirected graph G = (V , E) with a degree upper bound Bv on each vertex v, and cost on edges c : E → R+. The task is to find a minimum cost spanning tree which satisfies all the degree bounds.

◮ The problem is NP-hard. Since, if every node has degree

upper bound 2, and we can solve it exactly then we know whether the graph G has a hamiltonian path or not.

◮ We will show an algorithm which returns a spanning tree T of

cost at most OPT where dT(v) ≤ Bv + 1 for all v, where dT(v) denotes the degree of v in T.

slide-4
SLIDE 4

Spanning Tree Polytope with Degree Bounds

◮ Given a subset S ⊆ V , we use E(S) to denote all edges with

two end points in S.

◮ We use δ(S) to denote all edges with exactly one end point in

S Here is the natural LP relaxation. minimize c(x) =

  • e∈E

cexe (1) subject to x(E(V )) = |V | − 1 (2) x(E(S)) ≤ |S| − 1 ∀S ⊂ V (3) x(δ(v)) ≤ Bv ∀v ∈ V (4) xe ≥ 0 ∀e ∈ E (5) We can solve this LP using ellipsoid method, as there exists a polynomial time separation oracle (Read chapter 11.2 of Shmoys and Williamson)

slide-5
SLIDE 5

Spanning Tree Polytope

minimize c(x) =

  • e∈E

cexe (LP-MST) subject to x(E(V )) = |V | − 1 (6) x(E(S)) ≤ |S| − 1 ∀S ⊂ V (7) xe ≥ 0 ∀e ∈ E (8) We will first show an iterative procedure to obtain a minimum spanning tree of G.

slide-6
SLIDE 6

Iterative Minimum Spanning Tree Algorithm

◮ Initialization F ← φ ◮ While V (G) = φ do

◮ Find a basic optimal solution x∗ of LP-MST(G) and remove

every edge e with x∗

e = 0 from G.

◮ Find a vertex v with at most one edge e = uv incident at it,

and update F → F ∪ {e}, G → G \ {v}.

◮ Return F

slide-7
SLIDE 7

Proof: Step 1

Lemma

If the Iterative MST Algorithm terminates then the algorithm returns an optimal solution.

Proof.

If the algorithm finds a degree 1 vertex v, then x(δ(v)) ≥ 1. Hence if edge e = (u, v) incident on v, x∗

e = 1.

x(E(S)) = |V | − 1, x(E(S \ v)) ≤ |V | − 1 − 1 = |V | − 2. x(δ(v)) = x(E(S)) − x(E(S \ v)) ≥ 1

◮ Given any spanning tree T ′ of G ′ = G \ {v}, T ′ ∪ {e} is a

spanning tree of G.

◮ Solve the problem recursively on G ′.

slide-8
SLIDE 8

Proof: Step 1

Lemma

If the Iterative MST Algorithm terminates then the algorithm returns an optimal solution.

◮ Solve the problem recursively on G ′.

◮ Restriction of x∗ to G ′ (denoted x∗

res) is a feasible solution for

LP-MST(G ′).

◮ Inductively, we have an optimal solution F ′ for G ′. ◮ Hence, if F is the final solution, F = F ′ ∪ e.

c(F) = c(F ′) + ce ≤ c(x∗

res) + ce = c(x∗)

slide-9
SLIDE 9

Proof: Step 2

Lemma

For any basic solution x∗ of LP-MST(G) with support E ∗ = {e | x∗

e > 0}, there exists a vertex v with degE ∗(v) = 1 ◮ Proof Sketch

◮ Show there are at most |V | − 1 linearly independent tight

constraints.

◮ By definition of basic solution, this implies there are at most

|V | − 1 edges with fractional values.

◮ This implies there exists one vertex with degree 1.

slide-10
SLIDE 10

Proof: Step 2

Lemma

For any basic solution x∗ of LP-MST(G) with support E ∗ = {e | x∗

e > 0}, there exists a vertex v with degE ∗(v) = 1 ◮ Proof Sketch

◮ Show there are at most |V | − 1 linearly independent tight

constraints.

◮ By definition of basic solution, this implies there are at most

|V | − 1 edges with fractional values.

◮ This implies there exists one vertex with degree 1.

slide-11
SLIDE 11

Proof: Step 2: Notations

◮ Let F = {S | x∗(E(S)) = |S| − 1} be the set of tight

constraints.

◮ For a set S ⊆ V , the corresponding constraint

x∗(E(S)) ≤ |S| − 1 defines a vector in R|E|: the vector has a 1 corresponding to each edge e ∈ E(S), and 0 otherwise.

◮ characteristic vector of E(S): denoted XE(S)

slide-12
SLIDE 12

Proof: Step 2: Notations

◮ Let F = {S | x∗(E(S)) = |S| − 1} be the set of tight

constraints.

◮ For a set S ⊆ V , the corresponding constraint

x∗(E(S)) ≤ |S| − 1 defines a vector in R|E|: the vector has a 1 corresponding to each edge e ∈ E(S), and 0 otherwise.

◮ characteristic vector of E(S): denoted XE(S)

◮ span(F): vector space generated by linear combination of

vectors {XE(S) | S ∈ F}

slide-13
SLIDE 13

Proof: Step 2: Notations

◮ Let F = {S | x∗(E(S)) = |S| − 1} be the set of tight

constraints.

◮ For a set S ⊆ V , the corresponding constraint

x∗(E(S)) ≤ |S| − 1 defines a vector in R|E|: the vector has a 1 corresponding to each edge e ∈ E(S), and 0 otherwise.

◮ characteristic vector of E(S): denoted XE(S)

◮ span(F): vector space generated by linear combination of

vectors {XE(S) | S ∈ F}

◮ Two sets X and Y are intersecting, if X ∩ Y , X − Y , Y − X

are nonempty. A family of sets is laminar if no two sets are intersecting.

slide-14
SLIDE 14

Proof: Step 2: Notations

◮ Let F = {S | x∗(E(S)) = |S| − 1} be the set of tight

constraints.

◮ For a set S ⊆ V , the corresponding constraint

x∗(E(S)) ≤ |S| − 1 defines a vector in R|E|: the vector has a 1 corresponding to each edge e ∈ E(S), and 0 otherwise.

◮ characteristic vector of E(S): denoted XE(S)

◮ span(F): vector space generated by linear combination of

vectors {XE(S) | S ∈ F}

◮ Two sets X and Y are intersecting, if X ∩ Y , X − Y , Y − X

are nonempty. A family of sets is laminar if no two sets are intersecting.

◮ We can obtain a laminar family L ⊆ F such that

span(L) = span(F).

slide-15
SLIDE 15

Proof: Step 2

◮ Show there are at most |V | − 1 linearly independent

tight constraints.

◮ Show |L| ≤ |V | − 1 where each S ∈ L has cardinality at least

2.

◮ Show by induction. There are |V | ground elements. The size

  • f a laminar family each having cardinality at least 2 is

bounded by |V | − 1.

slide-16
SLIDE 16

Proof: Step 2

Show a laminar family L exists with span(L) = span(F).

slide-17
SLIDE 17

Lemma

If S, T ∈ F and S ∩ T = φ, then both S ∩ T and S ∪ T are in F. Furthermore, XE(S) + XE(T) = XE(S∩T) + XE(S∪T).

◮ Implies the 4 constraints corresponding to S, T, S ∪ T, S ∩ T

are not all tight and linearly independent.

◮ We do not need to consider (say) T. ◮ We therefore have three laminar constraints.

slide-18
SLIDE 18

Proof: Step 2

Lemma

If S, T ∈ F and S ∩ T = φ, then both S ∩ T and S ∪ T are in F. Furthermore, XE(S) + XE(T) = XE(S∩T) + XE(S∪T).

Proof.

As S ∩ T = φ, we have: |S| − 1 + |T| − 1 =|S ∩ T| − 1 + |S ∪ T| − 1 (|S| + |T| − |S ∩ T| = |S ∪ T|) ≥x∗(E(S ∩ T)) + x∗(E(S ∪ T)) ( x∗(E(S)) ≤ |S| − 1 for all S ⊂ V ) ≥x∗(E(S)) + x∗(E(T)) (not counting edges that go from S to T) =|S| − 1 + |T| − 1 used x∗(E(S)) = |S| − 1, x∗(E(T)) = |T| − 1 All inequalities must be equalities.

slide-19
SLIDE 19

Proof: Step 2

Lemma

If S, T ∈ F and S ∩ T = φ, then both S ∩ T and S ∪ T are in F. Furthermore, XE(S) + XE(T) = XE(S∩T) + XE(S∪T).

Proof.

As S ∩ T = φ, we have: |S| − 1 + |T| − 1 =|S ∩ T| − 1 + |S ∪ T| − 1 (|S| + |T| − |S ∩ T| = |S ∪ T|) ≥x∗(E(S ∩ T)) + x∗(E(S ∪ T)) ( x∗(E(S)) ≤ |S| − 1 for all S ⊂ V ) ≥x∗(E(S)) + x∗(E(T)) (not counting edges that go from S to T) =|S| − 1 + |T| − 1 used x∗(E(S)) = |S| − 1, x∗(E(T)) = |T| − 1 Constraints for S ∪ T and S ∩ T are also tight. x∗(E(S ∪ T)) = |S ∪ T| − 1, and x∗(E(S ∩ T)) = |S ∩ T| − 1

slide-20
SLIDE 20

Proof: Step 2

Lemma

If S, T ∈ F and S ∩ T = φ, then both S ∩ T and S ∪ T are in F. Furthermore, XE(S) + XE(T) = XE(S∩T) + XE(S∪T).

Proof.

As S ∩ T = φ, we have: |S| − 1 + |T| − 1 =|S ∩ T| − 1 + |S ∪ T| − 1 (|S| + |T| − |S ∩ T| = |S ∪ T|) ≥x∗(E(S ∩ T)) + x∗(E(S ∪ T)) ( x∗(E(S)) ≤ |S| − 1 for all S ⊂ V ) ≥x∗(E(S)) + x∗(E(T)) (not counting edges that go from S to T) =|S| − 1 + |T| − 1 used x∗(E(S)) = |S| − 1, x∗(E(T)) = |T| − 1 No edge from S to T. Hence XE(S) + XE(T) = XE(S∩T) + XE(S∪T).

slide-21
SLIDE 21

Proof: Step 2

Lemma

If L is a maximal laminar subfamily of F, then span(L) = span(F)

Proof.

◮ Suppose S ∈ F but XE(S) /

∈ span(L). Choose one such S that intersects as few sets of L as possible.

◮ Let S ∩ T = φ and T ∈ L ◮ We have S ∩ T and S ∪ T are in F , but both of them are

not in L, otherwise S will be in span(F).

◮ Both S ∪ T and S ∩ T intersects fewer sets in L than

S–contradiction.

slide-22
SLIDE 22

Iterative Algorithm for Degree Bounded Spanning Tree

In the following we assume degree bounds are only given for vertices in W . minimize c(x) =

  • e∈E

cexe (LP-MBDST) subject to x(E(V )) = |V | − 1 (Type-1) x(E(S)) ≤ |S| − 1 ∀S ⊂ V (Type-2) x(δ(v)) ≤ Bv ∀v ∈ W (Type-Degree) xe ≥ 0 ∀e ∈ E (9) Initially W = V

slide-23
SLIDE 23

Iterative Algorithm for Degree Bounded Spanning Tree

In the following we assume degree bounds are only given for vertices in W .

◮ Initialization F ← φ ◮ While V (G) = φ do

◮ Find a basic optimal solution x∗ of LP-MBDST(G, B, W ), and

remove every edge e with x∗

e = 0 from G. Let the support of

x∗ be E ∗.

◮ If there exists a vertex v ∈ V , such that there us at most one

edge e = (u, v) incident at v in E ∗, then update F ← F ∪ {e}, G ← G \ {v}, W ← W \ {v}, and also update B by setting Bu \ Bu − 1.

◮ If there exists a vertex v ∈ W such that degE ∗(v) ≤ 3 then

update W ← W \ {v}.

◮ Return F

slide-24
SLIDE 24

Iterative Algorithm for Degree Bounded Spanning Tree

Proof Ideas

◮ Show the number of linearly independent tight constraint is at

most |L| + |W | where L is a maximal laminar family of tight constraints of Type-1.

slide-25
SLIDE 25

Iterative Algorithm for Degree Bounded Spanning Tree

Proof Ideas

◮ Show the number of linearly independent tight constraint is at

most |L| + |W | where L is a maximal laminar family of tight constraints of Type-1.

◮ Argue |L| + |W | ≤ |V | + |W | − 1.

slide-26
SLIDE 26

Iterative Algorithm for Degree Bounded Spanning Tree

Proof Ideas

◮ Show the number of linearly independent tight constraint is at

most |L| + |W | where L is a maximal laminar family of tight constraints of Type-1.

◮ Argue |L| + |W | ≤ |V | + |W | − 1. ◮ If all vertices have degree at least 4 in W and 2 in V − W

then total degree ≥ 2(|V − W |) + 4|W | = 2(|V | + |W |). Hence, number of nonzero variables is at least |V | + |W |.

slide-27
SLIDE 27

Iterative Algorithm for Degree Bounded Spanning Tree

Proof Ideas

◮ Show the number of linearly independent tight constraint is at

most |L| + |W | where L is a maximal laminar family of tight constraints of Type-1.

◮ Argue |L| + |W | ≤ |V | + |W | − 1. ◮ If all vertices have degree at least 4 in W and 2 in V − W

then total degree ≥ 2(|V − W |) + 4|W | = 2(|V | + |W |). Hence, number of nonzero variables is at least |V | + |W |.

◮ CONTRADICTION.

slide-28
SLIDE 28

Iterative Algorithm for Degree Bounded Spanning Tree

Proof Ideas

◮ Show the number of linearly independent tight constraint is at

most |L| + |W | where L is a maximal laminar family of tight constraints of Type-1.

◮ Argue |L| + |W | ≤ |V | + |W | − 1. ◮ If all vertices have degree at least 4 in W and 2 in V − W

then total degree ≥ 2(|V − W |) + 4|W | = 2(|V | + |W |). Hence, number of nonzero variables is at least |V | + |W |.

◮ CONTRADICTION. ◮ Hence, we either have a leaf vertex, or a Type-Degree

constraint to drop.

slide-29
SLIDE 29

Recap

◮ Deterministic LP Rounding ( Vertex Cover, Set Cover ) ◮ Independent Randomized Rounding (Set Cover) ◮ Dependent Rounding using Basic Solution (Unrelated Parallel

Machine Scheduling)

◮ Iterative Relaxation (Matching, Spanning Tree, Unrelated

Parallel Machine Scheduling, Degree Bounded Spanning Tree)

slide-30
SLIDE 30

Techniques

◮ Deterministic LP Rounding ( Vertex Cover, Set Cover ) ◮ Independent Randomized Rounding (Set Cover) ◮ Dependent Rounding using Basic Solution (Unrelated Parallel

Machine Scheduling)

◮ Iterative Relaxation (Matching, Spanning Tree, Unrelated

Parallel Machine Scheduling, Degree Bounded Spanning Tree)

◮ Primal Dual Method

slide-31
SLIDE 31

Primal Dual Methods

Primal Dual Methods for Approximation Algorithm

slide-32
SLIDE 32

LP-Duality

We want to achieve a lower bound on the LP objective value. minimize 6x1 + 4x2 + 2x3 subject to 4x1 + 2x2 + x3 ≥ 5, x1 + x2 ≥ 3, x2 + x3 ≥ 4, x1, x2, x3 ≥ 0 Define a variable for each constraint.

slide-33
SLIDE 33

LP-Duality

We want to achieve a lower bound on the LP objective value. minimize 6x1 + 4x2 + 2x3 subject to 4x1 + 2x2 + x3 ≥ 5, y1 x1 + x2 ≥ 3, y2 x2 + x3 ≥ 4, y3 x1, x2, x3 ≥ 0 Set y1, y2, y3 >= 0. Then it must hold that y1(4x1 + 2x2 + x3) + y2(x1 + x2) + y3(x2 + x3) ≥ 5y1 + 3y2 + 4y3

slide-34
SLIDE 34

LP-Duality

We want to achieve a lower bound on the LP objective value. minimize 6x1 + 4x2 + 2x3 subject to 4x1 + 2x2 + x3 ≥ 5, y1 x1 + x2 ≥ 3, y2 x2 + x3 ≥ 4, y3 x1, x2, x3 ≥ 0

◮ Set y1, y2, y3 >= 0. Then it must hold that

y1(4x1 +2x2 +x3)+y2(x1 +x2)+y3(x2 +x3) ≥ 5y1 +3y2 +4y3

◮ 5y1 + 3y2 + 4y3 will serve as a lower bound for LP objective

value if 6x1 +4x2 +2x3 ≥ y1(4x1 +2x2 +x3)+y2(x1 +x2)+y3(x2 +x3)

◮ Rearranging

6x1 +4x2 +2x3 ≥ x1(4y1 +y2)+x2(2y1 +y2 +y3)+x3(y1 +y3)

slide-35
SLIDE 35

LP-Duality

We want to achieve a lower bound on the LP objective value. minimize 6x1 + 4x2 + 2x3 subject to 4x1 + 2x2 + x3 ≥ 5, y1 x1 + x2 ≥ 3, y2 x2 + x3 ≥ 4, y3 x1, x2, x3 ≥ 0

◮ 5y1 + 3y2 + 4y3 will serve as a lower bound for LP objective

value if 6x1 +4x2 +2x3 ≥ x1(4y1 +y2)+x2(2y1 +y2 +y3)+x3(y1 +y3) y1, y2, y3 >= 0

◮ 4y1 + y2 ≤ 6, 2y1 + y2 + y3 ≤ 4, y1 + y3 ≤ 2

slide-36
SLIDE 36

LP-Duality

We want to achieve a lower bound on the LP objective value. minimize 6x1 + 4x2 + 2x3 subject to 4x1 + 2x2 + x3 ≥ 5, y1 x1 + x2 ≥ 3, y2 x2 + x3 ≥ 4, y3 x1, x2, x3 ≥ 0

◮ 5y1 + 3y2 + 4y3 will serve as a lower bound for LP objective

value if 4y1 + y2 ≤ 6, 2y1 + y2 + y3 ≤ 4, y1 + y3 ≤ 2 y1, y2, y3 >= 0

◮ We want as high a lower bound as possible.

slide-37
SLIDE 37

LP-Duality

We want to achieve a lower bound on the LP objective value. Primal :minimize 6x1 + 4x2 + 2x3 subject to 4x1 + 2x2 + x3 ≥ 5, x1 + x2 ≥ 3, x2 + x3 ≥ 4, x1, x2, x3 ≥ 0 Dual :maximize 5y1 + 3y2 + 4y3 subject to 4y1 + y2 ≤ 6, 2y1 + y2 + y3 ≤ 4, y1 + y3 ≤ 2 y1, y2, y3 >= 0

slide-38
SLIDE 38

LP-Duality

Primal :minimize

n

  • j=1

cjxj (P) subject to

n

  • j=1

aijxj ≥ bi, i = 1, 2, .., m xj ≥ 0, j = 1, 2, ..., n Dual :maximize

m

  • i=1

biyi (D) subject to

m

  • i=1

aijyi ≤ cj, j = 1, 2, .., n yi ≥ 0, i = 1, 2, .., m

slide-39
SLIDE 39

LP-Duality

Theorem (Weak Duality)

If x is a feasible solution to the LP (P), and y a feasible solution to the LP (D), then n

j=1 cjxj ≥ m i=1 biyi.

Theorem (Strong Duality)

If the LPs (P) and (D) are feasible, then for any optimal solution x∗ to (P) and any optimal solution y∗ to (D) n

j=1 cjx∗ j = m i=1 biy∗ i

Theorem (Complementary Slackness)

Let ¯ x and ¯ y be feasible solutions to the LPs (P) and (D),

  • respectively. Then ¯

x and ¯ y obey the complementary slackness conditions if and only if they are optimal solutions to their respective LPs.

slide-40
SLIDE 40

LP-Duality: Complementary Slackness Condition

◮ Let ¯

x, ¯ y be feasible solutions to (P) and (D) respectively.

◮ ¯

x and ¯ y obey the complementary slackness conditions

◮ if m

i=1 ai,j ¯

yi = cj for each j such that ¯ xj > 0

◮ if n

j=1 ai,j ¯

xj = bi for each i such that ¯ yi > 0

◮ In other words, whenever a primal variable is nonzero, the

corresponding dual constraint is tight. Whenever a dual variable is nonzero, the corresponding primal constraint is tight.

slide-41
SLIDE 41

The First Primal Dual Algorithm: f -approximation for Set Cover

Primal :minimize

  • S∈S

cSxS (P) subject to

n

  • S:e∈S

xS ≥ 1, ∀e ∈ U xS ≥ 0, ∀S ∈ S

slide-42
SLIDE 42

The First Primal Dual Algorithm: f -approximation for Set Cover

Primal :minimize

  • S∈S

cSxS (P) subject to

n

  • S:e∈S

xS ≥ 1, ∀e ∈ U Dual variable: ye xS ≥ 0, ∀S ∈ S Dual :maximize

  • e∈U

ye subject to

  • e:e∈S

ye ≤ cS ∀S ∈ S (Type-D) ye ≥ 0, ∀e ∈ U

slide-43
SLIDE 43

The First Primal Dual Algorithm: f -approximation for Set Cover

◮ Initialize Y = U, F ← φ ◮ While U is not empty

◮ Set ye = 0 for all e ∈ U start with a feasible dual solution ◮ Start raising all variables ye such that e ∈ U until a new

Type-D constraint

e:e∈S ye ≤ cS becomes tight (met with

equality)

◮ Include S in F, remove all e ∈ S from U

slide-44
SLIDE 44

The First Primal Dual Algorithm: f -approximation for Set Cover

◮ Initialize Y = U, F ← φ ◮ While U is not empty

◮ Set ye = 0 for all e ∈ U start with a feasible dual solution ◮ Start raising all variables ye such that e ∈ U until a new

Type-D constraint

e:e∈S ye ≤ cS becomes tight (met with

equality)

◮ Include S in F, remove all e ∈ S from U

Claim

F is a set cover.

Proof.

We discard an element e from U only when we include S in F and S covers e.

Claim

Final solution ¯ y is a feasible dual solution.

slide-45
SLIDE 45

The First Primal Dual Algorithm: f -approximation for Set Cover

◮ Initialize Y = U, F ← φ ◮ While U is not empty

◮ Set ye = 0 for all e ∈ U start with a feasible dual solution ◮ Start raising all variables ye such that e ∈ U until a new

Type-D constraint

e:e∈S ye ≤ cS becomes tight (met with

equality)

◮ Include S in F, remove all e ∈ S from U

c(F) =

  • S∈F

c(S) =

  • S∈F
  • e:e∈S

ye =

  • e∈U
  • S∈F:e∈S

ye ≤ f

  • e∈U

ye ≤ f

  • e∈U

y∗

e = f ∗ OPT