Theory of Computability

Slides:



Advertisements
Similar presentations
Measuring Time Complexity
Advertisements

Based on Powerpoint slides by Giorgi Japaridze, Villanova University Space Complexity and Interactive Proof Systems Sections 8.0, 8.1, 8.2, 8.3, 10.4.
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
Giorgi Japaridze Theory of Computability Savitch’s Theorem Section 8.1.
The class NP Section 7.3 Giorgi Japaridze Theory of Computability.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Probabilistic algorithms Section 10.2 Giorgi Japaridze Theory of Computability.
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Measuring Time Complexity Sipser 7.1 (pages )
P and NP Sipser (pages ). CS 311 Fall Polynomial time P = ∪ k TIME(n k ) … P = ∪ k TIME(n k ) … TIME(n 3 ) TIME(n 2 ) TIME(n)
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Mount Holyoke College 2 The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Fall The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
CS 310 – Fall 2006 Pacific University CS310 Complexity Section 7.1 November 27, 2006.
Definition: Let M be a deterministic Turing Machine that halts on all inputs. Space Complexity of M is the function f:N  N, where f(n) is the maximum.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
Measuring complexity Section 7.1 Giorgi Japaridze Theory of Computability.
Parallel computation Section 10.5 Giorgi Japaridze Theory of Computability.
Hierarchy theorems Section 9.1 Giorgi Japaridze Theory of Computability.
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
The Classes L and NL Section 8.4 Giorgi Japaridze Theory of Computability.
Alternation Section 10.3 Giorgi Japaridze Theory of Computability.
Fall 2013 CMU CS Computational Complexity Lecture 2 Diagonalization, 9/12/2013.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Theory of Computational Complexity Yuji Ishikawa Avis lab. M1.
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
CSCI 2670 Introduction to Theory of Computing November 15, 2005.
 2005 SDU Lecture14 Mapping Reducibility, Complexity.
Theory of Computability
Analysis of Algorithms
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
Busch Complexity Lectures: Turing Machines
COSC 3340: Introduction to Theory of Computation
Theory of Computability
Turing Machines Space bounds Reductions Complexity classes
Computing with Turing Machines
COSC 3340: Introduction to Theory of Computation
Theory of Computability
Chapter 3: The CHURCH-Turing thesis
CSCI 2670 Introduction to Theory of Computing
Decidability of logical theories
Space Complexity Costas Busch - LSU.
CSC 4170 Theory of Computation Space complexity Chapter 8.
CSC 4170 Theory of Computation The class NP Section 7.3.
COSC 3340: Introduction to Theory of Computation
CS154, Lecture 12: Time Complexity
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
CSC 4170 Theory of Computation Time complexity Section 7.1.
Theory of Computability
Theory of Computability
CSC 4170 Theory of Computation The class NP Section 7.3.
Theory of Computability
Decidability of logical theories
Theory of Computability
Theory of Computability
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
Theory of Computability
Theory of Computability
CSC 4170 Theory of Computation Time complexity Section 7.1.
Theory of Computability
Space Complexity and Interactive Proof Systems
Intro to Theory of Computation
Presentation transcript:

Theory of Computability Giorgi Japaridze Theory of Computability Space Complexity Section 8.0

Space complexity defined Giorgi Japaridze Theory of Computability Definition 8.1 Let M be a deterministic Turing machine 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 the space complexity of M is f(n), we also say that M runs in space f(n). If M is a nondeterministic TM wherein all branches halt on all inputs, we define its space complexity 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.

Definition 8.2 Let f: NR+ be a function. The space complexity SPACE and NSPACE 8.0.b Giorgi Japaridze Theory of Computability Definition 8.2 Let f: NR+ be a function. The space complexity classes SPACE(f(n)) and NSPACE(f(n)) are defined as follows. SPACE(f(n)) = {L | L is a language decided by an O(f(n)) space deterministic Turing machine} NSPACE(f(n)) = {L | L is a language decided by an O(f(n)) space nondeterministic Turing machine}.

Space is more powerful than time Giorgi Japaridze Theory of Computability Example 8.3. Space is more powerful than time, because it can be reused. E.g., while we believe that SAT has no polynomial (let alone linear) time algorithm, it can be easily decided in linear space: M1 = “On input <>, where  is a Boolean formula: 1. For each truth assignment to the variables x1,...,xm of : 2. Evaluate  on that truth assignment. 3. If  ever evaluated to 1, accept; if not, reject.” Each iteration of the loop needs extra memory only for remembering the current truth assignment, and for evaluating  on that assignment. This takes O(n) space. This space can then be recycled during the next iteration. Thus, the overall space complexity here remains linear. What is the time complexity of this algorithm, by the way?