  Detecting the Maximum Common Subgraph (MCS) between two input graphs is
fundamental for applications in drug synthesis, malware detection, cloud
computing, etc. However, MCS computation is NP-hard, and state-of-the-art MCS
solvers rely on heuristic search algorithms which in practice cannot find good
solution for large graph pairs given a limited computation budget. We propose
GLSearch, a Graph Neural Network (GNN) based learning to search model. Our
model is built upon the branch and bound algorithm, which selects one pair of
nodes from the two input graphs to expand at a time. Instead of using
heuristics, we propose a novel GNN-based Deep Q-Network (DQN) to select the
node pair, allowing the search process faster and more adaptive. To further
enhance the training of DQN, we leverage the search process to provide
supervision in a pre-training stage and guide our agent during an imitation
learning stage. Experiments on synthetic and real-world large graph pairs
demonstrate that our model learns a search strategy that is able to detect
significantly larger common subgraphs given the same computation budget. Our
GLSearch can be potentially extended to solve many other combinatorial problems
with constraints on graphs.
