Not-all-equal 3-satisfiability


In computational complexity, not-all-equal 3-satisfiability is an NP-complete variant of the Boolean satisfiability problem, often used in proofs of NP-completeness.

Definition

Like 3-satisfiability, an instance of the problem consists of a collection of Boolean variables and a collection of clauses, each of which combines three variables or negations of variables. However, unlike 3-satisfiability, which requires each clause to have at least one true Boolean value, NAE3SAT requires that the three values in each clause are not all equal to each other.

Hardness

The NP-completeness of NAE3SAT can be proven by a reduction from 3-satisfiability.
The problem remains NP-complete when all clauses are monotone, by Schaefer's dichotomy theorem.
Monotone NAE3SAT can also be interpreted as an instance of the set splitting problem, or as a generalization
of graph bipartiteness testing to 3-uniform hypergraphs: it asks whether the vertices of a hypergraph can be colored with two colors so that no hyperedge is monochromatic. More strongly, it is NP-hard to find colorings of 3-uniform hypergraphs with any constant number of colors, even when a 2-coloring exists.

Easy cases

Unlike 3SAT, some variants of NAE3SAT in which graphs representing the structure of variables and clauses are planar graphs can be solved in polynomial time. In particular this is true when there exists a planar graph with one vertex per variable, one vertex per clause, an edge for each variable-clause incidence, and a cycle of edges connecting all the variable vertices.