covering graphs using trees and stars./aladdin/workshops/integrated... · k-tree cover: set of...
TRANSCRIPT
Covering Graphs using Treesand Stars
G. Even N. Garg J. Könemann R. Ravi A. Sinha
. – p.1
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
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
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
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
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
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
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
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
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
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
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
Applications and literature
• Covering with trees “equivalent” to covering with tours.
. – p.4
Applications and literature
• Covering with trees “equivalent” to covering with tours.
• k-Traveling Repairman: Cover with tours, minimizeaverage latency. [Fakcharoenphol, Harrelson, Rao2003]
. – p.4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Algorithm: Demonstration
1. Prune.
2. Contract R, compute MST.
3. Decompose.
4. Match.
INPUT
Roots
. – p.8
Algorithm: Demonstration
1. Prune.
2. Contract R, compute MST.
3. Decompose.
4. Match.
Roots
CONTRACTED ROOTS
. – p.8
Algorithm: Demonstration
1. Prune.
2. Contract R, compute MST.
3. Decompose.
4. Match.
Roots
MST
. – p.8
Algorithm: Demonstration
1. Prune.
2. Contract R, compute MST.
3. Decompose.
4. Match.
Roots
Expanded MST
. – p.8
Algorithm: Demonstration
1. Prune.
2. Contract R, compute MST.
3. Decompose.
4. Match.
Roots
Decompose into light trees
. – p.8
Algorithm: Demonstration
1. Prune.
2. Contract R, compute MST.
3. Decompose.
4. Match.
Roots
Match − success?
. – p.8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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