Theory of Computation

Size: px
Start display at page:

Download "Theory of Computation"

Transcription

1 Theory of Computation Dr. Sarmad Abbasi Dr. Sarmad Abbasi () Theory of Computation 1 / 38

2 Lecture 21: Overview Big-Oh notation. Little-o notation. Time Complexity Classes Non-deterministic TMs The Class P Dr. Sarmad Abbasi () Theory of Computation 2 / 38

3 Resource Bounded Computations Let us now look at resource bounded computations The most important resources are: 1 Time 2 Space Dr. Sarmad Abbasi () Theory of Computation 3 / 38

4 Resource Bounded Computations Let A = {0 k 1 k : k 0} we saw an algorithm that accepts A in time O(n 2 ). Dr. Sarmad Abbasi () Theory of Computation 4 / 38

5 Big Oh Notation Let f, g : N R. We say that f (n) = O(g(n)) if there are positive integers c and n 0 such that for all n n 0 f (n) cg(n). When f (n) = O(g(n)) we say that g is an asymptotic upper bound on f. Some times we just say that g is an upper bound on f. Dr. Sarmad Abbasi () Theory of Computation 5 / 38

6 Big Oh Notation Let then Furthermore, But it is not true that f (n) = 13n 4 + 7n f (n) = O(n 4 ). f (n) = O(n 5 ). f (n) = O(n 3 ) Dr. Sarmad Abbasi () Theory of Computation 6 / 38

7 Big Oh Notation Suppose that where b is a constant. Note that Hence, we can say Let then f 2 (n) = O(nlogn). f (n) = log b n log b n = log 2 n log 2 b. f (n) = O(logn). f 2 (n) = 5n log n + 200n log log n + 17 Dr. Sarmad Abbasi () Theory of Computation 7 / 38

8 Big Oh Notation We can use O notation in exponents also. Thus 2 O(n) stands for a function that is upper bounded by for some constant c. 2 cn Dr. Sarmad Abbasi () Theory of Computation 8 / 38

9 Big Oh Notation We have to be careful though. For example consider 2 O(log n). Well remember that O(log n) has a constant attached to it. Thus this function is upper bounded by 2 c log n for some constant c. Now, we get Thus 2 O(log n) is polynomial. 2 c log n = (2 log n ) c = n c. Dr. Sarmad Abbasi () Theory of Computation 9 / 38

10 Big Oh Notation Bounds of the form n c are called polynomial bounds. Where as bounds of the form 2 nc are called exponential bounds. Dr. Sarmad Abbasi () Theory of Computation 10 / 38

11 little Oh Notation The Big-Oh notation roughly says that f is upper bounded by g. Now we want to say f grows strictly slower that g. Let f, g : N R +. We say that if f (n) = o(g(n)) f (n) lim n g(n) = 0. Thus the ratio of f and g becomes closer and closer to 0. Dr. Sarmad Abbasi () Theory of Computation 11 / 38

12 little Oh Notation 1 n = o(n) 2 n = o(n log log n) 3 n log log n = o(n log n) 4 n log n = o(n 2 ) 5 n 2 = o(n 3 ) Dr. Sarmad Abbasi () Theory of Computation 12 / 38

13 little Oh Notation Lets look at a new TM that recognizes A = {0 k 1 k : k 0}. 1 Scan the tape and make sure all the 0s are before 1s. 2 Repeat till there are 0s and 1s on the tape. 1 Scan the tape and if the total number of 0s and 1s is odd reject. 2 Scan and cross of every other 0 and do the same with every other 1. 3 If all 0s and 1s are crossed accept. Thus if we have 13 0s in the next stage there would be 6. Dr. Sarmad Abbasi () Theory of Computation 13 / 38

14 little Oh Notation This algorithm shows that there is O(nlogn) time TM that decides A. Since, nlogn = o(n 2 ). This points to a real algorithmic improvement. Dr. Sarmad Abbasi () Theory of Computation 14 / 38

15 Time Complexity Classes Let t : N N be a function. Define the time complexity class TIME(t(n)) to be: TIME(t(n)) = {L L is decided by an O(t(n))-time Turing machine}. Dr. Sarmad Abbasi () Theory of Computation 15 / 38

16 So for example: 1 TIME(n) is the set of all languages, L, for which there is a linear time TM that accepts L. 2 TIME(n 2 ) is the set of all languages, L, for which there is a quadratic time TM that accepts L. Dr. Sarmad Abbasi () Theory of Computation 16 / 38

17 Recall A = {0 k 1 k : k 0}. Our first algorithm (or TM) showed that A TIME(n 2 ). The second one showed that A TIME(n log n). Notice that TIME(nlogn) TIME(n 2 ). Dr. Sarmad Abbasi () Theory of Computation 17 / 38

18 What will happen if we allow ourselves to have a 2-tape TM. Can we have a faster TM. Yes, if we have two tapes we can do the following: Dr. Sarmad Abbasi () Theory of Computation 18 / 38

19 1 Scan across to find out if all 0s are before 1s. 2 Copy all the 0s to the second tape. 3 Scan on the first tape in forward direction and the second tape in reverse direction crossing off 0s and 1s. 4 If all 0s have been crossed off and all ones have been crossed off accept else reject. In fact, it one can design a 2-tape TM that accepts A while scanning the input only once! Dr. Sarmad Abbasi () Theory of Computation 19 / 38

20 This leads to an important questions? Question Can we design a 1-tape TM that accepts A in o(n log n) time. Preferably linear time? The answer is NO! Dr. Sarmad Abbasi () Theory of Computation 20 / 38

21 In fact there is a language L such that 1 L is accepted by a 2-tape TM in time O(n). 2 L cannot be accepted by any 1-TM TM in time o(n 2 ). Dr. Sarmad Abbasi () Theory of Computation 21 / 38

22 Thus the definition of TIME(t(n)) changes if we talk about 1-tape TMs or 2-tape TM. Fortunately, it does not change by too much as the following theorem shows. Theorem Let t(n) be a function where t(n) n. Then every t(n)-time k-tape TM has an equivalent O(t 2 (n))-time single tape TM. Dr. Sarmad Abbasi () Theory of Computation 22 / 38

23 Notice the difference from computability theory. Previously we showed: Theorem Every k-tape TM has an equivalent 1-tape TM. (We ignored time). Now, we are doing more detailed analysis. Dr. Sarmad Abbasi () Theory of Computation 23 / 38

24 The proof of the theorem is just a more careful study of the previous proof. Remember given a k-tape TM, M, we made a 1-tape TM, N. N works as follows: 1 On input x convert the input to #q0#x# # the start configuration of M. This configuration says that x is on the first tape. The rest of the tapes are empty and the machine is in q 0. 2 In each pass over the tape change the current configuration to the next one. 3 If an accepting configuration is reached accept 4 If a rejecting configuration is reached reject. Now, we just have to estimate how much time does N require. Dr. Sarmad Abbasi () Theory of Computation 24 / 38

25 On any input x of length n, we make the following claims. 1 M uses at most t(n) cells of its k-tapes. 2 Thus any configuration has length at most kt(n) = O(t(n)). 3 Thus each pass of N requires at most O(t(n)) steps. 4 N makes at most t(n) passes on its tape (after that M must halt). This shows that N runs in time O(t(n) t(n)) = O(t 2 (n)). Dr. Sarmad Abbasi () Theory of Computation 25 / 38

26 Where did we use the fact that t(n) n. In the first step the machine converts x to the initial configuration. This takes time O(n). Thus the total time is actually O(n) + O(t 2 (n)) = O(t 2 (n)). This is a reasonable assumption as M requires time O(n) to read its input. Which is true for most problems. The answer usually depends on the entire input. Dr. Sarmad Abbasi () Theory of Computation 26 / 38

27 You have studied many non-deterministic models such as: 1 NFA: Non-deterministic finite automata. 2 NPDA: Non-deterministic pushdown automata. Now, we will define non-deterministic TMs. We will now define non-deterministic TMs. Dr. Sarmad Abbasi () Theory of Computation 27 / 38

28 A non-deterministic TM is formally given as M = (Σ, Γ,, q 0, q c, q r, δ) where 1 Σ is the input alphabet. 2 Γ is the work alphabet. 3 q 0, q a, q r are start, accept and reject states. 4 δ is now a transition function: For example we may have δ : Q Γ : P(Q Γ {L, R}). δ(q 5, a) = {(q 7, b, R), (q 4, c, L), (q 3, a, R)}. Thus the machine has three possible ways to proceed. Dr. Sarmad Abbasi () Theory of Computation 28 / 38

29 Time Complexity We can think of a non-deterministic computation as a tree: Dr. Sarmad Abbasi () Theory of Computation 29 / 38

30 We will say that a non-deterministic TM M accepts x. If x is accepted on at least one branch. On the other hand M rejects x if all branches of the tree reach the reject state. Dr. Sarmad Abbasi () Theory of Computation 30 / 38

31 The nondeterministic running time of M is the length of the longest branch. More, formally, The running time of a nondeterministic TM M is the function f : N N such that f (n) is the maximum number of steps M uses on any branch of its computation on any input of length n. Dr. Sarmad Abbasi () Theory of Computation 31 / 38

32 A few comments on the definition: 1 The notion of non-deterministic time does not correspond to any real world machine we can make. 2 It is merely a mathematical definition. 3 We will see that this definition is extremely useful. It allows us to capture many interesting problems. Dr. Sarmad Abbasi () Theory of Computation 32 / 38

33 Let us prove some relation between non-deterministic time and deterministic time. Theorem Let t(n) be a function, where t(n) n. Then every t(n) time nondeterministic single tape TM has an equivalent time deterministic single tape TM. 2 O(t(n)) Thus this theorem says that we can get rid of non-determinism at the cost of exponentiating the time! Dr. Sarmad Abbasi () Theory of Computation 33 / 38

34 Let N be a non-deterministic TM that runs in time t(n). Let us first estimate how big the computation tree of N can be: 1 The tree has depth t(n). 2 Let b be the maximum number of legal choices given by Ns transition function. 3 Then this tree can have b t(n) leaves. 4 The total number of nodes can be at most 1 + b + b b t(n) 2b t(n). Dr. Sarmad Abbasi () Theory of Computation 34 / 38

35 A deterministic TM D simulates the computation tree of N. There are several ways to do this. One is given in the book. Here is a slightly different one. To begin with D is going to be a multi-tape TM. Dr. Sarmad Abbasi () Theory of Computation 35 / 38

36 Consider a string over R = 1, 2,......, b of length t(n). So the string corresponds to a computation of M where 1 Starting from the root go to the first child c 1 of the root. 2 Then the second child of c 1 call it c 2. 3 Then to the third child child of c 2 call it c 3. 4 Then to the first child of c 3 Thus each such string corresponds to a branch in the tree. Dr. Sarmad Abbasi () Theory of Computation 36 / 38

37 Thus D is the following TM 1 On input x of length n. 2 For all strings s R t(n). 3 Simulate N making the choices dictated by s. 4 If N accepts then accept. 5 If all branches of N reject then reject. This method assumes that t(n) can be computed quickly. However, we can also eliminate this requirement. Dr. Sarmad Abbasi () Theory of Computation 37 / 38

38 For each string s the simulation can take O(t(n)) time. There are b t(n) strings to simulate. Thus the total time is O(t(n))b t(n) = 2 O(t(n)). Our last part is to convert this multi-tape TM into a single tape TM. If we use the previous theorem then the total time would be We will come back to NTMs again. (2 O(t(n)) ) 2 = 2 2O(t(n)) = 2 O(t(n)). Dr. Sarmad Abbasi () Theory of Computation 38 / 38

39 We want to know which problems can be solved in practice. Thus we define the class P as follows: P = k TIME(n k ). or more elaborately write is as P = TIME(n) TIME(n 2 ) TIME(n 3 ) TIME(n 4 ). Dr. Sarmad Abbasi () Theory of Computation 39 / 38

40 The class P is important because: 1 P is invariant for all models of computation that are polynomially equivalent to the deterministic single-tape machines. 2 P roughly corresponds to the problems that we can solve realistically on these models. Thus in defining P we can talk about single tape TMs, Java programs, multi-tape TMs. They all give the same definition of P. Dr. Sarmad Abbasi () Theory of Computation 40 / 38

41 The second point is problems in P can be solved in reasonable time. Some people may object to this as they can point out that if a problem can be solved in time O(n 5000 ) then such an algorithm is of no practical value. This objection is valid to a certain point. However calling P to be the threshold of practical and unpractical problems has been extremely useful. Dr. Sarmad Abbasi () Theory of Computation 41 / 38

Theory of Computation

Theory of Computation Theory of Computation Dr. Sarmad Abbasi Dr. Sarmad Abbasi () Theory of Computation 1 / 33 Lecture 20: Overview Incompressible strings Minimal Length Descriptions Descriptive Complexity Dr. Sarmad Abbasi

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

Time Complexity. CS60001: Foundations of Computing Science

Time Complexity. CS60001: Foundations of Computing Science Time Complexity CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Measuring Complexity Definition Let M be a deterministic Turing machine that halts on all inputs. The

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY. FLAC (15-453) Spring l. Blum TIME COMPLEXITY AND POLYNOMIAL TIME;

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY. FLAC (15-453) Spring l. Blum TIME COMPLEXITY AND POLYNOMIAL TIME; 15-453 TIME COMPLEXITY AND POLYNOMIAL TIME; FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY NON DETERMINISTIC TURING MACHINES AND NP THURSDAY Mar 20 COMPLEXITY THEORY Studies what can and can t be computed

More information

TIME COMPLEXITY AND POLYNOMIAL TIME; NON DETERMINISTIC TURING MACHINES AND NP. THURSDAY Mar 20

TIME COMPLEXITY AND POLYNOMIAL TIME; NON DETERMINISTIC TURING MACHINES AND NP. THURSDAY Mar 20 TIME COMPLEXITY AND POLYNOMIAL TIME; NON DETERMINISTIC TURING MACHINES AND NP THURSDAY Mar 20 COMPLEXITY THEORY Studies what can and can t be computed under limited resources such as time, space, etc Today:

More information

Intro to Theory of Computation

Intro to Theory of Computation Intro to Theory of Computation LECTURE 22 Last time Review Today: Finish recursion theorem Complexity theory Exam 2 solutions out Homework 9 out Sofya Raskhodnikova L22.1 I-clicker question (frequency:

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

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

Computational complexity

Computational complexity COMS11700 Computational complexity Department of Computer Science, University of Bristol Bristol, UK 2 May 2014 COMS11700: Computational complexity Slide 1/23 Introduction If we can prove that a language

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

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

Complexity (Pre Lecture)

Complexity (Pre Lecture) Complexity (Pre Lecture) Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2018 Dantam (Mines CSCI-561) Complexity (Pre Lecture) Fall 2018 1 / 70 Why? What can we always compute efficiently? What

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

Harvard CS 121 and CSCI E-121 Lecture 20: Polynomial Time

Harvard CS 121 and CSCI E-121 Lecture 20: Polynomial Time Harvard CS 121 and CSCI E-121 Lecture 20: Polynomial Time Harry Lewis November 12, 20123 Review of Asymptotic Notation For f, g : N R + f = O(g): c > 0 s.t. f(n) c g(n) for all sufficiently large n. f

More information

Asymptotic notation : big-o and small-o

Asymptotic notation : big-o and small-o Time complexity Here we will consider elements of computational complexity theory an investigation of the time (or other resources) required for solving computational problems. We introduce a way of measuring

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

Theory of Computation

Theory of Computation Theory of Computation Lecture #6 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 39 Lecture 6: Overview Prove the equivalence of enumerators and TMs. Dovetailing

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

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

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

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

Further discussion of Turing machines

Further discussion of Turing machines Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will

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

Intractable Problems [HMU06,Chp.10a]

Intractable Problems [HMU06,Chp.10a] Intractable Problems [HMU06,Chp.10a] Time-Bounded Turing Machines Classes P and NP Polynomial-Time Reductions A 10 Minute Motivation https://www.youtube.com/watch?v=yx40hbahx3s 1 Time-Bounded TM s A Turing

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #2 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 1 Lecture 2: Overview Recall some basic definitions from Automata Theory.

More information

Languages, regular languages, finite automata

Languages, regular languages, finite automata Notes on Computer Theory Last updated: January, 2018 Languages, regular languages, finite automata Content largely taken from Richards [1] and Sipser [2] 1 Languages An alphabet is a finite set of characters,

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

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

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

Chapter 3: The Church-Turing Thesis

Chapter 3: The Church-Turing Thesis Chapter 3: The Church-Turing Thesis 1 Turing Machine (TM) Control... Bi-direction Read/Write Turing machine is a much more powerful model, proposed by Alan Turing in 1936. 2 Church/Turing Thesis Anything

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

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

Computational Complexity

Computational Complexity CS311 Computational Structures Computational Complexity Lecture 16 Andrew P. Black Andrew Tolmach 1 So, itʼs computable! But at what cost? Some things that are computable in principle are in practice intractable

More information

Announcements. Problem Set 7 graded; will be returned at end of lecture. Unclaimed problem sets and midterms moved!

Announcements. Problem Set 7 graded; will be returned at end of lecture. Unclaimed problem sets and midterms moved! N P NP Announcements Problem Set 7 graded; will be returned at end of lecture. Unclaimed problem sets and midterms moved! Now in cabinets in the Gates open area near the drop-off box. The Complexity Class

More information

Theory of Computation

Theory of Computation Theory of Computation Dr. Sarmad Abbasi Dr. Sarmad Abbasi () Theory of Computation / Lecture 3: Overview Decidability of Logical Theories Presburger arithmetic Decidability of Presburger Arithmetic Dr.

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Lecture 5 Reductions Undecidable problems from language theory Linear bounded automata given by Jiri Srba Lecture 5 Computability and Complexity 1/14 Reduction Informal Definition

More information

3 Probabilistic Turing Machines

3 Probabilistic Turing Machines CS 252 - Probabilistic Turing Machines (Algorithms) Additional Reading 3 and Homework problems 3 Probabilistic Turing Machines When we talked about computability, we found that nondeterminism was sometimes

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

Time Complexity. Definition. Let t : n n be a function. NTIME(t(n)) = {L L is a language decidable by a O(t(n)) deterministic TM}

Time Complexity. Definition. Let t : n n be a function. NTIME(t(n)) = {L L is a language decidable by a O(t(n)) deterministic TM} Time Complexity Definition Let t : n n be a function. TIME(t(n)) = {L L is a language decidable by a O(t(n)) deterministic TM} NTIME(t(n)) = {L L is a language decidable by a O(t(n)) non-deterministic

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

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE Chapter 1 - Time and Space Complexity deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE 1 / 41 Deterministic Turing machines Definition 1.1 A (deterministic

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

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

Great Theoretical Ideas in Computer Science. Lecture 9: Introduction to Computational Complexity

Great Theoretical Ideas in Computer Science. Lecture 9: Introduction to Computational Complexity 15-251 Great Theoretical Ideas in Computer Science Lecture 9: Introduction to Computational Complexity February 14th, 2017 Poll What is the running time of this algorithm? Choose the tightest bound. def

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

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

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

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

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems Valentine Kabanets September 13, 2007 1 Complexity Classes Unless explicitly stated,

More information

INTRODUCTION TO THE THEORY OF NP-COMPLETENESS

INTRODUCTION TO THE THEORY OF NP-COMPLETENESS INTRODUCTION TO THE THEORY OF NP-COMPLETENESS CSI4105 (3 TO 5 LECTURES) Lucia Moura University of Ottawa Winter 2006 These notes/slides are intended as an introduction to the theory of NP-completeness,

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #10 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 35 Lecture 10: Overview Undecidability of the Halting Problem Russell s Paradox

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

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

COM364 Automata Theory Lecture Note 2 - Nondeterminism

COM364 Automata Theory Lecture Note 2 - Nondeterminism COM364 Automata Theory Lecture Note 2 - Nondeterminism Kurtuluş Küllü March 2018 The FA we saw until now were deterministic FA (DFA) in the sense that for each state and input symbol there was exactly

More information

Intractable Problems. Time-Bounded Turing Machines Classes P and NP Polynomial-Time Reductions

Intractable Problems. Time-Bounded Turing Machines Classes P and NP Polynomial-Time Reductions Intractable Problems Time-Bounded Turing Machines Classes P and NP Polynomial-Time Reductions 1 Time-Bounded TM s A Turing machine that, given an input of length n, always halts within T(n) moves is said

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

ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness. Prof. Peter Bermel January 11, 2017

ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness. Prof. Peter Bermel January 11, 2017 ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness Prof. Peter Bermel January 11, 2017 Outline Overview Definitions Computing Machines Church-Turing Thesis Polynomial Time (Class P)

More information

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes Complexity Theory 1 Complexity Theory 2 Complexity Theory Lecture 3 Complexity For any function f : IN IN, we say that a language L is in TIME(f(n)) if there is a machine M = (Q, Σ, s, δ), such that: L

More information

Complexity: moving from qualitative to quantitative considerations

Complexity: moving from qualitative to quantitative considerations Complexity: moving from qualitative to quantitative considerations Textbook chapter 7 Complexity Theory: study of what is computationally feasible (or tractable) with limited resources: running time (main

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

ECS 120 Lesson 23 The Class P

ECS 120 Lesson 23 The Class P ECS 120 Lesson 23 The Class P Oliver Kreylos Wednesday, May 23th, 2001 We saw last time how to analyze the time complexity of Turing Machines, and how to classify languages into complexity classes. We

More information

Class Note #20. In today s class, the following four concepts were introduced: decision

Class Note #20. In today s class, the following four concepts were introduced: decision Class Note #20 Date: 03/29/2006 [Overall Information] In today s class, the following four concepts were introduced: decision version of a problem, formal language, P and NP. We also discussed the relationship

More information

NP-Completeness and Boolean Satisfiability

NP-Completeness and Boolean Satisfiability NP-Completeness and Boolean Satisfiability Mridul Aanjaneya Stanford University August 14, 2012 Mridul Aanjaneya Automata Theory 1/ 49 Time-Bounded Turing Machines A Turing Machine that, given an input

More information

Variants of Turing Machine (intro)

Variants of Turing Machine (intro) CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples, Turing-recognizable and Turing-decidable languages Variants of Turing Machine Multi-tape Turing machines, non-deterministic

More information

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions CS 6743 Lecture 15 1 Fall 2007 1 Circuit Complexity 1.1 Definitions A Boolean circuit C on n inputs x 1,..., x n is a directed acyclic graph (DAG) with n nodes of in-degree 0 (the inputs x 1,..., x n ),

More information

Exam Computability and Complexity

Exam Computability and Complexity Total number of points:... Number of extra sheets of paper:... Exam Computability and Complexity by Jiri Srba, January 2009 Student s full name CPR number Study number Before you start, fill in the three

More information

Designing 1-tape Deterministic Turing Machines

Designing 1-tape Deterministic Turing Machines MCS-265: The Theory of Computation Handout #T1 San Skulrattanakulchai Gustavus Adolphus College April 5, 2011 Designing 1-tape Deterministic Turing Machines A TM corresponds to a computer program. We will

More information

More Turing Machines. CS154 Chris Pollett Mar 15, 2006.

More Turing Machines. CS154 Chris Pollett Mar 15, 2006. More Turing Machines CS154 Chris Pollett Mar 15, 2006. Outline Multitape Turing Machines Nondeterministic Turing Machines Enumerators Introduction There have been many different proposals for what it means

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

Chap. 1.2 NonDeterministic Finite Automata (NFA)

Chap. 1.2 NonDeterministic Finite Automata (NFA) Chap. 1.2 NonDeterministic Finite Automata (NFA) DFAs: exactly 1 new state for any state & next char NFA: machine may not work same each time More than 1 transition rule for same state & input Any one

More information

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement: Mapping Reducibility 2017/11/16 Chapter 5.3 in Sipser Ø Announcement: q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse355/lectures/mapping.pdf 1 Last time Reducibility

More information

Theory of Computation

Theory of Computation Theory of Computation Unit 4-6: Turing Machines and Computability Decidability and Encoding Turing Machines Complexity and NP Completeness Syedur Rahman syedurrahman@gmail.com Turing Machines Q The set

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

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG) CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG) Objectives Recall that decidable languages are languages that can be decided by TM (that means,

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #10 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 43 Lecture 10: Overview Linear Bounded Automata Acceptance Problem for LBAs

More information

Finite Automata. Finite Automata

Finite Automata. Finite Automata Finite Automata Finite Automata Formal Specification of Languages Generators Grammars Context-free Regular Regular Expressions Recognizers Parsers, Push-down Automata Context Free Grammar Finite State

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Lecture 10 More examples of problems in P Closure properties of the class P The class NP given by Jiri Srba Lecture 10 Computability and Complexity 1/12 Example: Relatively

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

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2019 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

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

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators

More information

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity 15-251 Great Theoretical Ideas in Computer Science Lecture 7: Introduction to Computational Complexity September 20th, 2016 What have we done so far? What will we do next? What have we done so far? > Introduction

More information

1 Deterministic Turing Machines

1 Deterministic Turing Machines Time and Space Classes Exposition by William Gasarch 1 Deterministic Turing Machines Turing machines are a model of computation. It is believed that anything that can be computed can be computed by a Turing

More information

Finite Automata. Mahesh Viswanathan

Finite Automata. Mahesh Viswanathan Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,

More information

Growth of Functions (CLRS 2.3,3)

Growth of Functions (CLRS 2.3,3) Growth of Functions (CLRS 2.3,3) 1 Review Last time we discussed running time of algorithms and introduced the RAM model of computation. Best-case running time: the shortest running time for any input

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

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

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

Turing Machines and Time Complexity

Turing Machines and Time Complexity Turing Machines and Time Complexity Turing Machines Turing Machines (Infinitely long) Tape of 1 s and 0 s Turing Machines (Infinitely long) Tape of 1 s and 0 s Able to read and write the tape, and move

More information

Nondeterministic Finite Automata

Nondeterministic Finite Automata Nondeterministic Finite Automata Not A DFA Does not have exactly one transition from every state on every symbol: Two transitions from q 0 on a No transition from q 1 (on either a or b) Though not a DFA,

More information

22c:135 Theory of Computation. Analyzing an Algorithm. Simplifying Conventions. Example computation. How much time does M1 take to decide A?

22c:135 Theory of Computation. Analyzing an Algorithm. Simplifying Conventions. Example computation. How much time does M1 take to decide A? Example computation Consider the decidable language A = {0 n 1 n n 0} and the following TM M1 deciding A: M1 = "On input string w: 1. Scan across the tape and reject if a 0 appears after a 1 2. Repeat

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2018 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

Outline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018

Outline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018 Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 3. Logarithmic Space Reinhard Pichler Institute of Logic and Computation DBAI Group TU Wien 3. Logarithmic Space 3.1 Computational

More information

ECS 120 Lesson 15 Turing Machines, Pt. 1

ECS 120 Lesson 15 Turing Machines, Pt. 1 ECS 120 Lesson 15 Turing Machines, Pt. 1 Oliver Kreylos Wednesday, May 2nd, 2001 Before we can start investigating the really interesting problems in theoretical computer science, we have to introduce

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

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2018 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in Oracle Turing Machines Nondeterministic OTM defined in the same way (transition relation, rather than function) oracle is like a subroutine, or function in your favorite PL but each call counts as single

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