+ All Categories
Home > Documents > Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G),...

Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G),...

Date post: 10-Mar-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
22
Spanning trees, II Lecture 12
Transcript
Page 1: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Spanning trees, II

Lecture 12

Page 2: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Theorem 2.4 (Prufer, 1918): Every vector (a1, . . . ,an−2) withai ∈ {1, . . . ,n} for each i is the Prufer code of exactly onelabeled n-vertex tree.

Proof. Uniqueness. By (P1) we know an−1 = n. Then by (P3),we can reconstruct bi for all 1 ≤ i ≤ n − 1. Thus the edges area1b1, . . . ,an−1bn−1.

Existence. Given (a1, . . . ,an−2), we let an−1 = n and definenumbers bi by (P3). Now consider the edges going froman−1bn−1 backwards and check that for each i , bi is a leaf in thegraph formed by the edges a1b1, . . . ,aibi .

Corollary 2.5 (Cayley’s Formula, Borchardt 1860): There arenn−2 labeled n-vertex trees.

Page 3: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Theorem 2.4 (Prufer, 1918): Every vector (a1, . . . ,an−2) withai ∈ {1, . . . ,n} for each i is the Prufer code of exactly onelabeled n-vertex tree.

Proof. Uniqueness. By (P1) we know an−1 = n. Then by (P3),we can reconstruct bi for all 1 ≤ i ≤ n − 1. Thus the edges area1b1, . . . ,an−1bn−1.

Existence. Given (a1, . . . ,an−2), we let an−1 = n and definenumbers bi by (P3). Now consider the edges going froman−1bn−1 backwards and check that for each i , bi is a leaf in thegraph formed by the edges a1b1, . . . ,aibi .

Corollary 2.5 (Cayley’s Formula, Borchardt 1860): There arenn−2 labeled n-vertex trees.

Page 4: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Theorem 2.4 (Prufer, 1918): Every vector (a1, . . . ,an−2) withai ∈ {1, . . . ,n} for each i is the Prufer code of exactly onelabeled n-vertex tree.

Proof. Uniqueness. By (P1) we know an−1 = n. Then by (P3),we can reconstruct bi for all 1 ≤ i ≤ n − 1. Thus the edges area1b1, . . . ,an−1bn−1.

Existence. Given (a1, . . . ,an−2), we let an−1 = n and definenumbers bi by (P3). Now consider the edges going froman−1bn−1 backwards and check that for each i , bi is a leaf in thegraph formed by the edges a1b1, . . . ,aibi .

Corollary 2.5 (Cayley’s Formula, Borchardt 1860): There arenn−2 labeled n-vertex trees.

Page 5: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Theorem 2.4 (Prufer, 1918): Every vector (a1, . . . ,an−2) withai ∈ {1, . . . ,n} for each i is the Prufer code of exactly onelabeled n-vertex tree.

Proof. Uniqueness. By (P1) we know an−1 = n. Then by (P3),we can reconstruct bi for all 1 ≤ i ≤ n − 1. Thus the edges area1b1, . . . ,an−1bn−1.

Existence. Given (a1, . . . ,an−2), we let an−1 = n and definenumbers bi by (P3). Now consider the edges going froman−1bn−1 backwards and check that for each i , bi is a leaf in thegraph formed by the edges a1b1, . . . ,aibi .

Corollary 2.5 (Cayley’s Formula, Borchardt 1860): There arenn−2 labeled n-vertex trees.

Page 6: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

A subgraph of a graph G is spanning if its vertex set is V (G).

A spanning tree in a graph G is a spanning subgraph of G thatis a tree.

A graph has a spanning tree if and only if ?????

Cayley’s Formula tells us the number of spanning trees in Kn.

The number of spanning trees, τ(G), of a graph G is useful insome applications.

Theorem 2.6 (Matrix Tree Theorem) Let G be a loopless graphwith V (G) = {v1, . . . , vn} and ai,j edges connecting vi and vj .

Let Q = (qi,j)ni,j=1, where qi,j =

{d(vi), if j = i ;−ai,j , if j 6= i .

Let Qs,t be obtained from Q by deleting row s and column t .Then τ(G) = (−1)s+t det Qs,t .

Page 7: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

A subgraph of a graph G is spanning if its vertex set is V (G).

A spanning tree in a graph G is a spanning subgraph of G thatis a tree.

A graph has a spanning tree if and only if ?????

Cayley’s Formula tells us the number of spanning trees in Kn.

The number of spanning trees, τ(G), of a graph G is useful insome applications.

Theorem 2.6 (Matrix Tree Theorem) Let G be a loopless graphwith V (G) = {v1, . . . , vn} and ai,j edges connecting vi and vj .

Let Q = (qi,j)ni,j=1, where qi,j =

{d(vi), if j = i ;−ai,j , if j 6= i .

Let Qs,t be obtained from Q by deleting row s and column t .Then τ(G) = (−1)s+t det Qs,t .

Page 8: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Minimum spanning treesIn many applications, it makes sense to consider anedge-weighted graph, which is a graph G = (V (G), (E)) alongwith a weight function w : E(G)→ R that associates a realnumber (the weight) to each edge.

An application might be if you have multiple villages you want toconnect with roads, the villages are all vertices, while the edgescan be weighted with the cost to build a road between thosetwo villages. You might want to minimize the cost of roadconstruction.

Similarly, you may have a set of computers that you want toconnect into a network, and the cost of connecting computer iwith computer j is ci,j . Again you may want to economize.

Page 9: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

In both examples, we are looking for a spanning connectedsubgraph of our graph with the sum of the weights of the edgesas small as possible.

Of course, if we have edges with negative weights, we’d betterinclude all of them. If the resulting graph is connected, then weare done. If not, we can shrink each component into a vertexand consider the resulting graph with modified weights.

In view of this observation, we will assume all edge weights arenon-negative. In this case, among spanning subgraphs ofminimum total weight there always are spanning trees.

This motivates us to study the Minimum Spanning TreeProblem in a graph. As we know, Kn has nn−2 distinct spanningtrees, so the idea to look at all such trees and choose amongthem a tree of minimum weight is not a great idea.

Page 10: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

In both examples, we are looking for a spanning connectedsubgraph of our graph with the sum of the weights of the edgesas small as possible.

Of course, if we have edges with negative weights, we’d betterinclude all of them. If the resulting graph is connected, then weare done. If not, we can shrink each component into a vertexand consider the resulting graph with modified weights.

In view of this observation, we will assume all edge weights arenon-negative. In this case, among spanning subgraphs ofminimum total weight there always are spanning trees.

This motivates us to study the Minimum Spanning TreeProblem in a graph. As we know, Kn has nn−2 distinct spanningtrees, so the idea to look at all such trees and choose amongthem a tree of minimum weight is not a great idea.

Page 11: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

In both examples, we are looking for a spanning connectedsubgraph of our graph with the sum of the weights of the edgesas small as possible.

Of course, if we have edges with negative weights, we’d betterinclude all of them. If the resulting graph is connected, then weare done. If not, we can shrink each component into a vertexand consider the resulting graph with modified weights.

In view of this observation, we will assume all edge weights arenon-negative. In this case, among spanning subgraphs ofminimum total weight there always are spanning trees.

This motivates us to study the Minimum Spanning TreeProblem in a graph. As we know, Kn has nn−2 distinct spanningtrees, so the idea to look at all such trees and choose amongthem a tree of minimum weight is not a great idea.

Page 12: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

A lemmaLemma 2.7 : Let G be a connected loopless graph withweighted edges, where w(e) ≥ 0 for every e ∈ E(G).Let T1, . . . ,Tk be vertex-disjoint trees contained in G such thatV (T1) ∪ . . . ∪ V (Tk ) = V (G).Let e0 be an edge of the minimum weight among the edges ofG connecting V (T1) with V (G)− V (T1).Then among the containing E(T1) ∪ . . . ∪ E(Tk ) spanning treesof G of minimum weight, there is a tree containing e0.

Proof. Let n = V (G). Let T0 be a spanning tree of G containingE(T1) ∪ . . . ∪ E(Tk ) of minimum weight.

Suppose e0 = xy where x ∈ V (T1) and y ∈ V (G)− V (T1).If e0 ∈ E(T0), then we are done.

Page 13: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

A lemmaLemma 2.7 : Let G be a connected loopless graph withweighted edges, where w(e) ≥ 0 for every e ∈ E(G).Let T1, . . . ,Tk be vertex-disjoint trees contained in G such thatV (T1) ∪ . . . ∪ V (Tk ) = V (G).Let e0 be an edge of the minimum weight among the edges ofG connecting V (T1) with V (G)− V (T1).Then among the containing E(T1) ∪ . . . ∪ E(Tk ) spanning treesof G of minimum weight, there is a tree containing e0.

Proof. Let n = V (G). Let T0 be a spanning tree of G containingE(T1) ∪ . . . ∪ E(Tk ) of minimum weight.

Suppose e0 = xy where x ∈ V (T1) and y ∈ V (G)− V (T1).If e0 ∈ E(T0), then we are done.

Page 14: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Otherwise, T ′ = T0 + e0 is a connected graph with n edgescontaining exactly one cycle, say C. By construction,e0 ∈ E(C).Since x ∈ V (T1) and y ∈ V (G)− V (T1), cycle C containsanother edge e1 connecting V (T1) with V (G)− V (T1).Then T ′′ := T ′ − e1 is a connected graph with n − 1 edges;hence a spanning tree of G. Moreover, by the choice of e0,w(e0) ≤ w(e1).

Therefore,∑

e∈E(T ′′) w(e) ≤∑

e∈E(T0)w(e). It follows that T ′′

also is a spanning tree of G containing E(T1) ∪ . . . ∪ E(Tk ) ofminimum weight.

Page 15: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Otherwise, T ′ = T0 + e0 is a connected graph with n edgescontaining exactly one cycle, say C. By construction,e0 ∈ E(C).Since x ∈ V (T1) and y ∈ V (G)− V (T1), cycle C containsanother edge e1 connecting V (T1) with V (G)− V (T1).Then T ′′ := T ′ − e1 is a connected graph with n − 1 edges;hence a spanning tree of G. Moreover, by the choice of e0,w(e0) ≤ w(e1).

Therefore,∑

e∈E(T ′′) w(e) ≤∑

e∈E(T0)w(e). It follows that T ′′

also is a spanning tree of G containing E(T1) ∪ . . . ∪ E(Tk ) ofminimum weight.

Page 16: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Prim’s Algorithm:Input: A weighted connected n-vertex graph G, say,V (G) = {v1, . . . , vn}.

Goal: A spanning tree with the minimum total weight of theedges.

Initialization: Let V0 := {v1} and E(T ) := ∅.

Step i (i = 1, . . . ,n − 1): Let ei be an edge of minimum weightamong the edges connecting V0 with V (G)− V0. If ei = xy ,where x ∈ V0 and y ∈ V (G)− V0, then let V0 := V0 ∪ {y} andE(T ) := E(T ) ∪ {ei}.

Proof: By Lemma 1.

Page 17: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Kruskal’s Algorithm:Input: A weighted connected n-vertex graph G, say,E(G) = {e1, . . . ,em}.

Goal: A spanning tree with the minimum total weight of theedges.

Initialization: Reorder the edges so thatw(e1) ≤ w(e2) ≤ . . . ≤ w(em). Let E(T ) := ∅.

Step j (j = 1, . . . ,m): If E(T ) ∪ {ej} does not contain cycles,then let E(T ) = E(T ) ∪ {ej}. Otherwise, do nothing.

Proof: By Lemma 1.

What if we want to find a spanning tree of maximum totalweight?

Page 18: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Main theorems in Chapter 2:1. A Characterization Theorem for trees (Theorem 2.2).

2. Jordan’s Theorem on centers of trees (Theorem 2.3).

3. Theorem on Prufer codes, Cayley’s Formula.

4. Matrix Tree Theorem (Theorem 2.6).

5. Prim’s and Kruskal’s algorithms.

Page 19: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Main theorems in Chapter 2:1. A Characterization Theorem for trees (Theorem 2.2).

2. Jordan’s Theorem on centers of trees (Theorem 2.3).

3. Theorem on Prufer codes, Cayley’s Formula.

4. Matrix Tree Theorem (Theorem 2.6).

5. Prim’s and Kruskal’s algorithms.

Page 20: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Main theorems in Chapter 2:1. A Characterization Theorem for trees (Theorem 2.2).

2. Jordan’s Theorem on centers of trees (Theorem 2.3).

3. Theorem on Prufer codes, Cayley’s Formula.

4. Matrix Tree Theorem (Theorem 2.6).

5. Prim’s and Kruskal’s algorithms.

Page 21: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Main theorems in Chapter 2:1. A Characterization Theorem for trees (Theorem 2.2).

2. Jordan’s Theorem on centers of trees (Theorem 2.3).

3. Theorem on Prufer codes, Cayley’s Formula.

4. Matrix Tree Theorem (Theorem 2.6).

5. Prim’s and Kruskal’s algorithms.

Page 22: Spanning trees, IIkostochk/math412-10/... · 2021. 2. 22. · Thenumber of spanning trees, ˝(G), of a graph G is useful in some applications. Theorem 2.6 (Matrix Tree Theorem)Let

Main theorems in Chapter 2:1. A Characterization Theorem for trees (Theorem 2.2).

2. Jordan’s Theorem on centers of trees (Theorem 2.3).

3. Theorem on Prufer codes, Cayley’s Formula.

4. Matrix Tree Theorem (Theorem 2.6).

5. Prim’s and Kruskal’s algorithms.


Recommended