Citation: Cardone, L.; Quer, S. The
Multi-Maximum and
Quasi-Maximum Common Subgraph
Problem. Computation 2023, 11, 69.
https://doi.org/10.3390/
computation11040069
Academic Editors: Akbar Ali, Guojun
Li, Mingchu Li, Rao Li, Colton
Magnant and Madhumangal Pal
Received: 25 January 2023
Revised: 15 March 2023
Accepted: 20 March 2023
Published: 27 March 2023
Copyright: © 2023 by the authors.
Licensee MDPI, Basel, Switzerland.
This article is an open access article
distributed under the terms and
conditions of the Creative Commons
Attribution (CC BY) license (https://
creativecommons.org/licenses/by/
4.0/).
computation
Article
The Multi-Maximum and Quasi-Maximum Common
Subgraph Problem
Lorenzo Cardone * and Stefano Quer *
Dipartimento di Automatica e Informatica, Politecnico di Torino, Corso Duca degli Abruzzi 24,
10129 Torino, Italy
* Correspondence: lorenzo.cardone@polito.it (L.C.); stefano.quer@polito.it (S.Q.)
Abstract: The Maximum Common Subgraph problem has been long proven NP-hard. Nevertheless,
it has countless practical applications, and researchers are still searching for exact solutions and
scalable heuristic approaches. Driven by applications in molecular science and cyber-security, we
concentrate on the Maximum Common Subgraph among an indefinite number of graphs. We first
extend a state-of-the-art branch-and-bound procedure working on two graphs to N graphs. Then,
given the high computational cost of this approach, we trade off complexity for accuracy, and we
propose a set of heuristics to approximate the exact solution for N graphs. We analyze sequential,
parallel multi-core, and parallel-many core (GPU-based) approaches, exploiting several leveraging
techniques to decrease the contention among threads, improve the workload balance of the different
tasks, reduce the computation time, and increase the final result size. We also present several sorting
heuristics to order the vertices of the graphs and the graphs themselves. We compare our algorithms
with a state-of-the-art method on publicly available benchmark sets. On graph pairs, we are able
to speed up the exact computation by a 2× factor, pruning the search space by more than 60%. On
sets of more than two graphs, all exact solutions are extremely time-consuming and of a complex
application in many real cases. On the contrary, our heuristics are far less expensive (as they show
a lower-bound for the speed up of 10×), have a far better asymptotic complexity (with speed ups
up to several orders of magnitude in our experiments), and obtain excellent approximations of the
maximal solution with 98.5% of the nodes on average.
Keywords: algorithms; algorithm design and analysis; graph theory; parallel computing
1. Introduction
Graphs are incredibly flexible data structures that can represent information through
vertices and relations through edges, allowing them to model various phenomena with
easily machine-readable structures. We can adopt graphs to represent the relationship
between functions in programs, electronic logic devices in synthesis, connections between
atoms, and molecules in biology, etc.
Understanding whether two graphs represent the very same object, that is, deter-
mining if the two graphs are isomorphic, belongs to the class of NP-complete problems.
Scholars are still not sure whether it can be improved, but existing algorithms for solving
this problem have exponential complexity [1]. Given two graphs, i.e., G
1
and G
2
, finding
the largest graph simultaneously isomorphic to two subgraphs of the given graphs, i.e.,
G = MCS(G
1
, G
2
), is even more challenging; it is usually known as the Maximum Common
Subgraph (MCS) problem. Nevertheless, this problem is the key step in many applications,
such as studying “small worlds” in social networks [2,3], searching the web [4], analyzing
biological data [5], classifying large-scale chemical elements [6], and discovering software
malwares [7]. Algorithms to find the MCS have been presented in the literature since the
70s [8,9]. Among the most significant approaches, we would like to mention the conversion
to the Maximum Common Clique problem [10], the use of constraint programming [11,12]
Computation 2023, 11, 69. https://doi.org/10.3390/computation11040069 https://www.mdpi.com/journal/computation