70
Fall 2013 CMU CS 15- 855 Computational Complexity Lecture 3 and 4 Non-determinism, NTIME hierarchy threorem, Ladner’s Proof 9/17/2013

Fall 2013 CMU CS 15-855 Computational Complexity Lecture 3 and 4 Non-determinism, NTIME hierarchy threorem, Ladner’s Proof 9/17/2013

Embed Size (px)

Citation preview

Fall 2013 CMU CS 15-855Computational Complexity

Lecture 3 and 4

Non-determinism, NTIME hierarchy threorem,Ladner’s Proof

9/17/2013

9/17/2013

Robust Time and Space Classes

• Robust time and space classes:

L = SPACE(log n)

PSPACE = k SPACE(nk)

P = k TIME(nk)

EXP = k TIME(2nk)

9/17/2013

Our world picture so far

EXPPSPACE

PL

9/17/2013

Relationships between classes

• So far:

L µ P µ PSPACE µ EXP• believe all containments strict• know L ( PSPACE, P ( EXP • even before any mention of NP, two major

unsolved problems:

L = P P = PSPACE? ?

9/17/2013

Completeness

• complexity class C

• L is C-hard if– every language in C reduces to L

• language L is C-complete if– L is in C– L is C-hard

9/17/2013

A P-complete problem

• logspace reduction: f computable by TM that uses O(log n) space – denoted “L1 ≤L L2”

• If L2 is P-complete, then L2 in L implies L = P (homework problem)

9/17/2013

A P-complete problem

• Circuit Value (CVAL): given a variable-free Boolean circuit (gates , , , 0, 1), does it output 1?

Theorem: CVAL is P-complete.• Proof:

– already argued in P – L arbitrary language in P, TM M decides L in

nc steps

9/17/2013

A P-complete problem

• Tableau (configurations written in an array) for machine M on input w:

w1/qs w2 … wn _…

w1 w2/q1 … wn _…

w1/q1 a … wn _…

_/qa _ … _ _…

.

.

. ...

• height = time taken = |w|c

• width = space used ≤ |w|c

9/17/2013

A P-complete problem

• Important observation: contents of cell in tableau determined by 3 others above it:

a/q1 b a

b/q1

a b/q1 a

a

a b a

b

9/17/2013

A P-complete problem

• Can build Boolean circuit STEP– input (binary encoding of) 3 cells– output (binary encoding of) 1 cell

a b/q1 a

a

STEP

• each output bit is some function of inputs

• can build circuit for each

• size is independent of size of tableau

9/17/2013

A P-complete problem

• |w|c copies of STEP compute row i from i-1

w1/qs w2 … wn _…

w1 w2/q1 … wn _…

.

.

. ...

Tableau for M on input

w

STEP STEP STEP STEP STEP

9/17/2013

A P-complete problem

w1/qs w2 … wn _…

STEP STEP STEP STEP STEP

STEP STEP STEP STEP STEP

STEP STEP STEP STEP STEP

.

.

. ...

1 iff cell contains qaccept

ignore these

This circuit CM, w has inputs w1w2…wn and C(w) = 1 iff M accepts input w.

logspace reduction

Size = O(|w|2c)

w1 w2 wn

9/17/2013

Answer to question

1 0

1 0 1

• Can we evaluate an n node Boolean circuit using O(log n) space?

• NO! (probably)

• CVAL in L if and only if L = P

9/17/2013

L EXP <-> PADL P

A consequence of measuring running time as a function of input length:

• -.>– suppose L EXP, and define

PADL = { x#N : x L, N = 2|x|k }

– TM that decides PADL: ensure suffix of N #s, ignore #s, then simulate TM that decides L

– running time now polynomial !– <- M reg PADL P so M runs in time exp in

length of x

9/17/2013

Succinctness

• converse (intuition only): “succinctness” – suppose L is P-complete– intuitively, some inputs are “hard” -- require

full power of P– SUCCINCTL has inputs encoded in different

form than L, some exponentially shorter– if “hard” inputs are exponentially shorter, then

candidate to be EXP-complete

9/17/2013

Succinct encodings

• succinct encoding for a directed graph G= (V = {1,2,3,…}, E):

• a succinct encoding for a variable-free Boolean circuit:

i j

1 iff (i, j) E

i j

1 iff wire from gate i to gate j

type of gate i

type of gate j

9/17/2013

An EXP-complete problem

• Succinct Circuit Value: given a succinctly encoded variable-free Boolean circuit (gates , , , 0, 1), does it output 1?

Theorem: Succinct Circuit Value is EXP-complete.

• Proof:– in EXP (why?)

– L arbitrary language in EXP, TM M decides L

in 2nk steps

9/17/2013

An EXP-complete problem

– tableau for input x = x1x2x3…xn:

– Circuit C from CVAL reduction has size

O(22nk).

– TM M accepts input x iff circuit outputs 1

x _ _ _ _ _

height,

width 2nk

9/17/2013

An EXP-complete problem

– Can encode C succinctly:

• if i, j within single STEP circuit, easy to compute output

• if i, j between two STEP circuits, easy to compute output

• if one of i, j refers to input gates, consult x to compute output

i j

1 iff wire from gate i to gate j

type of gate i

type of gate j

9/17/2013

Summary• Remaining TM details: big-oh necessary.• First complexity classes:

L, P, PSPACE, EXP• First separations (via simulation and

diagonalization): P ≠ EXP, L ≠ PSPACE

• First major open questions:

L = P P = PSPACE• First complete problems:

– CVAL is P-complete– Succinct CVAL is EXP-complete

? ?

9/17/2013

Nondeterminism: introduction

A motivating question:

• Can computers replace mathematicians?

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

9/17/2013

Nondeterminism: introduction

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

9/17/2013

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, -}

9/17/2013

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.

9/17/2013

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

9/17/2013

Nondeterminism

• asymmetric accept/reject criterion

qstartx1x2x3…xn qstartx1x2x3…xn

qacceptqreject

x L x L

“guess”

“computation path”

9/17/2013

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

9/17/2013

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

9/17/2013

Nondeterminism

• Focus on time classes first:

NP = k NTIME(nk)

NEXP = k NTIME(2nk)

9/17/2013

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| 9 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

9/17/2013

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

9/17/2013

Poly-time verifiers

L = { x | 9 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

9/17/2013

Poly-time verifiers

Proof: () given L NP, describe L as:L = { x | 9 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

9/17/2013

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 | 9 y s.t. (x,y) 2 R}

problem requirements

object we are seeking

efficient test: does y meet

requirements?

9/17/2013

Why NP?

• Why not EXP?

– too strong! – important problems not complete.

9/17/2013

Relationships between classes• Easy: P µ NP, EXP µ NEXP

– TM special case of NTM• Recall: L NP iff expressible as

L = { x | 9 y, |y| · |x|k s.t. (x,y) 2 R}• NP µ PSPACE (try all possible y)• The central question:

P = NPfinding a solution vs. recognizing a solution

?

9/17/2013

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

9/17/2013

CIRCUIT-SAT is NP-complete

Theorem: CIRCUIT-SAT is NP-completeCIRCUIT-SAT = {C : C is a Boolean circuit for which there exists a satisfying truth assignment}

Proof:– Part 1: need to show CIRCUIT-SAT NP.

• can express CIRCUIT-SAT as:CIRCUIT-SAT = {C : C is a Boolean circuit for

which x such that (C, x) R}R = {(C, x) : C is a Boolean circuit and C(x) = 1}

9/17/2013

CIRCUIT-SAT is NP-complete

CIRCUIT-SAT = {C : C is a Boolean circuit for which there exists a satisfying truth assignment}

Proof:– Part 2: for each language A NP, need to give

poly-time reduction from A to CIRCUIT-SAT

– for a given language A NP, we know

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

and there is a (deterministic) TM MR that decides R in time g(n) ≤ nc for some c.

9/17/2013

CIRCUIT-SAT is NP-complete

• Tableau (configurations written in an array) for machine MR on input w = (x, y):

w1/qs w2 … wn _…

w1 w2/q1 … wn _…

w1/q1 a … wn _…

_/qa _ … _ _…

.

.

. ...

• height = time taken = |w|c

• width = space used ≤ |w|c

9/17/2013

CIRCUIT-SAT is NP-complete

• Important observation: contents of cell in tableau determined by 3 others above it:

a/q1 b a

b/q1

a b/q1 a

a

a b a

b

9/17/2013

CIRCUIT-SAT is NP-complete

• Can build Boolean circuit STEP– input (binary encoding of) 3 cells– output (binary encoding of) 1 cell

a b/q1 a

a

STEP

• each output bit is some function of inputs

• can build circuit for each

• size is independent of size of tableau

9/17/2013

CIRCUIT-SAT is NP-complete

• |w|c copies of STEP compute row i from i-1

w1/qs w2 … wn _…

w1 w2/q1 … wn _…

.

.

. ...

Tableau for MR on input w

= (x, y)

STEP STEP STEP STEP STEP

9/17/2013

CIRCUIT-SAT is NP-complete

w1/qs w2 … wn _…

STEP STEP STEP STEP STEP

STEP STEP STEP STEP STEP

STEP STEP STEP STEP STEP

.

.

. ...

1 iff cell contains qaccept

ignore these

This circuit CMR, w has

inputs w1w2…wn

and C(w) = 1 iff MR accepts input w.

Size = O(|w|2c)

w1 w2 wn

9/17/2013

CIRCUIT-SAT is NP-complete– recall: we are reducing language A:

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

to CIRCUIT-SAT.– f(x) produces the following circuit:

x1 x2 … xn y1 y2 … ym

Circuit CMR, w

1 iff (x,y) R

– hardwire input x

– leave y as variables

9/17/2013

NP-completeness

– Given L NP of form

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

x1 x2 … xn y1 y2 … ym

CVAL reduction for R

1 iff (x,y) R

– hardwire input x; leave y as variables

9/17/2013

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.

9/17/2013

Upwards Collapse Theorem

• P=NP implies EXP=NEXP

– Let L be a NEXP-complete language– PADL = { x#N : x L, N = 2|x|k } remains NEXP

complete (ignore padding)

– PADL is in NP – So PADL is in P, and thus, L im EXP– .

9/17/2013

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

9/17/2013

coNP

• Is NP closed under complement?

qaccept qreject

x L x L

qacceptqreject

x Lx L

Can we transform this machine:

into this machine?

9/17/2013

coNP

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

L = { x | 9 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

9/17/2013

coNP

• P = NP implies NP = coNP

• Belief:

NP ≠ coNP

– another major open problem

9/17/2013

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)).

9/17/2013

NTIME Hierarchy Theorem

inputs

Y

n

Y

n

n

Y

n

Y n Y Y nn YD :

Turing Machines (M, x):

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

Proof attempt :

(what’s wrong?)

9/17/2013

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 responsible for dealing with NTM Mi

9/17/2013

NTIME Hierarchy Theorem

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

y ? ? ? ?Mi

nD : . . .

. . . 1t(n)1n

9/17/2013

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

9/17/2013

NTIME Hierarchy Theorem

• Did we diagonalize against Mi?– if L(Mi) = L(D) then:

– equality along all arrows.– contradiction.

y ? ? ? ?Mi

nD : . . .

. . . 1t(n)1n

9/17/2013

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)) (g(n) = ω(f(n+1)))

9/17/2013

Ladner’s Theorem

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

NPC

P

NP:

NPC

P

NP:

9/17/2013

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

9/17/2013

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

9/17/2013

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 • Check if fi is correct on a logn sized inputs.

• If error then behave like SAT now you are SAT on all but finitely many inputs.

9/17/2013

Ladner’s Theorem

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

Mi

M0

inputs L

N0

Ni

: :

: :

9/17/2013

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?)

9/17/2013

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 TRIV differ (why?)

9/17/2013

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

: :

: :

. . . ≠

9/17/2013

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

9/17/2013

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)

9/17/2013

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: T(1)=f(1), T(2)=f(f(1)), – Interval length 1 to length T(1) kills first SAT reduction