# The Maximum Common Subgraph Problem: A Portfolio Approach

**Authors:** Andrea Marcelli, Stefano Quer, and Giovanni Squillero

arXiv: 1908.06418 · 2020-11-09

## TL;DR

This paper develops a parallel and GPU-accelerated approach for the NP-hard Maximum Common Subgraph problem, introducing heuristics and a portfolio method to improve efficiency and scalability across multi-core and many-core architectures.

## Contribution

It extends existing algorithms to parallel multi-core and GPU architectures, introduces new heuristics, and proposes a portfolio approach for improved exact solutions.

## Key findings

- Parallel multi-core implementation maintains efficiency
- GPU adaptation handles workload imbalance effectively
- Portfolio approach enhances solution robustness

## Abstract

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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1908.06418/full.md

## Figures

31 figures with captions in the complete paper: https://tomesphere.com/paper/1908.06418/full.md

## References

28 references — full list in the complete paper: https://tomesphere.com/paper/1908.06418/full.md

---
Source: https://tomesphere.com/paper/1908.06418