Maximum common subgraph isomorphism problem

In complexity theory, Maximum Common Subgraph-Isomorphism (MCS) is an optimization problem that is known to be NP-hard. The formal description of the problem is as follows:

Maximum Common Subgraph-Isomorphism(G1, G2)
 * Input: Two graphs G1 and G2.
 * Question: What is the largest induced subgraph of G1 isomorphic to a subgraph of G2?

The associated decision problem, i.e., given G1, G2 and an integer k, deciding whether G1 contains a subgraph of at least k edges isomorphic to a subgraph of G2 is NP-complete.

One possible solution for this problem is to build a modular product graph, in which the largest clique represents a solution for the MCS problem.

MCS algorithms have a long tradition in Cheminformatics and pharmacophore mapping.