
216 Chapter 8. Deriving Non-Approximability Results by Reductions
Theorem 8.3. [Hds97b] For any e, ~ > 0 there is a verifier V for ROBE3SAT,
which
-
uses O(logn) random bits
-
has completeness 1 - r and soundness
-
reads exactly three bits from the proof and accepts iff the exclusive or of the
three bits matches a value, which depends only on the input and the random
string.
This led Trevisan et al. [TSSW96, Tre97] to generalize the MAXSAT problem
to "constraint satisfaction" problems. In a constraint satisfaction problem, ar-
bitrary Boolean functions, called constraints, take the r61e of the clauses in
MAXSAT. An instance of a constraint satisfaction problem becomes a collection
of constraints and the goal is to maximize the number of satisfied constraints,
i.e., to find an assignment to the Boolean variables such that a maximum number
of constraints evaluate to TRUE. Restrictions in the choice of Boolean functions
define different constraint satisfaction problems.
For a verifier from Theorem 8.3 we can associate a constraint with each random
string of the verifier. These constraints are parity checks. If x E L then a fraction
of c (the completeness of the verifier) of the constraints is satisfiable. If x r L
then a fraction less than s (soundness of the verifier) of the constraints are
satisfiable.
Definition 8.4 (constraint function).
Boolean function f: {0, 1} k ~ {0, 1}.
A (k-ary) constraint function is a
Definition 8.5 (constraint).
A constraint C over a variable set { X1, . . . , X~ }
is a pair C = (f, (il,...,ik)) where f : {0, 1} k --~ {0, 1} is a constraint function
and ij E [n] for j E [k]. Variable Xj is said to occur in C if j E {Q,...,ik}.
All variables occuring in C are different. The constraint C is satisfied by an
assignment if= al,...,an to X1,...,Xn if C(al,...,an) := f(aix,... ,ai~) = 1.
Definition 8.6 (constraint
family). A constraint family fir is a finite collec-
tion of constraint functions. We say that constraint C is from fir if f E fir.
Example 8.7. We give a number of constraint families that will be used sub-
sequently.
- Parity check is the constraint family PC = {PCo, PC1}, where, for i e {0, 1},
PCi is defined as follows:
1 ifa@b~c=i
PCi( a, b, c) = 0 otherwise
Note that PC is the constraint family for encoding the operation of the type
of verifier of Theorem 8.3.