Theory of Computation. Ch.8 Space Complexity. wherein all branches of its computation halt on all

Similar documents
Introduction to Computational Complexity

Space Complexity. Huan Long. Shanghai Jiao Tong University

Theory of Computation Space Complexity. (NTU EE) Space Complexity Fall / 1

Computability and Complexity CISC462, Fall 2018, Space complexity 1

CS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)

COMPLEXITY THEORY. PSPACE = SPACE(n k ) k N. NPSPACE = NSPACE(n k ) 10/30/2012. Space Complexity: Savitch's Theorem and PSPACE- Completeness

Lecture 20: PSPACE. November 15, 2016 CS 1010 Theory of Computation

The space complexity of a standard Turing machine. The space complexity of a nondeterministic Turing machine

CS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE

UNIT-IV SPACE COMPLEXITY

NP-Completeness. A language B is NP-complete iff B NP. This property means B is NP hard

PSPACE COMPLETENESS TBQF. THURSDAY April 17

Lecture 22: PSPACE

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

22c:135 Theory of Computation. Analyzing an Algorithm. Simplifying Conventions. Example computation. How much time does M1 take to decide A?

SOLUTION: SOLUTION: SOLUTION:

Lecture 23: More PSPACE-Complete, Randomized Complexity

Space Complexity. Master Informatique. Université Paris 5 René Descartes. Master Info. Complexity Space 1/26

Complexity Theory 112. Space Complexity

Space is a computation resource. Unlike time it can be reused. Computational Complexity, by Fu Yuxi Space Complexity 1 / 44

Undirected ST-Connectivity in Log-Space. Omer Reingold. Presented by: Thang N. Dinh CISE, University of Florida, Fall, 2010

Space Complexity. The space complexity of a program is how much memory it uses.

Logarithmic space. Evgenij Thorstensen V18. Evgenij Thorstensen Logarithmic space V18 1 / 18

Notes on Complexity Theory Last updated: October, Lecture 6

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

Outline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018

Computational Complexity IV: PSPACE

Time and space classes

Complexity (Pre Lecture)

De Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2.

Could we potentially place A in a smaller complexity class if we consider other computational models?

TIME COMPLEXITY AND POLYNOMIAL TIME; NON DETERMINISTIC TURING MACHINES AND NP. THURSDAY Mar 20

satisfiability (sat) Satisfiability unsatisfiability (unsat or sat complement) and validity Any Expression φ Can Be Converted into CNFs and DNFs

CS311 Computational Structures. NP-completeness. Lecture 18. Andrew P. Black Andrew Tolmach. Thursday, 2 December 2010

6.840 Language Membership

Computability Theory

1 PSPACE-Completeness

Chapter 7: Time Complexity

6.045 Final Exam Solutions

P vs. NP Classes. Prof. (Dr.) K.R. Chowdhary.

CS5371 Theory of Computation. Lecture 24: Complexity IX (PSPACE-complete, L, NL, NL-complete)

Lecture 8: Complete Problems for Other Complexity Classes

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

P = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:

INAPPROX APPROX PTAS. FPTAS Knapsack P

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Lecture 21: Space Complexity (The Final Exam Frontier?)

Answers to the CSCE 551 Final Exam, April 30, 2008

Advanced topic: Space complexity

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Theory of Computation Time Complexity

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

CS154, Lecture 13: P vs NP

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Advanced Topics in Theoretical Computer Science

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete

CS4026 Formal Models of Computation

CISC 4090 Theory of Computation

MTAT Complexity Theory October 20th-21st, Lecture 7

More Complexity. Klaus Sutner Carnegie Mellon University. Fall 2017

Lecture 8. MINDNF = {(φ, k) φ is a CNF expression and DNF expression ψ s.t. ψ k and ψ is equivalent to φ}

Lecture 3: Nondeterminism, NP, and NP-completeness

Theory of Computation CS3102 Spring 2015 A tale of computers, math, problem solving, life, love and tragic death

Hierarchy theorems. Evgenij Thorstensen V18. Evgenij Thorstensen Hierarchy theorems V18 1 / 18

CS154, Lecture 13: P vs NP

CSE 105 Theory of Computation

Polynomial Space. The classes PS and NPS Relationship to Other Classes Equivalence PS = NPS A PS-Complete Problem

POLYNOMIAL SPACE QSAT. Games. Polynomial space cont d

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

Announcements. Problem Set 7 graded; will be returned at end of lecture. Unclaimed problem sets and midterms moved!

Introduction to Complexity Classes. Marcin Sydow

CSE200: Computability and complexity Space Complexity

CSE 135: Introduction to Theory of Computation NP-completeness

MTAT Complexity Theory October 13th-14th, Lecture 6

Algorithms & Complexity II Avarikioti Zeta

Friday Four Square! Today at 4:15PM, Outside Gates

Welcome to... Problem Analysis and Complexity Theory , 3 VU

Computational Complexity

CS154, Lecture 17: conp, Oracles again, Space Complexity

Umans Complexity Theory Lectures

COL 352 Introduction to Automata and Theory of Computation Major Exam, Sem II , Max 80, Time 2 hr. Name Entry No. Group

Part I: Definitions and Properties

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

Space and Nondeterminism

CSCI 1590 Intro to Computational Complexity

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

Theory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable

CSCE 551 Final Exam, April 28, 2016 Answer Key

Review of Basic Computational Complexity

COMPLEXITY THEORY. Lecture 17: The Polynomial Hierarchy. TU Dresden, 19th Dec Markus Krötzsch Knowledge-Based Systems

DRAFT. Diagonalization. Chapter 4

CSCI 1590 Intro to Computational Complexity

9. PSPACE 9. PSPACE. PSPACE complexity class quantified satisfiability planning problem PSPACE-complete

9. PSPACE. PSPACE complexity class quantified satisfiability planning problem PSPACE-complete

Transcription:

Definition 8.1 Let M be a deterministic Turing machine, DTM, that halts on all inputs. The space complexity of M is the function f : N N, where f(n) is the maximum number of tape cells that M scans on any input of length n. If M is a nondeterministic Turing machine, NTM, wherein all branches of its computation halt on all inputs, we define the space complexity of M, f(n), to be the maximum number of tape cells that M scans on any branch of its computation for any input of length n. Example 1 (8.3) SAT can be solved with the linear space algorithm M1: M1 = On input Φ, where Φ is a Boolean formula: 1. For each truth assignment to the variables x1,...,xn of Φ: (a) Evaluate Φ on that truth assignment; (b) If Φ evaluates to 1, accept. 2. If Φ never evaluates to 1, reject". 22c:135 Theory of Computation Hantao Zhang http://www.cs.uiowa.edu/ hzhang/c135 The University of Iowa Department of Computer Science Ch.8 Space Complexity Estimation of space complexity Let f : N N be a function. The space complexity classes, SPACE(f(n)) and NSPACE(f(n)) are defined by: SPACE(f(n)) = {L L is a language decided by an O(f(n)) space DTM} NSPACE(f(n)) = {L L is a language decided by an O(f(n)) space NTM}

Example 3 (8.4) Testing whether an NFA accepts all strings, ALLNFA = { A A is an NFA L(A) = Σ } ALLNFA = { A A is an NFA L(A) Σ } We show that ALLNFA NSPACE(n). Proof idea: construct N, a nondeterministic linear space algorithm that decide ALLNFA by guessing a string that is rejected by NFA A and uses a linear space to keep track of which states the NFA could be in at a particular time. Note, this language is not known to be NP or co NP. SPACE vs NSPACE Recall NTIME(f(n)) TIME(2 O(f(n)) ). Savitch s Theorem For any function f : N N, where f(n) n, NSPACE(f(n)) SPACE(f 2 (n)). Proof idea: If NTM N uses f(n) space, we need to construct a DTM M which simulates N and uses f 2 (n) space. Example 2 Testing whether a DFA accepts all strings, ALLDFA = { A A is a DFA L(A) = Σ } ALLDFA = { A A is an DFA L(A) Σ } We show that ALLDF A SPACE(n). Proof idea: construct D, a deterministic linear space algorithm that decide ALLDFA by enumerating all strings of length n. If A rejects one of them, D stops with accept. If A accepts all, D will reject. Construction N = On input A where A is an NFA: 1. Place a marker on the start state of A. 2. Repeat 2 q times, where q is the number of states of A: (a) Nondeterministically select an input symbol and change the positions of all the markers on A s states to simulate reading of that symbol. (b) If all the marked states are non-final, accept; 3. reject".

CANYIELD(c1, c2, t) CANYIELD(c1,c2,t) is a TM that tests whether a NTM N can go from the configuration c1 of N to the configuration c2 of N in at most t steps. CANYIELD = "On input c1,c2,t: 1. If t = 1 test whether c1 = c2 or whether c1 yields c2 in one step according to the transition rules of N; accept if either test succeeds, reject is both fail. 2. If t > 1 then for each configuration x of N using space f(n): (a) Run CANYIELD(c1, x, t/2 ). (b) Run CANYIELD(x, c2, t/2 ). (c) If both 2(a) and 2(b) accept then accept. 3. If haven t yet accepted at 2(c), reject". AnalyzingM Whenever CANYIELD invokes itself recursively it stores the current stage number and the values c1, c2, t on the stack. Each level of recursion uses O(f(n)) additional space. Each level of recursion divides the size t in half. Since initially t = 2 df(n) the depth of the recursion is O(log(2 df(n) ) = O(f(n)). Hence, the total space used is O(f 2 (n)). SPACE vs NSPACE Recall NTIME(f(n)) TIME(2 O(f(n)) ). Savitch s Theorem For any function f N N, where f(n) n, NSPACE(f(n)) SPACE(f 2 (n)). Proof idea: If NTM N uses f(n) space, we need to construct a DTM M which simulates N and uses f 2 (n) space. M calls the function CANYIELD(c1,c2,t), which can be computed by a TM, that tests whether a NTM N can go from the configuration c1 of N to the configuration c2 of N in at most t steps. DTMM simulating NTMN Suppose N is modified that once it enters an accepting state, it erases everything on the tape and moves the tape head to the leftmost position. Let such a final configuration be ca. Let d be a constant such that N has no more that 2 df(n) configuration. Then the DTM M is: M = "On input w 1. Let cs be q0w, where q0 is the start state of N. 2. Output the result of CANYIELD(cs,ca,2 df(n) )."

The classpspace PSPACE is the class of languages that are decidable in polynomial space on a DTM, i.e.: PSPACE = kspace(n k ) NPSPACE = knspace(n k ) Let us all define EXPTIME = ktime(2 nk ) Lemma: SPACE(f(n)) TIME(2 O(f(n)) ). SUMMARY P NP PSPACE = NPSPACE EXPTIME APSPACE-complete language TQBF = { Φ Φ is a true fully quantified Boolean formula} Φ is a fully quantified Boolean formula if Φ = Q1x1Q2 QnxnΨ, where Ψ is a Boolean formula in CNF, x1,x2,...,xn are the boolean variables in Ψ (Φ is said to be in prenex normal form), and Qi {, } for 1 i n. T QBF is PSPACE-complete. The classpspace PSPACE is the class of languages that are decidable in polynomial space on a DTM, i.e.: PSPACE = kspace(n k ) NPSPACE = knspace(n k ) Let us define EXPTIME = ktime(2 nk ) Lemma: SPACE(f(n)) TIME(2 O(f(n)) ). PSPACE-Completeness A language B is PSPACE-complete if it satisfies two conditions: 1. B PSPACE 2. Every A PSPACE is polynomially time reducible to B. If B satisfies only 2, B is said to be PSPACE-hard.

T QBF is PSPACE-Hard Idea: Use T and the construction of CANYIELD to prove that any PSPCE problem reduces to TQBF in polynomial time. Assignment-tableau correspondence The assignment turns on exactly one variable for each cell, using the following constructs: 1. at least one variable that is associated with a cell is on, by: s C x i,j,s 2. no more than one variable is on for each each cell, by: s,t C,s t (x i,j,s xi,j,t) Thus, any satisfying assignment specifies one symbol in each cell by: Φcell = 1 i,j j [( s C x i,j,s) ( s t C (x i,j,s xi,j,t))] TQBF PSPACE The following polynomial space algorithm decides TQBF: T = "On input Φ, a fully quantified Boolean formula: 1. If Φ contains no quantifiers, then it is an expression with only constants. So, evaluate Φ and accept if it is true; otherwise reject. 2. If Φ = xψ, recursively call T on Ψ, first with 0 substituted for x and then with 1 substituted for x. If either result is accept, accept; otherwise reject. 3. If Φ = xψ, recursively call T on Ψ, first with 0 substituted for x and then with 1 substituted for x. If both results are accept, accept; otherwise reject." Proof Review: SAT is NP-Hard On input A,w, let n = w and A can be recognized by a NTM using n k time for constant k, f will produce Φw in O(n k ). Variables ofφw: Let N = (Q,Σ,Γ,δ,q0,qa,qr), L(N) = A, and C = Q Γ {#}. For each 1 i,j n k s C we have a boolean variable xi,j,s in Φw. Cells: each of the (n k ) 2 entries of a tableau is called a cell. s C xi,j,s = 1 if cell[i,j] = s. Formula Φw: Φw = Φcell Φstart Φmove Φaccept.

Legal windows A 2 3 window of cells is legal if that window does not violate the actions specified by N s transition function. To explain, consider the transitions: δ(q1,b) = {(q2,c,l),(q2,a,r)}. Examples of legal windows for this machine are: (a) x q1 b q2 x c (d) # y x # y x (b) x q1 b x a q2 (e) b z x q2 z x (c) y x q1 y x a (f) q1 b z a q2 z Note Φc1,c2,t encodes the contents of tape cells as in the Cook-Levin theorem. Each configuration has n k cells and so it is encoded by O(n k ) variables. For t = 1 the formula Φc1,c2,t says that either c1 = c2 or c2 follows from c1 in a single step of M. If t > 1, construct Φc1,c2,t recursively: Φc1,c2,t = m1[φ c1,m1,t/2 Φ m1,c2,t/2 ] where m1 is a configuration of M. m1 is shorthand for x1,x2,...,xl, l = O(n k ) and x1,...,xl are variables encoding m1. To reduce the size of the formula we use both quantifiers, and : Φc1,c2,t = m1 (c3,c4) {(c1,m1),(m1,c2)}[φ c3,c4,t/2 ] where x {y,z...}φ(x) denotes (Φ(y) P(z)...). An accepting tableau is specified by Φstart, Φmove, Φaccept Φstart ensures that the first row of the tableau is the starting configuration of N on w by the equality: Φstart = x1,1,# x1,2,q0 x1,3,w1... x1,n+3,wn... x 1,n k 1, x 1,n k,#. Φaccept guarantees that an accepting configuration occurs in the tableau by placing qa in one of the cells by: Φaccept = 1 i,j n k x i,j,qa Φmove guarantees that each row of the tableau correspond to a configuration that legally follows the preceding row s configuration according the N s transition rules. T QBF is PSPACE-hard Let A be a language decided by TM M in space n k for some constant k. We give a polynomial time reduction from A to TQBF: The reduction maps machine M and string w to a quantified Boolean formula Φ that is true iff M accepts w: The formula is Φc1,c2,t where c1 and c2 are variables representing two configurations, and t > 0. If we assign to c1 and c2 actual configurations, Φc1,c2,t is true iff M can go from c1 to c2 in at most t steps. Consider Φcstart,caccept,h, where h = 2 df(n) for a constant d chosen so that M has no more than 2 df(n) configurations. Assume that t is a power of 2.

Example of Formula Game Suppose E moves first. If Φ = (x1 x2) (x2 x3) ( x2 x3) then E always wins if it selects x1 = 1, thus E has the winning strategy. If Ψ = (x1 x2) (x2 x3) (x2 x3) then A always wins: If E selects x2 = 1, then A selects x1 = 0; otherwise A selects x2 = 0. Thus A has a winning strategy for this game. Theorem 8.11 The problem of determining which player has a winning strategy in a formula-game associated with a particular formula is PSPACE-complete. Formally: FORMULA-GAME = { X,Φ Player E has a winning strategy in the formula game (X,Φ)} is PSPACE-complete. A Formula Game A formual game is a pair (X,Ψ), where X is a list of boolean variables, X = [x1,x2,...,xm], and Ψ is a quantifier-free boolean formula built on X. The game consists of m moves: In move i, a player assigns a boolean value to variable xi. Two players, E and A, take turn to make a move. If Ψ becomes true after m moves, E wins; otherwise, A wins. A player is said to have a winning strategy if the player can always win the game by making right moves, no matter how the other player moves. TQBF vs Formula Game Theorem: Given a game (X,Ψ), suppose E moves first and m is even. Let Φ = x1 x2 x3... xm[ψ]. Then Φ is true iff E has a winning strategy for the game (X,Ψ). Lemma: For any fully quantified boolean formula Φ, there exists an equivalent fully quantified boolean formula Φ in prenex normal form whose quantifiers alternate between and. Theorem: For any fully quantified boolean formula Φ, there exists a formula game (X,Ψ) such that player E has a winning strategy iff Φ is true.

The GG problem GG = { G,b Player I has a winnintg strategy for the generalized geography game played on graph G starting at node b}. Theorem 8.14 GG is PSPACE-complete GG is PSPACE-hard Theorem: Formula-Game P GG. Let (X,Φ) be a formula game, where Φ is in CNF containing m clauses. We construct a graph G = (V,E) and a special node b such that player E has a winning strategy in (X,Φ) for formual game iff player E has a winning strategy in (G,b) in GG. V = V1 V2, where V1 = {bi,xi, xi,ei 1 i k,k = X } (assume X is odd), and V2 = {c,cj,cj,i 1 j m,1 i k,cj = (cj,1 cj,k)}. E = E1 E2 E3, where E1 constructs a chain of dimonds among V1, E2 constructs a tree among V2, E3 connects V1 and V2. b = b1 Generalized Geography This is a child game where players take turns naming cities from anywhere in the world. Each city chosen must begin with the same letter that ended the previous city name and no duplication is allowed. Graph model: A directed graph G = (V,E) whose nodes are cities of the world and an arrow goes from node n1 to node n2 if the city labeling n2 starts with the letter that ends the name labeling node n1. GG is in PSPACE The following algorithm M decides whether player E has a winning strategy for GG game: M="On input G,b where G is a directed graph and b is a node of G: 1. If b has outdegree 0, reject, player E loses immediately 2. Remove node b and all connected arrows to get G. 3. For each node b1,b2,...,bk that b originally pointed, recursively call M on G,bi. 4. If one of (bi,g ) returns reject, player E would choose bi, and M accepts. 5. If all of these (bi,g ) return accept, player A has a winning strategy in the original game, so M returns reject.

Example A = {0 k 1 k k > 0} is a member of L. Zig-zag decision algorithm can be modified to use two tapes: a read-only input tape and a read-write working tape. The algorithm counts 0-s and 1 in the input and write their binary expressions on the work tape. Since only space for two binary numbers is required and since number of binary digits in n is log n it results that A L. Log space transducers A log space transducer M is a TM with a read-only input tape, a write-only output tape, and a read/write work tape. The work tape may contain O(log n) symbols. M computes a function f : Σ Σ, where f(w) is the string remaining on the output tape after M halts when it starts with w on the input tape. f is called a log space computable function Definition 8.17 L is the class of languages that are decidable in logarithmic space on a DTM with a read-only input tape, i.e., L = SPACE(logn) NL is the class of languages that are decidable in logarithmic space on a NTM with a read-only input tape, i.e., L = NSPACE(logn) Note: Since logn < n these languages are also called of sublinear space complexity. Example P AT H = { G, s, t G is a directed graph that has a directed path from s to t } is a member of NL. Let T be the NTM recognizing PATH. T needs only to remember one node on its work tape. Let that node be x. T = On input G,s,t 1. Initially, x = s. 2. If x has no successors, T rejects. 3. T then nondeterministically chooses a successor y of x. 4. If y is t, T accepts. 5. Replace x by y, go to 2.

Configuration If M is a TM that has a read-only input tape and a work tape, and w is an input, a configuration of M on w is a setting of the state, the work tape, and the positions of the two tape heads. Note: w is, but w itself is not part of the configuration of M on w. If w = n, Γ = g, Q = h, and M uses f(n) space, then the different configurations will be n f(n) h g f(n) or n2 O(f(n)). Theorem: If A L B, then A P B. NL-Completeness A Language B is NL-complete if: 1. B NL 2. For every A NL, A L B. Log space reducibility Language A is log space reducible to language B, written A L B, if there exists a log space computable function f, such that for any w Σ, w A iff f(w) B. Proof of the Theorem Theorem: If A L B, then A P B. Using Savitch s Theorem: For any function fn N, where f(n) n, NSPACE(f(n)) SPACE(f 2 (n)). Savitch s theorem works for f(n) = O(logn).

Proof of the Theorem If A L B and B L then A L. Proof: Let MA be the TM recognizing A and MB be the TM recognizing B. MA computes individual symbols of f(w) as required by MB. In simulation MA keeps track of where MB s input head would be on f(b). Every time MB moves, MA restarts computation of f on w from the beginning and ignores all the output except for the desired location of f(w). This may be time-inefficient because parts of f(w) could be repeated. However, only a single symbol of f(w) need be stored at any time, in effect treading time for space Theorem 8.25 P AT H is N L-complete, where PATH = { G,s,t G is a directed graph that has a directed path from s to t } Theorem 8.23 If A L B and B L then A L. Proof: for w A, f(w) B but f(w) could require a too large space to fit within log space bound. Hence we need another approach. Corollary If any NL-complete language is in L then L = NL.

Summary L NL P NP PSPACE = NPSPACE EXPTIME Corollary 8.26 NL P Proof: PATH P and any language in NL is polynomially time reducible to PATH.