Vulcan: Solving the Steiner Tree Problem with Graph Neural Networks and Deep Reinforcement Learning

Steiner Tree Problem (STP) in graphs aims to find a tree of minimum weight in the graph that connects a given set of vertices. It is a classic NP-hard combinatorial optimization problem and has many real-world applications (e.g., VLSI chip design, transportation network planning and wireless sensor networks). Many exact and approximate algorithms have been developed for STP, but they suffer from high computational complexity and weak worst-case solution guarantees, respectively. Heuristic algorithms are also developed. However, each of them requires application domain knowledge to design and is only suitable for specific scenarios. Motivated by the recently reported observation that instances of the same NP-hard combinatorial problem may maintain the same or similar combinatorial structure but mainly differ in their data, we investigate the feasibility and benefits of applying machine learning techniques to solving STP. To this end, we design a novel model Vulcan based on novel graph neural networks and deep reinforcement learning. The core of Vulcan is a novel, compact graph embedding that transforms highdimensional graph structure data (i.e., path-changed information) into a low-dimensional vector representation. Given an STP instance, Vulcan uses this embedding to encode its pathrelated information and sends the encoded graph to a deep reinforcement learning component based on a double deep Q network (DDQN) to find solutions. In addition to STP, Vulcan can also find solutions to a wide range of NP-hard problems (e.g., SAT, MVC and X3C) by reducing them to STP. We implement a prototype of Vulcan and demonstrate its efficacy and efficiency with extensive experiments using real-world and synthetic datasets.

[1]  Marshall Wayne Bern Network design problems: steiner trees and spanning k -trees , 1987 .

[2]  Max Welling,et al.  Semi-Supervised Classification with Graph Convolutional Networks , 2016, ICLR.

[3]  Jure Leskovec,et al.  Graph Convolutional Neural Networks for Web-Scale Recommender Systems , 2018, KDD.

[4]  Daniel R. Figueiredo,et al.  struc2vec: Learning Node Representations from Structural Identity , 2017, KDD.

[5]  Zheng Lin,et al.  Learning Entity and Relation Embeddings for Knowledge Resolution , 2017, ICCS.

[6]  Le Song,et al.  2 Common Formulation for Greedy Algorithms on Graphs , 2018 .

[7]  Jakob N. Foerster,et al.  Exploratory Combinatorial Optimization with Reinforcement Learning , 2020, AAAI.

[8]  Henrik Esbensen,et al.  Computing near-optimal solutions to the steiner problem in a graph using a genetic algorithm , 1995, Networks.

[9]  Wei Wang,et al.  Fast Detection of Maximum Common Subgraph via Deep Q-Learning , 2020, ArXiv.

[10]  T. Koch,et al.  SteinLib: An Updated Library on Steiner Tree Problems in Graphs , 2001 .

[11]  Byron Choi,et al.  Graph Embedding for Combinatorial Optimization: A Survey , 2020, ArXiv.

[12]  P. Erdos,et al.  On the evolution of random graphs , 1984 .

[13]  David Bergman,et al.  Improving Optimization Bounds using Machine Learning: Decision Diagrams meet Deep Reinforcement Learning , 2018, AAAI.

[14]  S. E. Dreyfus,et al.  The steiner problem in graphs , 1971, Networks.

[15]  Demis Hassabis,et al.  Mastering the game of Go without human knowledge , 2017, Nature.

[16]  Li Liu,et al.  Aligning Users across Social Networks Using Network Embedding , 2016, IJCAI.

[17]  Samy Bengio,et al.  Neural Combinatorial Optimization with Reinforcement Learning , 2016, ICLR.

[18]  Ambuj K. Singh,et al.  Learning Heuristics over Large Graphs via Deep Reinforcement Learning , 2019, ArXiv.

[19]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[20]  Norio Shiratori,et al.  Neural network for optimal steiner tree computation , 2004, Neural Processing Letters.

[21]  Bruce A. Reed,et al.  A Critical Point for Random Graphs with a Given Degree Sequence , 1995, Random Struct. Algorithms.

[22]  Le Song,et al.  Discriminative Embeddings of Latent Variable Models for Structured Data , 2016, ICML.

[23]  Xavier Bresson,et al.  Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering , 2016, NIPS.

[24]  Chang Zhou,et al.  Scalable Graph Embedding for Asymmetric Proximity , 2017, AAAI.

[25]  Jure Leskovec,et al.  Representation Learning on Graphs: Methods and Applications , 2017, IEEE Data Eng. Bull..

[26]  Thomas Stützle,et al.  SATLIB: An Online Resource for Research on SAT , 2000 .

[27]  Gerhard Weikum,et al.  STAR: Steiner-Tree Approximation in Relationship Graphs , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[28]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[29]  H. Prömel,et al.  The Steiner Tree Problem: A Tour through Graphs, Algorithms, and Complexity , 2002 .

[30]  Louis-Martin Rousseau,et al.  Combining Reinforcement Learning and Constraint Programming for Combinatorial Optimization , 2020, AAAI.

[31]  Raia Hadsell,et al.  Neural Execution of Graph Algorithms , 2020, ICLR.

[32]  Zhuwen Li,et al.  Combinatorial Optimization with Graph Convolutional Networks and Guided Tree Search , 2018, NeurIPS.

[33]  R. van Nes,et al.  Design of multimodal transport networks: A hierarchical approach , 2002 .

[34]  M. R. Rao,et al.  Solving the Steiner Tree Problem on a Graph Using Branch and Cut , 1992, INFORMS J. Comput..

[35]  Nicolas Zufferey,et al.  An Ant Algorithm for the Steiner Tree Problem in Graphs , 2009, EvoWorkshops.

[36]  Xiaolong Jin,et al.  Predict Anchor Links across Social Networks via an Embedding Approach , 2016, IJCAI.

[37]  Shane Legg,et al.  Human-level control through deep reinforcement learning , 2015, Nature.

[38]  Thorsten Koch,et al.  Solving Steiner tree problems in graphs to optimality , 1998, Networks.

[39]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 1998, IEEE Trans. Neural Networks.

[40]  Zhen Wang,et al.  Knowledge Graph Embedding by Translating on Hyperplanes , 2014, AAAI.

[42]  Martin Grötschel,et al.  The steiner tree packing problem in VLSI design , 1997, Math. Program..

[43]  Masahiro Ono,et al.  Co-training for Policy Learning , 2019, UAI.

[44]  David Silver,et al.  Deep Reinforcement Learning with Double Q-Learning , 2015, AAAI.

[45]  Yoichi Iwata,et al.  Separator-Based Pruned Dynamic Programming for Steiner Tree , 2019, AAAI.

[46]  J. Hartmanis Computers and Intractability: A Guide to the Theory of NP-Completeness (Michael R. Garey and David S. Johnson) , 1982 .

[47]  George Markowsky,et al.  A fast algorithm for Steiner trees , 1981, Acta Informatica.