Computability and Complexity 22-1 Computability and Complexity Andrei Bulatov Hierarchy Theorem.

Slides:



Advertisements
Similar presentations
Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
Advertisements

CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity 7-1 Complexity Andrei Bulatov Complexity of Problems.
Computability and Complexity 4-1 Existence of Undecidable Problems Computability and Complexity Andrei Bulatov.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Complexity 13-1 Complexity Andrei Bulatov Hierarchy Theorem.
Computability and Complexity 14-1 Computability and Complexity Andrei Bulatov Cook’s Theorem.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
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)
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Computability and Complexity 19-1 Computability and Complexity Andrei Bulatov Non-Deterministic Space.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Complexity 5-1 Complexity Andrei Bulatov Complexity of Problems.
Computability and Complexity 7-1 Computability and Complexity Andrei Bulatov Recursion Theorem.
Recursively Enumerable and Recursive Languages
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
Computability and Complexity 32-1 Computability and Complexity Andrei Bulatov Boolean Circuits.
CHAPTER 4 Decidability Contents Decidable Languages
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
Complexity 1 The Padding Argument. Complexity 2 Motivation: Scaling-Up Complexity Claims space + non-determinism We have: space + determinism can be simulated.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS 310 – Fall 2006 Pacific University CS310 Complexity Section 7.1 November 27, 2006.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
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.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
Theory of Computing Lecture 21 MAS 714 Hartmut Klauck.
A Universal Turing Machine
Measuring complexity Section 7.1 Giorgi Japaridze Theory of Computability.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Hierarchy theorems Section 9.1 Giorgi Japaridze Theory of Computability.
Alternation Section 10.3 Giorgi Japaridze Theory of Computability.
Recursively Enumerable and Recursive Languages
Fall 2013 CMU CS Computational Complexity Lecture 2 Diagonalization, 9/12/2013.
NP-complete Languages
Theory of Computational Complexity Yuji Ishikawa Avis lab. M1.
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
 2005 SDU Lecture14 Mapping Reducibility, Complexity.
The Acceptance Problem for TMs
A Universal Turing Machine
Recursively Enumerable and Recursive Languages
Lecture12 The Halting Problem
Reductions Costas Busch - LSU.
Computational Complexity Theory
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Theory of Computational Complexity
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
Computability and Complexity
Theory of Computability
CS154, Lecture 12: Time Complexity
Recall last lecture and Nondeterministic TMs
Turing Machines Complexity ©D.Moshkovitz.
Presentation transcript:

Computability and Complexity 22-1 Computability and Complexity Andrei Bulatov Hierarchy Theorem

Computability and Complexity 22-2 Complexity Classes We know a number of complexity classes and we how they relate each other L  NL  P  NP, coNP  PSPACE However, we do not know if any of them are different Questions P  NP and L  NL concern the (possible) difference between determinism and nondeterminism and known to be extremely difficult Complexity classes can be distinguished using another parameter: The amount of time/space available

Computability and Complexity 22-3 Space Constructable Functions Definition A function f: N  N, where f(n)  log n, is called space constructable, if the function that maps to the binary representation of f(n) is computable in space O(f(n)). Definition A function f: N  N, where f(n)  log n, is called space constructable, if the function that maps to the binary representation of f(n) is computable in space O(f(n)). Examples polynomials n log n 

Computability and Complexity 22-4 Hierarchy Theorem Theorem For any space constructable function f: N  N, there exists a language L that is decidable in space O(f(n)), but not in space o(f(n)). Theorem For any space constructable function f: N  N, there exists a language L that is decidable in space O(f(n)), but not in space o(f(n)). Corollary If f(n) and g(n) are space constructable functions, and f(n) = o(g(n)), then SPACE[f]  SPACE[g] Corollary If f(n) and g(n) are space constructable functions, and f(n) = o(g(n)), then SPACE[f]  SPACE[g] Corollary L  PSPACE Corollary L  PSPACE Corollary NL  PSPACE Corollary NL  PSPACE

Computability and Complexity 22-5 Proof Idea Diagonalization Method: apply a Turing Machine to its own description revert the answer get a contradiction In our case, a contradiction can be with the claim that something is computable within o(f(n)) Let L = {“M” | M does not accept “M” in f(n) space }

Computability and Complexity 22-6 If M decides L in space f(n) then what can we say about M(“M”)? if M(“M”) accepts then “ M does not accept M in space f(n)” if M(“M”) rejects then “ M accepts M in space f(n)” There are problems we showed that L cannot be decided in space f(n), while what need is to show that it is not decidable in space o(f(n)) what we can assume about a decider for L is that it works in O(f(n)); but this means the decider uses fewer than cf(n) cells for inputs longer than some. What if “ M ” is shorter than that?

Computability and Complexity 22-7 Proof In order to kick in asymptotics, change the language L = {“M ” | simulation of M on a UTM does not accept “M ” in f(n) space } The following algorithm decides L in O(f(n)) On input x Let n be the length of x Compute f(n) and mark off this much tape. If later stages ever attempt to use more space, reject If x is not of the form M for some M, reject Simulate M on x while counting the number of steps used in the simulation. If the count ever exceeds, accept If M accepts, reject. If M rejects, accept

Computability and Complexity 22-8 The key stage is the simulation of M Our algorithm simulates M with some loss of efficiency, because the alphabet of M can be arbitrary. If M works in g(n) space then our algorithm simulates M using bg(n) space, where b is a constant factor depending on M Thus, bg(n)  f(n) Clearly, this algorithm works in O(f(n)) space

Computability and Complexity 22-9 Suppose that there exists a TM M deciding L in space g(n) = o(f(n)) We can simulate M using bg(n) space There is such that for all inputs x with we have Consider Since, the simulation of M either accepts or rejects on this input in space f(n) If the simulation accepts then does not accept If the simulation rejects then accepts

Computability and Complexity Time Hierarchy Theorem Theorem For any time constructable function f: N  N, there exists a language L that is decidable in time O(f(n)), but not in time. Theorem For any time constructable function f: N  N, there exists a language L that is decidable in time O(f(n)), but not in time. Corollary If f(n) and g(n) are space constructable functions, and, then TIME[f]  TIME[g] Corollary If f(n) and g(n) are space constructable functions, and, then TIME[f]  TIME[g]

Computability and Complexity Definition The Class EXPTIME Corollary P  EXPTIME Corollary P  EXPTIME