Notes on Complexity Theory
Last updated: November, 2011
Lecture 24
Jonathan Katz
1
The Complexity of Counting
We explore three results related to hardness of counting. Interestingly, at their core each of these
results relies on a simple — yet powerful — technique due to Valiant and Vazirani.
1.1
Hardness of Unique
SAT
Does
SAT
become any easier if we are guaranteed that the formula we are given has at most
one
solution? Alternately, if we are guaranteed that a given boolean formula has a unique solution does
it become any easier to find it? We show here that this is not likely to be the case.
Define the following promise problem:
USAT
def
=
{
φ
:
φ
has exactly one satisfying assignment
}
USAT
def
=
{
φ
:
φ
is unsatisfiable
}
.
Clearly, this problem is in promise
NP
. We show that if it is in promise
P
, then
NP
=
RP
. We
begin with a lemma about pairwiseindependent hashing.
Lemma 1
Let
S
⊆ {
0
,
1
}
n
be an arbitrary set with
2
m
≤ 
S
 ≤
2
m
+1
, and let
H
n,m
+2
be a family
of pairwiseindependent hash functions mapping
{
0
,
1
}
n
to
{
0
,
1
}
m
+2
. Then
Pr
h
∈
H
n,m
+2
[
there is a unique
x
∈
S
with
h
(
x
) = 0
m
+2
]
≥
1
/
8
.
Proof
Let
0
def
= 0
m
+2
, and let
p
def
= 2

(
m
+2)
. Let
N
be the random variable (over choice of random
h
∈
H
n,m
+2
) denoting the number of
x
∈
S
for which
h
(
x
) =
0
.
Using the inclusion/exclusion
principle, we have
Pr[
N
≥
1]
≥
X
x
∈
S
Pr[
h
(
x
) =
0
]

1
2
·
X
x
6
=
x
0
∈
S
Pr[
h
(
x
) =
h
(
x
0
) =
0
]
=

S
 ·
p


S

2
¶
p
2
,
while Pr[
N
≥
2]
≤
∑
x
6
=
x
0
∈
S
Pr[
h
(
x
) =
h
(
x
0
) =
0
] =
(

S

2
)
p
2
. So
Pr[
N
= 1] = Pr[
N
≥
1]

Pr[
N
≥
2]
≥ 
S
 ·
p

2
·

S

2
¶
p
2
≥ 
S

p
 
S

2
p
2
≥
1
/
8
,
using the fact that

S
 ·
p
∈
[
1
4
,
1
2
].
241
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Theorem 2 (ValiantVazirani)
If
(
USAT
,
USAT
)
is in promise
RP
, then
NP
=
RP
.
Proof
If (
USAT
,
USAT
) is in promise
RP
, then there is a probabilistic polynomialtime algorithm
A
such that
φ
∈
USAT
⇒
Pr[
A
(
φ
) = 1]
≥
1
/
2
φ
∈
USAT
⇒
Pr[
A
(
φ
) = 1] = 0
.
We design a probabilistic polynomialtime algorithm
B
for
SAT
as follows: on input an
n
variable
boolean formula
φ
, first choose uniform
m
∈ {
0
, . . . , n

1
}
. Then choose random
h
←
H
n,m
+2
. Us
ing the CookLevin reduction, rewrite the expression
ψ
(
x
)
def
=
(
φ
(
x
)
∧
(
h
(
x
) = 0
m
+2
))
as a boolean
formula
φ
0
(
x, z
), using additional variables
z
if necessary. (Since
h
is efficiently computable, the
size of
φ
0
will be polynomial in the size of
φ
. Furthermore, the number of satisfying assignments to
φ
0
(
x, z
) will be the same as the number of satisfying assignments of
ψ
.) Output
A
(
φ
0
).
If
φ
is not satisfiable then
φ
0
is not satisfiable, so
A
(and hence
B
) always outputs 0. If
φ
is
satisfiable, with
S
denoting the set of satisfying assignments, then with probability 1
/n
the value of
m
chosen by
B
is such that 2
m
≤ 
S
 ≤
2
m
+1
. In that case, Lemma 1 shows that with probability
at least 1/8 the formula
φ
0
will have a unique satisfying assignment, in which case
A
outputs 1 with
probability at least 1
/
2. We conclude that when
φ
is satisfiable then
B
outputs 1 with probability
at least 1
/
16
n
.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '08
 staff
 Probability theory, Computational complexity theory, Boolean formula

Click to edit the document details