A *simple graph* is an unweighted, undirected graph with no parallel edges and no edge loops. A *simple directed graph* is an unweighted, directed graph with no parallel edges and no edge loops. For the remainder of this paper the word *graph* will refer to a simple graph or a simple directed graph unless otherwise stated. Two graphs *G*_{1}(*V*_{1}, *E*_{1}) and *G*_{2}(*V*_{2}, *E*_{2}) are *isomorphic* if there exists a bijective function *f*: *V*_{1} → *V*_{2} such that there is an edge (*u*, *v*) in *E*_{1} if and only if there is an edge (*f*(*u*), *f*(*v*)) in *E*_{2}.

Given a set of graphs **X** = {*G*_{1}(*V*_{1}, *E*_{1}), *G*_{2}(*V*_{1}, *E*_{2}), ⋯, *G*_{n}(*V*_{n}, *E*_{n})}, the multiple maximum common edge subgraph problem (multi-MCES) is the problem of finding a graph with maximum number of edges that is isomorphic to a subgraph (not necessarily induced) of each graph in **X**. The pairwise MCES problem is a generalization of the subgraph isomorphism problem making it NP-hard [14]. Being a generalization of the pairwise MCES problem, multi-MCES is NP-hard as well.

Without loss of generality, assume that |*V*_{1}| ≤ |*V*_{i}|, for 1 ≤ *i* ≤ *n*. We then define an alignment *A* as a set of injective functions

$$A=\left\{{f}_{i}:{V}_{1}\to {V}_{i}\mid 1\le i\le n\right\}$$(1)

where *f*_{1}(*v*) = *v* for all *v* ∈ *V*_{1}. Given an alignment *A*, one can compute the number of edges conserved between all graphs as

$$f(A)=\sum _{u,v}^{n}\{\begin{array}{ll}1& \text{if\hspace{0.17em}}\left({f}_{i}(u),{f}_{i}(v)\right)\in {E}_{i}\phantom{\rule{thinmathspace}{0ex}}\text{\hspace{0.17em}}\mathrm{\forall}i\in [1,n],\\ 0& \text{otherwise}.\end{array}$$(2)

For directed graphs the sum runs over all ordered pairs (*u*, *v*) where *u*, *v* ∈ *V*_{1} and *u* ≠ *v*. For undirected graphs the sum runs over all unordered pairs {*u*, *v*} where *u*, *v* ∈ *V*_{1} and *u* ≠ *v*, i.e. the pairs {*u*, *v*} and {*v*, *u*} are identical and only counted once. Given these definitions, the multi-MCES problem can then be defined as the problem of finding an alignment *A* that maximizes *f*(*A*).

## Comments (0)

General note:By using the comment function on degruyter.com you agree to our Privacy Statement. A respectful treatment of one another is important to us. Therefore we would like to draw your attention to our House Rules.