Charles Explorer logo
🇬🇧

Approximation Algorithms for Steiner Tree Based on Star Contractions: A Unified View

Publication at Faculty of Mathematics and Physics |
2020

Abstract

In the Steiner Tree problem, we are given an edge-weighted undirected graph G = (V,E) and a set of terminals R SUBSET OF OR EQUAL TO V. The task is to find a connected subgraph of G containing R and minimizing the sum of weights of its edges.

Steiner Tree is well known to be NP-complete and is undoubtedly one of the most studied problems in (applied) computer science. We observe that many approximation algorithms for Steiner Tree follow a similar scheme (meta-algorithm) and perform (exhaustively) a similar routine which we call star contraction.

Here, by a star contraction, we mean finding a star-like subgraph in (the metric closure of) the input graph minimizing the ratio of its weight to the number of contained terminals minus one; and contract. It is not hard to see that the well-known MST-approximation seeks the best star to contract among those containing two terminals only.

Zelikovsky's approximation algorithm follows a similar workflow, finding the best star among those containing three terminals. We perform an empirical study of star contractions with the relaxed condition on the number of terminals in each star contraction motivated by a recent result of Dvořák et al. [Parameterized Approximation Schemes for Steiner Trees with Small Number of Steiner Vertices, STACS 2018].

Furthermore, we propose two improvements of Zelikovsky's 11/6-approximation algorithm and we empirically confirm that the quality of the solution returned by any of these is better than the one returned by the former algorithm. However, such an improvement is exchanged for a slower running time (up to a multiplicative factor of the number of terminals).