Graph Theory – Efficient Algorithm for Graph Isomorphism with One Edge Difference

algorithmsgraph theorygraph-isomorphism

I am looking for an efficient graph isomorphism algorithm for a special case:

given a simple undirected graph $G$ check whether the graphs $G\cup e_1$ and $G\cup e_2$ are isomorphic. The edges $e_1$ and $e_2$ do not add new vertices, but only connect a pair of unconnected vertices from $V(G)$. If the graph allows isolated vertices then there are obvious special cases. I am particulary interested in the case when $G$ is connected. I would be grateful for at least some special cases. There is an obvious probabilistic algorithm that can give false positives (just compare the degree vectors). I would be happy with one that instead allows false negatives, but never gives false positives.

Best Answer

This problem is harder than finding an automorphism fixing two vertex associations.

Let $G(V, E)$ be a graph, and let $u_1, u_2, v_1, v_2 \in V$ be vertices such that we want to find if there is an automorphism bringing $u_1$ to $v_1$ and $u_2$ to $v_2$.

We replace every edge of $G$ with two arcs pointing in opposite directions. We replace each arc with an undirected gadget sufficient to ensure that arcs must be mapped to arcs. We thus get a new graph $\widetilde{G}$.

We define $e_1 = u_1v_1$ and $e_2 = u_2v_2$. $\widetilde{G}\cup e_1$ and $\widetilde{G}\cup e_2$ are isomorphic only if $G$ has an automorphism bringing $u_1$ to $v_1$ and $u_2$ to $v_2$.

It is easy to show that finding an automorphism fixing two vertex associations is harder than finding an automorphism.

Graph automorphism may be easier than graph isomorphism, but currently, we don't have asymptotically better algorithms for graph automorphism than for graph isomorphism. I was unable to show that this problem is complete for the Graph Automorphism class.

Note that it is necessary to build a $\widetilde{G}$ for the reduction since we can find some counterexamples such that $G\cup e_1$ and $G\cup e_2$ are isomorphic but have no isomorphism sending $e_1$ to $e_2$:enter image description here

Related Question