29

Suppose you are given two graphs $G$ and $H$ and are told that one of the following two situations occurs. Either they are isomorphic, or one of the graphs contains a Hamilton cycle and the other doesn't. Can you tell in polynomial time which situation you are in? Obviously you can if graph isomorphism is easy or if finding Hamilton cycles is easy, so let's assume that they are both hard.

There may be a trivial answer, but it seems to me that the question is not obviously as hard as graph isomorphism, since if you can always solve it, it isn't clear that you can modify the algorithm to tell whether an arbitrary pair of graphs is isomorphic. If there isn't a trivial answer, then my guess is that the question is more or less as hard as resolving the P versus NP problem or the graph isomorphism problem, but maybe it isn't, since you're allowed to assume answers to those problems. Anyhow, the question has just occurred to me and I haven't yet found a reason not to like it, so here it is.

gowers
  • 28,729
  • A quick remark: one can of course ask the same question for many other NP-complete problems -- I'd be just as interested, for example, in the same question but with "clique of size m" instead of "Hamilton cycle". – gowers Sep 05 '12 at 23:02
  • You have heard of how to convince someone you have a proof without showing it to them? (Assume reputation is not a consideration.) Look up zero knowledge proofs. Or have you already, and is there something you aren't telling us? Gerhard "I'm Sure It's The Latter" Paseman, 2012.09.05 – Gerhard Paseman Sep 05 '12 at 23:20
  • By the way, it is not known whether the graph isomorphism problem is NP-complete. – Richard Stanley Sep 06 '12 at 00:23
  • It's true that it's not known whether graph isomorphism is NP-complete, but it's known that if it is, then the polynomial-time hierarchy collapses (which would be almost as surprising as P=NP). – Henry Cohn Sep 06 '12 at 02:06
  • @Richard Stanley -- that's why I insist that they are both hard, though obviously if graph isomorphism is hard then so are NP-complete problems so I could have just said "assuming that graph isomorphism is hard". – gowers Sep 06 '12 at 06:42
  • 4
    @Gerhard "I'm sure it's the latter" Paseman, it's only half the latter. I know what zero-knowledge proofs are, but don't immediately see how they answer the question. Could you spell it out? – gowers Sep 06 '12 at 06:43
  • Do you think that the following situation makes sense: We construct two graphs $G$ and $H$, for which one of the problems is "easy" while the other one is not necessarily so. Of course, that would be just a specific example, and would not really say anything about arbitrary pairs of graphs. However, such an example itself might be instructive? – Suvrit Sep 06 '12 at 08:17
  • 3
    @Suvrit, if you were to take two typical hard instances for the Hamilton cycle problem, one that contains a Hamilton cycle and one that doesn't, then it is very likely that it will be easy to tell that they are non-isomorphic. (For example, their degree sequences are likely to differ.) In the other direction, if you have two graphs of large minimal degree that are a difficult case for graph isomorphism, they will both contain Hamilton cycles. I'm not sure whether this is answering your question though. – gowers Sep 06 '12 at 08:35
  • Can you efficiently generate hard instances for your problem? Have the impression that hard instances of GI are not trivial and you have the restriction about hamiltonicity. – joro Sep 06 '12 at 12:50
  • @joro, what you're asking is in a sense what's in the back of my mind when I asked the original question: hard instances of graph isomorphism are rather delicate, so can they be combined with a condition about containing Hamilton cycles? If they can't, then the answer to my question is that you can indeed distinguish between the two situations. – gowers Sep 06 '12 at 12:56
  • Rigorously, I cannot spell it out, gowers. I have the sense however that if a verifier had the polytime ability that you suppose, they could bias the selection of questions in such a way as to gain some information in a ZKP. Also, I have the sense that there might be a polytime resolution between two situations, one in NP and one in coNP, and while your setup might fit that description, it is not clear to me that it does. My initial impression on your question was that you were rediscovering ZKP. Gerhard "Ask Me About System Design" Paseman, 2012.09.06 – Gerhard Paseman Sep 06 '12 at 14:28

2 Answers2

1

The Graph Isomorphism problem can be reduced to the Gowers hybrid problem.

Given a pair $A,B$ of graphs, each with $n$ vertices, we seek to construct a graph $G_{A,B}$ whose Hamiltonicity is equivalent to $A$ and $B$ being isomorphic. Moreover, we shall construct this carefully as to not break any symmetry: if $A,A'$ are isomorphic, and $B,B'$ are isomorphic, then so are $G_{A,B}$ and $G_{A',B'}$.

Now, given a graph isomorphism problem determined by graphs $A,B$, we consider the Gowers hybrid problem with graphs $G_{A,A}$ and $G_{A,B}$. By construction, these are isomorphic if $A, B$ are isomorphic. Otherwise, $G_{A,A}$ is Hamiltonian and $G_{A,B}$ is not.

Provided we can perform such a construction in polynomial time, and ensure that the order of $G_{A,B}$ is polynomial in $n$, then Graph Isomorphism and the Gowers hybrid problem are equally difficult (i.e. there is a polynomial-time reduction between them).

The rest of this answer is simply describing this construction.


Let $A,B$ be a pair of graphs on the vertex-set $[n] := \{ 1, 2, \dots, n \}$. We create a variable $v_{a,b}$ for every ordered pair $(a,b)$ of a vertex in $A$ and a vertex in $B$. Then, we write down the clauses:

  • $(\neg v_{a_i,b_j} \lor \neg v_{a_i,b_k}) \forall i,j,k \in [n]$
  • $(\neg v_{a_j,b_i} \lor \neg v_{a_k,b_i}) \forall i,j,k \in [n]$
  • $(v_{a_i,b_1} \lor v_{a_i,b_2} \lor \cdots \lor v_{a_i,b_n}) \forall i \in [n]$
  • $(v_{a_1,b_i} \lor v_{a_2,b_i} \lor \cdots \lor v_{a_n,b_i}) \forall i \in [n]$

which specify that our variables describe a bijection between the vertex-sets of $A$ and $B$. Then, for every edge $(a,a')$ and non-edge $(b,b')$, we specify the clause:

  • $(\neg v_{a,b} \lor \neg v_{a',b'})$

and do the same for non-edges in $A$ and edges in $B$. This forces our variables to specify an isomorphism between the graphs $A$ and $B$.

Now, the following page reduces $3$-SAT to vertex cover:

http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2001/CW/npproof.html

We need $k$-SAT rather than $3$-SAT, but we can note that the triangle-shaped gadget described on this page can be replaced with an arbitrary-sized complete graph $K_k$ to allow clauses of arbitrary length: we can cover the edges within the complete graph with $k-1$ vertices (and no fewer) provided at least one of the adjoining $k$ edges is already covered.

So far, we have constructed a vertex-covering problem of a graph which (up to isomorphism) only depends on the graphs $A, B$ up to isomorphism. Moreover, it has a vertex cover of the correct size if and only if $A$ and $B$ are isomorphic.

Now appeal to this result:

http://web.math.ucsb.edu/~padraic/ucsb_2014_15/ccs_problem_solving_w2015/Hamiltonian%20Circuits.pdf

which shows how to convert a vertex-covering problem into a Hamiltonian cycle problem, again canonically (so not depending on how we've labelled the vertices of our graphs).

Hence, we can canonically construct a graph $G_{A,B}$ which has a Hamiltonian cycle if and only if $A$ and $B$ are isomorphic. Moreover, $G_{A,B}$ up to isomorphism only depends on $A, B$ up to isomorphism. Also, $G_{A,B}$ is only of size polynomial in $n$ (namely $O(n^4)$ vertices if I counted correctly).

The result follows.

0

This does not directly answer your question but it sheds light on its computational hardness.

Your problem is an example of promise problems. If this related variant of your promise problem is not solvable in polynomial time then $P \ne NP$. Let $HC$ be the class of Hamiltonian graphs.

Promise HC:

Input: pair of graphs $(G_1, G_2)$

Yes-instance: $(G_1,G_2)$ such that $G_1 \in HC$ and $G_2 \not \in HC$

No-instance: $(G_1,G_2)$ such that $G_1 \not \in HC$ and $G_2 \in HC$

PHC promise problem is in $NP \cap coNP$ and NP-complete (under polynomial time Turing reduction) (See Corollary 1 and Theorem 4 in the reference). A Hamiltonian Cycle in $G_1$ is the certificate for Yes instances and Hamiltonian Cycle in $G_2$ is the certificate for No instances.

The following promise problem of graph isomorphism is $GI$-hard (under polynomial-time Turing reduction) (Theorem 5 in the reference):

Promise GI:

Input: Triple of graphs $(G_1, G_2, G_3)$

Yes-instance $G_1 \cong G_2$ and $G_1 \not \cong G_3$

No-instance $G_1 \not \cong G_2$ and $G_1 \cong G_3$

Finaly, your promise problem is closely related to disjoint $NP$-pairs where (unlike your promise problem) both Yes-instance and NO-instance are $NP$ sets. Disjoints $NP$-pairs $(A,B)$ are $P$-separable if there is a polynomial-time computable language $S$ that separates $A$ from $B$ ($A \subseteq S $ and $B \subseteq \overline {S}$). It is known that the existence of $P$-inseparable $NP$-pairs imply $P \ne NP$.

Reference:

Alan Selman, Promise problems complete for complexity classes