Turing Machine Variations

Size: px
Start display at page:

Download "Turing Machine Variations"

Transcription

1 Turing Machine Variations CIS 301 Theory of Computation Brian C Ladd Computer Science Department SUNY Potsdam Fall 2016 November 16, 2016 Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

2 Outline Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

3 Formal Definition Definition A Turning Machine (TM) is a 7-tuple M = (Q, Σ, Γ, δ, q 0, q accept, q reject ) 1 Q is a set of states 2 Σ is the input alphabet not including the special blank symbol 3 Γ is the tape alphabet Γ and Σ Γ 4 δ : Q Γ Q Γ {L, R} Example: δ(q,a) = (r,b, L) 5 q 0 Q is the start state 6 q accept Q is the accept state 7 q reject Q is the reject state Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

4 Variations? What could we vary in the Turing Machine? Head Movement: add stay put ; remove L Do they add any functionality? Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

5 Variations? What could we vary in the Turing Machine? Head Movement: add stay put ; remove L Tape: doubly infinite; multiple tapes; 2-d tape Do they add any functionality? Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

6 Variations? What could we vary in the Turing Machine? Head Movement: add stay put ; remove L Tape: doubly infinite; multiple tapes; 2-d tape Alphabet: minimize to {0, 1, } Do they add any functionality? Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

7 Variations? What could we vary in the Turing Machine? Head Movement: add stay put ; remove L Tape: doubly infinite; multiple tapes; 2-d tape Alphabet: minimize to {0, 1, } Finite control: minimize to 3 states Do they add any functionality? Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

8 Reduction to Turing Machine What would show a given variation is no more powerful than a TM? Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

9 Reduction to Turing Machine What would show a given variation is no more powerful than a TM? Convert the description of a varying machine to a TM Emulate the varying machine using a standard Turing Machine Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

10 Stay Put TM Extend δ to δ S : Q Q Γ {L, R, S} Replace each transition with S, δ S (q i, c j ) = (q k, c l, S), with two transitions: Note: Γ appearing on both sides of a transition means no matter what is read, write the same symbol Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

11 Stay Put TM Extend δ to δ S : Q Q Γ {L, R, S} Replace each transition with S, δ S (q i, c j ) = (q k, c l, S), with two transitions: δ(q i, c j ) = (q k, c l, R) Note: Γ appearing on both sides of a transition means no matter what is read, write the same symbol Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

12 Stay Put TM Extend δ to δ S : Q Q Γ {L, R, S} Replace each transition with S, δ S (q i, c j ) = (q k, c l, S), with two transitions: δ(q i, c j ) = (q k, c l, R) δ(q k, Γ) = (q k, Γ, L) Note: Γ appearing on both sides of a transition means no matter what is read, write the same symbol Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

13 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

14 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Start with input on tape Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

15 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Start with input on tape Move input one cell to the right Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

16 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Start with input on tape Move input one cell to the right Put $ in the first location (marks flip over point) Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

17 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Start with input on tape Move input one cell to the right Put $ in the first location (marks flip over point) Spread the input to every other cell, putting blanks between them Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

18 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Start with input on tape Move input one cell to the right Put $ in the first location (marks flip over point) Spread the input to every other cell, putting blanks between them For every L : move two to the left (use intermediate state that leaves cell contents alone): if middle cell has $ then reverse direction, moving R by two locations Remember that directions are reversed in the store Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

19 Two-Way Infinite Tape TM Extend the tape to be infinite to the left as well as to the right Head begins reading the left-most non-blank on the tape Blanks not allowed in the input Emulate on a standard Turing Machine: Imagine: Fold the double-infinite tape over on itself Mark the fold and alternate the cells: odd cells are the tape to the right; even cells are the tape to the left Start with input on tape Move input one cell to the right Put $ in the first location (marks flip over point) Spread the input to every other cell, putting blanks between them For every L : move two to the left (use intermediate state that leaves cell contents alone): if middle cell has $ then reverse direction, moving R by two locations Remember that directions are reversed in the store For every R : move two to the right If directions are reversed, could see $ so react by moving to correct next cell and re-reversing directions Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

20 Multi-tape TM Extend a TM with k tapes, each with its own read/write head Initially tape 1 contains the input; all other tapes are blank δ M : Q Γ k Q Γ k {L, R} k Example δ M (q i, a 1,, a k ) = (q j, b 1,, b k, L,, R) Theorem (310) Every multi-tape TM has an equivalent single tape TM Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

21 Multi-tape TM Sketch Show how to emulate multi-tape machine M with a single tape machine, S Finite Control a b c c r s r s Γ M = {0, 1, a, b, } Γ S = {0, 1, a, b,, #, 0, 1, ȧ, ḃ, } Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

22 Multi-tape TM Proof S = On input string w = w 1 w n : 1 First S puts its tape into the format that represents all k tapes of M The formatted tape of S contains: # w 1 w 2 w n # # # 2 To simulate a single move of M, S scans its tape from the first #, which marks the left-hand end, to the (k + 1)st #, which marks the right-hand end, in order to determine the symbols under the virtual heads Then S makes a second pass to update the tapes according to the way that M s transition function dictates 3 If at any point S moves one of the virtual heads to the right onto a #, this action signifies that M has moved the corresponding head onto the previously unread blank portion of that tape So S writes a blank symbol on this tape cell and shifts the tape contents, from this cell until the rightmost #, one unit to the right Then S continues as before Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

23 Multi-tape TM # # a b c ċ # r ṡ r s # Finite Control Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

24 Multi-tape TM Definition A language is Turing-recognizable iff TM that recognizes it Corollary A language is Turing-recognizable iff multi-tape TM that recognizes it Proof If a language is Turing-recognizable, then multi-tape TM that recognizes it By definition: if language is Turing-recognizable, L is recognized by some single-tape TM A single-tape TM is a one-tape multi-tape TM multi-tape machine that recognizes L Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

25 Multi-tape TM Definition A language is Turing-recognizable iff TM that recognizes it Corollary A language is Turing-recognizable iff multi-tape TM that recognizes it Proof If multi-tape TM that recognizes language L, then L is Turing-recognizable Show that any multi-tape TM can be simulated on a single-tape TM (proof is from previous slides) Since any multi-tape machine can run on a single tape, L, recognized by a multi-tape machine is also recognized by some single-tape machine; therefore L is Turing-recognizable Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

26 Non-deterministic TM Extend TM such that it may proceed in any number of ways δ N : Q Γ P(Q Γ {L, R}) Approach: Where there is a choice point, a new TM is spawned The TMs form a tree If one of the TMs succeeds (enters an accept state), then the nondeterministic machine accepts its input Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

27 Non-deterministic TM Theorem Every non-deterministic TM has an equivalent deterministic TM Proof Keep a tree of the nondeterministc TMs and search it breadth-first Why not search depth-first? Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

28 Non-deterministic TM Theorem Every non-deterministic TM has an equivalent deterministic TM Proof Keep a tree of the nondeterministc TMs and search it breadth-first Why not search depth-first? Must execute each machine, adding one step at a time Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

29 Non-deterministic TM Theorem Every non-deterministic TM has an equivalent deterministic TM Proof For D, the deterministic version of N, use three tapes 1 Tape 1 - input string 2 Tape 2 - a copy of N tape run for k steps on one copy of the machine 3 Tape 3 - address tape Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

30 Non-deterministic TM Theorem Every non-deterministic TM has an equivalent deterministic TM Proof Description of D s operation: 1 Initially, tape 1 contains w and tapes 2 and 3 are empty, in start state 2 Copy tape 1 to tape 2 3 Use tape 2 to simulate N with input w on one branch of N s computation Before each step on this branch, look at the next symbol on tape 3 to determine which choice to make among those that are possible If no more symbols are on tape 3 (at a blank) or the choice is invalid, abort this computation by going to stage 4 Also go to stage 4 if a rejecting configuration is encountered If an accepting configuration is encountered, accept the input 4 Replace the string on tape 3 with the lexicographically next string, and go to stage 2 Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

31 Non-deterministic TM Corollary A language, L, is Turing recognizable iff some non-deterministic TM recognizes it Proof Any deterministic TM is also a non-deterministic TM; if L is Turing-recognizable, M L, M L a deterministic TM recognizer: L is recognized by a NTM By previous theorem, NTM recognizer N L can be simulated on a DTM, M N:L : M N:L is a DTM recognizer of L Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

32 Non-deterministic TM Corollary A language, L, is Turing decidable iff some non-deterministic TM decides it Proof Any deterministic TM is also a non-deterministic TM; if L is Turing-decidable, M L, M L a deterministic TM decider: L is decided by a NTM By previous theorm, NTM decider N L can be simulated on a DTM, M N:L : M N:L is a DTM decider of L Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

33 Enumerators Definition An enumerator is a TM with a printer The language enumerated by E is the set of all strings printed to its printer Order and repetition are not important Theorem A language is Turing-recognizable iff some enumerator enumerates it How is this different from what I discussed on Monday? What difference does it make Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

34 Enumerators Theorem A language is Turing-recognizable iff some enumerator enumerates it Proof If E enumerates the language, A, construct TM M which recognizes the language: M = On input w: 1 Run E Every time that E outputs a string, compare it with w 2 If this output of E matches w, accept, else go to 1 Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 ) Turing Machine Variations November 16, / 25

35 Enumerators Theorem A language is Turing-recognizable iff some enumerator enumerates it Proof A is Turing-recognizable; construct an enumerator E to enumerate it L(M) = A, M a TM (by definition of Turing-recognizable) A Σ ; let s 1, s 2, s 3, be an infinite sequence of all the strings in Σ E = Ignore the input 1 For i = 1, 2, 3, 1 Run M for i steps on each input s 1,, s i 2 If M accepts any of these strings, print it Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

36 Enumerators Example Run M for i Steps, i = Strings Tested Printer output 1 s 1 2 s 1, s 2 3 s 1, s 2, s 3 4 s 1,s 2,s 3, s 4 s 2 5 s 1,s 2,s 3, s 4,s 5 s 2, s 5 6 s 1,s 2,s 3, s 4,s 5, s 6 s 2, s 3, s 5 7 s 1,s 2,s 3, s 4,s 5, s 6, s 7 s 2, s 3, s 5 8 s 1,s 2,s 3, s 4,s 5, s 6, s 7 s 1, s 2, s 3, s 5 Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

37 Turing Machine Summary There are other models of general purpose computation that have been proposed Example A PDA with a deque? Peter Joachim, contributor All are similar to TM: 1 Unrestricted access to a limitless memory FA - limited memory PDA - limitless memory, but restricted access 2 All perform a finite amount of work in a given step All machines with the above two features have the same power of computation as a TM Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

38 What Does This Mean? 1 Any model of computation can be simulated by a TM and vice versa 2 Any algorithm that runs on any other machine can be run on a TM Definition Since all computational models can simulate each other and compute all the same algorithms, we can describe an algorithm as being able to be run on a computing machine This is a unique, precise description of the class algorithm A precise definition of algorithm was not worked out until Turing and Church came along Brian C Ladd ( Computer Science Department SUNY Potsdam Fall 2016 Turing ) Machine Variations November 16, / 25

3515ICT Theory of Computation Turing Machines

3515ICT Theory of Computation Turing Machines Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation

More information

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move. CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write

More information

Automata and Computability. Solutions to Exercises

Automata and Computability. Solutions to Exercises Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata

More information

24 Uses of Turing Machines

24 Uses of Turing Machines Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss

More information

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

CSE 135: Introduction to Theory of Computation Decidability and Recognizability CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing

More information

Turing Machines: An Introduction

Turing Machines: An Introduction CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,

More information

Turing Machines, Part I

Turing Machines, Part I Turing Machines, Part I Languages The $64,000 Question What is a language? What is a class of languages? Computer Science Theory 2 1 Now our picture looks like Context Free Languages Deterministic Context

More information

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. 3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

More information

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along

More information

Lecture 2: Universality

Lecture 2: Universality CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal

More information

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh als@inf.ed.ac.

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh als@inf.ed.ac. Pushdown automata Informatics 2A: Lecture 9 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 3 October, 2014 1 / 17 Recap of lecture 8 Context-free languages are defined by context-free

More information

Theory of Computation Chapter 2: Turing Machines

Theory of Computation Chapter 2: Turing Machines Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),

More information

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information

More information

Chapter 7 Uncomputability

Chapter 7 Uncomputability Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction

More information

CAs and Turing Machines. The Basis for Universal Computation

CAs and Turing Machines. The Basis for Universal Computation CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.

More information

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 79-84 International Research Publications House http://www. irphouse.com /ijict.htm Implementation

More information

The Halting Problem is Undecidable

The Halting Problem is Undecidable 185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine

More information

Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU

Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: bvogt@ist.tugraz.at office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.080/6.089 GITCS Feb 12, 2008. Lecture 3 6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

More information

Computational Models Lecture 8, Spring 2009

Computational Models Lecture 8, Spring 2009 Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown Univ. p. 1 Computational Models Lecture 8, Spring 2009 Encoding of TMs Universal Turing Machines The Halting/Acceptance

More information

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

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

More information

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)

More information

Computability Theory

Computability Theory CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.

More information

CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

More information

Theoretical Computer Science (Bridging Course) Complexity

Theoretical Computer Science (Bridging Course) Complexity Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011. Lecture 1 Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

More information

Finite Automata. Reading: Chapter 2

Finite Automata. Reading: Chapter 2 Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream

More information

1 Definition of a Turing machine

1 Definition of a Turing machine Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,

More information

How To Compare A Markov Algorithm To A Turing Machine

How To Compare A Markov Algorithm To A Turing Machine Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also

More information

Regular Languages and Finite State Machines

Regular Languages and Finite State Machines Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection

More information

Introduction to Automata Theory. Reading: Chapter 1

Introduction to Automata Theory. Reading: Chapter 1 Introduction to Automata Theory Reading: Chapter 1 1 What is Automata Theory? Study of abstract computing devices, or machines Automaton = an abstract computing device Note: A device need not even be a

More information

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

More information

Complexity Classes P and NP

Complexity Classes P and NP Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer

More information

Introduction to Turing Machines

Introduction to Turing Machines Automata Theory, Languages and Computation - Mírian Halfeld-Ferrari p. 1/2 Introduction to Turing Machines SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Automata Theory, Languages and Computation

More information

Algebraic Computation Models. Algebraic Computation Models

Algebraic Computation Models. Algebraic Computation Models Algebraic Computation Models Ζυγομήτρος Ευάγγελος ΜΠΛΑ 201118 Φεβρουάριος, 2013 Reasons for using algebraic models of computation The Turing machine model captures computations on bits. Many algorithms

More information

Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

More information

Introduction to NP-Completeness Written and copyright c by Jie Wang 1

Introduction to NP-Completeness Written and copyright c by Jie Wang 1 91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of

More information

Quantum and Non-deterministic computers facing NP-completeness

Quantum and Non-deterministic computers facing NP-completeness Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction

More information

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions CSC45 AUTOMATA 2. Finite Automata: Examples and Definitions Finite Automata: Examples and Definitions A finite automaton is a simple type of computer. Itsoutputislimitedto yes to or no. It has very primitive

More information

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

The Classes P and NP

The Classes P and NP The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

More information

Universal Turing Machine: A Model for all Computational Problems

Universal Turing Machine: A Model for all Computational Problems Universal Turing Machine: A Model for all Computational Problems Edward E. Ogheneovo Lecturer I, Dept of Computer Science, University of Port Harcourt, Port Harcourt Nigeria. ABSTRACT: Turing machines

More information

Deterministic Finite Automata

Deterministic Finite Automata 1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function

More information

Notes on NP Completeness

Notes on NP Completeness Notes on NP Completeness Rich Schwartz November 10, 2013 1 Overview Here are some notes which I wrote to try to understand what NP completeness means. Most of these notes are taken from Appendix B in Douglas

More information

Reading 13 : Finite State Automata and Regular Expressions

Reading 13 : Finite State Automata and Regular Expressions CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

More information

Prime Numbers. Difficulties in Factoring a Number: from the Perspective of Computation. Computation Theory. Turing Machine 電 腦 安 全

Prime Numbers. Difficulties in Factoring a Number: from the Perspective of Computation. Computation Theory. Turing Machine 電 腦 安 全 Prime Numbers Difficulties in Factoring a Number: from the Perspective of Computation 電 腦 安 全 海 洋 大 學 資 訊 工 程 系 丁 培 毅 Prime number: an integer p> that is divisible only by and itself, ex., 3, 5, 7,, 3,

More information

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER JASPER DEANTONIO Abstract. This paper is a study of the Turing Degrees, which are levels of incomputability naturally arising from sets of natural numbers.

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

Two-dimensional Languages

Two-dimensional Languages Charles University Faculty of Mathematics and Physics Mgr. Daniel Průša Two-dimensional Languages Doctoral Thesis Supervisor: Martin Plátek, CSc. Prague, 2004 Acknowledgements The results presented in

More information

Finite Automata. Reading: Chapter 2

Finite Automata. Reading: Chapter 2 Finite Automata Reading: Chapter 2 1 Finite Automata Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or

More information

Complexity of Algorithms

Complexity of Algorithms 1 Complexity of Algorithms Lecture Notes, Spring 1999 Peter Gács Boston University and László Lovász Yale University 2 Contents 1 Introduction and Preliminaries 1 1.1 The subject of complexity theory.........................

More information

Composability of Infinite-State Activity Automata*

Composability of Infinite-State Activity Automata* Composability of Infinite-State Activity Automata* Zhe Dang 1, Oscar H. Ibarra 2, Jianwen Su 2 1 Washington State University, Pullman 2 University of California, Santa Barbara Presented by Prof. Hsu-Chun

More information

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set. Section 2.5 Cardinality (another) Definition: The cardinality of a set A is equal to the cardinality of a set B, denoted A = B, if and only if there is a bijection from A to B. If there is an injection

More information

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES ANDREW E.M. LEWIS 1. Introduction This will be a course on the Turing degrees. We shall assume very little background knowledge: familiarity with

More information

NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

More information

Automata on Infinite Words and Trees

Automata on Infinite Words and Trees Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the 2009-2010 winter semester Last modified:

More information

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,

More information

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Increasing Interaction and Support in the Formal Languages and Automata Theory Course Increasing Interaction and Support in the Formal Languages and Automata Theory Course [Extended Abstract] Susan H. Rodger rodger@cs.duke.edu Jinghui Lim Stephen Reading ABSTRACT The introduction of educational

More information

Lecture 1: Oracle Turing Machines

Lecture 1: Oracle Turing Machines Computational Complexity Theory, Fall 2008 September 10 Lecture 1: Oracle Turing Machines Lecturer: Kristoffer Arnsfelt Hansen Scribe: Casper Kejlberg-Rasmussen Oracle TM Definition 1 Let A Σ. Then a Oracle

More information

Algorithmic Software Verification

Algorithmic Software Verification Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal

More information

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

More information

Chapter 1. Computation theory

Chapter 1. Computation theory Chapter 1. Computation theory In this chapter we will describe computation logic for the machines. This topic is a wide interdisciplinary field, so that the students can work in an interdisciplinary context.

More information

Genetic programming with regular expressions

Genetic programming with regular expressions Genetic programming with regular expressions Børge Svingen Chief Technology Officer, Open AdExchange bsvingen@openadex.com 2009-03-23 Pattern discovery Pattern discovery: Recognizing patterns that characterize

More information

Lecture summary for Theory of Computation

Lecture summary for Theory of Computation Lecture summary for Theory of Computation Sandeep Sen 1 January 8, 2015 1 Department of Computer Science and Engineering, IIT Delhi, New Delhi 110016, India. E- mail:ssen@cse.iitd.ernet.in Contents 1 The

More information

3 Monomial orders and the division algorithm

3 Monomial orders and the division algorithm 3 Monomial orders and the division algorithm We address the problem of deciding which term of a polynomial is the leading term. We noted above that, unlike in the univariate case, the total degree does

More information

Models of Sequential Computation

Models of Sequential Computation Models of Sequential Computation 13 C H A P T E R Programming is often considered as an art, but it raises mostly practical questions like which language should I choose, which algorithm is adequate, and

More information

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN Course Code : CS0355 SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN Course Title : THEORY OF COMPUTATION Semester : VI Course : June

More information

The Classes P and NP. mohamed@elwakil.net

The Classes P and NP. mohamed@elwakil.net Intractable Problems The Classes P and NP Mohamed M. El Wakil mohamed@elwakil.net 1 Agenda 1. What is a problem? 2. Decidable or not? 3. The P class 4. The NP Class 5. TheNP Complete class 2 What is a

More information

Regular Languages and Finite Automata

Regular Languages and Finite Automata Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

More information

4.6 The Primitive Recursive Functions

4.6 The Primitive Recursive Functions 4.6. THE PRIMITIVE RECURSIVE FUNCTIONS 309 4.6 The Primitive Recursive Functions The class of primitive recursive functions is defined in terms of base functions and closure operations. Definition 4.6.1

More information

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification) Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:

More information

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the

More information

2110711 THEORY of COMPUTATION

2110711 THEORY of COMPUTATION 2110711 THEORY of COMPUTATION ATHASIT SURARERKS ELITE Athasit Surarerks ELITE Engineering Laboratory in Theoretical Enumerable System Computer Engineering, Faculty of Engineering Chulalongkorn University

More information

Automata and Formal Languages

Automata and Formal Languages Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,

More information

1 Description of The Simpletron

1 Description of The Simpletron Simulating The Simpletron Computer 50 points 1 Description of The Simpletron In this assignment you will write a program to simulate a fictional computer that we will call the Simpletron. As its name implies

More information

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012 Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

More information

Simulation-Based Security with Inexhaustible Interactive Turing Machines

Simulation-Based Security with Inexhaustible Interactive Turing Machines Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany kuesters@ti.informatik.uni-kiel.de

More information

FINITE STATE AND TURING MACHINES

FINITE STATE AND TURING MACHINES FINITE STATE AND TURING MACHINES FSM With Output Without Output (also called Finite State Automata) Mealy Machine Moore Machine FINITE STATE MACHINES... 2 INTRODUCTION TO FSM S... 2 STATE TRANSITION DIAGRAMS

More information

CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

More information

CS 301 Course Information

CS 301 Course Information CS 301: Languages and Automata January 9, 2009 CS 301 Course Information Prof. Robert H. Sloan Handout 1 Lecture: Tuesday Thursday, 2:00 3:15, LC A5 Weekly Problem Session: Wednesday, 4:00 4:50 p.m., LC

More information

Introduction to Theory of Computation

Introduction to Theory of Computation Introduction to Theory of Computation Prof. (Dr.) K.R. Chowdhary Email: kr.chowdhary@iitj.ac.in Formerly at department of Computer Science and Engineering MBM Engineering College, Jodhpur Tuesday 28 th

More information

10CS35: Data Structures Using C

10CS35: Data Structures Using C CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

More information

Fabio Patrizi DIS Sapienza - University of Rome

Fabio Patrizi DIS Sapienza - University of Rome Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research

More information

Computer Architecture Syllabus of Qualifying Examination

Computer Architecture Syllabus of Qualifying Examination Computer Architecture Syllabus of Qualifying Examination PhD in Engineering with a focus in Computer Science Reference course: CS 5200 Computer Architecture, College of EAS, UCCS Created by Prof. Xiaobo

More information

Compiler Construction

Compiler Construction Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation

More information

Quantum Computing. Robert Sizemore

Quantum Computing. Robert Sizemore Quantum Computing Robert Sizemore Outline Introduction: What is quantum computing? What use is quantum computing? Overview of Quantum Systems Dirac notation & wave functions Two level systems Classical

More information

Finite Automata and Regular Languages

Finite Automata and Regular Languages CHAPTER 3 Finite Automata and Regular Languages 3. Introduction 3.. States and Automata A finite-state machine or finite automaton (the noun comes from the Greek; the singular is automaton, the Greek-derived

More information

Chapter 4: Computer Codes

Chapter 4: Computer Codes Slide 1/30 Learning Objectives In this chapter you will learn about: Computer data Computer codes: representation of data in binary Most commonly used computer codes Collating sequence 36 Slide 2/30 Data

More information

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

More information

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1)

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1) Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

More information

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008. Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008 Course Syllabus Course Title: Theory of Computation Course Level: 3 Lecture Time: Course

More information

Turing Machines, Busy Beavers, and Big Questions about Computing

Turing Machines, Busy Beavers, and Big Questions about Computing Turing Machines, usy eavers, and ig Questions about Computing My Research Group Computer Security: computing in the presence of adversaries Last summer student projects: Privacy in Social Networks (drienne

More information

Mathematical Induction

Mathematical Induction Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

More information

CELLULAR AUTOMATA AND APPLICATIONS. 1. Introduction. This paper is a study of cellular automata as computational programs

CELLULAR AUTOMATA AND APPLICATIONS. 1. Introduction. This paper is a study of cellular automata as computational programs CELLULAR AUTOMATA AND APPLICATIONS GAVIN ANDREWS 1. Introduction This paper is a study of cellular automata as computational programs and their remarkable ability to create complex behavior from simple

More information

Informatique Fondamentale IMA S8

Informatique Fondamentale IMA S8 Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech Lille

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

Lecture 12 Doubly Linked Lists (with Recursion)

Lecture 12 Doubly Linked Lists (with Recursion) Lecture 12 Doubly Linked Lists (with Recursion) In this lecture Introduction to Doubly linked lists What is recursion? Designing a node of a DLL Recursion and Linked Lists o Finding a node in a LL (recursively)

More information

Math Workshop October 2010 Fractions and Repeating Decimals

Math Workshop October 2010 Fractions and Repeating Decimals Math Workshop October 2010 Fractions and Repeating Decimals This evening we will investigate the patterns that arise when converting fractions to decimals. As an example of what we will be looking at,

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011. Lecture 1 Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

More information