Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

Variants of Turing machines
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
NL equals coNL Section 8.6 Giorgi Japaridze Theory of Computability.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
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.
Computability and Complexity 22-1 Computability and Complexity Andrei Bulatov Hierarchy Theorem.
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.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Introduction to Computability Theory Lecture12: Decidable Languages 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.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
Computability and Complexity 32-1 Computability and Complexity Andrei Bulatov Boolean Circuits.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
NP-Completeness NP-Completeness Graphs 4/17/2017 4:10 AM x x x x x x x
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
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.
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
Non-Deterministic Space is Closed Under Complementation Neil Immerman Richard Szelepcsenyi Presented By: Subhajit Dasgupta.
Machines with Memory Chapter 3 (Part B). Turing Machines  Introduced by Alan Turing in 1936 in his famous paper “On Computable Numbers with an Application.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
Theory of Computing Lecture 21 MAS 714 Hartmut Klauck.
A Universal Turing Machine
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
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)
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
Fall 2013 CMU CS Computational Complexity Lecture 2 Diagonalization, 9/12/2013.
NP-complete Languages
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
Complexity 24-1 Complexity Andrei Bulatov Counting Problems.
Complexity ©D.Moshkovitz 1 Our First NP-Complete Problem The Cook-Levin theorem A B C.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Chapter 7 Introduction to Computational Complexity.
Space Complexity Guy Feigenblat Based on lecture by Dr. Ely Porat Complexity course Computer science department, Bar-Ilan university December 2008.
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.
NP-Completeness A problem is NP-complete if: It is in NP
Probabilistic Algorithms
Part VI NP-Hardness.
Busch Complexity Lectures: Reductions
Reductions Costas Busch - LSU.
Theory of Computational Complexity
Decidable Languages Costas Busch - LSU.
Computability and Complexity
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 4 April 8, 2004.
Presentation transcript:

Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL

Computability and Complexity 20-2 We have seen that polynomial time reduction between problems is a very useful concept for studying relative complexity of problems. It allowed us to distinguish a class of problems, NP, which includes many important problems and is viewed as the class of hard problems We are going to do the same for space complexity classes: NL and PSPACE There is a problem: Polynomial time reduction is too powerful Reducing Problems

Computability and Complexity 20-3 Log-Space Reduction A transducer is a 3-tape Turing Machine such that the first tape is an input tape, it is never overwritten the second tape is a working tape the third tape is an output tape, no instruction of the transition function uses the content of this tape The space complexity of such a machine is the number of cells on the working tape visited during a computation A function is said to be log-space computable if there is a transducer computing f in O(log n)

Computability and Complexity 20-4 Definition A language A is log-space reducible to a language B, denoted, if a log-space computable function f exists such that for all Note that a function computable in log-space is computable in polynomial time, so

Computability and Complexity 20-5 Completeness Definition A language L is said to be NL -complete if L  NL and, for any A  NL, Definition A language L is said to be NL -complete if L  NL and, for any A  NL, Definition A language L is said to be P -complete if L  P and, for any A  P, Definition A language L is said to be P -complete if L  P and, for any A  P,

Computability and Complexity 20-6 NL-Completeness of REACHABITITY Theorem Reachability is NL-complete Theorem Reachability is NL-complete Proof Idea For any non-deterministic log-space machine NT, and any input x, construct the graph NT(x). Its vertices are possible configurations of NT using at most log(|x|) cells on the working tape; its edges are possible transitions between configurations. Then NT accepts the input x if and only if the accepting configuration is reachable from the initial configuration Corollary NL  P Corollary NL  P

Computability and Complexity 20-7 Proof Let A be a language in NL Let NT be a non-deterministic Turing Machine that decides A with space complexity log n Choose an encoding for the computation NT(x) that uses klog(|x|) symbols for each configuration Let be the initial configuration, and be the accepting configuration We represent NT(x) by giving first the list of vertices, and then a list of edges

Computability and Complexity 20-8 Our transducer T does the following - T goes through all possible strings of length klog(|x|) and, if the string properly encodes a configuration of NT, prints it on the output tape - Then T goes through all possible pairs of strings of length klog(|x|). For each pair it checks if both strings are legal encodings of configurations of NT, and if can yield. If yes then it prints out the pair on the output tape Both operations can be done in log-space because the first step requires storing only the current string (the strings can be listed in lexicographical order). Similarly, the second step requires storing two strings, and (possibly) some counters NT accepts x if and only if there is a path in NT(x) from to

Computability and Complexity 20-9 Log-Space reductions and L We take it for granted that P is closed under polynomial-time reductions We can expect that L is closed under log-space reductions, but it is much less trivial Theorem If and B  L, then A  L Theorem If and B  L, then A  L Corollary If any NL-complete language belongs to L, then L = NL Corollary If any NL-complete language belongs to L, then L = NL

Computability and Complexity Proof Let M be a Turing Machine solving B in log-space, and let T be a log-space transducer reducing A to B It is not possible to construct a log-space decider for A just combining M and T, because the output of T may require more than log-space Instead, we do the following On an input x, a decider M' for A Simulates M on f(x) Let f be the function computed by T When it needs to read the l -th symbol of f(x), M' simulates T on x, but ignores all outputs except for the l -th symbol

Computability and Complexity P-completeness Using log-space reductions we can study the finer structure of the class P Instance: A Horn CNF . Question: Is  satisfiable? Horn-SAT A clause is said to be a Horn if it contains at most one positive literal A CNF is said to be Horn if every its clause is Horn

Computability and Complexity Theorem Horn-SAT is P-complete Theorem Horn-SAT is P-complete

Computability and Complexity All Languages Decidable Languages P PSPACE Time and Space NP NP-complete P-complete NL-complete NL L

Computability and Complexity NL and coNL For a language L over an alphabet , we denote the complement of L, the language  * - L Definition The class of languages L such that can be solved by a non-deterministic log-space Turing machine verifier is called coNL Definition The class of languages L such that can be solved by a non-deterministic log-space Turing machine verifier is called coNL Theorem NL = coNL Theorem NL = coNL

Computability and Complexity Proof Therefore it is enough to show that No-Reachability is in NL. The properties of NL and coNL are similar to those of NP and coNP : if a coNL-complete problem belongs to NL then NL = coNL if L is NL-complete then is coNL-complete Reachability is NL-complete. In order to do this, we have to find a non-deterministic algorithm that proves in log-space that there is no path between two specified vertices in a graph

Computability and Complexity Counting the number of reachable vertices Given a graph G and two its vertices s and t ; let n be the number of vertices of G First, we count the number c of vertices reachable from s Let be the set of all vertices connected to s with a path of length at most i, and Clearly,, and We compute the numbers inductively

Computability and Complexity Suppose is known. The following algorithm non-deterministically either compute or reject set for every vertex v from G do set for every vertex w from G non-deterministically do or not do - check whether or not using random walk - if not then reject - if yes then set m = m – 1 - if there is the edge (w,v) and a witness for v is not found yet, set if m  0 reject output

Computability and Complexity Checking Reachability Given G, s, t and c for every vertex v from G non-deterministically do or not do - check whether or not v is reachable from s using random walk - if not then reject - if yes then set m = m – 1 - if v = t then reject set if m  0 reject accept