Download presentation
Presentation is loading. Please wait.
1
CS151 Complexity Theory Lecture 2 April 3, 2015
2
2 Time and Space A motivating question: –Boolean formula with n nodes –evaluate using O(log n) space? 101 depth-first traversal requires storing intermediate values idea: short-circuit ANDs and ORs when possible
3
April 3, 20153 Time and Space 10 101 Can we evaluate an n node Boolean circuit using O(log n) space?
4
April 3, 20154 Time and Space Recall: –TIME(f(n)), SPACE(f(n)) Questions: –how are these classes related to each other? –how do we define robust time and space classes? –what problems are contained in these classes? complete for these classes?
5
April 3, 20155 Outline Why big-oh? Linear Speedup Theorem Hierarchy Theorems Robust Time and Space Classes Relationships between classes Some complete problems
6
April 3, 20156 Linear Speedup Theorem: Suppose TM M decides language L in time f(n). Then for any > 0, there exists TM M’ that decides L in time f(n) + n + 2. Proof: –simple idea: increase “word length” –M’ will have one more tape than M m-tuples of symbols of M ∑ new = ∑ old ∑ old m many more states
7
April 3, 20157 Linear Speedup part 1: compress input onto fresh tape... ababbaaa ababbaaa_
8
April 3, 20158 Linear Speedup part 2: simulate M, m steps at a time bbaababaaab... abbaababaaababa... mm –4 (L,R,R,L) steps to read relevant symbols, “remember” in state –2 (L,R or R,L) to make M’s changes
9
April 3, 20159 Linear Speedup accounting: –part 1 (copying): n + 2 steps –part 2 (simulation): 6 (f(n)/m) –set m = 6/ –total: f(n) + n + 2 Theorem: Suppose TM M decides language L in space f(n). Then for any > 0, there exists TM M’ that decides L in space f(n) + 2. Proof: same.
10
April 3, 201510 Time and Space Moral: big-oh notation necessary given our model of computation –Recall: f(n) = O(g(n)) if there exists c such that f(n) ≤ c g(n) for all sufficiently large n. –TM model incapable of making distinctions between time and space usage that differs by a constant. In general: interested in course distinctions not affected by model –e.g. simulation of k-string TM running in time f(n) by single-string TM running in time O(f(n) 2 )
11
April 3, 201511 Hierarchy Theorems Does genuinely more time permit us to decide new languages? how can we construct a language L that is not in TIME(f(n))… idea: same as “HALT undecidable” diagonalization and simulation
12
April 3, 201512 Recall proof for Halting Problem Turing Machines inputs Y n Y n n Y n YnYYnnY H’ : box (M, x): does M halt on x? The existence of H which tells us yes/no for each box allows us to construct a TM H’ that cannot be in the table.
13
April 3, 201513 Time Hierarchy Theorem Turing Machines inputs Y n Y n n Y n YnYYnnY D : box (M, x): does M accept x in time f(n)? TM SIM tells us yes/no for each box in time g(n) rows include all of TIME(f(n)) construct TM D running in time g(2n) that is not in table
14
April 3, 201514 Time Hierarchy Theorem Theorem (Time Hierarchy Theorem): For every proper complexity function f(n) ≥ n: TIME(f(n)) ( TIME(f(2n) 3 ). more on “proper complexity functions” later…
15
April 3, 201515 Proof of Time Hierarchy Theorem Proof: –SIM is TM deciding language { : M accepts x in ≤ f(|x|) steps } –Claim: SIM runs in time g(n) = f(n) 3. –define new TM D: on input if SIM accepts, reject if SIM rejects, accept –D runs in time g(2n)
16
April 3, 201516 Proof of Time Hierarchy Theorem Proof (continued): –suppose M in TIME(f(n)) decides L(D) M( ) = SIM( ) ≠ D( ) but M( ) = D( ) –contradiction.
17
April 3, 201517 Proof of Time Hierarchy Theorem Claim: there is a TM SIM that decides { : M accepts x in ≤ f(|x|) steps} and runs in time g(n) = f(n) 3. Proof sketch: SIM has 4 work tapes contents and “virtual head” positions for M’s tapes M’s transition function and state f(|x|) “+”s used as a clock scratch space
18
April 3, 201518 Proof of Time Hierarchy Theorem contents and “virtual head” positions for M’s tapes M’s transition function and state f(|x|) “+”s used as a clock scratch space –initialize tapes –simulate step of M, advance head on tape 3; repeat. –can check running time is as claimed. Important detail: need to initialize tape 3 in time O(f(n))
19
April 3, 201519 Proper Complexity Functions Definition: f is a proper complexity function if –f(n) ≥ f(n-1) for all n –there exists a TM M that outputs exactly f(n) symbols on input 1 n, and runs in time O(f(n) + n) and space O(f(n)).
20
April 3, 201520 Proper Complexity Functions includes all reasonable functions we will work with –log n, √n, n 2, 2 n, n!, … –if f and g are proper then f + g, fg, f(g), f g, 2 g are all proper can mostly ignore, but be aware it is a genuine concern: Theorem: 9 non-proper f such that TIME(f(n)) = TIME(2 f(n) ).
21
April 3, 201521 Hierarchy Theorems Does genuinely more space permit us to decide new languages? Theorem (Space Hierarchy Theorem): For every proper complexity function f(n) ≥ log n: SPACE(f(n)) ( SPACE(f(n) log f(n)). Proof: same ideas.
22
April 3, 201522 Robust Time and Space Classes What is meant by “robust” class? –no formal definition –reasonable changes to model of computation shouldn’t change class –should allow “modular composition” – calling subroutine in class (for classes closed under complement…)
23
April 3, 201523 Robust Time and Space Classes Robust time and space classes: L = SPACE(log n) PSPACE = k SPACE(n k ) P = k TIME(n k ) EXP = k TIME(2 n k )
24
April 3, 201524 Time and Space Classes Problems in these classes: 101 L : FVAL, integer multiplication, most reductions… PSPACE : generalized geography, 2-person games… pasadena athens auckland san francisco oakland davis
25
April 3, 201525 Time and Space Classes P : CVAL, linear programming, max- flow… 10 101 EXP : SAT, all of NP and much more…
26
April 3, 201526 Relationships between classes How are these four classes related to each other? Time Hierarchy Theorem implies P ( EXP –P µ TIME(2 n ) ( TIME(2 (2n)3 ) µ EXP Space Hierarchy Theorem implies L ( PSPACE –L = SPACE(log n) ( SPACE(log 2 n) µ PSPACE
27
April 3, 201527 Relationships between classes Easy: P µ PSPACE L vs. P, PSPACE vs. EXP ?
28
April 3, 201528 Relationships between classes Useful convention: Turing Machine configurations. Any point in computation represented by string: C = σ 1 σ 2 … σ i q σ i+1 σ i+2 … σ m start configuration for single-tape TM on input x: q start x 1 x 2 …x n σ1σ1... state = q σ2σ2 …σiσi σ i+1 …σmσm
29
April 3, 201529 Relationships between classes easy to tell if C yields C’ in 1 step configuration graph: nodes are configurations, edge (C, C’) iff C yields C’ in one step # configurations for a 2-tape TM (work tape + read-only input) that runs in space t(n) n x t(n) x |Q| x |∑| t(n) input-tape head position work-tape head position state work-tape contents
30
April 3, 201530 Relationships between classes if t(n) = c log n, at most n x (c log n) x c 0 x c 1 c log n ≤ n k configurations. can determine if reach q accept or q reject from start configuration by exploring config. graph of size n k (e.g. by DFS) Conclude: L µ P
31
April 3, 201531 Relationships between classes if t(n) = n c, at most n x n c x c 0 x c 1 n c ≤ 2 n k configurations. can determine if reach q accept or q reject from start configuration by exploring config. graph of size 2 n k (e.g. by DFS) Conclude: PSPACE µ EXP
32
April 3, 201532 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 ??
33
April 3, 201533 A P-complete problem We don’t know how to prove L ≠ P But, can identify problems in P least likely to be in L using P- completeness. need stronger notion of reduction (why?) yes no yes no L1L1 L2L2 f f
34
April 3, 201534 A P-complete problem logspace reduction: f computable by TM that uses O(log n) space –denoted “L 1 ≤ L L 2 ” If L 2 is P-complete, then L 2 in L implies L = P (homework problem)
35
April 3, 201535 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 n c steps
36
April 3, 201536 A P-complete problem Tableau (configurations written in an array) for machine M on input w: w1/qsw1/qs w2w2 …wnwn _ … w1w1 w2/q1w2/q1 …wnwn _ … w1/q1w1/q1 a…wnwn _ … _/q a _…__ …............ height = time taken = |w| c width = space used ≤ |w| c
37
April 3, 201537 A P-complete problem Important observation: contents of cell in tableau determined by 3 others above it: a/q 1 ba b/q 1 a a a aba b
38
April 3, 201538 A P-complete problem Can build Boolean circuit STEP –input (binary encoding of) 3 cells –output (binary encoding of) 1 cell ab/q 1 a a STEP each output bit is some function of inputs can build circuit for each size is independent of size of tableau
39
April 3, 201539 A P-complete problem |w| c copies of STEP compute row i from i-1 w1/qsw1/qs w2w2 …wnwn _ … w1w1 w2/q1w2/q1 …wnwn _ …............ Tableau for M on input w … … STEP
40
April 3, 201540 A P-complete problem w 1/ q s w2w2 …wnwn _ … STEP............ 1 iff cell contains q accept ignore these This circuit C M, w has inputs w 1 w 2 …w n and C(w) = 1 iff M accepts input w. logspace reduction Size = O(|w| 2c ) w1w1 w2w2 wnwn
41
April 3, 201541 Answer to question 10 101 Can we evaluate an n node Boolean circuit using O(log n) space? NO! (probably) CVAL in L if and only if L = P
42
April 3, 201542 Padding and succinctness Two consequences of measuring running time as function of input length: “padding” –suppose L EXP, and define PAD L = { x# N : x L, N = 2 |x| k } –TM that decides PAD L : ensure suffix of N #s, ignore #s, then simulate TM that decides L –running time now polynomial !
43
April 3, 201543 Padding and succinctness converse (intuition only): “succinctness” –suppose L is P-complete –intuitively, some inputs are “hard” -- require full power of P –SUCCINCT L has inputs encoded in different form than L, some exponentially shorter –if “hard” inputs are exponentially shorter, then candidate to be EXP-complete
44
April 3, 201544 Succinct encodings succinct encoding for a directed graph G= (V = {1,2,3,…}, E): a succinct encoding for a variable-free Boolean circuit: ij 1 iff (i, j) E ij 1 iff wire from gate i to gate j type of gate i type of gate j
45
April 3, 201545 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 2 n k steps
46
April 3, 201546 An EXP-complete problem –tableau for input x = x 1 x 2 x 3 …x n : –Circuit C from CVAL reduction has size O(2 2n k ). –TM M accepts input x iff circuit outputs 1 x _ _ _ _ _ height, width 2 n k
47
April 3, 201547 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 ij 1 iff wire from gate i to gate j type of gate i type of gate j
48
April 3, 201548 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 ??
49
April 3, 201549 Summary EXP PSPACE P L
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.