It occurred to many that in all the $\textbf{NP}$-completeness proofs I've read (that I can remember), it's always trivial to show that a problem is in $\textbf{NP}$, and showing that it is $\textbf{NP}$-hard is the... hard part. What $\textbf{NP}$-complete problems are these whose polynomial-time verifiers are highly non-trivial?
3 Answers
There are at least four such $NP$-complete problems listed in the appendix of Garey and Johnson's COMPUTERS AND INTRACTABILITY: A Guide to the Theory of NP-Completeness.
[AN6] NON-DIVISIBILITY OF A PRODUCT POLYNOMIAL
INSTANCE: Sequences $A_i = \langle (a_i[1],b_i[1]), ..., (a_i[k],b_i[k]) \rangle,\ 1 \leqslant i \leqslant m,$ of pairs of integers, with each $b_i[j] \geqslant 0,$ and an integer $N$.
QUESTION: Is $\displaystyle \prod_{i=1}^m \left( \displaystyle\sum_{j=1}^k a_i[j] \cdot z^{b_i[j]} \right)$ not divisible by $z^N - 1$?
Reference: [Plaisted, 1977a], [Plaisted, 1977b]. Transformation from 3SAT. Proof of membership in NP is non-trivial and appears in the second reference.
The other three I found in the appendix are:
- [LO13] MODAL LOGIC S5-SATISFIABILITY
- [LO19] SECOND ORDER INSTANTIATION
- [MS3] NON-LIVENESS OF FREE CHOICE PETRI NETS
- 8,207
- 2
- 30
- 52
Here is a problem from the database theory, more specifically, from the serializability theory.
In Serializability by Locking (Page 237), it says that
Regarding the complexity of safety, Papadimitriou et al. [14] showed that it is $\textrm{NP}$-hard to test if a transaction system is not $SSR$-safe, and conjectured that the problem is $\textrm{NP}$. From Theorem 3 (In this paper), it follows that this is true.
The $SSR$-safe problem can be found in the paper "Some Computational Problems Related to Database Concurrency Control" by Papadimitriou et al. Unfortunately, I have no access to it.
- 9,671
- 3
- 37
- 75
For me, Integer Linear Programming (and the related Quantifier Free Presburger Arithmetic) are in this class.
A naive approach to an $n$-dimensional ILP problem is to iterate through all length $n$ vectors of integers. But this is an unbounded process.
You have to use some number theory to prove that there is a polynomial upper bound on the size of solutions, meaning that if a solution exists, there is always a polynomially-sized solution, which acts as a certificate.
More information can be found in the answer to a question I asked a while back.
- 30,277
- 5
- 67
- 122