The Minimum Spanning Tree Problem
A minimum spanning tree (MST) of a connected, undirected, weighted graph is a tree connecting all vertices with the smallest possible total edge weight. MSTs underpin network design, clustering, and approximation algorithms.
Definitions
Given a connected undirected graph with weight function , a spanning tree is an acyclic subset that connects all vertices (). A minimum spanning tree minimises:
MSTs need not be unique when edge weights tie.
The Cut Property
For any cut (a partition of ), a light edge crossing the cut is one whose weight is minimum among all crossing edges. Light edges are not necessarily unique.
Cut Property: For any cut, every light edge crossing the cut belongs to some MST.
Proof
Let be a light edge crossing cut . Suppose is not in some MST . Since is spanning and connected, adding to creates a unique cycle. This cycle must cross the cut at least twice: once with , and at least once with another edge crossing the cut. Since is a light edge, . Remove from ; the resulting tree has weight . Since was minimum, is also minimum, and it contains . So belongs to some MST.
The Cycle Property
Cycle Property: For any cycle in , the maximum-weight edge in the cycle cannot belong to any MST.
Proof
Let be the unique maximum-weight edge on some cycle . Suppose is in some MST . Removing partitions into two components. Since connects these components via some other edge , adding and removing yields a spanning tree with , contradiction.
Generic MST Algorithm
Both Kruskal’s and Prim’s algorithms are instances of a generic strategy:
GENERIC-MST(G, w):
A = empty set
while A does not form a spanning tree:
find a safe edge (u, v) for A
A = A union {(u, v)}
return A
An edge is safe for if is a subset of some MST. The cut property provides a way to find safe edges: any light edge crossing a cut that respects (no edges of cross the cut) is safe for .
Proof of Safe-Edge Theorem
Let be a subset of some MST , and let be any cut respecting . Let be a light edge crossing the cut. If , done. Otherwise, contains a cycle. This cycle must cross the cut (since does), so there is another edge on the cycle crossing the cut. (since the cut respects ). Remove ; the new tree is an MST with , so is safe.
Example
Graph with 6 vertices and edges: , , , , , , , , . Weights in third position.
The MST has total weight using edges: , , , , .
Summary
| Concept | Definition |
|---|---|
| Spanning tree | Acyclic subgraph connecting all vertices |
| MST | Spanning tree with minimum total weight |
| Cut property | Light edge crossing any cut is in some MST |
| Cycle property | Maximum-weight edge on a cycle is in no MST |
| Safe edge | Adding it to keeps subset of some MST |
| Respecting cut | No edges of cross the cut |
Past Tripos: y2024p2q7, y2023p1q9.