covering graphs using trees and starshyde.eng.tau.ac.il/talks/k_tree_cover.pdfcover the vertices of...

87
Covering Graphs Using Trees and Stars Guy Even (Tel-Aviv), Naveen Garg (Delhi), and Jochen K ¨ onemann, R. Ravi and A. Sinha (Pittsburgh) Third Haifa Workshop on Interdisciplinary Applications of Graph Theory, Combinatorics and Computing – p.1

Upload: others

Post on 25-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Covering GraphsUsing

Trees and StarsGuy Even (Tel-Aviv), Naveen Garg (Delhi),

and

Jochen Konemann, R. Ravi and A. Sinha (Pittsburgh)

Third Haifa Workshop on Interdisciplinary Applications of Graph Theory, Combinatorics

and Computing

– p.1

Page 2: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.Cover the vertices of a graph with k

tours.Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 3: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.Cover the vertices of a graph with k

tours.Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 4: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.Cover the vertices of a graph with k

tours.Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 5: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.

Cover the vertices of a graph with k

tours.Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 6: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.Cover the vertices of a graph with k

tours.

Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 7: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.Cover the vertices of a graph with k

tours.Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 8: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Motivation

Consider a TSP instance with a largeoptimal tour, e.g. w(tour∗) > 1000.

Suppose regulation dictates: agent maytravel at most 100 km.

⇒ must employ multiple agents.

⇒ k-traveling salespeople problem.Cover the vertices of a graph with k

tours.Balance the load of the agents:minimize the maximum tour.

MST is a constant ratio approx of a mintour ⇒ k-Tree Cover Problem.

– p.2

Page 9: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem

Input: (i) integer k and (ii) G = (V,E) - anundirected graph with positive integraledge weights w : E → IN+.

k-tree cover: a set T of trees {Ti}i such thatV =

⋃ki=1 V (Ti).

cost : cost(T ) = maxTi∈T w(Ti).

goal : find a minimum cost k-tree cover.

remark : trees may share nodes & edges in atree cover.

– p.3

Page 10: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem

Input: (i) integer k and (ii) G = (V,E) - anundirected graph with positive integraledge weights w : E → IN+.

k-tree cover: a set T of trees {Ti}i such thatV =

⋃ki=1 V (Ti).

cost : cost(T ) = maxTi∈T w(Ti).

goal : find a minimum cost k-tree cover.

remark : trees may share nodes & edges in atree cover.

– p.3

Page 11: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem

Input: (i) integer k and (ii) G = (V,E) - anundirected graph with positive integraledge weights w : E → IN+.

k-tree cover: a set T of trees {Ti}i such thatV =

⋃ki=1 V (Ti).

cost : cost(T ) = maxTi∈T w(Ti).

goal : find a minimum cost k-tree cover.

remark : trees may share nodes & edges in atree cover.

– p.3

Page 12: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem

Input: (i) integer k and (ii) G = (V,E) - anundirected graph with positive integraledge weights w : E → IN+.

k-tree cover: a set T of trees {Ti}i such thatV =

⋃ki=1 V (Ti).

cost : cost(T ) = maxTi∈T w(Ti).

goal : find a minimum cost k-tree cover.

remark : trees may share nodes & edges in atree cover.

cost=9

12

2

8

51 2

112

5

– p.3

Page 13: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem

Input: (i) integer k and (ii) G = (V,E) - anundirected graph with positive integraledge weights w : E → IN+.

k-tree cover: a set T of trees {Ti}i such thatV =

⋃ki=1 V (Ti).

cost : cost(T ) = maxTi∈T w(Ti).

goal : find a minimum cost k-tree cover.

remark : trees may share nodes & edges in atree cover.

cost=9

12

2

8

51 2

112

5

– p.3

Page 14: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem

Input: (i) integer k and (ii) G = (V,E) - anundirected graph with positive integraledge weights w : E → IN+.

k-tree cover: a set T of trees {Ti}i such thatV =

⋃ki=1 V (Ti).

cost : cost(T ) = maxTi∈T w(Ti).

goal : find a minimum cost k-tree cover.

remark : trees may share nodes & edges in atree cover.

– p.3

Page 15: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

– p.4

Page 16: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

roots

– p.4

Page 17: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

roots

– p.4

Page 18: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

– p.4

Page 19: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

– p.4

Page 20: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

– p.4

Page 21: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

k-Tree Cover Problem: the rooted case

Roots: Input contains also a set of roots:

R = {r1, r2, . . . , rk}.

k-rooted tree cover: a k-tree cover {Ti}i suchthat

∀i : ri ∈ Ti.

motivation : agents start their tour in differentlocations.

– p.4

Page 22: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 23: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 24: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 25: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 26: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 27: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 28: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 29: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 30: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Star Covers

k-Star Cover: a k-tree cover {Ti}i in which

∀i : Ti is a star

rooted/unrooted versions: in rooted version,stars must be rooted at R. Namely, ri isthe root of Ti.

motivation : agents must return to base aftereach visit.

– p.5

Page 31: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work

k-Traveling Repairman: Cover with tours, O(1)-approxminimize average latency. [Fakcharoenphol, Harrelson,Rao 2003]

k-Traveling Salesman: Cover with tours, O(1)-approxminimize total length. [Haimovich, Rinooy Kan, Stougie1988]

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.6

Page 32: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work

k-Traveling Repairman: Cover with tours, O(1)-approxminimize average latency. [Fakcharoenphol, Harrelson,Rao 2003]

k-Traveling Salesman: Cover with tours, O(1)-approxminimize total length. [Haimovich, Rinooy Kan, Stougie1988]

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.6

Page 33: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work

k-Traveling Repairman: Cover with tours, O(1)-approxminimize average latency. [Fakcharoenphol, Harrelson,Rao 2003]

k-Traveling Salesman: Cover with tours, O(1)-approxminimize total length. [Haimovich, Rinooy Kan, Stougie1988]

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.6

Page 34: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work - cont

Chandra Chekuri & Amit Kumar - similar results.

Arkin, Hassin, & Levin - approx algorithms for manysimilar problems:

O(1)-approx for unrooted k-path cover.O(1)-approx for unrooted B-star cover.many other problems...

– p.7

Page 35: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work - cont

Chandra Chekuri & Amit Kumar - similar results.

Arkin, Hassin, & Levin - approx algorithms for manysimilar problems:

O(1)-approx for unrooted k-path cover.O(1)-approx for unrooted B-star cover.many other problems...

– p.7

Page 36: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work - cont

Chandra Chekuri & Amit Kumar - similar results.

Arkin, Hassin, & Levin - approx algorithms for manysimilar problems:

O(1)-approx for unrooted k-path cover.

O(1)-approx for unrooted B-star cover.many other problems...

– p.7

Page 37: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work - cont

Chandra Chekuri & Amit Kumar - similar results.

Arkin, Hassin, & Levin - approx algorithms for manysimilar problems:

O(1)-approx for unrooted k-path cover.O(1)-approx for unrooted B-star cover.

many other problems...

– p.7

Page 38: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Related work - cont

Chandra Chekuri & Amit Kumar - similar results.

Arkin, Hassin, & Levin - approx algorithms for manysimilar problems:

O(1)-approx for unrooted k-path cover.O(1)-approx for unrooted B-star cover.many other problems...

– p.7

Page 39: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Results

Hardness: All 4 problems are NP-complete. (reductionfrom Bin-Packing).

k-tree cover: 4-approximation algorithm. Stronglypolynomial versions are (4 + ε)-approx.

k-star cover:Unrooted version: (4, 4)-bicriteria approximationalgorithm (i.e. 4k stars of cost 4 · OPTk). Extendmethod of [Shmoys, Tardos, & Aardal, 1997] forcapacitated facility location.Rooted version: equivalent to min. makespan of k

machines and n jobs. 2-approximation of [Shmoys &Tardos, 1993].

– p.8

Page 40: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Results

Hardness: All 4 problems are NP-complete. (reductionfrom Bin-Packing).

k-tree cover: 4-approximation algorithm. Stronglypolynomial versions are (4 + ε)-approx.

k-star cover:Unrooted version: (4, 4)-bicriteria approximationalgorithm (i.e. 4k stars of cost 4 · OPTk). Extendmethod of [Shmoys, Tardos, & Aardal, 1997] forcapacitated facility location.Rooted version: equivalent to min. makespan of k

machines and n jobs. 2-approximation of [Shmoys &Tardos, 1993].

– p.8

Page 41: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Results

Hardness: All 4 problems are NP-complete. (reductionfrom Bin-Packing).

k-tree cover: 4-approximation algorithm. Stronglypolynomial versions are (4 + ε)-approx.

k-star cover:

Unrooted version: (4, 4)-bicriteria approximationalgorithm (i.e. 4k stars of cost 4 · OPTk). Extendmethod of [Shmoys, Tardos, & Aardal, 1997] forcapacitated facility location.Rooted version: equivalent to min. makespan of k

machines and n jobs. 2-approximation of [Shmoys &Tardos, 1993].

– p.8

Page 42: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Results

Hardness: All 4 problems are NP-complete. (reductionfrom Bin-Packing).

k-tree cover: 4-approximation algorithm. Stronglypolynomial versions are (4 + ε)-approx.

k-star cover:Unrooted version: (4, 4)-bicriteria approximationalgorithm (i.e. 4k stars of cost 4 · OPTk). Extendmethod of [Shmoys, Tardos, & Aardal, 1997] forcapacitated facility location.

Rooted version: equivalent to min. makespan of k

machines and n jobs. 2-approximation of [Shmoys &Tardos, 1993].

– p.8

Page 43: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Results

Hardness: All 4 problems are NP-complete. (reductionfrom Bin-Packing).

k-tree cover: 4-approximation algorithm. Stronglypolynomial versions are (4 + ε)-approx.

k-star cover:Unrooted version: (4, 4)-bicriteria approximationalgorithm (i.e. 4k stars of cost 4 · OPTk). Extendmethod of [Shmoys, Tardos, & Aardal, 1997] forcapacitated facility location.Rooted version: equivalent to min. makespan of k

machines and n jobs. 2-approximation of [Shmoys &Tardos, 1993].

– p.8

Page 44: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 45: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 46: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 47: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 48: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 49: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 50: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 51: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 52: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 53: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 54: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 55: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 56: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 57: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

approximation algorithm: k-rooted tree coverInput: graph, roots, and B - “guess” of opt. cost.

1. contract roots.

2. compute MST.

3. un-contract roots: forest of treesrooted at roots.

4. edge-decompose trees:w(subtrees) ∈ [B, 2B),w(leftovers) < B.

5. max match subtrees to roots (ifdist ≤ B).

6. if not all subtrees are matched⇒B < B∗.

7. else return ∀ri: leftover +matched subtree.

– p.9

Page 58: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

4-approx algorithm : k-rooted tree cover

Claim: success ⇒ cost(cover) ≤ 4 · B.

Claim: fail ⇒ B < B∗.

Binary search on value of B ⇒ (weakly) polynomial4-approx algorithm.

Scaling ⇒ strongly polynomial (4 + ε)-approx algorithm.

– p.10

Page 59: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

4-approx algorithm : k-rooted tree cover

Claim: success ⇒ cost(cover) ≤ 4 · B.

Claim: fail ⇒ B < B∗.

Binary search on value of B ⇒ (weakly) polynomial4-approx algorithm.

Scaling ⇒ strongly polynomial (4 + ε)-approx algorithm.

– p.10

Page 60: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

4-approx algorithm : k-rooted tree cover

Claim: success ⇒ cost(cover) ≤ 4 · B.

Claim: fail ⇒ B < B∗.

Binary search on value of B ⇒ (weakly) polynomial4-approx algorithm.

Scaling ⇒ strongly polynomial (4 + ε)-approx algorithm.

– p.10

Page 61: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

4-approx algorithm : k-rooted tree cover

Claim: success ⇒ cost(cover) ≤ 4 · B.

Claim: fail ⇒ B < B∗.

Binary search on value of B ⇒ (weakly) polynomial4-approx algorithm.

Scaling ⇒ strongly polynomial (4 + ε)-approx algorithm.

– p.10

Page 62: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: success ⇒ cost(cover) ≤ 4 · B

Each tree in tree cover may consist of:

a rooted leftover subtree ⇒ cost(leftover) < B.

a matched subtree ⇒ cost(subtree) < 2 · B.

matching edge ⇒ cost(edge) ≤ B.

⇒ weight of every tree in solution is < 4 · B. QED

– p.11

Page 63: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: success ⇒ cost(cover) ≤ 4 · B

Each tree in tree cover may consist of:

a rooted leftover subtree ⇒ cost(leftover) < B.

a matched subtree ⇒ cost(subtree) < 2 · B.

matching edge ⇒ cost(edge) ≤ B.

⇒ weight of every tree in solution is < 4 · B. QED

– p.11

Page 64: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: success ⇒ cost(cover) ≤ 4 · B

Each tree in tree cover may consist of:

a rooted leftover subtree ⇒ cost(leftover) < B.

a matched subtree ⇒ cost(subtree) < 2 · B.

matching edge ⇒ cost(edge) ≤ B.

⇒ weight of every tree in solution is < 4 · B. QED

– p.11

Page 65: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: success ⇒ cost(cover) ≤ 4 · B

Each tree in tree cover may consist of:

a rooted leftover subtree ⇒ cost(leftover) < B.

a matched subtree ⇒ cost(subtree) < 2 · B.

matching edge ⇒ cost(edge) ≤ B.

⇒ weight of every tree in solution is < 4 · B. QED

– p.11

Page 66: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: success ⇒ cost(cover) ≤ 4 · B

Each tree in tree cover may consist of:

a rooted leftover subtree ⇒ cost(leftover) < B.

a matched subtree ⇒ cost(subtree) < 2 · B.

matching edge ⇒ cost(edge) ≤ B.

⇒ weight of every tree in solution is < 4 · B. QED

– p.11

Page 67: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗

Assume for sake of contradiction:

B ≥ B∗ and matching failed.

Hall’s Theorem: if matching failed, then

∃S ⊆ subtrees : |S| > |N(S)|.

Fix OPT:

T ∗ 4

= {T ∗1 , . . . , T ∗

k } where rj ∈ T ∗j .

T ∗(S)4

= {T ∗j | ∃Si ∈ S : T ∗

j ∩ Si 6= ∅}.

Note: T ∗j ∩ Si 6= ∅ ⇒ w(rj, Si) ≤ B∗ ≤ B.

⇒ |T ∗(S)| ≤ |N(S)|.

w(rj , Si) ≤ B

subtrees roots

Sirj

T∗

j

rj

Si

≤ B∗

– p.12

Page 68: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗

Assume for sake of contradiction:

B ≥ B∗ and matching failed.

Hall’s Theorem: if matching failed, then

∃S ⊆ subtrees : |S| > |N(S)|.

Fix OPT:

T ∗ 4

= {T ∗1 , . . . , T ∗

k } where rj ∈ T ∗j .

T ∗(S)4

= {T ∗j | ∃Si ∈ S : T ∗

j ∩ Si 6= ∅}.

Note: T ∗j ∩ Si 6= ∅ ⇒ w(rj, Si) ≤ B∗ ≤ B.

⇒ |T ∗(S)| ≤ |N(S)|.

w(rj , Si) ≤ B

subtrees roots

Sirj

T∗

j

rj

Si

≤ B∗

– p.12

Page 69: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗

Assume for sake of contradiction:

B ≥ B∗ and matching failed.

Hall’s Theorem: if matching failed, then

∃S ⊆ subtrees : |S| > |N(S)|.

Fix OPT:

T ∗ 4

= {T ∗1 , . . . , T ∗

k } where rj ∈ T ∗j .

T ∗(S)4

= {T ∗j | ∃Si ∈ S : T ∗

j ∩ Si 6= ∅}.

Note: T ∗j ∩ Si 6= ∅ ⇒ w(rj, Si) ≤ B∗ ≤ B.

⇒ |T ∗(S)| ≤ |N(S)|.

w(rj , Si) ≤ B

subtrees roots

Sirj

T∗

j

rj

Si

≤ B∗

– p.12

Page 70: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗

Assume for sake of contradiction:

B ≥ B∗ and matching failed.

Hall’s Theorem: if matching failed, then

∃S ⊆ subtrees : |S| > |N(S)|.

Fix OPT:

T ∗ 4

= {T ∗1 , . . . , T ∗

k } where rj ∈ T ∗j .

T ∗(S)4

= {T ∗j | ∃Si ∈ S : T ∗

j ∩ Si 6= ∅}.

Note: T ∗j ∩ Si 6= ∅ ⇒ w(rj, Si) ≤ B∗ ≤ B.

⇒ |T ∗(S)| ≤ |N(S)|.

w(rj , Si) ≤ B

subtrees roots

Sirj

T∗

j

rj

Si

≤ B∗

– p.12

Page 71: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗

Assume for sake of contradiction:

B ≥ B∗ and matching failed.

Hall’s Theorem: if matching failed, then

∃S ⊆ subtrees : |S| > |N(S)|.

Fix OPT:

T ∗ 4

= {T ∗1 , . . . , T ∗

k } where rj ∈ T ∗j .

T ∗(S)4

= {T ∗j | ∃Si ∈ S : T ∗

j ∩ Si 6= ∅}.

Note: T ∗j ∩ Si 6= ∅ ⇒ w(rj, Si) ≤ B∗ ≤ B.

⇒ |T ∗(S)| ≤ |N(S)|.

w(rj , Si) ≤ B

subtrees roots

Sirj

T∗

j

rj

Si

≤ B∗

– p.12

Page 72: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗

Assume for sake of contradiction:

B ≥ B∗ and matching failed.

Hall’s Theorem: if matching failed, then

∃S ⊆ subtrees : |S| > |N(S)|.

Fix OPT:

T ∗ 4

= {T ∗1 , . . . , T ∗

k } where rj ∈ T ∗j .

T ∗(S)4

= {T ∗j | ∃Si ∈ S : T ∗

j ∩ Si 6= ∅}.

Note: T ∗j ∩ Si 6= ∅ ⇒ w(rj, Si) ≤ B∗ ≤ B.

⇒ |T ∗(S)| ≤ |N(S)|.

w(rj , Si) ≤ B

subtrees roots

Sirj

T∗

j

rj

Si

≤ B∗

– p.12

Page 73: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗ - (cont.)

recall:B ≥ B∗ and |T ∗(S)| ≤ |N(S)| < |S|.

∀j : w(T ∗j ) ≤ B∗ ⇒ w(T ∗(S)) ≤ B∗ · |T ∗(S)|

∀i : w(Si) ∈ [B, 2B) ⇒ w(S) ≥ B · |S|.

⇒ w(S) > w(T ∗(S)).

ButT ′ 4

= MST + T ∗(S) − S

is a spanning tree and w(T ′) < w(MST ), contradiction. QED

– p.13

Page 74: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗ - (cont.)

recall:B ≥ B∗ and |T ∗(S)| ≤ |N(S)| < |S|.

∀j : w(T ∗j ) ≤ B∗ ⇒ w(T ∗(S)) ≤ B∗ · |T ∗(S)|

∀i : w(Si) ∈ [B, 2B) ⇒ w(S) ≥ B · |S|.

⇒ w(S) > w(T ∗(S)).

ButT ′ 4

= MST + T ∗(S) − S

is a spanning tree and w(T ′) < w(MST ), contradiction. QED

– p.13

Page 75: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Claim: fail ⇒ B < B∗ - (cont.)

recall:B ≥ B∗ and |T ∗(S)| ≤ |N(S)| < |S|.

∀j : w(T ∗j ) ≤ B∗ ⇒ w(T ∗(S)) ≤ B∗ · |T ∗(S)|

∀i : w(Si) ∈ [B, 2B) ⇒ w(S) ≥ B · |S|.

⇒ w(S) > w(T ∗(S)).

ButT ′ 4

= MST + T ∗(S) − S

is a spanning tree and w(T ′) < w(MST ), contradiction. QED

– p.13

Page 76: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Algorithm for Unrooted k-tree cover1. 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.14

Page 77: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Algorithm for Unrooted k-tree cover1. 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.14

Page 78: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Algorithm for Unrooted k-tree cover1. 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.14

Page 79: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Algorithm for Unrooted k-tree cover1. 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.14

Page 80: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

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.

– p.15

Page 81: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

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.

– p.15

Page 82: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

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.

– p.15

Page 83: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Proof: B∗ ≤ B ⇒ ki + 1 ≤ k∗i

Let optimal solution cover Gi with {T ∗1 , . . . , T ∗

k∗

i

}.Augment it to span Gi by adding k∗i − 1 edges, so:

k∗

i∑

j=1

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

Since w(T ∗i ) ≤ B∗ ≤ B,

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

⇒ k∗i ≥w(MSTi)

2B+

1

2> ki.

2

– p.16

Page 84: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Proof: B∗ ≤ B ⇒ ki + 1 ≤ k∗i

Let optimal solution cover Gi with {T ∗1 , . . . , T ∗

k∗

i

}.

Augment it to span Gi by adding k∗i − 1 edges, so:

k∗

i∑

j=1

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

Since w(T ∗i ) ≤ B∗ ≤ B,

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

⇒ k∗i ≥w(MSTi)

2B+

1

2> ki.

2

– p.16

Page 85: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Proof: B∗ ≤ B ⇒ ki + 1 ≤ k∗i

Let optimal solution cover Gi with {T ∗1 , . . . , T ∗

k∗

i

}.Augment it to span Gi by adding k∗i − 1 edges, so:

k∗

i∑

j=1

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

Since w(T ∗i ) ≤ B∗ ≤ B,

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

⇒ k∗i ≥w(MSTi)

2B+

1

2> ki.

2

– p.16

Page 86: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Proof: B∗ ≤ B ⇒ ki + 1 ≤ k∗i

Let optimal solution cover Gi with {T ∗1 , . . . , T ∗

k∗

i

}.Augment it to span Gi by adding k∗i − 1 edges, so:

k∗

i∑

j=1

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

Since w(T ∗i ) ≤ B∗ ≤ B,

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

⇒ k∗i ≥w(MSTi)

2B+

1

2> ki.

2

– p.16

Page 87: Covering Graphs Using Trees and Starshyde.eng.tau.ac.il/Talks/k_tree_cover.pdfCover the vertices of a graph with k tours. Balance the load of the agents: minimize the maximum tour

Proof: B∗ ≤ B ⇒ ki + 1 ≤ k∗i

Let optimal solution cover Gi with {T ∗1 , . . . , T ∗

k∗

i

}.Augment it to span Gi by adding k∗i − 1 edges, so:

k∗

i∑

j=1

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

Since w(T ∗i ) ≤ B∗ ≤ B,

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

⇒ k∗i ≥w(MSTi)

2B+

1

2> ki.

2

– p.16