On Straight Forward Approaches to P vs NP

Size: px
Start display at page:

Download "On Straight Forward Approaches to P vs NP"

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

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 information

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

Computational 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 information

Computability and Complexity CISC462, Fall 2018, Space complexity 1

Computability 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 information

Hierarchy theorems. Evgenij Thorstensen V18. Evgenij Thorstensen Hierarchy theorems V18 1 / 18

Hierarchy 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 information

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture 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 information

CS154, Lecture 17: conp, Oracles again, Space Complexity

CS154, 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 information

Lecture 2: Relativization

Lecture 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 information

2. Notation and Relative Complexity Notions

2. 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 information

Time-bounded computations

Time-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 information

1 PSPACE-Completeness

1 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 information

COMPLEXITY THEORY. PSPACE = SPACE(n k ) k N. NPSPACE = NSPACE(n k ) 10/30/2012. Space Complexity: Savitch's Theorem and PSPACE- Completeness

COMPLEXITY 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 information

Space 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. 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 information

MTAT Complexity Theory October 13th-14th, Lecture 6

MTAT 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 information

Notes on Complexity Theory Last updated: October, Lecture 6

Notes 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 information

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Lecture 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 information

Lecture 3: Reductions and Completeness

Lecture 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 information

Lecture 21: Space Complexity (The Final Exam Frontier?)

Lecture 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 information

CSC 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 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 information

6.045 Final Exam Solutions

6.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 information

CSC 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 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 information

Lecture 26. Daniel Apon

Lecture 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 information

Lecture 3. 1 Terminology. 2 Non-Deterministic Space Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, 2005.

Lecture 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 information

The Polynomial Hierarchy

The 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 information

CSCI3390-Lecture 6: An Undecidable Problem

CSCI3390-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 information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL 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 information

Advanced topic: Space complexity

Advanced 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 information

Review of Basic Computational Complexity

Review 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 information

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

ITCS: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 information

conp, Oracles, Space Complexity

conp, 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 information

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CS154, 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 information

CS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)

CS5371 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 information

SOLUTION: SOLUTION: SOLUTION:

SOLUTION: 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 information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction 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 information

CS 361 Meeting 26 11/10/17

CS 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 information

Computational Complexity

Computational 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 information

V Honors Theory of Computation

V 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 information

2 P vs. NP and Diagonalization

2 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 information

Definition: conp = { L L NP } What does a conp computation look like?

Definition: 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 information

Week 2: Defining Computation

Week 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

: 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 information

Turing Machines, diagonalization, the halting problem, reducibility

Turing 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 information

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

6.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 information

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE355 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 information

On the Computational Hardness of Graph Coloring

On 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 information

Lecture 16: Time Complexity and P vs NP

Lecture 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 information

Polynomial Time Computation. Topics in Logic and Complexity Handout 2. Nondeterministic Polynomial Time. Succinct Certificates.

Polynomial 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)

(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 information

6.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 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 information

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

The 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 information

Space Complexity. Huan Long. Shanghai Jiao Tong University

Space 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 information

CS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)

CS5371 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 information

Lecture 12: Randomness Continued

Lecture 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 information

198:538 Complexity of Computation Lecture 16 Rutgers University, Spring March 2007

198: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 information

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS151 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 information

Lecture 22: Quantum computational complexity

Lecture 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 information

Space Complexity. Master Informatique. Université Paris 5 René Descartes. Master Info. Complexity Space 1/26

Space 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 information

6-1 Computational Complexity

6-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 information

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

Lecture 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 information

CSC 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 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 information

NP, polynomial-time mapping reductions, and NP-completeness

NP, 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 information

6.840 Language Membership

6.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 information

CSCI3390-Lecture 14: The class NP

CSCI3390-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 information

Lecture 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).

Lecture 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 information

Time and space classes

Time and space classes Time and space classes Little Oh (o,

More information

Week 3: Reductions and Completeness

Week 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 information

De 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. 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 information

Complexity and NP-completeness

Complexity 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 information

Complexity Theory 112. Space Complexity

Complexity 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 information

The Church-Turing Thesis

The 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 information

MATH 521, WEEK 2: Rational and Real Numbers, Ordered Sets, Countable Sets

MATH 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 information

where Q is a finite set of states

where 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 information

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 20. To Infinity And Beyond: Countability and Computability

Discrete 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 information

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Computer 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 information

Complexity Theory Part I

Complexity 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 information

Computational Complexity Theory

Computational 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

, 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 information

Ma/CS 117c Handout # 5 P vs. NP

Ma/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 information

The space complexity of a standard Turing machine. The space complexity of a nondeterministic Turing machine

The 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 information

Computability Crib Sheet

Computability 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 information

About the relationship between formal logic and complexity classes

About 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 information

1 Showing Recognizability

1 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 information

Reductions in Computability Theory

Reductions 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 information

Computability Theory. CS215, Lecture 6,

Computability 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 information

Theory of Computation Space Complexity. (NTU EE) Space Complexity Fall / 1

Theory 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 information

Lecture 22: PSPACE

Lecture 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 information

Lecture Notes: The Halting Problem; Reductions

Lecture 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 information

Computer Sciences Department

Computer 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 information

Introduction to Computer Science and Programming for Astronomers

Introduction 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 information

ADVANCED CALCULUS - MTH433 LECTURE 4 - FINITE AND INFINITE SETS

ADVANCED 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 information

Complexity Theory. Knowledge Representation and Reasoning. November 2, 2005

Complexity 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 information

P = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:

P = 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 information

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3

U.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 information

CONSTRUCTION OF sequence of rational approximations to sets of rational approximating sequences, all with the same tail behaviour Definition 1.

CONSTRUCTION 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 information

CPSC 467b: Cryptography and Computer Security

CPSC 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 information

Introduction to Complexity Theory

Introduction 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 information

x 2 +2 x 2 x 3 2x 2 +2x +1 (mod 5).

x 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 information

CS 125 Section #10 (Un)decidability and Probability November 1, 2016

CS 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 information

Turing Machines Part II

Turing 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 information

CSE 105 THEORY OF COMPUTATION

CSE 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