Minimum Spanning Trees A Network Design Problem Given: undirected - - PowerPoint PPT Presentation

minimum spanning trees a network design problem
SMART_READER_LITE
LIVE PREVIEW

Minimum Spanning Trees A Network Design Problem Given: undirected - - PowerPoint PPT Presentation

Minimum Spanning Trees A Network Design Problem Given: undirected graph G = (V , E) with edge costs c e > 0 5" b" c" 2" 1" 8" a" d" 7" 3" Find: edge subset T E such 4"


slide-1
SLIDE 1

Minimum Spanning Trees

slide-2
SLIDE 2

A Network Design Problem

Given: undirected graph G = (V , E) with edge costs ce > 0 Find: edge subset T ⊆ E such that (V , T) is connected and total cost ∑e ∈ T ce is as small as possible

a" b" e" c" f" d" 1" 3" 4" 5" 8" 9" 2" 7" 6"

Fundamental problem with many applications!

slide-3
SLIDE 3

Example

Example on board: total cost of different subgraphs

slide-4
SLIDE 4

Minimum Spanning Tree Problem

  • Lemma. Let T be a minimum-cost solution of the

network design problem. Then (V , T) is a tree. Proof on board

  • Definition. T ⊆ E is a spanning tree if (V

, T) is a tree Network design problem is the Minimum Spanning Tree (MST) Problem

slide-5
SLIDE 5

Greedy MST Template (Kruskal and Prim)

“Grow” a tree greedily T = {} While |T| < n-1 { / / (V , T) is not connected Pick “best” edge e that does not create a cycle when added to T T = T ∪ {e} }

slide-6
SLIDE 6

Kruskal’ s Algorithm

Grow many small trees Sort edges by weight: c1 ≤ c2 ≤ … ≤ cm T = {} for e = 1 to m { if adding e to T does not cause a cycle { T = T ∪ {e} } } Example on board

slide-7
SLIDE 7

Prim’ s Algorithm

Grow a tree outward from starting node s T = {} S = {s} /

/ connected nodes

While |T| < n-1 { Let e = (u, v) be the minimum cost edge from S to V-S T = T ∪ {e} S = S ∪ {v} } Example on board

slide-8
SLIDE 8

Analysis: Cut Property

Simplifying assumption. All edge weights are distinct. Theorem (Cut Property). Assume edge weights are distinct, and let (S, V-S) be a partition of V into two nonempty sets. Let e = (v, w) be the minimum cost with v ∈ S and w ∉ S. Then every minimum spanning tree contains e. Illustration and proof on board

slide-9
SLIDE 9

Correctness of Prim’ s Algorithm

Theorem: the tree T returned by Prim’ s algorithm is a minimum spanning tree. Proof? (Hint: maintain invariant that T is a subset of some MST, use the cut property)

slide-10
SLIDE 10

Correctness of Kruskal’ s Algorithm

Theorem: the tree T returned by Kruskal’ s algorithm is a minimum spanning tree. Proof? What cut can you use to prove that Kruskal’ s algorithm is correct?

slide-11
SLIDE 11

Removing Distinctness Assumption

Idea: Break ties in weights by adding tiny amount to each edge weight so they become distinct. If perturbations are small enough then: cost(T) > cost(T’) before ⇒ cost(T) > cost(T’) after Implementation: break ties arbitrarily (e.g., lexicographically)

slide-12
SLIDE 12

Network Design: Steiner Tree Problem

Given: undirected graph G = (V , E) with edge costs ce > 0 and terminals X ⊆ V Find: edge subset T ⊆ E such that (V , T) has a path between each pair of terminals and the total cost ∑e ∈ T ce is as small as possible

a" b" e" c" f" d" 1" 3" 4" 5" 8" 9" 2" 7" 6"

Easier? Harder?

slide-13
SLIDE 13

Spatial Conservation Planning

...

!"#$%# "

  • Which land should I buy to maximize the spread
  • f an endangered species?
  • Optimization problem over a graph: decide which

nodes to add to the graph, given a fixed budget

slide-14
SLIDE 14

Conservation Strategies

Our solution Greedy baseline

Conservation Reservoir Corridors Building outward from sources Initial population

Formulate and solve network design problem as an integer program