ArticleslgStudy

science

K-minimum spanning tree

K-minimum spanning tree is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand K-minimum spanning tree rather than just read about it. In short: The k-minimum spanning tree problem, studied in theoretical computer science, asks for a tree of minimum cost that has exactly k vertices and forms a subgraph of a larger graph. It is also called the k-MST or edge-weighted k-cardinality tree.

K-minimum spanning tree — main illustration
K-minimum spanning tree — illustration

Key takeaways

  • K-minimum spanning tree belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect K-minimum spanning tree to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of K-minimum spanning tree from memory before moving on to harder problems.

Reference excerpt

The k-minimum spanning tree problem, studied in theoretical computer science, asks for a tree of minimum cost that has exactly k vertices and forms a subgraph of a larger graph. It is also called the k-MST or edge-weighted k-cardinality tree. Finding this tree is NP-hard, but it can be approximated to within a constant approximation ratio in polynomial time.

Problem statement The input to the problem consists of an undirected graph with weights on its edges, and a number k. The output is a tree with k vertices and k − 1 edges, with all of the edges of the output tree belonging to the input graph. The cost of the output is the sum of the weights of its edges, and the goal is to find the tree that has minimum cost. The problem was formulated by Lozovanu & Zelikovsky (1993) and by Ravi et al. (1996). Ravi et al. also considered a geometric version of the problem, which can be seen as a special case of the graph problem. In the geometric k-minimum spanning tree problem, the input is a set of points in the plane. Again, the output should be a tree with k of the points as its vertices, minimizing the total Euclidean length of its edges. That is, it is a graph k-minimum spanning tree on a complete graph with Euclidean distances as weights.

Computational complexity When k is a fixed constant, the k-minimum spanning tree problem can be solved in polynomial time by a brute-force search algorithm that tries all k-tuples of vertices. However, for variable k, the k-minimum spanning tree problem has been shown to be NP-hard by a reduction from the Steiner tree problem. The reduction takes as input an instance of the Steiner tree problem: a weighted graph, with a subset of its vertices selected as terminals. The goal of the Steiner tree problem is to connect these terminals by a tree whose weight is as small as possible. To transform this problem into an instance of the k-minimum spanning tree problem, Ravi et al. (1996) attach to each terminal a tree of zero-weight edges with a large number t of vertices per tree. (For a graph with n vertices and r terminals, they use t = n − r − 1 added vertices per tree.) Then, they ask for the k-minimum spanning tree in this augmented graph with k = rt. The only way to include this many vertices in a k-spanning tree is to use at least one vertex from each added tree, for there are not enough vertices remaining if even one of the added trees is missed. However, for this choice of k, it is possible for k-spanning tree to include only as few edges of the original graph as are needed to connect all the terminals. Therefore, the k-minimum spanning tree must be formed by combining the optimal Steiner tree with enough of the zero-weight edges of the added trees to make the total tree size large enough. Even for a graph whose edge weights belong to the set {1, 2, 3}, testing whether the optimal solution value is less than a given threshold is NP-complete. It remains NP-complete for planar graphs. The geometric version of the problem is also NP-hard, but not known to belong to NP, because of the difficulty of comparing sums of square roots; instead it lies in the class of problems reducible to the existential theory of the reals. The k-minimum spanning tree may be found in polynomial time for graphs of bounded treewidth, and for graphs with only two distinct edge weights.

Approximation algorithms Because of the high computational complexity of finding an optimal solution to the k-minimum spanning tree, much of the research on the problem has instead concentrated on approximation algorithms for the problem. The goal of such algorithms is to find an approximate solution in polynomial time with a small approximation ratio. The approximation ratio is defined as the ratio of the computed solution length to the optimal length for a worst-case instance, one that maximizes this ratio. Because the NP-hardness reduction for the k-minimum spanning tree problem preserves the weight of all solutions, it also preserves the hardness of approximation of the problem. In particular, because the Steiner tree problem is NP-hard to approximate to an approximation ratio better than 96/95, the same is true for the k-minimum spanning tree problem. The best approximation known for the general problem achieves an approximation ratio of 2, and is by Garg (2005). This approximation relies heavily on the primal-dual schema of Goemans & Williamson (1992). When the input consists of points in the Euclidean plane (any two of which can be connected in the tree with cost equal to their distance) there exists a polynomial time approximation scheme devised by Arora (1998).

References

External links Minimum k-spanning tree in "A compendium of NP optimization problems" KCTLIB, KCTLIB -- A Library for the Edge-Weighted K-Cardinality Tree Problem

Illustrations

K-minimum spanning tree: An example of an undirected graph 
  
    
      
        G
      
    
    {\displaystyle G}
  
 with edge costs
An example of an undirected graph G {\displaystyle G} with edge costs
K-minimum spanning tree: The 4-MST of 
  
    
      
        G
      
    
    {\displaystyle G}
The 4-MST of G {\displaystyle G}
K-minimum spanning tree: The 6-MST of 
  
    
      
        G
      
    
    {\displaystyle G}
The 6-MST of G {\displaystyle G}

Worked examples

Example 1 — a first encounter with K-minimum spanning tree

Start with the simplest possible case. Write down what K-minimum spanning tree claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to K-minimum spanning tree before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about K-minimum spanning tree ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of K-minimum spanning tree

In research
K-minimum spanning tree appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses K-minimum spanning tree in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
K-minimum spanning tree is common in secondary-school and first-year university syllabi. It links to neighbouring topics NP-hard problems, Spanning tree, so understanding it makes those chapters shorter.
In everyday life
Look for K-minimum spanning tree outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study K-minimum spanning tree in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what K-minimum spanning tree means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain K-minimum spanning tree out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is K-minimum spanning tree in simple terms?

The k-minimum spanning tree problem, studied in theoretical computer science, asks for a tree of minimum cost that has exactly k vertices and forms a subgraph of a larger graph. It is also called the k-MST or edge-weighted k-cardinality tree.

Why does K-minimum spanning tree matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study K-minimum spanning tree?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on K-minimum spanning tree.

Tags

  • NP-hard problems
  • Spanning tree

Keep exploring