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

by   Haizhou Du, et al.

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.


page 1

page 2

page 3

page 4


Solving Dynamic Graph Problems with Multi-Attention Deep Reinforcement Learning

Graph problems such as traveling salesman problem, or finding minimal St...

Solving NP-Hard Problems on Graphs by Reinforcement Learning without Domain Knowledge

We propose an algorithm based on reinforcement learning for solving NP-h...

Reinforcement Learning for Scalable Logic Optimization with Graph Neural Networks

Logic optimization is an NP-hard problem commonly approached through han...

What's Wrong with Deep Learning in Tree Search for Combinatorial Optimization

Combinatorial optimization lies at the core of many real-world problems....

The Power of Connection: Leveraging Network Analysis to Advance Receivable Financing

Receivable financing is the process whereby cash is advanced to firms ag...

Finding Influencers in Complex Networks: An Effective Deep Reinforcement Learning Approach

Maximizing influences in complex networks is a practically important but...

Generating a Graph Colouring Heuristic with Deep Q-Learning and Graph Neural Networks

The graph colouring problem consists of assigning labels, or colours, to...

Please sign up or login with your details

Forgot password? Click here to reset