Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.


 Piers Shaw
 3 years ago
 Views:
Transcription
1 Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas
2
3 Background One basic goal in complexity theory is to separate interesting complexity classes. To separate C 1 and C 2 (i.e. to show C 1 C 2 ) we need to exhibit a machine (the language of which is) in C 1 that gives a different answer on some input from every machine in C 2. Diagonalization is the only general technique known for constructing such a machine. We have already seen diagonalization in Section 1.4, where it was used to show the existence of uncomputable functions. 2
4 In this lecture, we use diagonalization to prove hierarchy theorems, according to which giving Turing machines more computational resources (such as time, space, and nondeterminism) allows them to solve a strictly larger number of problems. We will also show that if P NP then there exist problems that are neither in P nor NPcomplete. It was realized though in the 1970s that diagonalization alone may not resolve P versus NP. Interestingly, the limits of diagonalization are proved using diagonalization. 2
5 Basic facts about universal simulation We know that Turing machines can be efficiently represented by strings, such that: Every string α {0, 1} represents a Turing machine. Every Turing machine is represented by infinitely many strings. Given a string α a universal Turing machine U can simulate the machine M α represented by α with a small (i.e. at most logarithmic) overhead, i.e. there is a function F (m) = O(m log m) such that for any α and any x {0, 1}, the running time of U(α, x) is F (T α (x)), where T α (x) is the running time of M α (x). Notational remark: For a fixed bijection ϕ: N {0, 1} and for i N, we will also use the notation M i for the machine represented by the string α = ϕ(i). One way to construct such a bijection is to define ϕ(i) as the binary expansion of i + 1 with the leading 1bit ignored. 3
6 Time Hierarchy Theorem Theorem 3.1. For every timeconstructible functions f and g with f(n) log f(n) = o(g(n)) we have that DTIME(g(n)) DTIME(f(n)). We will prove a lighter version of the theorem: Theorem 3.1. For every ɛ > 0 we have that DTIME(n 1+ɛ ) DTIME(n). 4
7 Proof of the time hierarchy theorem (lighter version) For a fixed ɛ > 0 define a diagonal function D 1,ɛ : {0, 1} {0, 1} as follows: D 1,ɛ (x) = 0 if M x (x) outputs 1 in time x 1+ ɛ 2 1 otherwise (i.e. if M x (x) outputs something else or does not stop during this time). Due to the efficiency of universal simulation, D 1,ɛ (x) with x {0, 1} m can be computed in time: O ( m 1+ 2 ɛ log ( m 1+ 2 ɛ )) (( = O 1 + ɛ ) m 1+ ɛ ) 2 log m = o ( m 1+ɛ). 2 So, the language L D of D 1,ɛ is in DTIME(n 1+ɛ ). On the other hand, L D cannot be in DTIME(n), because this would lead to a contradiction. 5
8 There is an infinite set A {0, 1}, such that for every α A, M α is the machine with running time t(n) = O(n) that decides L D, i.e. M α (x) = D 1,ɛ (x) for every x {0, 1} and for every α A. On the other hand, because of t(n) = O(n) there exists n 0 such that t(n) n 1+ ɛ 2 for every n n 0, and hence for every x with x n 0 and for every α A the machine M α (x) stops in x 1+ ɛ 2 steps. By taking α A such that α n 0, we have that M α (α) stops in α steps and hence D 1,ɛ (α) M α (α), i.e. A contradiction. M α (α) = D 1,ɛ (α) M α (α). 5
9 Space Hierarchy Theorem Completely analogous to the time hierarchy theorem. Spaceconstructible functions f : N N are functions for which there is a machine that, given any nbit input, constructs f(n) in space O(f(n)). Theorem 3.2: For every spaceconstructible function f : N N, there exists a language L that is decidable in space O(f(n)) but not in space g(n) = o(f(n)), i.e. SPACE(f(n)) SPACE(g(n)). The proof is completely analogous to that of Theorem 3.1. The theorem does not have the logarithmic factor because the universal machine for spacebounded computation incurs only a constant factor overhead in space. 6
10 Proof of the Space Hierarchy Theorem L def = { ( M, 10 k ) : 0 M( M, 10 k ) using space f( M, 10 k ) }. For any M that decides a language in space o(f(n)), L will differ in at least one spot (at ( M, 10 k )) from L M. L is decided as follows: 1. On an input x, compute f( x ) using spaceconstructibility, and mark off f( x ) cells of tape. Whenever an attempt is made to use more than f( x ) cells, reject. 2. If x is not of the form M, 10 k for some TM M, reject. 3. Simulate M(x) for at most 2 f( x ) steps (using f( x ) space). If M tries to use more than f( x ) space or more than 2 f( x ) operations, then reject. 4. If 1 M(x) during this simulation, then reject; otherwise, accept. Note on step 3: Execution is limited to 2f( x ) steps in order to avoid the case where M does not halt on the input x. That is, the case where M consumes space of only O(f(x)) as required, but runs for infinite time. 7
11 Nondeterministic Time Hierarchy Theorem Theorem 3.3: If f, g are time constructible functions satisfying f(n + 1) = o(g(n)), then NTIME(g(n)) NTIME(g(n)). The proof uses the observation that universal simulation of nondeterministic machines (with a nondeterministic universal Turing machine) can be done in O(T )time, where T is the running time of the simulated machine. We will prove a weaker version: NTIME(n 1.5 ) NTIME(n). 8
12 Problems with the proof and lazy diagonalization The technique from the previous section does not directly apply, since it has to determine the answer of a TM in order to flip it. To determine the answer of a nondeterministic that runs in O(n)time, we may need to examine as many as 2 Ω(n) possible strings of nondeterministic choices. So it is unclear that how the diagonal machine can determine in O(n 1.5 ) or even O(n 100 )time how to flip this answer. Instead we introduce a technique called lazy diagonalization, which is only guaranteed to flip the answer on some input in a fairly large range. We define f : N N as follows: f(1) = 2 and f(i + 1) = 2 f(i)1.2. Our D will flip the answer of M i on an input in {1 n : f(i) < n f(i+1)}. 9
13 Proof D (nondeterministic!) is defined as follows: On input x, if x 1, reject. If x = 1 n, then compute i such that f(i) < n f(i + 1) and 1: If f(i) < n < f(i + 1) then simulate M i on input 1 n+1 using nondeterminism in n 1.1 time and output its answer. If the simulation takes more than that then end with q accept. 2: If n=f(i+1), accept 1 n iff M i rejects 1 f(i)+1 in (f(i)+1) 1.1 time. Part 2 requires going through all 2 (f(i)+1)1.1 branches of M i ( 1 f(i)+1 ), but that is fine since D s input size is f(i + 1) = 2 f(i)1.2. We conclude that D runs in less than O(n 1.5 ) time. Let L D be the language decided by D. We claim that L D NTIME(n). 10
14 Suppose that L D is decided by M in cn steps (for some c > 0). Since each machine is represented by infinitely many strings, we can find i large enough such that M = M i and on inputs of length n f(i), M i can be simulated within n 1.1 steps. Thus the two steps of D imply: 1: If f(i) < n < f(i + 1), then D(1 n ) = M i (1 n+1 ) 2: D(1 f(i+1) ) M i (1 f(i)+1 ) (see the figure below!). By assumption, M i and D agree on all inputs, including those in the form 1 n for f(i) < n f(i+1). Together with (1), this implies that D(1 f(i+1) ) = M i (1 f(i)+1 ), contradicting (2). 11
15 Ladner s Theorem on NPintermediate problems There is a large number of NPcomplete problems. This phenomenon suggests a bold conjecture: every problem in NP is either in P or NPcomplete. We show that if P NP then this is false. If P = NP then the conjecture is trivially true but uninteresting. Theorem 3.4 (Ladner s Theorem): Suppose that P NP. Then there exists a language A NP\P that is not NPcomplete. 12
16 Proof of Ladner s theorem Let M 1, M 2,... be an enumeration of deterministic Turing machines clocked so that the machine M i (x) runs in time x i and captures all of the languages in P. We also have a similar list f i of the polynomialtime computable functions. For every i, we have two sets of requirements to fulfill: R i : A L Mi S i : x: x SAT and f i (x) A, or x SAT and f i (x) A. NB!: i R i A P, i S i A is not NPhard. We also have to show that A NP. 13
17 Let A = {x x SAT and f( x ) is even}. Note that if we make f(n) computable in n O(1) time then A will be in NP. Function f will be set to the current stage of the construction. Intuitively: In stage 2i, we keep f(n) = 2i for large enough n until condition R i is fulfilled. If R i is never fulfilled then A will be equal to L Mi and a finite difference from SAT contradicting the assumption that P NP. In stage 2i + 1, we keep f(n) = 2i + 1 until condition S i is fulfilled. If S i is never fulfilled then A will be finite and SAT reduces to A via f i which would put SAT in P, again contradicting P NP. In order to make f polytime computable we use lazy diagonalization, i.e., we do not start a new stage until we see the requirement for the previous stage has been fulfilled on inputs so small we can test it. 14
18 Let f(0) = f(1) = 2. For n 1 we define f(n + 1) as follows: If (log n) f(n) n then let f(n + 1) = f(n). Otherwise, if log f(n) n < n, we have two cases: f(n) = 2i: Check if there is an input x, x log n such that either (a): M i (x) accepts and either f( x ) is odd or x is not in SAT, or (b): M i (x) rejects and f( x ) is even and x is in SAT. If such an x exists then f(n+1) = f(n)+1 otherwise f(n+1) = f(n). f(n) = 2i + 1: Check if there is an input x, x log n such that either (a): x is in SAT and either f( f i (x) ) is odd or f i (x) is not in SAT, or (b): x is not in SAT and f( f i (x) ) is even and f i (x) is in SAT. If such an x exists then f(n+1) = f(n)+1 otherwise f(n+1) = f(n). 15
19 Since to compute f(n + 1) we only examine x with x log n and the running time of M i (x) is: x i log i n log f(n) n < n, the running time of computing f(n + 1) from f(n) is O(2 x n) = O(2 log n n) = O(n 2 ), and hence the total running time for computing f(n + 1) is: n i=1 c n 2 = O(n 3 ) = n O(1), we can compute f(n) in time polynomial in n. It is straightforward to check that f(n) does not increase until the corresponding requirements if fulfilled and that if f(n) remains constant for all large n then we will have violated the P NP assumption. 16
20 Problems conjectured to be NPintermediate We do not know of a natural decision problem that, assuming NP P, is proven to be in NP\P but not NPcomplete, and There are remarkably few candidates for such languages. However, there are a few fascinating examples for languages not known to be either in P nor NPcomplete. Two such examples are the Factoring and Graph isomorphism languages. 17
21 Limits of diagonalization For concreteness, let us say that diagonalization is any technique that relies upon the following properties of Turing machines: I. Existence of effective representation of Turing machines by strings. II. Ability of one TM to simulate any another without much overhead in time or space. Any argument that only uses these facts is treating machines as black boxes: the machine s internal workings do not matter. We define a variant of Turing Machines called oracle Turing Machines that still satisfy the two properties. However, for some oracle machine models P = NP, whereas the other models results in P NP. We conclude that to resolve P versus NP we need to use some other property besides the above two. 18
22 Oracle Turing Machines Oracle machines are machines that are given access to an oracle that can magically solve the decision problem for some language O {0, 1}. The machine has a special oracle tape on which it can write a string q {0, 1}, and in one step to get an answer to the question Is q in O?. This can be repeated arbitrarily often with different queries. If O is a difficult language that cannot be decided in polynomial time then this oracle gives an added power to the TM. 19
23 Def. 3.6 (Oracle Turing Machines): An oracle Turing machine is a TM M that has a special read/write tape we call M s oracle tape and three special states q query, q yes, q no. To execute M, we specify in addition to the input a language O {0, 1} that is used as the oracle for M. Whenever during the execution M enters the state q query, the machine moves into the state q yes if q O and q no if q O, where q denotes the contents of the special oracle tape. Note that, regardless of the choice of O, a membership query to O counts only as a single computational step. If M is an oracle machine, O {0, 1} a language, and x {0, 1}, then we denote the output of M on input x and with oracle O by M O (x). Nondeterministic oracle TMs are defined similarly. Def. 3.7: For every O {0, 1}, P O is the set of languages decided by a polynomialtime deterministic TM with oracle access to O and NP O is the set of languages decided by a polynomialtime nondeterministic TM with oracle access to O. 20
24 Claim 3.8: 1. SAT P SAT. 2. If O P, then P O = P 3. If EXPCOM = { M, x, 1 n : M(x) outputs 1 within 2 n steps}, then P EXPCOM = NP EXPCOM = EXP def = c DTIME ( 2 nc). Proof: 1. Given oracle access to SAT, to decide whether a formula ϕ is in SAT, the machine asks the oracle if ϕ SAT, and outputs the opposite answer. 2. Oracle can only help compute more languages and so P P O. If O P then it is redundant as an oracle, since we can transform any polynomialtime oracle TM using O into a standard (no oracle) TM by simply replacing each oracle call with the computation of O. Thus P O P. 21
25 3. Clearly, an oracle call to EXPCOM allows one to perform an exponentialtime computation at the cost of one call, and so EXP P EXPCOM. On the other hand, if M is a nondeterministic polynomialtime oracle TM, we can simulate its execution with a EXPCOM oracle in exponential time: such time suffices both to enumerate all of M s nondeterministic choices and to answer the EXPCOM oracle queries. Thus, EXP P EXPCOM NP EXPCOM EXP. 21
26 P vs NP cannot be solved by diagonalization Theorem 3.9 (Baker, Gill, Solovay, 1975): There exist oracles A,B such that P A = NP A and P B NP B. Proof : We can use A = EXPCOM. Now we construct B. For any language B, let U B be the unary language: U B = {1 n : Some string of length n is in B}. For every oracle B, the language U B is clearly in NP B, since a nondeterministic TM can make a nondeterministic guess for the string x {0, 1} n such that x B. Below we construct an oracle B such that U B P B, and hence P B NP B. 22
27 Construction of B: We construct B in stages, where stage i ensures that Mi B does not decide U B in 2 n /10 time. Initially we let B be empty, and gradually add strings to it. Each stage determines the status (i.e., whether or not they will ultimately be in B) of a finite number of strings. Stage i: So far, we have declared for a finite number of strings whether or not they are in B. Choose n large enough so that it exceeds the length of any such string, and run M i (1 n ) for 2 n /10 steps. Whenever it queries the oracle about strings whose status has been determined, we answer consistently. When it queries strings whose status is undetermined, we declare that the string is not in B. Note that until this point, we have not declared that B has any string of length n. Now we make sure that if M i halts within 2 n /10 steps then its answer on 1 n is incorrect: 23
28 If M i accepts, we declare that all strings of length n are not in B, thus ensuring 1 n U B. If M i rejects, we pick a string of length n that it has not queried (such a string exists because M i made at most 2 n /10 queries) and declare that it is in B, thus ensuring 1 n U B. In either case, the answer of M i is incorrect. This ensures that U B is not in P B (and in fact not in DTIME B (f(n)) for every f(n) = o(2 n )). 23
29 What have we learned? Diagonalization uses the representation of Turing machines as strings to separate complexity classes. We can use it to show that giving a TM more of the same type of resource (time, nondeterminism, space) allows it to solve more problems, and to show that, assuming NP P, NP has problems neither in P nor NPcomplete. Results proven solely using diagonalization relativize in the sense that they hold also for TMs with oracle access to O, for every oracle O {0, 1}. We can use this to show the limitations of such methods. In particular, relativizing methods alone cannot resolve the P vs. NP question. 24
Lecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
More informationNotes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
More informationWelcome to... Problem Analysis and Complexity Theory 716.054, 3 VU
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: bvogt@ist.tugraz.at office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html
More informationIntroduction to computer science
Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.
More informationTheory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras
Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding
More informationStructural properties of oracle classes
Structural properties of oracle classes Stanislav Živný Computing Laboratory, University of Oxford, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK Abstract Denote by C the class of oracles relative
More informationLecture 1: Time Complexity
Computational Complexity Theory, Fall 2010 August 25 Lecture 1: Time Complexity Lecturer: Peter Bro Miltersen Scribe: Søren Valentin Haagerup 1 Introduction to the course The field of Computational Complexity
More informationNPCompleteness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NPCompleteness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
More informationNotes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
More informationThe Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
More informationComputational complexity theory
Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision
More informationTheory of Computation Chapter 2: Turing Machines
Theory of Computation Chapter 2: Turing Machines GuanShieng Huang Feb. 24, 2003 Feb. 19, 2006 00 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),
More informationTheoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
More information2.1 Complexity Classes
15859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
More informationNPcomplete? NPhard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics
NPcomplete? NPhard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer
More informationTHE TURING DEGREES AND THEIR LACK OF LINEAR ORDER
THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER JASPER DEANTONIO Abstract. This paper is a study of the Turing Degrees, which are levels of incomputability naturally arising from sets of natural numbers.
More informationP versus NP, and More
1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify
More informationCSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
More informationPage 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NPComplete. PolynomialTime Algorithms
CSCE 310J Data Structures & Algorithms P, NP, and NPComplete Dr. Steve Goddard goddard@cse.unl.edu CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes
More information6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008
MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
More informationA Working Knowledge of Computational Complexity for an Optimizer
A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational
More informationCSE 135: Introduction to Theory of Computation Decidability and Recognizability
CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 0428, 302014 HighLevel Descriptions of Computation Instead of giving a Turing
More informationComputational Models Lecture 8, Spring 2009
Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown Univ. p. 1 Computational Models Lecture 8, Spring 2009 Encoding of TMs Universal Turing Machines The Halting/Acceptance
More informationWe give a basic overview of the mathematical background required for this course.
1 Background We give a basic overview of the mathematical background required for this course. 1.1 Set Theory We introduce some concepts from naive set theory (as opposed to axiomatic set theory). The
More informationComplexity Classes. Chapter 27 of the forthcoming CRC Handbook on Algorithms and Theory of Computation. Eric Allender 1. Rutgers University
Complexity Classes Chapter 27 of the forthcoming CRC Handbook on Algorithms and Theory of Computation Eric Allender 1 Rutgers University Michael C. Loui 2 University of Illinois at UrbanaChampaign 1 Introduction
More informationSIMS 255 Foundations of Software Design. Complexity and NPcompleteness
SIMS 255 Foundations of Software Design Complexity and NPcompleteness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
More informationMATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III  Logic and Computer Science  Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
More informationLecture 1: Oracle Turing Machines
Computational Complexity Theory, Fall 2008 September 10 Lecture 1: Oracle Turing Machines Lecturer: Kristoffer Arnsfelt Hansen Scribe: Casper KejlbergRasmussen Oracle TM Definition 1 Let A Σ. Then a Oracle
More informationTutorial 8. NPComplete Problems
Tutorial 8 NPComplete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesorno question A decision problem
More information1 Definition of a Turing machine
Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 216, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,
More information1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)
Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:
More informationDegrees that are not degrees of categoricity
Degrees that are not degrees of categoricity Bernard A. Anderson Department of Mathematics and Physical Sciences Gordon State College banderson@gordonstate.edu www.gordonstate.edu/faculty/banderson Barbara
More informationOHJ2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012
276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the
More informationComplexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrapup Ladner proof and time vs. space succinctness QBF
More informationMarkov Algorithm. CHEN Yuanmi December 18, 2007
Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also
More informationFactoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
More informationLecture 7: NPComplete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NPComplete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
More informationComputability Theory
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 110.
More informationCS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 ChurchTuring thesis Let s recap how it all started. In 1990, Hilbert stated a
More informationQuantum and Nondeterministic computers facing NPcompleteness
Quantum and Nondeterministic computers facing NPcompleteness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction
More informationComplexity Classes. Eric Allender Rutgers University. Michael C. Loui University of Illinois at UrbanaChampaign
Complexity Classes Eric Allender Rutgers University Michael C. Loui University of Illinois at UrbanaChampaign Kenneth W. Regan State University of New York at Buffalo 1 Introduction The purposes of complexity
More informationChapter 7 Uncomputability
Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction
More informationIntroduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NPCompleteness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
More information24 Uses of Turing Machines
Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss
More information(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.
3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem
More informationOn the Relationship between Classes P and NP
Journal of Computer Science 8 (7): 10361040, 2012 ISSN 15493636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,
More informationNotes on NP Completeness
Notes on NP Completeness Rich Schwartz November 10, 2013 1 Overview Here are some notes which I wrote to try to understand what NP completeness means. Most of these notes are taken from Appendix B in Douglas
More informationLecture 5  CPA security, Pseudorandom functions
Lecture 5  CPA security, Pseudorandom functions Boaz Barak October 2, 2007 Reading Pages 82 93 and 221 225 of KL (sections 3.5, 3.6.1, 3.6.2 and 6.5). See also Goldreich (Vol I) for proof of PRF construction.
More informationNPCompleteness and Cook s Theorem
NPCompleteness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
More informationIntroducing Functions
Functions 1 Introducing Functions A function f from a set A to a set B, written f : A B, is a relation f A B such that every element of A is related to one element of B; in logical notation 1. (a, b 1
More information3515ICT Theory of Computation Turing Machines
Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 90 Overview Turing machines: a general model of computation
More informationGENERIC COMPUTABILITY, TURING DEGREES, AND ASYMPTOTIC DENSITY
GENERIC COMPUTABILITY, TURING DEGREES, AND ASYMPTOTIC DENSITY CARL G. JOCKUSCH, JR. AND PAUL E. SCHUPP Abstract. Generic decidability has been extensively studied in group theory, and we now study it in
More informationCARDINALITY, COUNTABLE AND UNCOUNTABLE SETS PART ONE
CARDINALITY, COUNTABLE AND UNCOUNTABLE SETS PART ONE With the notion of bijection at hand, it is easy to formalize the idea that two finite sets have the same number of elements: we just need to verify
More informationAn example of a computable
An example of a computable absolutely normal number Verónica Becher Santiago Figueira Abstract The first example of an absolutely normal number was given by Sierpinski in 96, twenty years before the concept
More informationAlgebraic Computation Models. Algebraic Computation Models
Algebraic Computation Models Ζυγομήτρος Ευάγγελος ΜΠΛΑ 201118 Φεβρουάριος, 2013 Reasons for using algebraic models of computation The Turing machine model captures computations on bits. Many algorithms
More informationCOMS4236: Introduction to Computational Complexity. Summer 2014
COMS4236: Introduction to Computational Complexity Summer 2014 Mihalis Yannakakis Lecture 17 Outline conp NP conp Factoring Total NP Search Problems Class conp Definition of NP is nonsymmetric with respect
More informationComplexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
More informationTHE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES
THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES ANDREW E.M. LEWIS 1. Introduction This will be a course on the Turing degrees. We shall assume very little background knowledge: familiarity with
More informationLecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture  PRGs for one time pads
CS 7880 Graduate Cryptography October 15, 2015 Lecture 10: CPA Encryption, MACs, Hash Functions Lecturer: Daniel Wichs Scribe: Matthew Dippel 1 Topic Covered Chosen plaintext attack model of security MACs
More informationIntroduction to NPCompleteness Written and copyright c by Jie Wang 1
91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use timebounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of
More information8.1 Makespan Scheduling
600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: MinMakespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance
More informationIntroduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
More informationChapter 1. NP Completeness I. 1.1. Introduction. By Sariel HarPeled, December 30, 2014 1 Version: 1.05
Chapter 1 NP Completeness I By Sariel HarPeled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.
More information! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.
Decision Problems 8.2 Definition of NP Decision problem. X is a set of strings. Instance: string s. Algorithm A solves problem X: A(s) = yes iff s X. Polynomial time. Algorithm A runs in polytime if for
More informationCS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.
CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write
More informationWhy? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
More informationLecture 2: Complexity Theory Review and Interactive Proofs
600.641 Special Topics in Theoretical Cryptography January 23, 2007 Lecture 2: Complexity Theory Review and Interactive Proofs Instructor: Susan Hohenberger Scribe: Karyn Benson 1 Introduction to Cryptography
More informationThe Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turingrecognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
More informationProof Systems that Take Advice
Proof Systems that Take Advice Olaf Beyersdorff 1, Johannes Köbler 2, and Sebastian Müller 2 1 Institut für Theoretische Informatik, LeibnizUniversität Hannover, Germany beyersdorff@thi.unihannover.de
More informationFinite Automata and Formal Languages
Finite Automata and Formal Languages TMV026/DIT321 LP4 2011 Lecture 14 May 19th 2011 Overview of today s lecture: Turing Machines Pushdown Automata Overview of the Course Undecidable and Intractable Problems
More informationOutline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos.
Derandomization A Basic Introduction Antonis Antonopoulos CoReLab Seminar National Technical University of Athens 21/3/2011 1 Introduction History & Frame Basic Results 2 Circuits Definitions Basic Properties
More informationTetris is Hard: An Introduction to P vs NP
Tetris is Hard: An Introduction to P vs NP Based on Tetris is Hard, Even to Approximate in COCOON 2003 by Erik D. Demaine (MIT) Susan Hohenberger (JHU) David LibenNowell (Carleton) What s Your Problem?
More informationFinite Sets. Theorem 5.1. Two nonempty finite sets have the same cardinality if and only if they are equivalent.
MATH 337 Cardinality Dr. Neal, WKU We now shall prove that the rational numbers are a countable set while R is uncountable. This result shows that there are two different magnitudes of infinity. But we
More informationChapter. NPCompleteness. Contents
Chapter 13 NPCompleteness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NPCompleteness....................
More informationON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu
ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a
More informationMathematical Induction
Mathematical Induction Victor Adamchik Fall of 2005 Lecture 2 (out of three) Plan 1. Strong Induction 2. Faulty Inductions 3. Induction and the Least Element Principal Strong Induction Fibonacci Numbers
More informationApplied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
More informationAPPLICATIONS OF THE ORDER FUNCTION
APPLICATIONS OF THE ORDER FUNCTION LECTURE NOTES: MATH 432, CSUSM, SPRING 2009. PROF. WAYNE AITKEN In this lecture we will explore several applications of order functions including formulas for GCDs and
More information(Teams removed to preserve email address privacy)
(Teams removed to preserve email address privacy) Prizes The Millennium Problems: The Seven Greatest Unsolved Mathematical Puzzles Of Our Time Keith J. Devlin Your Inner Fish: A Journey into the 3.5BillionYear
More information! Solve problem to optimality. ! Solve problem in polytime. ! Solve arbitrary instances of the problem. !approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of
More informationLecture 13  Basic Number Theory.
Lecture 13  Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are nonnegative integers. We say that A divides B, denoted
More informationDiscrete Mathematics: Solutions to Homework (12%) For each of the following sets, determine whether {2} is an element of that set.
Discrete Mathematics: Solutions to Homework 2 1. (12%) For each of the following sets, determine whether {2} is an element of that set. (a) {x R x is an integer greater than 1} (b) {x R x is the square
More informationComputer Algorithms. NPComplete Problems. CISC 4080 Yanjun Li
Computer Algorithms NPComplete Problems NPcompleteness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order
More information3. Mathematical Induction
3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)
More informationTuring Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛtransitions,
More informationU.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
More information6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008
MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
More informationThe Trip Scheduling Problem
The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems
More informationThe P versus NP Solution
The P versus NP Solution Frank Vega To cite this version: Frank Vega. The P versus NP Solution. 2015. HAL Id: hal01143424 https://hal.archivesouvertes.fr/hal01143424 Submitted on 17 Apr
More informationINTRODUCTORY SET THEORY
M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H1088 Budapest, Múzeum krt. 68. CONTENTS 1. SETS Set, equal sets, subset,
More informationSolving NPcomplete problems in the tile assembly model
Theoretical Computer Science 395 (2008) 31 46 www.elsevier.com/locate/tcs Solving NPcomplete problems in the tile assembly model Yuriy Brun Department of Computer Science, University of Southern California,
More informationSETS, RELATIONS, AND FUNCTIONS
September 27, 2009 and notations Common Universal Subset and Power Set Cardinality Operations A set is a collection or group of objects or elements or members (Cantor 1895). the collection of the four
More informationLecture 1: Course overview, circuits, and formulas
Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik
More informationPrivate Approximation of Clustering and Vertex Cover
Private Approximation of Clustering and Vertex Cover Amos Beimel, Renen Hallak, and Kobbi Nissim Department of Computer Science, BenGurion University of the Negev Abstract. Private approximation of search
More informationNotes from Week 1: Algorithms for sequential prediction
CS 683 Learning, Games, and Electronic Markets Spring 2007 Notes from Week 1: Algorithms for sequential prediction Instructor: Robert Kleinberg 2226 Jan 2007 1 Introduction In this course we will be looking
More informationProperties of Stabilizing Computations
Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA
More informationFormal Languages and Automata Theory  Regular Expressions and Finite Automata 
Formal Languages and Automata Theory  Regular Expressions and Finite Automata  Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
More information1. Introduction MINIMAL DEGREES FOR HONEST POLYNOMIAL REDUCIBILITIES. Steven Homer Computer Science Department Boston University 111 Cummington St.
MINIMAL DEGREES FOR HONEST POLYNOMIAL REDUCIBILITIES Steven Homer Computer Science Department Boston University 111 Cummington St. Boston. MA 02215 ABSTRACT The existence of minimal degrees is investigated
More informationATheoryofComplexity,Conditionand Roundoff
ATheoryofComplexity,Conditionand Roundoff Felipe Cucker Berkeley 2014 Background L. Blum, M. Shub, and S. Smale [1989] On a theory of computation and complexity over the real numbers: NPcompleteness,
More information(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7
(67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition
More information