*** Welcome to piglix ***

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.

One characterization of the NP complexity class, as shown by Ronald Fagin in 1974 and related to Fagin's theorem, is that it is the set of problems that can be reduced to properties of graphs expressible in existential second-order logic. This logic allows universal (∀) and existential (∃) quantification over vertices, but only existential quantification over sets of vertices and relations between vertices. SNP retains existential quantification over sets and relations, but only permits universal quantification over vertices.

SNP contains k-SAT, 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.

Suppose there is a problem in SNP characterized by a formula of the form "∃A p(A)" where A is some set or relation and p is a first-order predicate that can use it. One can define a corresponding optimization problem: to find the relation or set that maximizes the number of tuples or elements, respectively, that satisfy the predicate p. The class of all such function problems is called MaxSNP0 and was defined by Christos Papadimitriou and Mihalis Yannakakis in their 1991 paper "Optimization, approximation, and complexity classes."


...
Wikipedia

...