NP-intermediate

In computational complexity, problems that are in the complexity class NP but are neither in the class P nor NP-complete are called NP-intermediate, and the class of such problems is called NPI. Ladner's theorem, shown in 1975 by Richard E. Ladner, is a result asserting that, if P ≠ NP, then NPI is not empty; that is, NP contains problems that are neither in P nor NP-complete. Since it is also true that if NPI problems exist, then P ≠ NP, it follows that P = NP if and only if NPI is empty.

Under the assumption that P ≠ NP, Ladner explicitly constructs a problem in NPI, although this problem is artificial and otherwise uninteresting. It is an open question whether any "natural" problem has the same property: Schaefer's dichotomy theorem provides conditions under which classes of constrained Boolean satisfiability problems cannot be in NPI.  Some problems that are considered good candidates for being NP-intermediate are the graph isomorphism problem, and decision versions of factoring and the discrete logarithm.

List of problems that might be NP-intermediate

Algebra and number theory
 A decision version of factoring integers: for input  and , does  have a factor in the interval ?
 Decision versions of the discrete log problem and others related to cryptographic assumptions
 Linear divisibility: given integers  and , does  have a divisor congruent to 1 modulo ?

Boolean logic
 IMSAT, the Boolean satisfiability problem for "intersecting monotone CNF": conjunctive normal form, with each clause containing only positive or only negative terms, and each positive clause having a variable in common with each negative clause
 Minimum circuit size problem: given the truth table of a Boolean function and positive integer , does there exist a circuit of size at most  for this function?
 Monotone dualization: given CNF and DNF formulas for monotone Boolean functions, do they represent the same function?
 Monotone self-duality: given a CNF formula for a Boolean function, is the function invariant under a transformation that negates all of its variables and then negates the output value?

Computational geometry and computational topology
 Determining whether the rotation distance between two binary trees or the flip distance between two triangulations of the same convex polygon is below a given threshold
 The turnpike problem of reconstructing points on line from their distance multiset
 The cutting stock problem with a constant number of object lengths
 Knot triviality
 Finding a simple closed quasigeodesic on a convex polyhedron

Game theory
 Determining the winner in parity games, in which graph vertices are labeled by which player chooses the next step, and the winner is determined by the parity of the highest-priority vertex reached
 Determining the winner for stochastic graph games, in which graph vertices are labeled by which player chooses the next step, or whether it is chosen randomly, and the winner is determined by reaching a designated sink vertex.

Graph algorithms
 Graph isomorphism problem
 Planar minimum bisection
 Deciding whether a graph admits a graceful labeling
 Recognizing leaf powers and -leaf powers
 Recognizing graphs of bounded clique-width
 Testing the existence of a simultaneous embedding with fixed edges

Miscellaneous
 Testing whether the Vapnik–Chervonenkis dimension of a given family of sets is below a given bound

References

External links 
 
 Basic structure, Turing reducibility and NP-hardness
 

Complexity classes