Top Banner
CS151 Complexity Theory Lecture 3 April 6, 2004
50

CS151 Complexity Theory

Jan 15, 2016

Download

Documents

Denise Mager

CS151 Complexity Theory. Lecture 3 April 6, 2004. Introduction. A motivating question: Can computers replace mathematicians? L = { (x, 1 k ) : statement x has a proof of length at most k }. Introduction. This lecture: nondeterminism nondeterministic time classes - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS151 Complexity Theory

CS151Complexity Theory

Lecture 3

April 6, 2004

Page 2: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 2

Introduction

A motivating question:

• Can computers replace mathematicians?

L = { (x, 1k) : statement x has a proof of length at most k }

Page 3: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 3

Introduction

• This lecture:– nondeterminism– nondeterministic time classes– NP, NP-completeness, P vs. NP– coNP– NTIME Hierarchy– Ladner’s Theorem

Page 4: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 4

Nondeterminism

• Recall deterministic TM

– Q finite set of states– ∑ alphabet including blank: “_”

– qstart, qaccept, qreject in Q

– transition function:

δ : Q x ∑ Q x ∑ x {L, R, -}

Page 5: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 5

Nondeterminism

• nondeterministic Turing Machine:– Q finite set of states– ∑ alphabet including blank: “_”

– qstart, qaccept, qreject in Q

– transition relation

∆ (Q x ∑) x (Q x ∑ x {L, R, -})

• given current state and symbol scanned, several choices of what to do next.

Page 6: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 6

Nondeterminism• deterministic TM: given current configuration,

unique next configuration

• nondeterministic TM: given current configuration, several possible next configurations

qstartx1x2x3…xn qstartx1x2x3…xn

qaccept qreject

x L x L

Page 7: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 7

Nondeterminism

• asymmetric accept/reject criterion

qstartx1x2x3…xn qstartx1x2x3…xn

qacceptqreject

x L x L

“guess”

“computation path”

Page 8: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 8

Nondeterminism

• all paths terminate

• time used: maximum length of paths from root

• space used: maximum # of work tape squares touched on any path from root

Page 9: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 9

Nondeterminism

• NTIME(f(n)) = languages decidable by a multi-tape NTM that runs for at most f(n) steps on any computation path, where n is the input length, and f :N N

• NSPACE(f(n)) = languages decidable by a multi-tape NTM that touches at most f(n) squares of its work tapes along any computation path, where n is the input length, and f :N N

Page 10: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 10

Nondeterminism

• Focus on time classes first:

NP = k NTIME(nk)

NEXP = k NTIME(2nk)

Page 11: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 11

Poly-time verifiers

Very useful alternate definition of NP:

Theorem: language L is in NP if and only if it is expressible as:

L = { x | y, |y| ≤ |x|k, (x, y) R }

where R is a language in P.

• poly-time TM MR deciding R is a “verifier”

“witness” or “certificate”

efficiently verifiable

Page 12: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 12

Poly-time verifiers

• Example: 3SAT expressible as

3SAT = {φ : φ is a 3-CNF formula for which assignment A for which (φ, A) R}

R = {(φ, A) : A is a sat. assign. for φ}

– satisfying assignment A is a “witness” of the satisfiability of φ (it “certifies” satisfiability of φ)

– R is decidable in poly-time

Page 13: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 13

Poly-time verifiers

L = { x | y, |y| ≤ |x|k, (x, y) R }

Proof: () give poly-time NTM deciding L

phase 1: “guess” y with |x|k nondeterministic steps

phase 2: decide if (x, y) R

Page 14: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 14

Poly-time verifiers

Proof: () given L NP, describe L as:L = { x | y, |y| ≤ |x|k, (x, y) R }

– L is decided by NTM M running in time nk

– define the languageR = { (x, y) : y is an accepting computation

history of M on input x}– check: accepting history has length ≤ |x|k

– check: R is decidable in polynomial time– check: M accepts x iff y, |y| ≤ |x|k, (x, y) R

Page 15: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 15

Why NP?

• not a realistic model of computation

• but, captures important computational feature of many problems:

exhaustive search works

• contains huge number of natural, practical problems

• many problems have form:L = { x | y s.t. (x, y) R }

problem requirements

object we are seeking

efficient test: does y meet

requirements?

Page 16: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 16

Why NP?

• Why not EXP?

– too strong! – important problems not complete.

Page 17: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 17

Relationships between classes• Easy: P NP, EXP NEXP

– TM special case of NTM

• Recall: L NP iff expressible asL = { x | y, |y| ≤ |x|k, (x, y) R }

• NP PSPACE (try all possible y)• The central question:

P = NPrecognizing a solution vs. finding a solution

?

Page 18: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 18

NP-completeness

• Circuit SAT: given a Boolean circuit (gates , , ), with variables y1, y2, …, ym is there some assignment that makes it output 1?

Theorem: Circuit SAT is NP-complete.

• Proof: – clearly in NP

Page 19: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 19

NP-completeness

– Given L NP of form

L = { x | y s.t. (x, y) R }

x1 x2 … xn y1 y2 … ym

CVAL reduction for R

1 iff (x,y) R

– hardwire input x; leave y as variables

Page 20: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 20

NEXP-completeness

• Succinct Circuit SAT: given a succinctly encoded Boolean circuit (gates , , ), with variables y1, y2, …, ym is there some assignment that makes it output 1?

Theorem: Succinct Circuit SAT is NEXP-complete.

• Proof: – same trick as for Succinct CVAL EXP-

complete.

Page 21: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 21

Complement classes

• In general, if C is a complexity class

• co-C is the complement class, containing all complements of languages in C– L C implies (* - L) co-C– (* - L) C implies L co-C

• Some classes closed under complement:– e.g. co-P = P

Page 22: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 22

coNP

• Is NP closed under complement?

qaccept qreject

x L x L

qacceptqreject

x Lx L

Can we transform this machine:

into this machine?

Page 23: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 23

coNP

• “proof system” interpretation:• Recall: L NP iff expressible as

L = { x | y, |y| ≤ |x|k, (x, y) R }

“proof” “proof verifier”

• languages in NP have “short proofs”

• coNP captures (in its complete problems) problems least likely to have “short proofs”.– e.g., UNSAT is coNP-complete

Page 24: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 24

coNP

• P = NP implies NP = coNP

• Belief:

NP ≠ coNP

– another major open problem

Page 25: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 25

NTIME Hierarchy Theorem

Theorem (Nondeterministic Time Hierarchy Theorem):

For every proper complexity function f(n) ≥ n, and g(n) = ω(f(n+1)),

NTIME(f(n)) NTIME(g(n)).

Page 26: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 26

NTIME Hierarchy Theorem

inputs

Y

n

Y

n

n

Y

n

Y n Y Y nn YHf’ :

Turing Machines (M, x):

does NTM M accept x in f(n) steps?

Proof attempt #1:

(what’s wrong?)

Page 27: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 27

NTIME Hierarchy Theorem

• Let t(n) be large enough so that can decide if NTM M running in time f(n) accepts 1n, in time t(n).

y n y ? ? ? ?

n y n ? ? ? ?

n y y ? ? ? ?

. . . 1t(n)1n

Mi

Mi-1

M1...

.

.

.

D : . . .

I’m respon-sible for dealing with NTM Mi (because I can!)

Page 28: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 28

NTIME Hierarchy Theorem

• Enough time on input 1t(n) to do the opposite of Mi(1n):

y ? ? ? ?Mi

nD : . . .

. . . 1t(n)1n

Page 29: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 29

NTIME Hierarchy Theorem

• For k in [n…t(n)] can to do same as Mi(1k+1) on input 1k

y ? ? ? ?Mi

nD : . . .

. . . 1t(n)1n

Page 30: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 30

NTIME Hierarchy Theorem

• Did we diagonalize against Mi?– if Mi simulates D then:

– equality along all arrows.– contradiction.

y ? ? ? ?Mi

nD : . . .

. . . 1t(n)1n

Page 31: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 31

NTIME Hierarchy Theorem

• General scheme: – interval [1...t(1)] kills M1

– interval [t(1)…t(t(1))] kills M2

– interval [ti-1(1)…ti(1)] kills Mi

• Running time of D on 1n: f(n+1) + time to compute interval containing n

• conclude D in NTIME(g(n))

Page 32: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 32

Ladner’s Theorem

• Assuming P ≠ NP, what does the world (inside NP) look like?

NPC

P

NP:

NPC

P

NP:

Page 33: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 33

Ladner’s Theorem

Theorem (Ladner): If P ≠ NP, then there exists L NP that is neither in P nor NP-complete.

• Proof: “lazy diagonalization”– deal with similar problem as in NTIME

Hierarchy proof

Page 34: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 34

Ladner’s Theorem

• Can enumerate (TMs deciding) all languages in P.– enumerate TMs so that each machine

appears infinitely often

– add clock to Mi so that it runs in at most ni steps

Page 35: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 35

Ladner’s Theorem

• Can enumerate (TMs deciding) all NP-complete languages.– enumerate TMs fi computing all polynomial-

time functions

– machine Ni decides language SAT reduces to via fi if fi is reduction, else SAT (details omitted…)

Page 36: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 36

Ladner’s Theorem

• Our goal: L NP that is neither in P nor NP-complete

Mi

M0

inputs L

N0

Ni

: :

: :

Page 37: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 37

Ladner’s Theorem

• Top half, assuming P ≠ NP:

Mi

M0

SAT

: :

input xinput z

• focus on Mi

• for any x, can always find some z ≥ x on which Mi and SAT differ (why?)

Page 38: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 38

Ladner’s Theorem

• Bottom half, assuming P ≠ NP:

TRIV

N0

Ni

: :

input x input zTRIV = Σ*

• focus on Ni

• for any x, can always find some z ≥ x on which Ni and SAT differ (why?)

Page 39: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 39

Ladner’s Theorem

• Try to “merge”:

• on input x, either– answer SAT(x)– answer TRIV(x)

• if can decide which

one in P, L NP

SAT TRIVMi

M0

L

N0

Ni

: :

: :

. . . ≠

Page 40: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 40

Ladner’s Theorem

• General scheme: f(n) slowly increasing function

– f(|x|) even: answer SAT(x)– f(|x|) odd: answer TRIV(x)

• notice choice only depends on length of input… that’s OK

L . . .

f(|x|) 0 0 0 1 1 1 2 2 2 2 . . .

SAT

TRIV

Page 41: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 41

Ladner’s Theorem

• 1st attempt to define f(n)• “eager f(n)”: increase at 1st opportunity• Inductive definition: f(0) = 0; f(n) =

– if f(n-1) = 2i, trying to kill Mi

• if z < 1n s.t. Mi(z) ≠ SAT(z), then f(n) = f(n-1) + 1; else f(n) = f(n-1)

– if f(n-1) = 2i+1, trying to kill Ni

• if z < 1n s.t. Ni(z) ≠ TRIV(z), then f(n) = f(n-1) + 1; else f(n) = f(n-1)

Page 42: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 42

Ladner’s Theorem

• Problem: eager f(n) too difficult to compute• on input of length n,

– look at all strings z of length < n

– compute SAT(z) or Ni(z) for each !

• Solution: “lazy” f(n) – on input of length n, only run for 2n steps– if enough time to see should increase (over f(n-1)), do

it; else, stay same– (alternate proof: give explicit f(n) that grows slowly

enough…)

Page 43: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 43

Ladner’s Theorem

• Key: n eventually large enough to notice completed previous stage

L

f(|x|) 0 0 1 1 k k k

. . .

. . . . . .

Mi

. . .

input xinput z < x

suppose k = 2i

• I’m sup-posed to ensure Mi is killed• I finally have enough time to check input z• I notice z did the job, increase f to k+1

Page 44: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 44

Ladner’s Theorem

• Inductive definition of f(n)– f(0) = 0– f(n): for n steps compute f(0), f(1), f(2),…

L

f 0 0 1 1 k k k

. . .

. . . . . .

. . .

input x, |x| = n

got this far in n steps

Page 45: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 45

Ladner’s Theorem

– if k = 2i:• for n steps try (lex order) to find z s.t.

SAT(z) ≠ Mi(z) and f(|z|) even

• if found, f(n) = f(n-1)+1 else f(n-1)– if k = 2i + 1:

• for n steps try (lex order) to find z s.t. TRIV(z) ≠ Ni(z) and f(|z|) odd

• if found, f(n) = f(n-1)+1 else f(n-1)

Page 46: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 46

Ladner’s Theorem

• Finishing up:

L = { x | x SAT if f(|x|) even,

x TRIV if f(|x|) odd }

• L NP since f(|x|) can be computed in O(n) time

Page 47: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 47

Ladner’s Theorem

• suppose Mi decides L– f gets stuck at 2i

– L SAT for z : |z| > no

– implies SAT P. Contradiction.

• suppose Ni decides L– f gets stuck at 2i+1

– L TRIV for z : |z| > no

– implies L(Ni) P. Contradiction.

• (last of diagonalization…)

Page 48: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 48

Summary

• nondeterminism

• nondeterministic time classes:

NP, coNP, NEXP

• NTIME Hierarchy Theorem:

NP ≠ NEXP

• major open questions:

P = NP NP = coNP? ?

Page 49: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 49

Summary

• NP-“intermediate” problems

– technique: delayed diagonalization

• complete problems:– circuit SAT is NP-complete– UNSAT is coNP-complete– succinct circuit SAT is NEXP-complete

Page 50: CS151 Complexity Theory

April 6, 2004 CS151 Lecture 3 50

Summary

EXP

PSPACE

P

L

NEXP

NP coNP

coNEXP