covering graphs using trees and stars./aladdin/workshops/integrated... · k-tree cover: set of...

64
Covering Graphs using Trees and Stars G. Even N. Garg J. Könemann R. Ravi A. Sinha . – p.1

Upload: others

Post on 11-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Covering Graphs using Treesand Stars

G. Even N. Garg J. Könemann R. Ravi A. Sinha

. – p.1

Page 2: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Motivation: Nurse station location

• Hospital;k nurses (each with her own station);n patients in various beds.

• At 8 am, each nurse begins her “morning round” ofpatients under her care.

• Morning round ends when all nurses have returned totheir bases.

• Objective: Assign patients to nurses so that morningrounds end ASAP.

. – p.2

Page 3: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Motivation: Nurse station location

• Hospital;k nurses (each with her own station);n patients in various beds.

• At 8 am, each nurse begins her “morning round” ofpatients under her care.

• Morning round ends when all nurses have returned totheir bases.

• Objective: Assign patients to nurses so that morningrounds end ASAP.

. – p.2

Page 4: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Motivation: Nurse station location

• Hospital;k nurses (each with her own station);n patients in various beds.

• At 8 am, each nurse begins her “morning round” ofpatients under her care.

• Morning round ends when all nurses have returned totheir bases.

• Objective: Assign patients to nurses so that morningrounds end ASAP.

. – p.2

Page 5: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Motivation: Nurse station location

• Hospital;k nurses (each with her own station);n patients in various beds.

• At 8 am, each nurse begins her “morning round” ofpatients under her care.

• Morning round ends when all nurses have returned totheir bases.

• Objective: Assign patients to nurses so that morningrounds end ASAP.

. – p.2

Page 6: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

INPUT

. – p.3

Page 7: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

INPUT

. – p.3

Page 8: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

FEASIBLE SOLUTION

. – p.3

Page 9: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

FEASIBLE SOLUTION

. – p.3

Page 10: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

INPUT

Roots

. – p.3

Page 11: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

INPUT

Roots

. – p.3

Page 12: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Problem definition

• Input: Graph G = (V,E), edgeweights w, integer k.

• k-Tree cover: Set of trees{T1, T2, . . . , Tk} such that∪k

i=1V (Ti) = V .

• Objective: Minimize maxi w(Ti).

• Rooted version: Given rootsR ⊂ V , find a k-Tree cover witheach tree using a distinct rootin R.

• Star cover: Cover with stars,same objective; may be rootedor unrooted.

INPUT

Roots

. – p.3

Page 13: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Applications and literature

• Covering with trees “equivalent” to covering with tours.

. – p.4

Page 14: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Applications and literature

• Covering with trees “equivalent” to covering with tours.

• k-Traveling Repairman: Cover with tours, minimizeaverage latency. [Fakcharoenphol, Harrelson, Rao2003]

. – p.4

Page 15: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Applications and literature

• Covering with trees “equivalent” to covering with tours.

• k-Traveling Repairman: Cover with tours, minimizeaverage latency. [Fakcharoenphol, Harrelson, Rao2003]

• k-Traveling Salesman: Cover with tours, minimize totallength. [Haimovich, Rinooy Kan, Stougie 1988]

. – p.4

Page 16: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Applications and literature

• Covering with trees “equivalent” to covering with tours.

• k-Traveling Repairman: Cover with tours, minimizeaverage latency. [Fakcharoenphol, Harrelson, Rao2003]

• k-Traveling Salesman: Cover with tours, minimize totallength. [Haimovich, Rinooy Kan, Stougie 1988]

• Vehicle Routing: Vast amount of work, e.g. Survey[Toth, Vigo, 2002]

. – p.4

Page 17: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Applications and literature

• Covering with trees “equivalent” to covering with tours.

• k-Traveling Repairman: Cover with tours, minimizeaverage latency. [Fakcharoenphol, Harrelson, Rao2003]

• k-Traveling Salesman: Cover with tours, minimize totallength. [Haimovich, Rinooy Kan, Stougie 1988]

• Vehicle Routing: Vast amount of work, e.g. Survey[Toth, Vigo, 2002]

• Clustering is like covering with stars: Minimizemaximum edge - k center [Dyer, Frieze, 1985], Minimizesum of edge lengths k median [Arya, et al 2001],Minimize sum of star radii [Charikar, Panigrahy, 2001].

. – p.4

Page 18: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Hardness (of rooted k-star cover)

• Reduction from BIN-PACK:Given elements U with sizes su,k bins of size B. Can we packelements in k bins?

• Convert to Rooted k-starcover: Complete bipartite graphbetween elements and bins,edge weights = element sizes,bins = roots.

• Claim: BIN-PACK is identicalto this special case of Rootedk-star cover.

• Hardness of others follows byreducing to Rooted k-starcover.

12

5

6

8

4

6

BINS OBJECTS SIZES

BIN−PACK

8

. – p.5

Page 19: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Hardness (of rooted k-star cover)

• Reduction from BIN-PACK:Given elements U with sizes su,k bins of size B. Can we packelements in k bins?

• Convert to Rooted k-starcover: Complete bipartite graphbetween elements and bins,edge weights = element sizes,bins = roots.

• Claim: BIN-PACK is identicalto this special case of Rootedk-star cover.

• Hardness of others follows byreducing to Rooted k-starcover.

12

5

6

8

4

6

VERTICES

8

12

6

8

8

8

6

8

(Complete bipartite)Rooted k−Star cover

ROOTS

. – p.5

Page 20: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Hardness (of rooted k-star cover)

• Reduction from BIN-PACK:Given elements U with sizes su,k bins of size B. Can we packelements in k bins?

• Convert to Rooted k-starcover: Complete bipartite graphbetween elements and bins,edge weights = element sizes,bins = roots.

• Claim: BIN-PACK is identicalto this special case of Rootedk-star cover.

• Hardness of others follows byreducing to Rooted k-starcover.

12

5

6

8

4

6

VERTICES

8

Solution ROOTS

. – p.5

Page 21: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Hardness (of rooted k-star cover)

• Reduction from BIN-PACK:Given elements U with sizes su,k bins of size B. Can we packelements in k bins?

• Convert to Rooted k-starcover: Complete bipartite graphbetween elements and bins,edge weights = element sizes,bins = roots.

• Claim: BIN-PACK is identicalto this special case of Rootedk-star cover.

• Hardness of others follows byreducing to Rooted k-starcover.

12

5

6

8

4

6

VERTICES

8

Solution ROOTS

. – p.5

Page 22: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Rooted k-tree cover

• Guess-and-check type algorithm.

• Guess optimal solution cost B. Let true optimum be B∗.

• If “fail”, then proof that B < B∗.• If “success”, then find solution of cost no more than

4B.

• Binary search yields (weakly) polynomial time4-approximation algorithm.

• Can be made strongly polynomial; approximation ratioworsens to 4 + ε.

. – p.6

Page 23: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Rooted k-tree cover

• Guess-and-check type algorithm.

• Guess optimal solution cost B. Let true optimum be B∗.

• If “fail”, then proof that B < B∗.• If “success”, then find solution of cost no more than

4B.

• Binary search yields (weakly) polynomial time4-approximation algorithm.

• Can be made strongly polynomial; approximation ratioworsens to 4 + ε.

. – p.6

Page 24: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Rooted k-tree cover

• Guess-and-check type algorithm.

• Guess optimal solution cost B. Let true optimum be B∗.

• If “fail”, then proof that B < B∗.• If “success”, then find solution of cost no more than

4B.

• Binary search yields (weakly) polynomial time4-approximation algorithm.

• Can be made strongly polynomial; approximation ratioworsens to 4 + ε.

. – p.6

Page 25: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Rooted k-tree cover

• Guess-and-check type algorithm.

• Guess optimal solution cost B. Let true optimum be B∗.

• If “fail”, then proof that B < B∗.• If “success”, then find solution of cost no more than

4B.

• Binary search yields (weakly) polynomial time4-approximation algorithm.

• Can be made strongly polynomial; approximation ratioworsens to 4 + ε.

. – p.6

Page 26: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Overview

Given B, set of roots R, and G.

1. Remove all edges with we > B.

2. Contract R; compute MST M .{Ti}i := forest obtained by expanding R.

3. Decompose each Ti into trees {Sji }

j + Li s.t.

w(Sji ) ∈ [B, 2B) and w(Li) < B.

4. Match trees {Sji }

ji to roots in R within distance B from it.

• If possible, return “success”.• If impossible, return “fail”.

. – p.7

Page 27: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Overview

Given B, set of roots R, and G.

1. Remove all edges with we > B.

2. Contract R; compute MST M .{Ti}i := forest obtained by expanding R.

3. Decompose each Ti into trees {Sji }

j + Li s.t.

w(Sji ) ∈ [B, 2B) and w(Li) < B.

4. Match trees {Sji }

ji to roots in R within distance B from it.

• If possible, return “success”.• If impossible, return “fail”.

. – p.7

Page 28: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Overview

Given B, set of roots R, and G.

1. Remove all edges with we > B.

2. Contract R; compute MST M .{Ti}i := forest obtained by expanding R.

3. Decompose each Ti into trees {Sji }

j + Li s.t.

w(Sji ) ∈ [B, 2B) and w(Li) < B.

4. Match trees {Sji }

ji to roots in R within distance B from it.

• If possible, return “success”.• If impossible, return “fail”.

. – p.7

Page 29: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Overview

Given B, set of roots R, and G.

1. Remove all edges with we > B.

2. Contract R; compute MST M .{Ti}i := forest obtained by expanding R.

3. Decompose each Ti into trees {Sji }

j + Li s.t.

w(Sji ) ∈ [B, 2B) and w(Li) < B.

4. Match trees {Sji }

ji to roots in R within distance B from it.

• If possible, return “success”.• If impossible, return “fail”.

. – p.7

Page 30: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Demonstration

1. Prune.

2. Contract R, compute MST.

3. Decompose.

4. Match.

INPUT

Roots

. – p.8

Page 31: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Demonstration

1. Prune.

2. Contract R, compute MST.

3. Decompose.

4. Match.

Roots

CONTRACTED ROOTS

. – p.8

Page 32: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Demonstration

1. Prune.

2. Contract R, compute MST.

3. Decompose.

4. Match.

Roots

MST

. – p.8

Page 33: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Demonstration

1. Prune.

2. Contract R, compute MST.

3. Decompose.

4. Match.

Roots

Expanded MST

. – p.8

Page 34: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Demonstration

1. Prune.

2. Contract R, compute MST.

3. Decompose.

4. Match.

Roots

Decompose into light trees

. – p.8

Page 35: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Demonstration

1. Prune.

2. Contract R, compute MST.

3. Decompose.

4. Match.

Roots

Match − success?

. – p.8

Page 36: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Success

Claim: On success, each tree has cost no more than 4B.

Proof: Each tree in our solution has 3 components:

Decomposed tree Sji , cost ≤ 2B.

Edge to root, cost ≤ B.

Leftover tree Li, cost ≤ B.

. – p.9

Page 37: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Success

Claim: On success, each tree has cost no more than 4B.

Proof: Each tree in our solution has 3 components:

Decomposed tree Sji , cost ≤ 2B.

Edge to root, cost ≤ B.

Leftover tree Li, cost ≤ B.

. – p.9

Page 38: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Success

Claim: On success, each tree has cost no more than 4B.

Proof: Each tree in our solution has 3 components:

Decomposed tree Sji , cost ≤ 2B.

Edge to root, cost ≤ B.

Leftover tree Li, cost ≤ B.

. – p.9

Page 39: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Success

Claim: On success, each tree has cost no more than 4B.

Proof: Each tree in our solution has 3 components:

Decomposed tree Sji , cost ≤ 2B.

Edge to root, cost ≤ B.

Leftover tree Li, cost ≤ B.

. – p.9

Page 40: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Failure

Lemma: On failure (matching does not exist), B < B∗.

Alternatively: If B ≥ B∗, matching exists.

Proof: Hall’s Theorem: We show |N(S)| ≥ |S| for allS ⊆ {Sj

i }ji .

Consider optimal solution T ∗ = {T ∗

1 , . . . , T ∗

k }. LetT ∗(S) = T ∗ ∩ S. Hence |N(S)| ≥ |T ∗(S)|.

Deleting all edges in S and adding all edges in T ∗(S) alsoyields a spanning tree of G, and since our tree was MST,w(T ∗(S)) ≥ w(S).

B∗|N(S)| ≥ B∗|T ∗(S)| ≥ w(T ∗(S)) ≥ w(S) ≥ B|S|. �

. – p.10

Page 41: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Failure

Lemma: On failure (matching does not exist), B < B∗.

Alternatively: If B ≥ B∗, matching exists.

Proof: Hall’s Theorem: We show |N(S)| ≥ |S| for allS ⊆ {Sj

i }ji .

Consider optimal solution T ∗ = {T ∗

1 , . . . , T ∗

k }. LetT ∗(S) = T ∗ ∩ S. Hence |N(S)| ≥ |T ∗(S)|.

Deleting all edges in S and adding all edges in T ∗(S) alsoyields a spanning tree of G, and since our tree was MST,w(T ∗(S)) ≥ w(S).

B∗|N(S)| ≥ B∗|T ∗(S)| ≥ w(T ∗(S)) ≥ w(S) ≥ B|S|. �

. – p.10

Page 42: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Failure

Lemma: On failure (matching does not exist), B < B∗.

Alternatively: If B ≥ B∗, matching exists.

Proof: Hall’s Theorem: We show |N(S)| ≥ |S| for allS ⊆ {Sj

i }ji .

Consider optimal solution T ∗ = {T ∗

1 , . . . , T ∗

k }. LetT ∗(S) = T ∗ ∩ S. Hence |N(S)| ≥ |T ∗(S)|.

Deleting all edges in S and adding all edges in T ∗(S) alsoyields a spanning tree of G, and since our tree was MST,w(T ∗(S)) ≥ w(S).

B∗|N(S)| ≥ B∗|T ∗(S)| ≥ w(T ∗(S)) ≥ w(S) ≥ B|S|. �

. – p.10

Page 43: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Failure

Lemma: On failure (matching does not exist), B < B∗.

Alternatively: If B ≥ B∗, matching exists.

Proof: Hall’s Theorem: We show |N(S)| ≥ |S| for allS ⊆ {Sj

i }ji .

Consider optimal solution T ∗ = {T ∗

1 , . . . , T ∗

k }. LetT ∗(S) = T ∗ ∩ S. Hence |N(S)| ≥ |T ∗(S)|.

Deleting all edges in S and adding all edges in T ∗(S) alsoyields a spanning tree of G, and since our tree was MST,w(T ∗(S)) ≥ w(S).

B∗|N(S)| ≥ B∗|T ∗(S)| ≥ w(T ∗(S)) ≥ w(S) ≥ B|S|. �

. – p.10

Page 44: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Failure

Lemma: On failure (matching does not exist), B < B∗.

Alternatively: If B ≥ B∗, matching exists.

Proof: Hall’s Theorem: We show |N(S)| ≥ |S| for allS ⊆ {Sj

i }ji .

Consider optimal solution T ∗ = {T ∗

1 , . . . , T ∗

k }. LetT ∗(S) = T ∗ ∩ S. Hence |N(S)| ≥ |T ∗(S)|.

Deleting all edges in S and adding all edges in T ∗(S) alsoyields a spanning tree of G, and since our tree was MST,w(T ∗(S)) ≥ w(S).

B∗|N(S)| ≥ B∗|T ∗(S)| ≥ w(T ∗(S)) ≥ w(S) ≥ B|S|. �

. – p.10

Page 45: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm: Failure

Lemma: On failure (matching does not exist), B < B∗.

Alternatively: If B ≥ B∗, matching exists.

Proof: Hall’s Theorem: We show |N(S)| ≥ |S| for allS ⊆ {Sj

i }ji .

Consider optimal solution T ∗ = {T ∗

1 , . . . , T ∗

k }. LetT ∗(S) = T ∗ ∩ S. Hence |N(S)| ≥ |T ∗(S)|.

Deleting all edges in S and adding all edges in T ∗(S) alsoyields a spanning tree of G, and since our tree was MST,w(T ∗(S)) ≥ w(S).

B∗|N(S)| ≥ B∗|T ∗(S)| ≥ w(T ∗(S)) ≥ w(S) ≥ B|S|. �

. – p.10

Page 46: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Strongly polynomial algorithm

Fix ε > 0.

• Sort edges w1 ≤ w2 ≤ . . . ≤ wm.

• If algorithm says wm = B < B∗, then contract all edgesof weight at most εwm

n2 . Now binary search in range[ εwm

n2 , nwm], which is polynomial.

• Otherwise, find i such that B∗ ∈ (wi, 4wi+1].

• If wi+1

wi

≤ n2

ε, binary search in above range is polynomial.

• If not, set w′ = n2wi/ε. If B∗ ∈ [wi, w′], then polynomial.

• If not, then contract all edges of weight at most wi. Nowbinary search in [wi+1, 4wi+1] is polynomial.

. – p.11

Page 47: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Strongly polynomial algorithm

Fix ε > 0.

• Sort edges w1 ≤ w2 ≤ . . . ≤ wm.

• If algorithm says wm = B < B∗, then contract all edgesof weight at most εwm

n2 . Now binary search in range[ εwm

n2 , nwm], which is polynomial.

• Otherwise, find i such that B∗ ∈ (wi, 4wi+1].

• If wi+1

wi

≤ n2

ε, binary search in above range is polynomial.

• If not, set w′ = n2wi/ε. If B∗ ∈ [wi, w′], then polynomial.

• If not, then contract all edges of weight at most wi. Nowbinary search in [wi+1, 4wi+1] is polynomial.

. – p.11

Page 48: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Strongly polynomial algorithm

Fix ε > 0.

• Sort edges w1 ≤ w2 ≤ . . . ≤ wm.

• If algorithm says wm = B < B∗, then contract all edgesof weight at most εwm

n2 . Now binary search in range[ εwm

n2 , nwm], which is polynomial.

• Otherwise, find i such that B∗ ∈ (wi, 4wi+1].

• If wi+1

wi

≤ n2

ε, binary search in above range is polynomial.

• If not, set w′ = n2wi/ε. If B∗ ∈ [wi, w′], then polynomial.

• If not, then contract all edges of weight at most wi. Nowbinary search in [wi+1, 4wi+1] is polynomial.

. – p.11

Page 49: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Strongly polynomial algorithm

Fix ε > 0.

• Sort edges w1 ≤ w2 ≤ . . . ≤ wm.

• If algorithm says wm = B < B∗, then contract all edgesof weight at most εwm

n2 . Now binary search in range[ εwm

n2 , nwm], which is polynomial.

• Otherwise, find i such that B∗ ∈ (wi, 4wi+1].

• If wi+1

wi

≤ n2

ε, binary search in above range is polynomial.

• If not, set w′ = n2wi/ε. If B∗ ∈ [wi, w′], then polynomial.

• If not, then contract all edges of weight at most wi. Nowbinary search in [wi+1, 4wi+1] is polynomial.

. – p.11

Page 50: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Strongly polynomial algorithm

Fix ε > 0.

• Sort edges w1 ≤ w2 ≤ . . . ≤ wm.

• If algorithm says wm = B < B∗, then contract all edgesof weight at most εwm

n2 . Now binary search in range[ εwm

n2 , nwm], which is polynomial.

• Otherwise, find i such that B∗ ∈ (wi, 4wi+1].

• If wi+1

wi

≤ n2

ε, binary search in above range is polynomial.

• If not, set w′ = n2wi/ε. If B∗ ∈ [wi, w′], then polynomial.

• If not, then contract all edges of weight at most wi. Nowbinary search in [wi+1, 4wi+1] is polynomial.

. – p.11

Page 51: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Strongly polynomial algorithm

Fix ε > 0.

• Sort edges w1 ≤ w2 ≤ . . . ≤ wm.

• If algorithm says wm = B < B∗, then contract all edgesof weight at most εwm

n2 . Now binary search in range[ εwm

n2 , nwm], which is polynomial.

• Otherwise, find i such that B∗ ∈ (wi, 4wi+1].

• If wi+1

wi

≤ n2

ε, binary search in above range is polynomial.

• If not, set w′ = n2wi/ε. If B∗ ∈ [wi, w′], then polynomial.

• If not, then contract all edges of weight at most wi. Nowbinary search in [wi+1, 4wi+1] is polynomial.

. – p.11

Page 52: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Unrooted k-tree cover

1. Prune edges we > B.Let {Gi}i be components.

2. MSTi = MST of Gi.ki = bw(MSTi)

2Bc.

3. If∑

i(ki + 1) > k, return “fail”.

4. Decompose each MSTi into atmost ki+1 trees S1

i +. . .+Ski

i +Li

such that w(Sji ) ∈ [2B, 4B) and

w(Li) < 2B. Return “success”.

Long edges pruned

. – p.12

Page 53: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Unrooted k-tree cover

1. Prune edges we > B.Let {Gi}i be components.

2. MSTi = MST of Gi.ki = bw(MSTi)

2Bc.

3. If∑

i(ki + 1) > k, return “fail”.

4. Decompose each MSTi into atmost ki+1 trees S1

i +. . .+Ski

i +Li

such that w(Sji ) ∈ [2B, 4B) and

w(Li) < 2B. Return “success”.

MST

. – p.12

Page 54: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Unrooted k-tree cover

1. Prune edges we > B.Let {Gi}i be components.

2. MSTi = MST of Gi.ki = bw(MSTi)

2Bc.

3. If∑

i(ki + 1) > k, return “fail”.

4. Decompose each MSTi into atmost ki+1 trees S1

i +. . .+Ski

i +Li

such that w(Sji ) ∈ [2B, 4B) and

w(Li) < 2B. Return “success”.

MST

. – p.12

Page 55: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Algorithm for Unrooted k-tree cover

1. Prune edges we > B.Let {Gi}i be components.

2. MSTi = MST of Gi.ki = bw(MSTi)

2Bc.

3. If∑

i(ki + 1) > k, return “fail”.

4. Decompose each MSTi into atmost ki+1 trees S1

i +. . .+Ski

i +Li

such that w(Sji ) ∈ [2B, 4B) and

w(Li) < 2B. Return “success”. Final solution

. – p.12

Page 56: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Analysis

Claim: On success, each tree has weight no more than 4B.

Claim: On failure, B < B∗.

Alternatively, if B ≥ B∗, then ki + 1 ≤ k∗i for all i.

Proof: Let optimal solution cover Gi with {T ∗

1 , . . . , T ∗

k∗

i

}. Wecan make it span Gi by adding at most k∗i − 1 edges, so:

k∗

i∑

j=1

w(T ∗

i ) + (k∗i − 1)B ≥ w(MSTi)

.

Therefore k∗i ≥ w(MSTi)2B

+ 12 > ki. �

. – p.13

Page 57: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Analysis

Claim: On success, each tree has weight no more than 4B.

Claim: On failure, B < B∗.

Alternatively, if B ≥ B∗, then ki + 1 ≤ k∗i for all i.

Proof: Let optimal solution cover Gi with {T ∗

1 , . . . , T ∗

k∗

i

}. Wecan make it span Gi by adding at most k∗i − 1 edges, so:

k∗

i∑

j=1

w(T ∗

i ) + (k∗i − 1)B ≥ w(MSTi)

.

Therefore k∗i ≥ w(MSTi)2B

+ 12 > ki. �

. – p.13

Page 58: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Analysis

Claim: On success, each tree has weight no more than 4B.

Claim: On failure, B < B∗.

Alternatively, if B ≥ B∗, then ki + 1 ≤ k∗i for all i.

Proof: Let optimal solution cover Gi with {T ∗

1 , . . . , T ∗

k∗

i

}. Wecan make it span Gi by adding at most k∗i − 1 edges, so:

k∗

i∑

j=1

w(T ∗

i ) + (k∗i − 1)B ≥ w(MSTi)

.

Therefore k∗i ≥ w(MSTi)2B

+ 12 > ki. �

. – p.13

Page 59: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Analysis

Claim: On success, each tree has weight no more than 4B.

Claim: On failure, B < B∗.

Alternatively, if B ≥ B∗, then ki + 1 ≤ k∗i for all i.

Proof: Let optimal solution cover Gi with {T ∗

1 , . . . , T ∗

k∗

i

}. Wecan make it span Gi by adding at most k∗i − 1 edges, so:

k∗

i∑

j=1

w(T ∗

i ) + (k∗i − 1)B ≥ w(MSTi)

.

Therefore k∗i ≥ w(MSTi)2B

+ 12 > ki. �

. – p.13

Page 60: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Analysis

Claim: On success, each tree has weight no more than 4B.

Claim: On failure, B < B∗.

Alternatively, if B ≥ B∗, then ki + 1 ≤ k∗i for all i.

Proof: Let optimal solution cover Gi with {T ∗

1 , . . . , T ∗

k∗

i

}. Wecan make it span Gi by adding at most k∗i − 1 edges, so:

k∗

i∑

j=1

w(T ∗

i ) + (k∗i − 1)B ≥ w(MSTi)

.

Therefore k∗i ≥ w(MSTi)2B

+ 12 > ki. �

. – p.13

Page 61: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Extensions and conclusion

• Rooted k-star cover: Reduces to GeneralizedAssignment problem, yields a 2-approximation.[Shmoys, Tardos, 1993]

• Unrooted k-star cover: LP rounding gives bicriteriaapproximation: Covers with 2k stars, each costing nomore than twice the optimum. A la [Shmoys, Tardos,Aardal, 1997]

• Tree cover algorithms also yield constant factorapproximations for tour cover, the original nursingstation location problem.

• Questions?

. – p.14

Page 62: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Extensions and conclusion

• Rooted k-star cover: Reduces to GeneralizedAssignment problem, yields a 2-approximation.[Shmoys, Tardos, 1993]

• Unrooted k-star cover: LP rounding gives bicriteriaapproximation: Covers with 2k stars, each costing nomore than twice the optimum. A la [Shmoys, Tardos,Aardal, 1997]

• Tree cover algorithms also yield constant factorapproximations for tour cover, the original nursingstation location problem.

• Questions?

. – p.14

Page 63: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Extensions and conclusion

• Rooted k-star cover: Reduces to GeneralizedAssignment problem, yields a 2-approximation.[Shmoys, Tardos, 1993]

• Unrooted k-star cover: LP rounding gives bicriteriaapproximation: Covers with 2k stars, each costing nomore than twice the optimum. A la [Shmoys, Tardos,Aardal, 1997]

• Tree cover algorithms also yield constant factorapproximations for tour cover, the original nursingstation location problem.

• Questions?

. – p.14

Page 64: Covering Graphs using Trees and Stars./aladdin/workshops/integrated... · k-Tree cover: Set of trees fT1;T2;:::;Tkg such that [k i=1V(Ti) = V. Objective: Minimize maxi w(Ti). Rooted

Extensions and conclusion

• Rooted k-star cover: Reduces to GeneralizedAssignment problem, yields a 2-approximation.[Shmoys, Tardos, 1993]

• Unrooted k-star cover: LP rounding gives bicriteriaapproximation: Covers with 2k stars, each costing nomore than twice the optimum. A la [Shmoys, Tardos,Aardal, 1997]

• Tree cover algorithms also yield constant factorapproximations for tour cover, the original nursingstation location problem.

• Questions?. – p.14