Steiner Tree is NP-complete #
Umbrella file for DescriptiveComplexity.SteinerTree, the node-weighted Steiner tree
with unit weights (defined in DescriptiveComplexity.Problems.Steiner.Defs), deriving
NP-completeness from
DescriptiveComplexity.steinerTree_sigmaSODefinable(DescriptiveComplexity.Problems.Steiner.Membership): membership, by guessing the chosen set, a root, an order certifying connectivity, and the threshold injection;DescriptiveComplexity.vertexCover_ordered_fo_reduction_steinerTree(DescriptiveComplexity.Problems.Steiner.Reductions): hardness, from the NP-hardness of Vertex Cover (DescriptiveComplexity.Problems.CliqueFamily), and so ultimately from the Cook–Levin theorem, with no machine model anywhere.
As with any complexity-theoretic statement, these results are about finite
structures only
(DescriptiveComplexity.ComplexityClass.mem_congr_finite/hard_congr_finite).
Steiner Tree is in NP: it is Σ₁-definable.
Dependency graph
Steiner Tree is NP-hard: Vertex Cover, which is NP-hard, ordered-FO-reduces to it by the edge-incidence structure with a root.
Dependency graph
Steiner Tree is NP-complete, derived from the first-order reductions of this library and the Cook–Levin theorem.
Dependency graph
The edge-weighted variant #
The edge-weighted Steiner Tree is in NP: it is Σ₁-definable.
Dependency graph
The edge-weighted Steiner Tree is NP-hard: Vertex Cover, which is NP-hard, ordered-FO-reduces to it.
Dependency graph
The edge-weighted Steiner Tree is NP-complete – Karp's original reading of the problem.