Minimum Spanning Trees
E N D
Presentation Transcript
Minimum Spanning Trees Kun-Mao Chao (趙坤茂) Department of Computer Science and Information Engineering National Taiwan University, Taiwan E-mail: kmchao@csie.ntu.edu.tw WWW: http://www.csie.ntu.edu.tw/~kmchao
Minimum Spanning Trees • A minimum spanning tree (MST) of a weighted graph G is a spanning tree of G whose edges sum to the minimum weight. • In other words, a minimum spanning tree is a tree formed from a subset of the edges in a given undirected graph, with two properties: • it spans the graph, i.e., it includes every vertex in the graph, and • it is a minimum, i.e., the total weight of all the edges is as low as possible.
Minimum Spanning Trees The minimum spanning tree problem is always included in algorithm textbooks since • it arises in many applications, • it is an important example where greedy algorithms always deliver an optimal solution, and • clever data structures are necessary to make it work efficiently.
Bor\r{u}vka's Algorithm (1926)
Kruskal's Algorithm (1956)
Prim’s Algorithm (1957)
A simple hybrid algorithm • Bor\r{u}vka's Algorithm: O(m log n) • Prim’s Algorithm: O(m + n log n) • Kruskal’s Algorithm: O(m log m) • A hybrid algorithm of Bor\r{u}vka's Algorithm and Prim’s Algorithm: • O(m loglog n). How? Hint: First apply the contraction step in Bor\r{u}vka's Algorithm for O(loglog n) time.
Approximation algorithms • Since Levin & Cook (1971) & Karp (1972), many important problems have been shown to be NP-hard. • Heuristic vs. approximation algorithms • Ensuring the worst-case quality • The error ratio • Relative and Absolute • A k-approximation: minimization: sol/opt<=k;maximization: opt/sol<=k • The ratio is always >1
Polynomial time approximation scheme • For any fixed k>0, it finds a (1+k)-approximation in polynomial time. • Usually (1/k) appears in the time complexity, e.q. O(n/k), O(n1/k). • If (1/k) not in the exponent, FPTAS
An example – Minimum tour (MT) • Starting at a node, find a tour of min distance traveling all nodes and back to the starting node. 6 8 2 15 10 5 3 10 2
A doubling tree algorithm • Find a minimum spanning tree • Output the Euler tour in the doubling tree of MST 6 6 8 8 2 2 15 15 10 10 5 5 3 3 10 10 2 2
The error ratio • MST<=MT • MST is the minimum cost of any spanning tree. • A tour must contain a spanning tree since it is connected. • It is a 2-approximation • Triangle inequality => 2-approximation for TSP (visiting each city only once) Why?
All exact science is dominated by the • idea of approximation. • -- Bertrand Russell(1872 - 1970)