Third Year Computer Science and Engineering, 6 th Semester

Size: px
Start display at page:

Download "Third Year Computer Science and Engineering, 6 th Semester"

Transcription

1 Department of Computer Science and Engineering Third Year Computer Science and Engineering, 6 th Semester Subject Code & Name: THEORY OF COMPUTATION UNIT-I CHURCH-TURING THESIS 1. What is a Turing Machine? Turing machine is a simple mathematical model of a computer. TM has unlimited an unrestricted memory and is a much more accurate model of a general purpose computer. The turing machine is a FA with a R/W Head. It has an infinite tape divided into cells,each cell holding one symbol. 2. What are the difference between finite automata and Turing Machines? Turing machine can change symbols on its tape, whereas the FA cannot change symbols on tape. Also TM has a tape head that moves both left and right side,whereas the FA doesn t have such a tape head. 3. What is configuration? Turing machine computes, changes occur in the current state, the current tape contents and the current head location.a setting of these three items is called a configuration. 4. What is a recursively enumerable language? The languages that is accepted by TM is said to be recursively enumerable (r. e ) languages. Enumerable means that the strings in the 1

2 language can be enumerated by the TM. The class of r. e languages include CFL s. 5. Define Turing Machine? 6. Define variants of Turing Machine? Variants are 1. Non deterministic turing machine. 2. Mutlitape turing machine.. 3. Enumerators 7. What is a multitape TM? A multi-tape Turing machine consists of a finite control with k-tape heads and ktapes each tape is infinite in both directions. On a single move depending on the state of finite control and symbol scanned by each of tape heads,the machine can change state print a new symbol on each cells scanned by tape head, move each of its tape head independently one cell to the left or right or remain stationary. 8. Define nondeterministic TM? Arbitrarily chooses move when more than one possibility exists 2

3 Accepts if there is at least one computation that terminates in an accepting state. 9. What is an algorithm? An algorithm is a collection of simple instruction for carrying out some task. It is sometimes called procedures or recipes. 10 What is a polynomial? It is a sum of terms where each term is a product of certain variables and a constant called a co-efficient. 11. Define Church-Turing thesis? In 1936 Alonzo church used a notational system called calculus to define algorithms and Alan Turing did it with his machines. These two definitions were shown to be equivalent.this connection between the informal notion and precise definition has come to be called Church-Turing thesis 12. List the types of description. 1. Formal description. 2. Implementation description. 3. High-level description. 13. What is halting problem? A _{ _M,w _ TM M is a TM and M accepts w } TM A is undecidable but TM A is Turing recognizable hence TM A is sometimes called the halting problem. 14. Define universal Turing machine. A universal Turing machine (UTM) is a TM which is capable of simulating any other Turing machine from the description of the machine. 3

4 15. Mention the relationship between classes of languages. 16. What is a Diagonalization language Ld? The diagonalization language consists of all strings w such that the TM whose code is w does not accept when w is given as input. 17. Why some languages are not decidable or even Turing recognizable? The reason that there are uncountable many languages yet only countably many Turing machines. Because each Turing machine can recognize a single language and there are more languages than Turing machines, some languages are not recognizable by any Turing machine. 18. What do you mean by co-turing-recognizable? A language is called co-turing-recognizable if it is the complement of a Turingrecognizable language. 19. Define Countable and Uncountable? A set is countable if it is finite or has the same size as N (the set of natural numbers {1, 2, 3, }) 4

5 Examples: N (natural numbers), Z (integers), Q (rational numbers), E (even numbers), etc. A set is uncountable if it has more elements than N. Examples: R (real numbers) [0,1] Cantor set 20. What is a correspondence? A function that is both one-to-one and onto is called correspond. BIG QUESTIONS 1. Explain the various techniques for Turing machine construction. 2. Briefly explain the different types of Turing machines. 3. Design a TM to accept the language L={0 n 1 n n>=1} 4. Explain how a TM can be used to determine the given number is prime or not? 5. Prove that if L is recognized by a TM with a two way infinite tape if it is recognized by a TM with a one way infinite tape 6. Prove that Halting problem is undecidable. 7. Design a Turing machine that accepts the language L={a n b n c n /n>1} 8. What are the various models of Turing Machine? 9. With an example explain the universal Turing machine 10. Show that halting problem of Turing machine is undecidable 11. Show that a language is decidable if it is Turing-recognizable and corecognizable. ************************* END ********************** 5

6 UNIT-II REDUCIBILITY 1. What is reduction? A reduction is a way of converting one problem into another in such a way that a solution to the second problem can be used to solve the first problem. 2. What is reducibility? The primary method of proving some problems are computationally unsolvable. It is called reducibility. Reducibility always involves two problems which we call A and B. If A reduces to B, we can use a solution to B to solve A. 3. What is linear bounded automation? A linear bounded automation is restricted type of Turing machine where in the tape head isn t permitted to move off the portion of the tape containing the input. It has a limited amount of memory. 4. What is a accepting computation history? An accepting computation history is defined as, Let M be a Turing machine and w be a input string, for M on w is a sequence of configuration c1,c2, cl, Where c1 is the start configuration of M on w. cl is the accepting configuration of M and each ci legally follows from ci-1 according to the rules of M. 5. What is a rejecting computation history? Let M be a Turing machine and w be a input string, for M on w is a sequence of configuration c1, c2, cl Where cl is a rejecting configuration of M on W. 6

7 6. Write down the algorithm that decides ALBA? The algorithm that decides ALBA is as follows: o L= on input {M,w} Where M is an LBA and w is a string. o Simulate M on w for qng^n steps until it halts o If M has halted accept if it has accepted and reject if it has rejected. If it has not halted, reject. 7. Write about the three conditions of computational history? Suppose consider the input B and it has possible input C1,C2. Cl. If B ants to check whether the Ci satisfy the three conditions of computational history. 1. C1 is a start configuration for M on w 2. Each Ci+1 legally follows from Cp 3. Cl is an accepting configuration for M 8. What is called PCP? The phenomenon of undecidability is not confined to problems concerning automata. An undecidable problem concerning on simple manipulation of strings is called the post correspondence problem or PCP. An instance of the pcp is the collection P of dominos: P = {[t1/b1]}, [t2/b2],.. [tk/bk]} and a match is a sequence i1,i2,i3.il.. Where ti1,ti2.til = bi1, bi2..bil PCP={<P>/P is an instance of the post correspondence problem with a match} 9. How can we construct P so that a match is an accepting computation history for M on w? The task is to make a list of the dominos; so that the string we get by reading off the symbols on the top is same as the string of symbols on the bottom.this list is called a match. 7

8 For example: [a/ab][b/ca][ca/a][a/ab][abc/c].reading off the top strings we get abcaaabc, which is same as reading off the bottom. 10. What is MPCP? MPCP -> Modified Post Correspondence Problem, in that the match is required to start with the first domino in the list. MPCP = {<P>/P is an instance of the post correspondence with a match that starts with the first domino}. 11. What is called mapping reducibility? Language A is mapping reducible to language B, written A<=B; if there is a computational function f: *-> *, Where for every w, w a<->f(w) B. 12. Define computable function? A turning machine computes a function by starting with the input to the function on the tape and halting with the output of the function on the tape a function f: *-> * is a computable function, if some turning machine M, on every input w, halts with just f(w) on its tape. Eg: All arithmetic operations on integers. 13. What is recursion theorem? Let T be a Turing machine that computes a function t: * x *-> *. There is a Turing machine R that computes a function r: *-> *, Where for every w: r(w)=t(<r>,w). The recursion theorem is a mathematical result that plays an important role in advanced work in the theory of computability. 14. What is self reference? The Turing machine that ignores its input and prints out a copy of its own description, we call this as SELF. 8

9 There is a computable function q: *-> *, where for any string w, q(w) is the description of a Turing machine Pw that prints out w and then halt. 15. What is computer virus? A computer virus is a computer program that is designed to spread itself among computers. Computer virus are inactive when standing alone as piece of code, but when placed appropriately in a host computer, thereby infecting it and they can become activated and transmit copies of themselves to other accessible machines.various media can transmit viruses, including internet and transferable disks. 16. Applications of recursion theorem? 1. ATM is undecidble. 2. MINTM is not Turing recognisable 3. Fixed point theorem. 17. What is a fixed point? A fixed point of a function is a value that isn t changed by application of the function. 18. Define formula. A formula is a well formed string over this alphabet. 19. What are the Boolean operations and Quantifiers? The form of the alphabet of this language : {^,v,,(,),for all, x, there exists,r1,.rk}.the symbols ^,v, are called Boolean operations.the symbols of for all and there exists are called Quantifiers. The symbol x denotes the variable R1,R2,..Rk,called the relations. 9

10 20. What is atomic formula? A string of the form Ri (x1,x2,x3,..xj) is an atomic formula. The value j is the arity of the relation symbol Ri. 21. What is called Sentence/Statement and Free variable? A variable that isn t bound within the scope of a quantifier is called a Free variable. A formula with no free variable is called a Sentence or Statement. 22. What is model? A universe together with an assignment of relations to relation symbol is called a model. A model M is a tuple (U, P1,P2..Pk), where U is the universe and P1 through Pk are the relations assigned to symbols R1 through Rk. 23. What is language of a model? Language of a model is the collection of formulae that use only the relational symbols the model assign and that use each relation symbol with the correct arity. If is a sentence in a language of a model,?is either true or false in that model. 24. What is decidable theory? Let (N,+) be the model, except without x relation. Its theory is Th(N,+). For example: the formula[x+x=y] is true therefore a member of Th(N,+). 25. What is undecidable theory? Let (N, +,X) be a model whose universe is the Natural numbers with the usual +,X relations. Church showed that Th(N,+,X) the theory of this model; is undecidable. 10

11 26. What is called Turing Reducibility? Language A is Turing reducible to language B, written A<=TB, if A is decidable relative to B. Turing reducibility is a generalization of mapping reducibility. 27. What is called Oracle Turing machine? An Oracle for a language B is an external device that is capable of reporting whether any string w is a member of B. An Oracle Turing machine is a modified Turing machine that has the additional capability of quering an Oracle. 28. What is an information? Definition of information depends upon the application. For example: A= B= Sequence A contain little information because it is merely a repetition of pattern 01 twenty times. In contrast sequence B appears to contain more information. 29. What is minimal Description? Minimal Description of x, written d(x), is the shortest string (M, w), where TM,M on input w halts with x on its tape. 30. What is Descriptive complexity? The Descriptive complexity of x, written k(x) is k(x) = d(x) where k(x) length of the minimal description of x. The definition of k(x) is intended to capture the amount of information in the string x. 11

12 31. When an x is a C-compressible? Let x be a string, say that x is C-compressible if k(x) <= x - C. BIG QUESTIONS 1. Explain how Post correspondence problem is undecidable? 2. Prove that HALT TM is undecidable. 3. Prove that E TM is undecidable. 4. Prove that REGULAR TM is undecidable. 5. Prove that EQ TM is undecidable. 6. Prove that A LBA is decidable. 7. Prove that E LBA is undecidable. 8. Prove that ALL CFG is undecidable. 9. State and prove PCP is undecidable. 10. Prove that EQ TM is neither Turing-recognizable nor co-turingrecognizable. 11. State and prove recursion therorem 12. Explain self-reference in detail. 13. Explain decidability of logical theories? 14. Write a brief note on a decidable theory? 15. Write a brief note on an undecidable theory? 16. Explain Turing reducibility? ************************* END ********************** 12

13 UNIT-III TIME COMPLEXITY 1. Define complexity Complexity Theory = study of what is computationally feasible (or tractable) with limited resources: running time storage space number of random bits degree of parallelism rounds of interaction others 2. Define time complexity The time complexity of a TM M is a function f:n -> N, where f(n) is the maximum number of steps M uses on any input of length n. 3. Define Asymptotic Notation Running time of an algorithm as a function of input size n for large n. Expressed using only the highest-order term in the expression for the exact running Time 4. What do you mean by polynomial and exponential bounds? Bounds of the form nc for c greater than 0.such a bound are called polynomial bounds. Bounds of the form. Such a bound are called exponential bounds when is a real number greater than 0 5. What is Hamiltonian path? A Hamiltonian path in a directed graph G is a directed path that goes 13

14 through each node exactly once. We consider a special case of this problem where the start node and target node are fixed. 6. List the types of Asymptotic Notation. Big Oh (O) notation provides an upper bound for the function f Omega ( )notation provides a lower-bound Theta (Q) notation is used when an algorithm can be bounded both from above and below by the same function Little oh (o) defines a loose upper bound. 7. What is Hamiltonian path? A Hamiltonian path in a directed graph G is a directed path that goes through Each node exactly once. We consider a special case of this problem where the start node and target node are fixed. 8. Defines brute force search Exponential time algorithms typically arise when we solve by searching through a spsce of solutions called brute force search 9. Define running time. The running time of N is the function N N, wheref(n) is the maximum of steps that N uses on any branch of its computation on any of length n. 10. Define class P The class of all sets L that can be recognized in polynomial time by deterministictm. The class of all decision problems that can be decided in polynomial time. 11. Define class NP. 14

15 Problems that can be solved in polynomial time by a nondeterministic TM. Includes all problems in P and some problems possibly outside P. 12. Define verifier. A verifier for a language A is an algorithm V, where A = {w V accepts <w,c> for some string c}. We measure the time of a verifier only in terms of the length of w, so a polynomial time verifier runs in polynomial time in the length of w. A language A is polynomially verifiable if it has a polynomial time verifier. The above string c, used as additional information to verify that w A, is called a certificate, or proof, of membership in A. 13. What do you mean by NP-completeness? If a polynomial time algorithm exists for any of the NP-complete problems, all problems in NP would be polynomial time solvable. These problems are called by NP-completeness 14. Define polynomial time computable functions. A function f: * is a polynomial time computable functions if some polynomial time turing machine exists that halts with just f(w) on its tape. when started on any input w. 15. Define polynomial time mapping reducible. We say that A is polynomial time mapping reducible, or simply polynomial time reducible, to B, written A P B, if a polynomial time computable function f: * * exists s.t. for every string w *, w A iff f(w) B. Such a function f is called a polynomial time reduction of A to B. 16. Define literal. A literal is a Boolean variable x or a negated Boolean variable x. 17. Define clause. 15

16 A clause s several literals connected with s, as in (x y z t). 18.Define conjunctive normal form. A Boolean formula is in conjunctive normal form, called a cnf-formula, if it comprises several clauses connected with s, as in (x y z t) (x z) (x y t). A cnf-formula is a 3cnf-formula if all the clauses have 3 literals, as in (x y z) (x z t) (x y t) (z BIG QUESTIONS 1. Show that every CFL is a member of class P problem 2. Show that a language is in NP if it is decided by some non deterministic polynomial time Turing machine. 3. Explain the cook-levin theorem 4. Explain about the vertex cover problem. 5. Explain about Hamiltonian path problem. 6. Briefly discuss about the subset sum problem? 7. With an example explain BIG-O and SMALL-O notation. 8. Explain about Analyzing algorithms in detail? 9. Explain CLASS P in briefly with an example? 10. State and prove PATH P. 11. State and prove RELPRIME P. 12. Prove that every context-free language is a member of P. 13. Explain with an example CLASS-NP? 16

17 UNIT-IV SPACE COMPLEXITY 1. DEFINE SPACE COMPLEXITY 1. DEFINE SPACE AND NSPACE 2. DEFINE PSPACE 4. DEFINE PSPACE COMPLETE AND PSPACE-HARD 17

18 5. DEFINE QUANTIFIERS 6. DEFINE GENERALIZED GEOGRAPHY In generalized geography we take an arbitrary directed graph with a designated start node instead of the graph associated with the actual cities. For example, the following graph is an example of a generalized geography game. 18

19 7. DEFINE L AND NL 8. DEFINE LOG SPACE TRANSDUCER AND LOG SPACE COMPUTABLE FUNCTION 9. DEFINE NL-COMPLETE 19

20 10. WHAT IS MEANT BY INTRACTABLE Certain computational problems are solvable in principle, but the solutions require so much time or space that they can't be used in practice. Such problems are called intractable. 11. WHAT IS MEANT BY HIERARCHY THEOREMS The hierarchy theorems prove that this intuition is correct, subject to certain conditions described below. We use the term hierarchy theorem because these theorems prove that the time and space complexity classes aren't all the same-they form a hierarchy whereby the classes with larger bounds contain more languages than do the classes with smaller bounds. 12. WHAT IS MEANT BY SPACE CONSTRUCTIBLE 12. WHAT IS MEANT BY TIME CONSTRUCTIBLE 14. WHAT IS MEANT BY EXSPACE-COMPLETE 20

21 15. DEFINE ORACLE 16. DEFINE BOOLEAN CIRCUIT A Boolean circuit is a collection of gates and inputs connected by wires. Cycles aren't permitted. Gates take three forms: AND gates, OR gates, and NOT gates, as shown schematically in the following figure. 21

22 17. DEFINE CIRCUIT FAMILY 18. DEFINE CIRCUIT SIZE COMPLEXITY PART-B 1. EXPLAIN IN DETAIL ABOUT SPACE CONPLEXITY 2. EXPLAIN IN DETAIL ABOUT SAVITCH S THEOREM 3. EXPLAIN IN DETAIL ABOUT THE CLASS PSPACE 4. EXPLAIN IN DETAIL ABOUT PSPACE-COMPLETENESS 5. EXPLAIN IN DETAIL ABOUT THE TQBF PROBLEM 6. EXPLAIN IN DETAIL ABOUT WINNING STRATEGIES FOR GAMES 7. EXPLAIN IN DETAIL ABOUT GENERALIZED GEOGRAPHY 8. EXPLAIN IN DETAIL ABOUT THE CLASSES L AND NL 9. EXPLAIN IN DETAIL ABOUT NP-COMPLETENESS 10. EXPLAIN IN DETAIL ABOUT SEARCHING IN GRAPHS 11. EXPLAIN IN DETAIL ABOUT NL EQUALS CONL 12. EXPLAIN IN DETAIL ABOUT HIERARCHY THEOREMS 22

23 13. EXPLAIN IN DETAIL ABOUT EXPONENTIAL SPACE COMPLETENESS 14. EXPLAIN IN DETAIL ABOUT RELATIVATIO 15. EXPLAIN IN DETAIL ABOUT LIMITS OF DIAGONALIZATION METHOD 16. EXPLAIN IN DETAIL ABOUT CIRCUIT COMPLEXITY 17. PROOF: TQBF IS PSPACE-COMPLETE 23

24 UNIT-V 3. What is meant by Optimization problem? We seek the best solution among a collection of possible solutions called optimization problems. Examples: To find a largest clique in a graph, A smallest vertex cover, or a shortest connecting two nodes. 2. What is meant by cut, cut edge, uncut edge and MAX-cut? A cut in an undirected graph is a separation of the vertices V Into two disjoint subsets S and T. A cut edge is an edge that goes between a node in S and a node in T. An uncut edge is an edge that is not a cut edge. The size of a cut is the number of cut edges. The MAX-CUT problem asks for a largest cut in a graph G. 3. What is meant by PROBABILISTIC ALGORITHMS? A probabilistic algorithm is an algorithm designed to use the outcome of a random process. Typically, such an algorithm would contain an instruction to "flip a coin" and the result of that coin flip would influence the algorithm's subsequent execution and output. Certain types of problems seem to be more easily solvable by probabilistic algorithms than by deterministic algorithms. 5. Define Probabilistic Turing Machine? 24

25 6. Define BPP BPP is the class of languages that are recognized by probabilistic polynomial time Turing machines with an error probability of 1/ What is meant by Prime number and composite? A prime number is an integer greater than 1 that is not divisible by positive integers other than 1 and itself. A nonprime number greater than 1 is called composite. 8. Define Factors One way to determine whether a number is prime is to try all possible integers less than that number and see whether any are divisors, also called factors. 9. What is meant by RP? RP is the class of languages that are recognized by probabilistic polynomial time Turing machines where inputs in the language are accepted 25

26 with a probability of at least 1/2 and inputs not in the language are rejected with a probability of What is meant by branching program? A branching program is a directed acyclic graph where all nodes are labeled by variables, except for two output nodes labeled 0 or 1. The nodes that are labeled by variables are called query nodes. Every query node has two outgoing edges, one labeled 0 and the other labeled 1. Both output nodes have no outgoing edges. One of the nodes in a branching program is designated the start node. 11. Define read-once branching program A read-once branching program is one that can query each variable at most one time on every directed path from the start node to an output node. 12. Define alternating Turing machine An alternating Turing machine is a nondeterministic Turing machine with an additional feature. Its states, except for q accept and q reject are divided into universal states and existential states. When we run an alternating Turing machine on an input string, we label each node of its nondeterministic computation tree with A or V, depending on whether the corresponding configuration contains a universal or existential state. We determine acceptance by designating a node to be accepting if it is labeled with A and all of its children are accepting or if it is labeled with V and any of its children are accepting. 13. Define ATIME and ASPACE? 14. What is meant by input string? 26

27 The objective is to determine whether this string is a member of some language. In the NONISO example, the input string encoded the two graphs. 15. What is meant by Random input? For convenience in making the definition, we provide the Verifier with a randomly chosen input string instead of the equivalent capability to make probabilistic moves during its computation. 16. What is meant by Partial message history? A function has no memory of the dialog that has been sent so far, so we provide the memory externally via a string representing the exchange of messages up to the present point. We use the notation ml#m2# #mi to represent the exchange of messages ml through mi. 17. What is meant by parallel computer? A parallel computer is one that can perform multiple operations simultaneously. Parallel computers may solve certain problems much faster than sequential computers, which can only do a single operation at a time. 18. What is meant by P-complete? A language B is P-complete if 1. B E P, and 2. Every A in P is log space reducible to B. 19. Definition of Trap door Function 27

28 20. Definition of one-way permutation 28

29 PART-B 1. EXPLAIN IN DETAIL ABOUT APPROXIMATION ALGORITHM 2. EXPLAIN IN DETAIL ABOUT PROBABILISTIC ALGORITHMS 3. EXPLAIN IN DETAIL ABOUT THE CLASS BPP 4. EXPLAIN IN DETAIL ABOUT PRIMALITY 5. EXPLAIN IN DEATIL ABOUT READ-ONCE BRANCHING PROGRAMS 6. EXPLAIN IN DETAIL ABOUT ALTERNATION 7. EXPLAIN IN DETAIL ABOUT ALTERNATING TIME AND SPACE 8. EXPLAIN IN DETAIL ABOUT THE POLYNOMIAL TIME HIERARCHY 9. EXPLAIN IN DETAIL ABOUT INTERACTIVE PROOF SYSTEMS 10. EXPLAIN IN DETAIL ABOUT GRAPH NONISOMORPHISM 11. EXPLAIN IN DEATAIL ABOUT PARALLEL COMPUTATION 12. EXPLAIN IN DEATAIL ABOUT UNIFORM BOOLEAN CIRCUITS 13. EXPLAIN IN DEATIL ABOUT THE CLASS NC 14. EXPLAIN IN DEATAIL ABOUT CRYPTOGRAPHY 15. EXPLAIN IN DETAIL ABOUT PUBLIC-KEY CRYPTOGRAPHY 16. EXPLAIN IN DETAIL ABOUT ONE-WAY FUNCTIONS 17. EXPLAIN IN DETAIL ABOUT TRAPDOOR FUNCTIONS 29

30 18. PROOF: FOR EVERY D>=0, A DEGREE-D POLYNOMIAL P ON A SINGLE VARIABLE X EITHER HAS AT MOST D ROOTS, OR IS EVERYWHERE EQUAL TO PROOF: EQ ROBP IS IN BPP 20. PROOF: B IS APOLYNIMAIL TIME, 2-OPTIMA APPROXIMATION ALGORITHM FOR MAX-CUT. 30

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

UNIT-VIII COMPUTABILITY THEORY

UNIT-VIII COMPUTABILITY THEORY CONTEXT SENSITIVE LANGUAGE UNIT-VIII COMPUTABILITY THEORY A Context Sensitive Grammar is a 4-tuple, G = (N, Σ P, S) where: N Set of non terminal symbols Σ Set of terminal symbols S Start symbol of the

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY THURSDAY APRIL 3 REVIEW for Midterm TUESDAY April 8 Definition: A Turing Machine is a 7-tuple T = (Q, Σ, Γ, δ, q, q accept, q reject ), where: Q is a

More information

CS3719 Theory of Computation and Algorithms

CS3719 Theory of Computation and Algorithms CS3719 Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational tool - analysis

More information

CS6901: review of Theory of Computation and Algorithms

CS6901: review of Theory of Computation and Algorithms CS6901: review of Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational

More information

CP405 Theory of Computation

CP405 Theory of Computation CP405 Theory of Computation BB(3) q 0 q 1 q 2 0 q 1 1R q 2 0R q 2 1L 1 H1R q 1 1R q 0 1L Growing Fast BB(3) = 6 BB(4) = 13 BB(5) = 4098 BB(6) = 3.515 x 10 18267 (known) (known) (possible) (possible) Language:

More information

Finish K-Complexity, Start Time Complexity

Finish K-Complexity, Start Time Complexity 6.045 Finish K-Complexity, Start Time Complexity 1 Kolmogorov Complexity Definition: The shortest description of x, denoted as d(x), is the lexicographically shortest string such that M(w) halts

More information

Introduction to Languages and Computation

Introduction to Languages and Computation Introduction to Languages and Computation George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 400 George Voutsadakis (LSSU) Languages and Computation July 2014

More information

Time and space classes

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

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

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

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

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

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

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1) Time Complexity (1) CSCI 2670 Original Slides were written by Dr. Frederick W Maier Spring 2014 Time Complexity So far we ve dealt with determining whether or not a problem is decidable. But even if it

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

INAPPROX APPROX PTAS. FPTAS Knapsack P

INAPPROX APPROX PTAS. FPTAS Knapsack P CMPSCI 61: Recall From Last Time Lecture 22 Clique TSP INAPPROX exists P approx alg for no ε < 1 VertexCover MAX SAT APPROX TSP some but not all ε< 1 PTAS all ε < 1 ETSP FPTAS Knapsack P poly in n, 1/ε

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

CISC 4090 Theory of Computation

CISC 4090 Theory of Computation CISC 4090 Theory of Computation Complexity Professor Daniel Leeds dleeds@fordham.edu JMH 332 Computability Are we guaranteed to get an answer? Complexity How long do we have to wait for an answer? (Ch7)

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

CSCE 551: Chin-Tser Huang. University of South Carolina

CSCE 551: Chin-Tser Huang. University of South Carolina CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Computation History A computation history of a TM M is a sequence of its configurations C 1, C 2,, C l such

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/ Logistics HW7 due tonight Thursday's class: REVIEW Final exam on Thursday Dec 8, 8am-11am, LEDDN AUD Note card allowed

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

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

More information

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement: Decidability 2017/10/31 Chapter 4.1 in Sipser Ø Announcement: q q q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse355/lectures/decidability.pdf Happy Hollaween! Delayed

More information

CS6902 Theory of Computation and Algorithms

CS6902 Theory of Computation and Algorithms CS6902 Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational tool - procedure/analysis

More information

NP Complete Problems. COMP 215 Lecture 20

NP Complete Problems. COMP 215 Lecture 20 NP Complete Problems COMP 215 Lecture 20 Complexity Theory Complexity theory is a research area unto itself. The central project is classifying problems as either tractable or intractable. Tractable Worst

More information

Theory of Computation Time Complexity

Theory of Computation Time Complexity Theory of Computation Time Complexity Bow-Yaw Wang Academia Sinica Spring 2012 Bow-Yaw Wang (Academia Sinica) Time Complexity Spring 2012 1 / 59 Time for Deciding a Language Let us consider A = {0 n 1

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

Final exam study sheet for CS3719 Turing machines and decidability.

Final exam study sheet for CS3719 Turing machines and decidability. Final exam study sheet for CS3719 Turing machines and decidability. A Turing machine is a finite automaton with an infinite memory (tape). Formally, a Turing machine is a 6-tuple M = (Q, Σ, Γ, δ, q 0,

More information

CSCE 551: Chin-Tser Huang. University of South Carolina

CSCE 551: Chin-Tser Huang. University of South Carolina CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan

More information

CSE 105 Theory of Computation

CSE 105 Theory of Computation CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Today s Agenda P and NP (7.2, 7.3) Next class: Review Reminders and announcements: CAPE & TA evals are open: Please

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP CS 301 - Lecture 29 P, NP, and NP-Completeness Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata Equivalence of

More information

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

CSE 555 HW 5 SAMPLE SOLUTION. Question 1. CSE 555 HW 5 SAMPLE SOLUTION Question 1. Show that if L is PSPACE-complete, then L is NP-hard. Show that the converse is not true. If L is PSPACE-complete, then for all A PSPACE, A P L. We know SAT PSPACE

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

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages COMP/MATH 300 Topics for Spring 2017 June 5, 2017 Review and Regular Languages Exam I I. Introductory and review information from Chapter 0 II. Problems and Languages A. Computable problems can be expressed

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

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Complexity Theory Part I

Complexity Theory Part I Complexity Theory Part I Outline for Today Recap from Last Time Reviewing Verifiers Nondeterministic Turing Machines What does nondeterminism mean in the context of TMs? And just how powerful are NTMs?

More information

Computational Models Lecture 11, Spring 2009

Computational Models Lecture 11, Spring 2009 Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 1 Computational Models Lecture 11, Spring 2009 Deterministic Time Classes NonDeterministic Time Classes

More information

Friday Four Square! Today at 4:15PM, Outside Gates

Friday Four Square! Today at 4:15PM, Outside Gates P and NP Friday Four Square! Today at 4:15PM, Outside Gates Recap from Last Time Regular Languages DCFLs CFLs Efficiently Decidable Languages R Undecidable Languages Time Complexity A step of a Turing

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

Definition: Alternating time and space Game Semantics: State of machine determines who

Definition: Alternating time and space Game Semantics: State of machine determines who CMPSCI 601: Recall From Last Time Lecture 3 Definition: Alternating time and space Game Semantics: State of machine determines who controls, White wants it to accept, Black wants it to reject. White wins

More information

Decidability: Church-Turing Thesis

Decidability: Church-Turing Thesis Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Summarize key concepts, ideas, themes from CSE 105. Approach your final exam studying with

More information

A An Overview of Complexity Theory for the Algorithm Designer

A An Overview of Complexity Theory for the Algorithm Designer A An Overview of Complexity Theory for the Algorithm Designer A.1 Certificates and the class NP A decision problem is one whose answer is either yes or no. Two examples are: SAT: Given a Boolean formula

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

Introduction to Computational Complexity

Introduction to Computational Complexity Introduction to Computational Complexity George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 400 George Voutsadakis (LSSU) Computational Complexity September

More information

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar Turing Machine A Turing machine is an abstract representation of a computing device. It consists of a read/write

More information

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits Chris Calabro January 13, 2016 1 RAM model There are many possible, roughly equivalent RAM models. Below we will define one in the fashion

More information

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever.   ETH Zürich (D-ITET) October, Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free

More information

CSE 135: Introduction to Theory of Computation NP-completeness

CSE 135: Introduction to Theory of Computation NP-completeness CSE 135: Introduction to Theory of Computation NP-completeness Sungjin Im University of California, Merced 04-15-2014 Significance of the question if P? NP Perhaps you have heard of (some of) the following

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

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

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem. 1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search

More information

Lecture 23: More PSPACE-Complete, Randomized Complexity

Lecture 23: More PSPACE-Complete, Randomized Complexity 6.045 Lecture 23: More PSPACE-Complete, Randomized Complexity 1 Final Exam Information Who: You On What: Everything through PSPACE (today) With What: One sheet (double-sided) of notes are allowed When:

More information

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

P, NP, NP-Complete, and NPhard

P, NP, NP-Complete, and NPhard P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course

More information

Chapter 7: Time Complexity

Chapter 7: Time Complexity Chapter 7: Time Complexity 1 Time complexity Let M be a deterministic Turing machine that halts on all inputs. The running time or time complexity of M is the function f: N N, where f(n) is the maximum

More information

Reducability. Sipser, pages

Reducability. Sipser, pages Reducability Sipser, pages 187-214 Reduction Reduction encodes (transforms) one problem as a second problem. A solution to the second, can be transformed into a solution to the first. We expect both transformations

More information

CSCI 1590 Intro to Computational Complexity

CSCI 1590 Intro to Computational Complexity CSCI 59 Intro to Computational Complexity Overview of the Course John E. Savage Brown University January 2, 29 John E. Savage (Brown University) CSCI 59 Intro to Computational Complexity January 2, 29

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

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

Boolean circuits. Lecture Definitions

Boolean circuits. Lecture Definitions Lecture 20 Boolean circuits In this lecture we will discuss the Boolean circuit model of computation and its connection to the Turing machine model. Although the Boolean circuit model is fundamentally

More information

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch 6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch Today: More Complexity Theory Polynomial-time reducibility, NP-completeness, and the Satisfiability (SAT) problem Topics: Introduction

More information

Lecture 24: Randomized Complexity, Course Summary

Lecture 24: Randomized Complexity, Course Summary 6.045 Lecture 24: Randomized Complexity, Course Summary 1 1/4 1/16 1/4 1/4 1/32 1/16 1/32 Probabilistic TMs 1/16 A probabilistic TM M is a nondeterministic TM where: Each nondeterministic step is called

More information

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

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops. and their languages } Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops. } Some languages are Turing-recognizable, but not

More information

Lecture 12: Interactive Proofs

Lecture 12: Interactive Proofs princeton university cos 522: computational complexity Lecture 12: Interactive Proofs Lecturer: Sanjeev Arora Scribe:Carl Kingsford Recall the certificate definition of NP. We can think of this characterization

More information

The Cook-Levin Theorem

The Cook-Levin Theorem An Exposition Sandip Sinha Anamay Chaturvedi Indian Institute of Science, Bangalore 14th November 14 Introduction Deciding a Language Let L {0, 1} be a language, and let M be a Turing machine. We say M

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

NP-completeness. Chapter 34. Sergey Bereg

NP-completeness. Chapter 34. Sergey Bereg NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems

More information

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA Turing Machines A Turing machine is similar to a finite automaton with supply of unlimited memory. A Turing machine can do everything that any computing device can do. There exist problems that even a

More information

COMPUTATIONAL COMPLEXITY

COMPUTATIONAL COMPLEXITY ATHEATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Computational Complexity - Osamu Watanabe COPUTATIONAL COPLEXITY Osamu Watanabe Tokyo Institute of Technology, Tokyo, Japan Keywords: {deterministic, randomized,

More information

Decidability (intro.)

Decidability (intro.) CHAPTER 4 Decidability Contents Decidable Languages decidable problems concerning regular languages decidable problems concerning context-free languages The Halting Problem The diagonalization method The

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION "Winter" 2018 http://cseweb.ucsd.edu/classes/wi18/cse105-ab/ Today's learning goals Sipser Ch 7 Distinguish between computability and complexity Articulate motivation questions

More information

Chapter 2 Algorithms and Computation

Chapter 2 Algorithms and Computation Chapter 2 Algorithms and Computation In this chapter, we first discuss the principles of algorithm and computation in general framework, common both in classical and quantum computers, then we go to the

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

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

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

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

P and NP. Or, how to make $1,000,000.

P and NP. Or, how to make $1,000,000. P and NP Or, how to make $1,000,000. http://www.claymath.org/millennium-problems/p-vs-np-problem Review: Polynomial time difference between single-tape and multi-tape TMs Exponential time difference between

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

Applied Computer Science II Chapter 7: Time Complexity. Prof. Dr. Luc De Raedt. Institut für Informatik Albert-Ludwigs Universität Freiburg Germany

Applied Computer Science II Chapter 7: Time Complexity. Prof. Dr. Luc De Raedt. Institut für Informatik Albert-Ludwigs Universität Freiburg Germany Applied Computer Science II Chapter 7: Time Complexity Prof. Dr. Luc De Raedt Institut für Informati Albert-Ludwigs Universität Freiburg Germany Overview Measuring complexity The class P The class NP NP-completeness

More information

Complexity Theory Part II

Complexity Theory Part II Complexity Theory Part II Time Complexity The time complexity of a TM M is a function denoting the worst-case number of steps M takes on any input of length n. By convention, n denotes the length of the

More information

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT Definition: A language B is NP-complete if: 1. B NP 2. Every A in NP is poly-time reducible to B That is, A P B When this is true, we say B is NP-hard On

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 8 January 24, 2018 Outline Turing Machines and variants multitape TMs nondeterministic TMs Church-Turing Thesis So far several models of computation finite automata

More information

Computability and Complexity Theory

Computability and Complexity Theory Discrete Math for Bioinformatics WS 09/10:, by A Bockmayr/K Reinert, January 27, 2010, 18:39 9001 Computability and Complexity Theory Computability and complexity Computability theory What problems can

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 3.3, 4.1 State and use the Church-Turing thesis. Give examples of decidable problems.

More information

Lecture 20: PSPACE. November 15, 2016 CS 1010 Theory of Computation

Lecture 20: PSPACE. November 15, 2016 CS 1010 Theory of Computation Lecture 20: PSPACE November 15, 2016 CS 1010 Theory of Computation Recall that PSPACE = k=1 SPACE(nk ). We will see that a relationship between time and space complexity is given by: P NP PSPACE = NPSPACE

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

Introduction to Turing Machines

Introduction to Turing Machines Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability

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