Cost-constrained Minimal Steiner Tree Enumeration by Binary Decision Diagram

04/14/2021
by   Yuya Sasaki, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset