SNP (complexity)

In computational complexity theory, SNP (from Strict NP) is a complexity class containing a limited subset of NP based on its logical characterization in terms of graph-theoretical properties. It forms the basis for the definition of the class MaxSNP of optimization problems.

It is defined as the class of problems that are properties of relational structures (such as graphs) expressible by a second-order logic formula of the following form:
 * $$\exists S_1 \dots \exists S_\ell \, \forall v_1 \dots \forall v_m \,\phi(R_1,\dots,R_k,S_1,\dots,S_\ell,v_1,\dots,v_m)$$

where $$R_1,\dots,R_k$$ are relations of the structure (such as the adjacency relation, for a graph), $$S_1,\dots,S_\ell$$ are unknown relations (sets of tuples of vertices), and $$\phi$$ is a quantifier-free formula: any boolean combination of the relations. That is, only existential second-order quantification (over relations) is allowed and only universal first-order quantification (over vertices) is allowed. If existential quantification over vertices were also allowed, the resulting complexity class would be equal to NP (more precisely, the class of those properties of relational structures that are in NP), a fact known as Fagin's theorem.

For example, SNP contains 3-Coloring (the problem of determining whether a given graph is 3-colorable), because it can be expressed by the following formula:
 * $$\exists S_1 \exists S_2 \exists S_3 \, \forall u \forall v \, \bigl( S_1(u) \vee S_2(u) \vee S_3(u) \bigr) \, \wedge \, \bigl( E(u,v)\,\implies\,(\neg S_1(u) \vee \neg S_1(v))\,\wedge\,\left(\neg S_2(u) \vee \neg S_2(v)\right)\,\wedge\,(\neg S_3(u) \vee \neg S_3(v)) \bigr) $$

Here $$E$$ denotes the adjacency relation of the input graph, while the sets (unary relations) $$S_1,S_2,S_3$$ correspond to sets of vertices colored with one of the 3 colors. Similarly, SNP contains the k-SAT problem: the boolean satisfiability problem (SAT) where the formula is restricted to conjunctive normal form and to at most k literals per clause, where k is fixed.

MaxSNP
An analogous definition considers optimization problems, when instead of asking a formula to be satisfied for all tuples, one wants to maximize the number of tuples for which it is satisfied. That is, MaxSNP0 is defined as the class of optimization problems on relational structures expressible in the following form:
 * $$\max\limits_{S_1,\dots,S_\ell} |\{ (v_1, \dots, v_m) \colon \phi(R_1,\dots,R_k,S_1,\dots,S_\ell,v_1,\dots,v_m)\}|$$

MaxSNP is then defined as the class of all problems with an L-reduction (linear reduction, not log-space reduction) to problems in MaxSNP0. For example, MAX-3SAT is a problem in MaxSNP0: given an instance of 3-CNF-SAT (the boolean satisfiability problem with the formula in conjunctive normal form and at most 3 literals per clause), find an assignment satisfying as many clauses as possible. In fact, it is a natural complete problem for MaxSNP.

There is a fixed-ratio approximation algorithm to solve any problem in MaxSNP, hence MaxSNP is contained in APX, the class of all problems approximable to within some constant ratio. In fact the closure of MaxSNP under PTAS reductions (slightly more general than L-reductions) is equal to APX; that is, every problem in APX has a PTAS reduction to it from some problem in MaxSNP. In particular, every MaxSNP-complete problem (under L-reductions or under AP-reductions) is also APX-complete (under PTAS reductions), and hence does not admit a PTAS unless P=NP. However, the proof of this relies on the PCP theorem, while proofs of MaxSNP-completeness are often elementary.