The -minimum spanning tree problem, studied in
theoretical computer science
Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory.
It is difficult to circumsc ...
, asks for a tree of minimum cost that has exactly
vertices and forms a subgraph of a larger graph. It is also called the -MST or edge-weighted -cardinality tree. Finding this tree is
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
, but it can be approximated to within a constant
approximation ratio
An approximation is anything that is intentionally similar but not exactly equal to something else.
Etymology and usage
The word ''approximation'' is derived from Latin ''approximatus'', from ''proximus'' meaning ''very near'' and the prefix '' ...
in
polynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
.
Problem statement
The input to the problem consists of an
undirected graph
In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
with weights on its edges, and a The output is a tree with vertices and 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
[. As cited by .] and by .
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 -minimum spanning tree problem, the input is a set of points in the plane. Again, the output should be a tree with of the points as its vertices, minimizing the total
Euclidean length
Euclidean space is the fundamental space of geometry, intended to represent physical space. Originally, that is, in Euclid's ''Elements'', it was the three-dimensional space of Euclidean geometry, but in modern mathematics there are Euclidean ...
of its edges. That is, it is a graph -minimum spanning tree on a
complete graph
In the mathematical field of graph theory, a complete graph is a simple undirected graph in which every pair of distinct vertices is connected by a unique edge. A complete digraph is a directed graph in which every pair of distinct vertices ...
with Euclidean distances as weights.
[. A preliminary version of this work was presented earlier, at the 5th Annual ACM-SIAM Symposium on Discrete Algorithms, 1994, pp. 546–555.]
Computational complexity
When is a fixed constant, the -minimum spanning tree problem can be solved in
polynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
by a
brute-force search
In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of systematically enumerating all possible candidates for the soluti ...
algorithm that tries all -tuples of vertices.
However, for variable , the -minimum spanning tree problem has been shown to be
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
by a
reduction from the
Steiner tree
In combinatorial mathematics, the Steiner tree problem, or minimum Steiner tree problem, named after Jakob Steiner, is an umbrella term for a class of problems in combinatorial optimization. While Steiner tree problems may be formulated in a ...
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 -minimum spanning tree problem, attach to each terminal a tree of zero-weight edges with a large number of vertices per tree. (For a graph with vertices and terminals, they use added vertices per tree.) Then, they ask for the -minimum spanning tree in this augmented graph with . The only way to include this many vertices in a -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 , it is possible for -spanning tree to include only as few edges of the original graph as are needed to connect all the terminals. Therefore, the -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 , testing whether the optimal solution value is less than a given threshold is
NP-complete
In computational complexity theory, a problem is NP-complete when:
# it is a problem for which the correctness of each solution can be verified quickly (namely, in polynomial time) and a brute-force search algorithm can find a solution by tryin ...
. It remains NP-complete for
planar graph
In graph theory, a planar graph is a graph that can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. In other words, it can be drawn in such a way that no edges cro ...
s. 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 In mathematical logic, computational complexity theory, and computer science, the existential theory of the reals is the set of all true sentences of the form
\exists X_1 \cdots \exists X_n \, F(X_1,\dots, X_n),
where the variables X_i are interpre ...
.
The -minimum spanning tree may be found in
polynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
for graphs of bounded
treewidth
In graph theory, the treewidth of an undirected graph is an integer number which specifies, informally, how far the graph is from being a tree. The smallest treewidth is 1; the graphs with treewidth 1 are exactly the trees and the forests. The gr ...
, and for graphs with only two distinct edge weights.
Approximation algorithms
Because of the high computational complexity of finding an optimal solution to the -minimum spanning tree, much of the research on the problem has instead concentrated on
approximation algorithm
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP-hard problems) with provable guarantees on the distance of the returned solu ...
s for the problem. The goal of such algorithms is to find an approximate solution in polynomial time with a small
approximation ratio
An approximation is anything that is intentionally similar but not exactly equal to something else.
Etymology and usage
The word ''approximation'' is derived from Latin ''approximatus'', from ''proximus'' meaning ''very near'' and the prefix '' ...
. 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 -minimum spanning tree problem preserves the weight of all solutions, it also preserves the
hardness of approximation In computer science, hardness of approximation is a field that studies the algorithmic complexity of finding near-optimal solutions to optimization problems.
Scope
Hardness of approximation complements the study of approximation algorithms by pro ...
of the problem. In particular, because the Steiner tree problem is NP-hard to approximate to an
approximation ratio
An approximation is anything that is intentionally similar but not exactly equal to something else.
Etymology and usage
The word ''approximation'' is derived from Latin ''approximatus'', from ''proximus'' meaning ''very near'' and the prefix '' ...
better than 96/95, the same is true for the -minimum spanning tree problem.
The best approximation known for the general problem achieves an approximation ratio of 2, and is by . This approximation relies heavily on the primal-dual schema of .
When the input consists of points in the
Euclidean plane
In mathematics, the Euclidean plane is a Euclidean space of dimension two. That is, a geometric setting in which two real quantities are required to determine the position of each point ( element of the plane), which includes affine notions ...
(any two of which can be connected in the tree with cost equal to their distance) there exists a
polynomial time approximation scheme
In computer science (particularly algorithmics), a polynomial-time approximation scheme (PTAS) is a type of approximation algorithm for optimization problems (most often, NP-hard optimization problems).
A PTAS is an algorithm which takes an insta ...
devised by .
[.]
References
{{reflist
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
Spanning tree
NP-hard problems