1
COMPLEXITY THEORY
CSci 5403
LECTURE III: NOW WITH 66%
MORE NPCOMPLETENESS!!
NONDETERMINISTIC
PROGRAMS
…are just like standard programs, except:
1. There is a special instruction, guess(),
that can return 0 or 1.
2. The program accepts an input if there
exists a set of guesses that make it accept.
3. The running time of the program is the
maximum number of steps that can be caused
by calls to guess().
NP =
NTIME(n
c
)
∪
c
∈
N
{ L  L is decided by a
O(t(n))time nondeterministic Turing machine }
Definition: NTIME(t(n))
=
A language is in NP if and only if there
exist polynomiallength certificates for
membership to the language
Definition: A language B is NPcomplete if:
1. B
∈
NP
2. Every A in NP is polytime reducible to B
(i.e. B is NPhard)
HARDEST
PROBLEMS IN
NP
Theorem.
C
DTM
is NPComplete.
Let C
DTM
= { M,x,t
,
ℓ

9
y
{0,1}
ℓ
.
M(x,y) accepts
in
·
t steps}
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
2
Theorem (CookLevin): 3SAT is NPcomplete
Proof:
(1) 3SAT
∈
NP
(2) Every language A in NP is polynomial time
reducible to 3SAT
Our proof of (2) will have two steps.
(a) C
DTM
·
P
CNFSAT
(b) CNFSAT
≤
P
3SAT
WARMUP
Given (M,x,t,
ℓ
), there is a function C : {0,1}
ℓ
!
{0,1}
such that C(y) = 1 iff M(x,y) accepts in t steps.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '08
 Sturtivant,C
 Computational complexity theory, X1, NPcomplete, Boolean satisfiability problem

Click to edit the document details