On Straight Forward Approaches to P vs NP
|
|
- Polly Thomas
- 5 years ago
- Views:
Transcription
1 On Straight Forward Approaches to P vs NP or: Why complexity theorists aren t as dumb as they look! by Kevin Matulef May 12, 2001 Introduction The infamously unresolved P vs NP question exemplifies the current shortcomings of complexity theory To the uninitiated, the problem feels like one that should be easy to solve In fact, as a practical matter, most computer programmers assume the problem already has been solved in favor of P NPItismuch to the humiliation of complexity theorists that such deap-seated mathematical intuition has been neither validated nor invalidated This paper attempts to illustrate why the distinction between P and NP is more subtle than it appears, and why the straight forward methods used in similar classification problems will not work to show that P = NP or P NP With the exception of the statement of some more advanced theorems at the end of the paper, no prior knowledge is assumed beyond basic familiarity with complexity theory (in particular, the classes P, NP, and PSPACE, and the notion of NP and PSPACE completeness) 1 Diagonalization Since P is a subset of NP, the conjecture that P NP is really a conjecture about strict containment What exactly constitutes a straight forward method for showing that one class is strictly contained in another? This is subjective, to be sure, but historically in computability and complexity theory most such containment proofs seem to follow the same general format, called diagonalization The technique of diagonalization is simple enough To show that a subset is strictly contained in a larger set: Construct a grid, where each row corresponds to an element of the subset, and the columns represent properties of the elements Construct an element that differs from the i th element of the subset in the i th way That is, list each of the elements along the diagonal of the table, change each of them, and construct an element with the resulting list of properties 1
2 Clearly the constructed element is not a member of the subset, since it differs from all of the elements of the subset in at least one spot But, if the element is still a member of the larger set, then that s all that s needed to show the strict containment The reader may be disturbed by this nebulous definition of diagonalization Just what does it mean to differ in the i th way? Indeed, the concept is illdefined, because as we shall see, it turns out to mean different things in different proofs This is best illustrated through some examples of diagonalization in action 11 There are more real numbers than can be enumerated Suppose we have an enumeration r 1,r 2,r 3, of real numbers Construct a grid, where each row corresponds to a real number r k in the enumeration, and the ith column corresponds to the ith digit (after the decimal point) of a number r r r Construct a number whose i th digit is different from the i th digit along the diagonal Diagonal entries: Constructed number: Clearly, the number constructed in part b is a real number, but it also differs from all of the real numbers on the list, because it differs in at least one digit 1 Therefore, the enumeration is a strict subset of the reals 12 There are more recognizable languages than decidable languages Suppose we have an enumeration M 1,M 2,M 3,, of the Turing Machines that decide languages Construct a grid, where each row corresponds to a particular decider M i, and each column corresponds to a particular input M j Entry (i, j) of the grid describes M i s behavior on input M j 1 The astute reader may notice that real numbers can differ in a digit and still be the same, for example = 09 However, we can avoid this complication by not using 0 s or 9 s in the constructed number 2
3 M 1 M 2 M 3 M 1 accept reject accept M 2 reject reject reject M 3 accept accept accept Construct a Turing Machine T that behaves differently from M i on input M i T = On input I 1 Simulate I on I 2 Output the opposite of what that machine outputs If it accepts, reject If it rejects, accept T must recognize some language, but it clearly differs from any decidable machine on at least one input (the diagonal entries above), so it can t itself be decidable Therefore there are more recognizable languages than decidable languages 13 There are more languages in SPACE(n 2 )thanspace(n) Suppose we have an enumeration of the Turing Machines M 1,M 2,M 3, that decide languages in O(n) space Construct a grid, where each row corresponds to a particular O(n) space machine M i, and the columns corresponds to inputs of the form M j 10 k M 1 1 M 1 10 M M 2 1 M 2 10 M M 1 accept reject accept reject reject accept M 2 reject reject reject accept reject reject M 3 accept accept accept accept reject accept Construct a Turing Machine T that behaves differently from M i on inputs of the form M i 10 k for large enough k T = On input w of the form I 10 k 1 Mark off w 2 tape cells In later steps, reject if head tries to go past this mark 2 Simulate I on I 10 k (keeping a counter of the number of steps performed If it ever exceeds 2 w 2, reject) 3 Output the opposite of what that machine outputs If it accepts, reject If it rejects, accept 3
4 Here the constructed machine requires a little bit of explanation First, we note that T uses only n 2 space, since the first step imposes that restriction 2 Second, we note the machine never goes into an infinite loop, because of the counter it keeps in step 2 The primary difference between this proof and 12 is that T is constructed to differ from all the machines that it simulates on a whole family of inputs, rather than just a single input along the diagonal Why is this? Suppose the amount of space that M 1 uses is bounded by the linear function f(n) =51n, and that the size of M 1 1 = 50, so that running M 1 on M 1 1 may require f(50) = 2550 tape cells When T is given M 1 1, in step 1 it marks off only 50 2 = 2500 tape cells before proceeding to simulate M 1 on M 1 1 Since 2550 tape cells are required, the simulation will be cut off prematurely However, note that on inputs M 1 10, M 1 100, M , T will have no trouble performing the simulation with these input n 2 begins to exceed 51n In general, for any O(n) space machine M i, the space bound f( M i 10 k ) will always be less than M i 10 k 2 for large enough k But, since the value of f(k) varies for every machine, we must construct T to differ from M i on a whole family of inputs to insure the simulation succeeds Of course, in the proof above, the functions n 2 and n were chosen arbitrarily, and it works equally well with any pair of functions f and g where f o(g(n)), and g is space constructible As a corollary, we get NL PSPACE EXPSPACE 14 There are more languages in TIME(n 2 )thantime(n) The proof of this theorem is left as an exercise for the reader It follows the same method as that of the space hierachy theorem, however the simulating machine T keeps a counter of the amount of time used, rather than marking off tape to track the amount of space used Updating the counter for every step of the simulation, and moving the counter so that it remains near the tape head, introduces an extra log factor for the simulation Thus the Time Hierarchy Theorem is a little more complicated to state: for any pair of functions f and g where f o(g(n)/ log g(n)), and g is time constructible, TIME(f) TIME(g) 3 As a corrollary to the Time Hierarchy Theorem, P EXPTIME 15 There are more languages in NP than P? From the previous two examples, it seems like the path to showing that P NP should be clear Suppose we have an enumeration of the Turing Machines M 1,M 2,M 3, that decide languages in polynomial time Construct a grid, where each row corresponds to a particular polynomial time machine M k, and the columns corresponds to inputs that are some variant of M i 2 We also must point out that it is crucial that the computation of n 2 itself avoids using more than O(n 2 ) space In general, a function f(n) log n is said to be space constructible if f(1 n ) is computable in O(f(n)) space 3 A function g(n) n log n is time constructible if g(1 n ) is computable in O(g(n)) time 4
5 Construct an NP machine that when given an input w like M i, simulates M i on w and does the opposite Even though it s not entirely clear how the above strategy might be implemented, it certainly feels plausible given the same strategy s success at proving P EXPTIME Unfortunately, it is not a plausible strategy for showing P NP, as we will soon see 2 Relativization The diagonalization method is surprisingly robust For instance, consider the earlier use of the diagonalization method to show that there are some languages, like the halting problem, which are recognizable but not decidable One might reasonably wonder what would happen if Turing Machines had the power to solve the halting problem instantly Formally, we can define a Turing machine with oracle language A as one which has a special tape on which it can write a string, and in one computation step receive an answer for whether or not the string is in A Are all the languages that are recognizable by Turing machines with halting problem oracles decidable by them as well? Unfortunately, the answer is no, and the proof is the exact same proof given in 12 When T is simulating I on I, if I ever asks whether or not a particular machine halts, T can simulate by asking asking its oracle Thus we obtain the result: for any oracle A, there are languages that are recognizable by machines with oracle A, but not decidable by machines with oracle A A quick inspection of 14 reveals that it is still valid as well when using an oracle machine That is, there are more languages decidable in O(n 2 ) time by machines with oracle A than in O(n) time by machines with oracle A Because all of these proofs still hold up in the oracle case, the technique of diagonalization is said to relativize The ability for a proof technique to relativize is both a blessing and a curse In some sense, it means the technique is very powerful However, in another sense it means the technique may be too powerful when the distinctions between classes are fine For example, suppose we were to prove that P NPvia techniques similar to proofs 12-4 Then we would also prove that for any oracle A, P A NP A However, this is false 21 An oracle for which P A = NP A In fact, this is not too hard to see Consider the class of Turing machines augmented with a PSPACE complete language such as TQBF Clearly, any language in PSPACE can be decided in polynomial time by one of these supermachines The super-machine simply performs a polynomial time reduction to TQBF, and queries the oracle We know such a reduction exists because TQBF is complete Thus, PSPACE P TQBP At the same time, consider a nondeteterminic polynomial machine that has access to a TQBF oracle If all of the oracle queries are replaced by a bruteforce deterministic PSPACE computation, then the resulting machine decides 5
6 the same language, and any one branch uses at most polynomial space Thus, NP TQBF NPSPACE But by Savitch s theorem, PSPACE = NPSPACE, so we get the inclusion NP TQBF P TQBP Of course, the reverse inclusion is trivial (P TQBF NP TQBP because a deterministic polynomial machine with the ability to query oracles is just a nondeterministic machine with the same ability that never branches) Therefore, P TQBF =NP TQBF In some sense, this is not too surprising It s as if giving Turing machines the ability to solve TQBF in one step makes them so much more powerful, the difference beween P and NP becomes negligible To make a very rough analogy, a weight-lifter may have more power than a layman, but when you give them both a gun, they re equally deadly! The existence of an oracle which makes P equal to NP might lead one to conjecture that maybe P does equal NP Unfortunately, the chance of proving this via simple simulation is just as slim This is because there exists an oracle which makes P and NP provably different If an NP machine could be simulated efficiently by a P machine in a straightforward way (such as the simulation used to show PSPACE=NPSPACE), then giving both machines an oracle shouldn t change much, because the simulating machine can use its own oracle whenever the simulated machine makes a query 22 An oracle for which P A NP A The trick to finding such an oracle is to construct it in just such a way that an associated language systematically differs from every P A machine, but still leaves that language well within the realm of NP A machines Given a language A, we can construct an associated language that consists the strings in A plus all of the strings with the same length as those in A SAME-LENGTH-STRINGS A = {w there is a string of length w in A} For example, consider A = {1, 101} Then SAME-LENGTH-STRINGS A = {1, 0, 000, 001, 010, 011, 100, 101, 110, 111} Now suppose that we have the ability to determine very quickly if a string is in A How could we write an algorithm to decide SAME-LENGTH-STRINGS A? The most straightforward approach would be to generate all possible strings that are the same size as the input, and if any of them are in A, accept Of course, this isn t particularly efficent, since generating all possible strings of length w takes exponential time Fortunately, using nondeterminism, there is a better way; this is just the sort of problem that nondeterministic machines are good at In fact, for any A, it is clear that HAS-EQUAL-LENGTH-STRING A NP A The following algorithm works: On input w 1 Nondeterministically select a string of length w 6
7 2 If the string is in A, accept, otherwisereject So for any possible oracle language A, we ve succeeded at finding an associated language that the nondeterministic oracle machines are really good at solving We just need to choose a particular A that prevents every deterministic polynomial oracle machine from solving SAME-LENGTH-STRINGS A Let M 1,M 2,M 3, be all of the deterministic polynomial time oracle machines We will construct the language A through a series of stages, where in each stage we make sure that the next M i is unable to solve SAME-LENGTH- STRINGS A Here we go: Start by envisioning a list of all the strings in Σ Initially, it is unkown if any string is in A As we proceed through the following steps, we will cross some strings off of the list and circle other strings until the status of every string is determined We start by making sure that M 1 does not decide SAME-LENGTH- STRINGS A To do this, we run M 1 on a string 1 k,wherek is chosen to be large enough such that the number of strings of length k is larger than the running time of the machine on 1 k (note that k is guaranteed to exists, because the number of strings of length k is 2 k, while the running time of the machine grows only polynomially) While M 1 is running on 1 k, we make sure that all of the strings that it queries are not in A That is, we cross those strings off of the list If M 1 ends up accepting 1 k, we cross off all the strings of length k, thus making sure 1 k is not in SAME-LENGTH-STRINGS A If M 1 rejects 1 k, then we circle some other string of length k that M i didn t query the oracle about, thus making sure 1 k is in SAME-LENGTH-STRINGS A (Note that there is guaranteed to be at least one unqueried string of length k, because there are more strings of length k than the entire running time of the machine) In this manner, we insure that M 1 does not decide SAME-LENGTH-STRINGS A, because it behaves differently on input 1 k Now we just continue this process to insure that every deterministic polynomial time oracle machine does not decide SAME-LENGTH-STRINGS A For each M i : 1 Choose a k large enough so that 1 k is both longer than any string whose status has not yet been decided upon, and so that the number of strings of length k is larger than the running time of M i 2 Run M i on 1 k If it queries a string whose status has not yet been determined, cross that string off of the list If it queries a string whose status has been determined, do nothing further Finally, if M i ends up accepting 1 k, cross off all strings of length k, but if M i ends up rejecting 1 k, find one other string of length k that hasn t been crossed off yet and declare it to be in A 7
8 By the same logic as above, this insures that M i does not decide SAME-LENGTH-STRINGS A, because it behaves differently on input 1 k The above construction shows how to make an A such that SAME-LENGTH- STRINGS A is not in P A, and SAME-LENGTH-STRINGS A is in NP A Therefore P A NP A It is tempting to conclude that P NP simply because P A NP A However the reader is warned against this, because the former is not a logical implication of the latter It is entirely possible that the power of nondeterminism does not give NP machines much advantage over P machines, but that the power of nondeterminism combined with the power of an oracle augments the power of NP more than the oracle alone augments the power of P The reader may also note that the proof of this theorem does have a diagonal feel to it It may even be considered diagonalization, though I think this illustrates the difficulty of coming up with a formal definition of a proof technique The pair of oracle results discussed here is often given as an argument against the use of diagonalization to prove P NP However I think it s more accurate to say that it s an argument against simple simulate and do the opposite proofs, rather than diagonalization in all its forms 3 Where to go from here? The simultaneous existence of oracles that make P = NP and P NP opens up a host of interesting questions Is it possible that the oracle A which makes P A NP A is itself in P? Then this would prove P NP! Unfortunately, the language A is so contrived that the possibility of proving that it s in P seems very small Still, it s possible that some variation of the oracle is in P and has same effect In fact, there are a lot of oracle languages with the effect that P L NP L (the complentary set of languages has measure 0, see paper by Jarod Alper) Is there any way to show that two classes are equal without using a proof that relativizes? Indeed there is The best example of a nonrelativing proof is that which shows the class of interactive proofs (IP) is equal to PSPACE (see paper by BJ Maress) In fact, a non-relativing technique is needed for the proof, because there exists an oracle which separates the two classes Is there any way to show that two classes are different without using a proof that relativizes? As it turns out, yes there is, but progress in this areas has come only very recently In 1998, Burhman, Fortnow, and Thierauf gave the first non-relativing separation proof, showing that the class MA EXP (languages proven by an interactive proof system where the 8
9 prover sends a single message to the probabilistic exponential time verifier) is not equal to the class of languages with polynomial sized circuits, even though there is an oracle which makes the two classes the same To prove this, they made use of a previous non-relativizing equality result 4 Conclusion The distinction between P and NP is much finer than it first appears, and fragile enough to hold up in some worlds and not others Consequently, the straight-forward methods of the past are not readily adaptable to the P vs NP question, and new techniques which are just beginning to be understood must be employed References This paper was based on a lecture (fragments of which can be found at given in the spring term of 2001 in a course at Brown University on Advanced Topics in the Theory of Computation The presentation primarily follows that in The Theory of Computation, by Michael Sipser, and Computational Complexity by Christos Papadimitriou Additional information can be found in the gs019 papers by Jarod Alper and BJ Mares, and in the following original articles: 1 H Burhman, L Fortnow, and T Thierauf Nonrelativizing separations In Proceedings of the 13th IEEE Conference on Computational Complexity, pages 8-12 IEEE, New York, T Baker, J Gill, R Solovay Relativizations of the P = NP question SIAM Journal of Computing 4(4): L Fortnow Diagonalization In The Computational Complexity Column, July
DRAFT. Diagonalization. Chapter 4
Chapter 4 Diagonalization..the relativized P =?NP question has a positive answer for some oracles and a negative answer for other oracles. We feel that this is further evidence of the difficulty of the
More informationComputational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!
i Computational Complexity: A Modern Approach Draft of a book: Dated January 2007 Comments welcome! Sanjeev Arora and Boaz Barak Princeton University complexitybook@gmail.com Not to be reproduced or distributed
More informationComputability and Complexity CISC462, Fall 2018, Space complexity 1
Computability and Complexity CISC462, Fall 2018, Space complexity 1 SPACE COMPLEXITY This material is covered in Chapter 8 of the textbook. For simplicity, we define the space used by a Turing machine
More informationHierarchy theorems. Evgenij Thorstensen V18. Evgenij Thorstensen Hierarchy theorems V18 1 / 18
Hierarchy theorems Evgenij Thorstensen V18 Evgenij Thorstensen Hierarchy theorems V18 1 / 18 Comparing functions To prove results like TIME(f(n)) TIME(g(n)), we need a stronger notion of one function growing
More informationLecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;
Topics in Theoretical Computer Science February 29, 2016 Lecturer: Ola Svensson Lecture 2 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent
More informationCS154, Lecture 17: conp, Oracles again, Space Complexity
CS154, Lecture 17: conp, Oracles again, Space Complexity Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode: Guess string
More informationLecture 2: Relativization
18.405J/6.841J: Advanced Complexity Theory Spring 2016 Lecture 2: Relativization Prof. Dana Moshkovitz Scribe: Di Liu Scribe Date: Fall 2012 Overview. Last week we showed NT IME(n) T ISP (n 1.2, n 0.2
More information2. Notation and Relative Complexity Notions
1. Introduction 1 A central issue in computational complexity theory is to distinguish computational problems that are solvable using efficient resources from those that are inherently intractable. Computer
More informationTime-bounded computations
Lecture 18 Time-bounded computations We now begin the final part of the course, which is on complexity theory. We ll have time to only scratch the surface complexity theory is a rich subject, and many
More information1 PSPACE-Completeness
CS 6743 Lecture 14 1 Fall 2007 1 PSPACE-Completeness Recall the NP-complete problem SAT: Is a given Boolean formula φ(x 1,..., x n ) satisfiable? The same question can be stated equivalently as: Is the
More informationCOMPLEXITY THEORY. PSPACE = SPACE(n k ) k N. NPSPACE = NSPACE(n k ) 10/30/2012. Space Complexity: Savitch's Theorem and PSPACE- Completeness
15-455 COMPLEXITY THEORY Space Complexity: Savitch's Theorem and PSPACE- Completeness October 30,2012 MEASURING SPACE COMPLEXITY FINITE STATE CONTROL I N P U T 1 2 3 4 5 6 7 8 9 10 We measure space complexity
More informationSpace Complexity. The space complexity of a program is how much memory it uses.
Space Complexity The space complexity of a program is how much memory it uses. Measuring Space When we compute the space used by a TM, we do not count the input (think of input as readonly). We say that
More informationMTAT Complexity Theory October 13th-14th, Lecture 6
MTAT.07.004 Complexity Theory October 13th-14th, 2011 Lecturer: Peeter Laud Lecture 6 Scribe(s): Riivo Talviste 1 Logarithmic memory Turing machines working in logarithmic space become interesting when
More informationNotes on Complexity Theory Last updated: October, Lecture 6
Notes on Complexity Theory Last updated: October, 2015 Lecture 6 Notes by Jonathan Katz, lightly edited by Dov Gordon 1 PSPACE and PSPACE-Completeness As in our previous study of N P, it is useful to identify
More informationLecture 6: Oracle TMs, Diagonalization Limits, Space Complexity
CSE 531: Computational Complexity I Winter 2016 Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity January 22, 2016 Lecturer: Paul Beame Scribe: Paul Beame Diagonalization enabled us to separate
More informationLecture 3: Reductions and Completeness
CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic
More informationLecture 21: Space Complexity (The Final Exam Frontier?)
6.045 Lecture 21: Space Complexity (The Final Exam Frontier?) 1 conp NP MIN-FORMULA conp P NP FIRST-SAT TAUT P FACTORING SAT NP NP NP 2 VOTE VOTE VOTE For your favorite course on automata and complexity
More informationCSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010
CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010 We now embark on a study of computational classes that are more general than NP. As these classes
More information6.045 Final Exam Solutions
6.045J/18.400J: Automata, Computability and Complexity Prof. Nancy Lynch, Nati Srebro 6.045 Final Exam Solutions May 18, 2004 Susan Hohenberger Name: Please write your name on each page. This exam is open
More informationCSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010
CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.
More informationLecture 26. Daniel Apon
Lecture 26 Daniel Apon 1 From IPPSPACE to NPPCP(log, 1): NEXP has multi-prover interactive protocols If you ve read the notes on the history of the PCP theorem referenced in Lecture 19 [3], you will already
More informationLecture 3. 1 Terminology. 2 Non-Deterministic Space Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, 2005.
Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 3 1 Terminology For any complexity class C, we define the class coc as follows: coc def = { L L C }. One class
More informationThe Polynomial Hierarchy
The Polynomial Hierarchy Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Motivation..synthesizing circuits is exceedingly difficulty. It is even
More informationCSCI3390-Lecture 6: An Undecidable Problem
CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTATION
FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationReview of Basic Computational Complexity
Lecture 1 Review of Basic Computational Complexity March 30, 2004 Lecturer: Paul Beame Notes: Daniel Lowd 1.1 Preliminaries 1.1.1 Texts There is no one textbook that covers everything in this course. Some
More informationITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7
ITCS:CCT09 : Computational Complexity Theory Apr 8, 2009 Lecturer: Jayalal Sarma M.N. Lecture 7 Scribe: Shiteng Chen In this lecture, we will discuss one of the basic concepts in complexity theory; namely
More informationconp, Oracles, Space Complexity
conp, Oracles, Space Complexity 1 What s next? A few possibilities CS161 Design and Analysis of Algorithms CS254 Complexity Theory (next year) CS354 Topics in Circuit Complexity For your favorite course
More informationCS154, Lecture 10: Rice s Theorem, Oracle Machines
CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable
More informationCS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)
CS5371 Theory of Computation Lecture 23: Complexity VIII (Space Complexity) Objectives Introduce Space Complexity Savitch s Theorem The class PSPACE Space Complexity Definition [for DTM]: Let M be a DTM
More informationSOLUTION: SOLUTION: SOLUTION:
Convert R and S into nondeterministic finite automata N1 and N2. Given a string s, if we know the states N1 and N2 may reach when s[1...i] has been read, we are able to derive the states N1 and N2 may
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More informationCS 361 Meeting 26 11/10/17
CS 361 Meeting 26 11/10/17 1. Homework 8 due Announcements A Recognizable, but Undecidable Language 1. Last class, I presented a brief, somewhat inscrutable proof that the language A BT M = { M w M is
More informationComputational Complexity
p. 1/24 Computational Complexity The most sharp distinction in the theory of computation is between computable and noncomputable functions; that is, between possible and impossible. From the example of
More informationV Honors Theory of Computation
V22.0453-001 Honors Theory of Computation Problem Set 3 Solutions Problem 1 Solution: The class of languages recognized by these machines is the exactly the class of regular languages, thus this TM variant
More information2 P vs. NP and Diagonalization
2 P vs NP and Diagonalization CS 6810 Theory of Computing, Fall 2012 Instructor: David Steurer (sc2392) Date: 08/28/2012 In this lecture, we cover the following topics: 1 3SAT is NP hard; 2 Time hierarchies;
More informationDefinition: conp = { L L NP } What does a conp computation look like?
Space Complexity 28 Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode: Guess string y of x k length and the machine accepts
More informationWeek 2: Defining Computation
Computational Complexity Theory Summer HSSP 2018 Week 2: Defining Computation Dylan Hendrickson MIT Educational Studies Program 2.1 Turing Machines Turing machines provide a simple, clearly defined way
More information: On the P vs. BPP problem. 30/12/2016 Lecture 12
03684155: On the P vs. BPP problem. 30/12/2016 Lecture 12 Time Hierarchy Theorems Amnon Ta-Shma and Dean Doron 1 Diagonalization arguments Throughout this lecture, for a TM M, we denote M t to be the machine
More informationTuring Machines, diagonalization, the halting problem, reducibility
Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have
More information6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3
6.841/18.405J: Advanced Complexity Wednesday, February 12, 2003 Lecture Lecture 3 Instructor: Madhu Sudan Scribe: Bobby Kleinberg 1 The language MinDNF At the end of the last lecture, we introduced the
More informationCSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY
CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,
More informationOn the Computational Hardness of Graph Coloring
On the Computational Hardness of Graph Coloring Steven Rutherford June 3, 2011 Contents 1 Introduction 2 2 Turing Machine 2 3 Complexity Classes 3 4 Polynomial Time (P) 4 4.1 COLORED-GRAPH...........................
More informationLecture 16: Time Complexity and P vs NP
6.045 Lecture 16: Time Complexity and P vs NP 1 Time-Bounded Complexity Classes Definition: TIME(t(n)) = { L there is a Turing machine M with time complexity O(t(n)) so that L = L(M) } = { L L is a language
More informationPolynomial Time Computation. Topics in Logic and Complexity Handout 2. Nondeterministic Polynomial Time. Succinct Certificates.
1 2 Topics in Logic and Complexity Handout 2 Anuj Dawar MPhil Advanced Computer Science, Lent 2010 Polynomial Time Computation P = TIME(n k ) k=1 The class of languages decidable in polynomial time. The
More information(Refer Slide Time: 0:21)
Theory of Computation Prof. Somenath Biswas Department of Computer Science and Engineering Indian Institute of Technology Kanpur Lecture 7 A generalisation of pumping lemma, Non-deterministic finite automata
More information6.045J/18.400J: Automata, Computability and Complexity Final Exam. There are two sheets of scratch paper at the end of this exam.
6.045J/18.400J: Automata, Computability and Complexity May 20, 2005 6.045 Final Exam Prof. Nancy Lynch Name: Please write your name on each page. This exam is open book, open notes. There are two sheets
More informationThe purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational
1 The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational model. We'll remind you what a Turing machine is --- you
More informationSpace Complexity. Huan Long. Shanghai Jiao Tong University
Space Complexity Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/ chen/
More informationCS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)
CS5371 Theory of Computation Lecture 23: Complexity VIII (Space Complexity) Objectives Introduce Space Complexity Savitch s Theorem The class PSPACE Space Complexity Definition [for DTM]: Let M be a DTM
More informationLecture 12: Randomness Continued
CS 710: Complexity Theory 2/25/2010 Lecture 12: Randomness Continued Instructor: Dieter van Melkebeek Scribe: Beth Skubak & Nathan Collins In the last lecture we introduced randomized computation in terms
More information198:538 Complexity of Computation Lecture 16 Rutgers University, Spring March 2007
198:538 Complexity of Computation Lecture 16 Rutgers University, Spring 2007 8 March 2007 In this lecture we discuss Shamir s theorem that PSPACE is the set of languages that have interactive proofs with
More informationCS151 Complexity Theory. Lecture 1 April 3, 2017
CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,
More informationLecture 22: Quantum computational complexity
CPSC 519/619: Quantum Computation John Watrous, University of Calgary Lecture 22: Quantum computational complexity April 11, 2006 This will be the last lecture of the course I hope you have enjoyed the
More informationSpace Complexity. Master Informatique. Université Paris 5 René Descartes. Master Info. Complexity Space 1/26
Space Complexity Master Informatique Université Paris 5 René Descartes 2016 Master Info. Complexity Space 1/26 Outline Basics on Space Complexity Main Space Complexity Classes Deterministic and Non-Deterministic
More information6-1 Computational Complexity
6-1 Computational Complexity 6. Computational Complexity Computational models Turing Machines Time complexity Non-determinism, witnesses, and short proofs. Complexity classes: P, NP, conp Polynomial-time
More informationLecture 17: Cook-Levin Theorem, NP-Complete Problems
6.045 Lecture 17: Cook-Levin Theorem, NP-Complete Problems 1 Is SAT solvable in O(n) time on a multitape TM? Logic circuits of 6n gates for SAT? If yes, then not only is P=NP, but there would be a dream
More informationCSC 2429 Approaches to the P versus NP Question. Lecture #12: April 2, 2014
CSC 2429 Approaches to the P versus NP Question Lecture #12: April 2, 2014 Lecturer: David Liu (Guest) Scribe Notes by: David Liu 1 Introduction The primary goal of complexity theory is to study the power
More informationNP, polynomial-time mapping reductions, and NP-completeness
NP, polynomial-time mapping reductions, and NP-completeness In the previous lecture we discussed deterministic time complexity, along with the time-hierarchy theorem, and introduced two complexity classes:
More information6.840 Language Membership
6.840 Language Membership Michael Bernstein 1 Undecidable INP Practice final Use for A T M. Build a machine that asks EQ REX and then runs M on w. Query INP. If it s in P, accept. Note that the language
More informationCSCI3390-Lecture 14: The class NP
CSCI3390-Lecture 14: The class NP 1 Problems and Witnesses All of the decision problems described below have the form: Is there a solution to X? where X is the given problem instance. If the instance is
More informationLecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x).
CS 221: Computational Complexity Prof. Salil Vadhan Lecture Notes 4 February 3, 2010 Scribe: Jonathan Pines 1 Agenda P-/NP- Completeness NP-intermediate problems NP vs. co-np L, NL 2 Recap Last time, we
More informationWeek 3: Reductions and Completeness
Computational Complexity Theory Summer HSSP 2018 Week 3: Reductions and Completeness Dylan Hendrickson MIT Educational Studies Program 3.1 Reductions Suppose I know how to solve some problem quickly. How
More informationDe Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2.
De Morgan s a Laws De Morgan s laws say that (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. Here is a proof for the first law: φ 1 φ 2 (φ 1 φ 2 ) φ 1 φ 2 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 a Augustus DeMorgan
More informationComplexity and NP-completeness
Lecture 17 Complexity and NP-completeness Supplemental reading in CLRS: Chapter 34 As an engineer or computer scientist, it is important not only to be able to solve problems, but also to know which problems
More informationComplexity Theory 112. Space Complexity
Complexity Theory 112 Space Complexity We ve already seen the definition SPACE(f(n)): the languages accepted by a machine which uses O(f(n)) tape cells on inputs of length n. Counting only work space NSPACE(f(n))
More informationThe Church-Turing Thesis
The Church-Turing Thesis Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/
More informationMATH 521, WEEK 2: Rational and Real Numbers, Ordered Sets, Countable Sets
MATH 521, WEEK 2: Rational and Real Numbers, Ordered Sets, Countable Sets 1 Rational and Real Numbers Recall that a number is rational if it can be written in the form a/b where a, b Z and b 0, and a number
More informationwhere Q is a finite set of states
Space Complexity So far most of our theoretical investigation on the performances of the various algorithms considered has focused on time. Another important dynamic complexity measure that can be associated
More informationDiscrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 20. To Infinity And Beyond: Countability and Computability
EECS 70 Discrete Mathematics and Probability Theory Spring 014 Anant Sahai Note 0 To Infinity And Beyond: Countability and Computability This note ties together two topics that might seem like they have
More informationComputer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms
Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds
More informationComplexity Theory Part I
Complexity Theory Part I Problem Problem Set Set 77 due due right right now now using using a late late period period The Limits of Computability EQ TM EQ TM co-re R RE L D ADD L D HALT A TM HALT A TM
More informationComputational Complexity Theory
Computational Complexity Theory Marcus Hutter Canberra, ACT, 0200, Australia http://www.hutter1.net/ Assumed Background Preliminaries Turing Machine (TM) Deterministic Turing Machine (DTM) NonDeterministic
More information, Department of Computer and Communication Sciences, University of Michigan, Ann Arbor, Michigan
SIAM J. COMPUT. Vol. 13, No. 4, November 1984 (C) 1984 Society for Industrial and Applied Mathematics 002 EQUIVALENCE RELATIONS, INVARIANTS, AND NORMAL FORMS* ANDREAS BLASS" AND YURI GUREVICH* Abstract.
More informationMa/CS 117c Handout # 5 P vs. NP
Ma/CS 117c Handout # 5 P vs. NP We consider the possible relationships among the classes P, NP, and co-np. First we consider properties of the class of NP-complete problems, as opposed to those which are
More informationThe space complexity of a standard Turing machine. The space complexity of a nondeterministic Turing machine
298 8. Space Complexity The space complexity of a standard Turing machine M = (Q,,,, q 0, accept, reject) on input w is space M (w) = max{ uav : q 0 w M u q av, q Q, u, a, v * } The space complexity of
More informationComputability Crib Sheet
Computer Science and Engineering, UCSD Winter 10 CSE 200: Computability and Complexity Instructor: Mihir Bellare Computability Crib Sheet January 3, 2010 Computability Crib Sheet This is a quick reference
More informationAbout the relationship between formal logic and complexity classes
About the relationship between formal logic and complexity classes Working paper Comments welcome; my email: armandobcm@yahoo.com Armando B. Matos October 20, 2013 1 Introduction We analyze a particular
More information1 Showing Recognizability
CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove
More informationReductions in Computability Theory
Reductions in Computability Theory Prakash Panangaden 9 th November 2015 The concept of reduction is central to computability and complexity theory. The phrase P reduces to Q is often used in a confusing
More informationComputability Theory. CS215, Lecture 6,
Computability Theory CS215, Lecture 6, 2000 1 The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David
More informationTheory of Computation Space Complexity. (NTU EE) Space Complexity Fall / 1
Theory of Computation Space Complexity (NTU EE) Space Complexity Fall 2016 1 / 1 Space Complexity Definition 1 Let M be a TM that halts on all inputs. The space complexity of M is f : N N where f (n) is
More informationLecture 22: PSPACE
6.045 Lecture 22: PSPACE 1 VOTE VOTE VOTE For your favorite course on automata and complexity Please complete the online subject evaluation for 6.045 2 Final Exam Information Who: You On What: Everything
More informationLecture Notes: The Halting Problem; Reductions
Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings
More informationComputer Sciences Department
Computer Sciences Department 1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Computer Sciences Department 3 ADVANCED TOPICS IN C O M P U T A B I L I T Y
More informationIntroduction to Computer Science and Programming for Astronomers
Introduction to Computer Science and Programming for Astronomers Lecture 8. István Szapudi Institute for Astronomy University of Hawaii March 7, 2018 Outline Reminder 1 Reminder 2 3 4 Reminder We have
More informationADVANCED CALCULUS - MTH433 LECTURE 4 - FINITE AND INFINITE SETS
ADVANCED CALCULUS - MTH433 LECTURE 4 - FINITE AND INFINITE SETS 1. Cardinal number of a set The cardinal number (or simply cardinal) of a set is a generalization of the concept of the number of elements
More informationComplexity Theory. Knowledge Representation and Reasoning. November 2, 2005
Complexity Theory Knowledge Representation and Reasoning November 2, 2005 (Knowledge Representation and Reasoning) Complexity Theory November 2, 2005 1 / 22 Outline Motivation Reminder: Basic Notions Algorithms
More informationP = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:
CS 6505: Computability & Algorithms Lecture Notes for Week 5, Feb 8-12 P, NP, PSPACE, and PH A deterministic TM is said to be in SP ACE (s (n)) if it uses space O (s (n)) on inputs of length n. Additionally,
More informationU.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3
U.C. Berkeley CS278: Computational Complexity Handout N3 Professor Luca Trevisan 9/6/2004 Notes for Lecture 3 Revised 10/6/04 1 Space-Bounded Complexity Classes A machine solves a problem using space s(
More informationCONSTRUCTION OF sequence of rational approximations to sets of rational approximating sequences, all with the same tail behaviour Definition 1.
CONSTRUCTION OF R 1. MOTIVATION We are used to thinking of real numbers as successive approximations. For example, we write π = 3.14159... to mean that π is a real number which, accurate to 5 decimal places,
More informationCPSC 467b: Cryptography and Computer Security
CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 10 February 19, 2013 CPSC 467b, Lecture 10 1/45 Primality Tests Strong primality tests Weak tests of compositeness Reformulation
More informationIntroduction to Complexity Theory
Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity
More informationx 2 +2 x 2 x 3 2x 2 +2x +1 (mod 5).
A DETAILED PROOF THAT IP=PSPACE B.J. MARES Abstract. I will define IP, the class of interactive proofs, and present a thorough proof that IP=PSPACE, assuming minimal prior knowledge. Such a presentation
More informationCS 125 Section #10 (Un)decidability and Probability November 1, 2016
CS 125 Section #10 (Un)decidability and Probability November 1, 2016 1 Countability Recall that a set S is countable (either finite or countably infinite) if and only if there exists a surjective mapping
More informationTuring Machines Part II
Turing Machines Part II Problem Set Set Five Five due due in in the the box box up up front front using using a late late day. day. Hello Hello Condensed Slide Slide Readers! Readers! This This lecture
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Today's learning goals Sipser Ch 3 Trace the computation of a Turing machine using its transition function and configurations.
More information