1. Local Search for Minimum Spanning Trees

Consider the set of all spanning trees (not just minimum ones) of a weighted, connected, undirected

graph G = (V,E). Recall that adding an edge e to a spanning tree T creates an unique cycle, and

subsequently removing any other edge e0 6= e from this cycle gives back a different spanning tree T0.

We will say that T and T0 differ by a single edge swap (e, e0) and that they are neighbors.

(a) Show that it is possible to move from any spanning tree T to any other spanning tree T0 by

performing a series of edge-swaps, that is, by moving from neighbor to neighbor. At most how

many edge-swaps are needed?

(b) Show that if T0 is an MST, then it is possible to choose these swaps so that the costs of the

spanning trees encountered along the way are non-increasing. In other words, if the sequence of

spanning trees encountered is T = T0 ! T1 ! T2 ! Tk = T0; then cost(Ti+1) cost(Ti) for all

i < k.

(c) Consider the following local search algorithm which is given as input an undirected graph G.

Let T be any spanning tree of G

while there is an edge-swap (e, e0) which reduces cost(T):

T T + e − e0

return T

Show that this procedure always returns a minimum spanning tree. At most how many iterations

does it take?

Consider the set of all spanning trees (not just minimum ones) of a weighted, connected, undirected

graph G = (V,E). Recall that adding an edge e to a spanning tree T creates an unique cycle, and

subsequently removing any other edge e0 6= e from this cycle gives back a different spanning tree T0.

We will say that T and T0 differ by a single edge swap (e, e0) and that they are neighbors.

(a) Show that it is possible to move from any spanning tree T to any other spanning tree T0 by

performing a series of edge-swaps, that is, by moving from neighbor to neighbor. At most how

many edge-swaps are needed?

(b) Show that if T0 is an MST, then it is possible to choose these swaps so that the costs of the

spanning trees encountered along the way are non-increasing. In other words, if the sequence of

spanning trees encountered is T = T0 ! T1 ! T2 ! Tk = T0; then cost(Ti+1) cost(Ti) for all

i < k.

(c) Consider the following local search algorithm which is given as input an undirected graph G.

Let T be any spanning tree of G

while there is an edge-swap (e, e0) which reduces cost(T):

T T + e − e0

return T

Show that this procedure always returns a minimum spanning tree. At most how many iterations

does it take?

### Recently Asked Questions

- Thirty-five percent of teens buy soda (pop) at least once each week. Eleven kids are randomly selected. The random variable represents the number of these kids

- The standard deviation of the number of video game A’s outcomes is 0.5479, while the standard deviation of the number of video game B’s outcomes is 0.2498.

- A compound has a density of 0.231 g/ml. What is the real mass of the compound if the balance reads 0.7854g? note that the balance was calibrated with 300 g