The Maximum Common Subgraph Problem: A Portfolio Approach

The Maximum Common Subgraph is a computationally challenging problem with countless practical applications. Even if it has been long proven NP-hard, its importance still motivates searching for exact solutions. This work starts by discussing the possibility to extend an existing, very effective branch-and-bound procedure on parallel multi-core and many-core architectures. We analyze a parallel multi-core implementation that exploits a divide-and-conquer approach based on a thread-pool, which does not deteriorate the original algorithmic efficiency and it is not memory bound. We extend the algorithm to parallel many-core GPU architectures adopting the CUDA programming framework, and we show how to handle the heavily workload-unbalance and the massive data dependency. Then, we suggest new heuristics that reorder the adjacency matrix, deal with "dead-ends" and randomize the search with automatic restarts, achieving significant improvements on specific cases. Finally, we propose a portfolio approach, which integrates all the different local search algorithms as component tools. Such portfolio, rather than choosing the best tool for a given instance up-front, takes the decision on-line. The proposed approach drastically limits memory bandwidth constraints and avoids other typical portfolio fragilities as CPU and GPU versions often show a complementary efficiency and run on separated platforms. Experimental results support the claims and motivate further research to better exploit GPUs in embedded task-intensive, and multi-engine parallel applications.

[1]  Christine Solnon,et al.  Portfolios of Subgraph Isomorphism Algorithms , 2016, LION.

[2]  Armin Biere,et al.  Hardware Model Checking Competition 2014: An Analysis and Comparison of Solvers and Benchmarks , 2014, J. Satisf. Boolean Model. Comput..

[3]  Christine Solnon,et al.  Clique and Constraint Models for Maximum Common (Connected) Subgraph Problems , 2016, CP.

[4]  Horst Bunke,et al.  Graph Clustering Using the Weighted Minimum Common Supergraph , 2003, GbRPR.

[5]  Paul Van Dooren,et al.  A MEASURE OF SIMILARITY BETWEEN GRAPH VERTICES . WITH APPLICATIONS TO SYNONYM EXTRACTION AND WEB SEARCHING , 2002 .

[6]  Mario Vento,et al.  A Database of Graphs for Isomorphism and Sub-Graph Isomorphism Benchmarking , 2001 .

[7]  Ciaran McCreesh,et al.  A Partitioning Algorithm for Maximum Common Subgraph Problems , 2017, IJCAI 2017.

[8]  Ciaran McCreesh Solving Hard Subgraph Problems in Parallel , 2016, IJCAI.

[9]  Salim Afra,et al.  Approximating the maximum common subgraph isomorphism problem with a weighted graph , 2015, Knowl. Based Syst..

[10]  Eli Hellerman,et al.  The Partitioned Preassigned Pivot Procedure (P4) , 1972 .

[11]  Horst Bunke,et al.  A Comparison of Algorithms for Maximum Common Subgraph on Randomly Connected Graphs , 2002, SSPR/SPR.

[12]  Luca Pulina,et al.  A self-adaptive multi-engine solver for quantified Boolean formulas , 2009, Constraints.

[13]  Ciaran McCreesh,et al.  Between Subgraph Isomorphism and Maximum Common Subgraph , 2017, AAAI.

[14]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

[15]  Christine Solnon,et al.  Observations from Parallelising Three Maximum Common (Connected) Subgraph Algorithms , 2018, CPAIOR.

[16]  Harry G. Barrow,et al.  Subgraph Isomorphism, Matching Relational Structures and Maximal Cliques , 1976, Inf. Process. Lett..

[17]  Coenraad Bron,et al.  Finding All Cliques of an Undirected Graph (Algorithm 457) , 1973, Commun. ACM.

[18]  Mario Vento,et al.  Challenging Complexity of Maximum Common Subgraph Detection Algorithms: A Performance Analysis of Three Algorithms on a Wide Database of Graphs , 2007, J. Graph Algorithms Appl..

[19]  Lucas Bordeaux,et al.  Experiments with Massively Parallel Constraint Solving , 2009, IJCAI.

[20]  Laura Zager,et al.  Graph similarity and matching , 2005 .

[21]  Lakhdar Sais,et al.  ManySAT: a Parallel SAT Solver , 2009, J. Satisf. Boolean Model. Comput..

[22]  Philippe Vismara,et al.  Finding Maximum Common Connected Subgraphs Using Clique Detection or Constraint Satisfaction Algorithms , 2008, MCO.

[23]  Mario Vento,et al.  A large database of graphs and its use for benchmarking graph isomorphism algorithms , 2003, Pattern Recognit. Lett..