Polynomial Delay Enumeration for Minimal Steiner Problems
Let G = (V, E) be a undirected graph and let W ⊆ V be a set of terminals. A Steiner subgraph of (G, W) is a subgraph of G that contains all vertices of W and there is a path between every pair of vertices of W in the subgraph. We say that a Steiner subgraph is minimal if it has no proper Steiner subgraph. It is easy to observe that every minimal Steiner subgraph forms a tree, which is called a minimal Steiner tree. We propose a linear delay and polynomial space algorithm for enumerating all minimal Steiner trees of (G, W), which improves a previously known polynomial delay enumeration algorithm in [Kimelfeld and Sagiv, Inf. Syst., 2008]. Our enumeration algorithm can be extended to other Steiner problems: minimal Steiner forests, minimal terminal Steiner trees, minimal directed Steiner trees. As another variant of the minimal Steiner subgraph problem, we study the problem of enumerating minimal induced Steiner subgraphs. We propose a polynomial delay and exponential space enumeration algorithm of minimal induced Steiner subgraphs for claw-free graphs, whereas the problem on general graphs is shown to be at least as hard as the problem of enumerating minimal transversals in hypergraphs. Contrary to these tractable results, we show that the problem of enumerating minimal group Steiner trees is at least as hard as the minimal transversal enumeration problem on hypergraphs.
READ FULL TEXT