Cost-constrained Minimal Steiner Tree Enumeration by Binary Decision Diagram

Abstract

The Steiner tree enumeration problem is a well known problem that asks for enumerating Steiner trees. Numerous theoretical works proposed algorithms for the problem and analyzed their complexity, but there are no practical algorithms and experimental studies. In this paper, we study the Steiner tree enumeration problem practically. We define a problem cost-constrained minimal Steiner tree enumeration problem, which enumerates minimal Steiner trees with costs not larger than a given threshold. To solve the problem, we propose a binary decision diagram (BDD)-based algorithm. The BDD-based algorithm constructs a BDD that compactly represents the set of minimal Steiner trees and then traverses the BDD for enumeration. We develop a novel frontier-based algorithm to efficiently construct BDDs. Our BDD traverse algorithm prunes Steiner trees with costs larger than the threshold. We also extend our algorithm by preprocessing the given graph and controlling the number of generated Steiner trees in order to reduce the memory and computation costs. The extension makes our algorithm scalable by generating a subset of the minimal Steiner trees. We validate that our algorithm can enumerate Steiner trees in real-world graphs more efficiently than existing methods.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…