Unique Satisfiability 183
This is maximized at d =2,whichforq =2gives1/4. 2
It can be shown that the lower bound 3/4 in Lemma F.1 is the best possible
for all n (Miscellaneous Exercise 62).
Unique Satisfiability and General Satisfiability
The class RP (for random polynomial time) was defined in Lecture 13. This
is the class of sets accepted by polynomial-time probabilistic computations
with one-sided error. Recall that RP is defined in terms of probabilistic
machines, which are exactly like nondeterministic Turing machines except
that they make choices probabilistically rather than nondeterministically.
At each choice point, the machine chooses one of its possible next configu-
rations randomly with uniform probability. Equivalently, we can supply a
deterministic polynomial-time machine with a polynomial-length string of
random bits that it can consult during its computation.
Valiant and Vazirani’s result says that an RP computation supplied
with an oracle USAT for unique satisfiability can determine general satis-
fiability with arbitrarily small one-sided error. The oracle USAT may be
any oracle that answers affirmatively when queried on a Boolean formula
that has exactly one satisfying assignment, negatively when queried on a
formula that has no satisfying assignments, and arbitrarily on any other
query.
Theorem F.2 (Valiant and Vazirani [125]) NP ⊆ RP
USAT
.
Proof. We show how to decide Boolean satisfiability by an RP compu-
tation with a USAT oracle. That is, we show that there is a polynomial-
time-bounded probabilistic oracle Turing machine M with oracle USAT
such that
ϕ is satisfiable ⇒ Pr(M accepts ϕ) ≥
3
4
,
ϕ is unsatisfiable ⇒ Pr(M accepts ϕ)=0.
Equivalently, encoding the random choices as part of the input, we show
that there is a deterministic polynomial-time oracle machine N such that
for w a string of random bits of sufficient polynomial length chosen with
uniform probability among all strings of that length,
ϕ is satisfiable ⇒ Pr
w
(N accepts ϕ#w) ≥
3
4
,
ϕ is unsatisfiable ⇒ Pr
w
(N accepts ϕ#w)=0.
The machine N uses its random bits w to construct a random tower of
linear subspaces H
i
⊆ GF
n
2
as in Lemma F.1, where n is the number of