Turing Machine Variations
|
|
- Cornelius Walsh
- 7 years ago
- Views:
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
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 informationCS154. 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 informationAutomata 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 information24 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 informationCSE 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 informationTuring 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 informationTuring 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.
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 informationPushdown 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 informationLecture 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 informationPushdown 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 informationTheory 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 informationHonors 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 informationChapter 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 informationCAs 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 informationImplementation 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 informationThe 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 informationWelcome 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 informationFormal 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 information6.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 informationComputational 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 informationDiagonalization. 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 information6.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 informationComputability 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 informationCS 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 informationTheoretical 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 informationNotes 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 informationFinite 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 information1 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 informationHow 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 informationRegular 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 informationIntroduction 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 informationProperties 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 informationComplexity 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 informationIntroduction 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 informationAlgebraic 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 informationRegular 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 informationIntroduction 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 informationQuantum 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 informationCSC4510 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 information6.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 informationThe 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 informationUniversal 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 informationDeterministic 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 informationNotes 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 informationReading 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 informationPrime 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 informationTHE 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 informationT-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 informationTwo-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 informationFinite 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 informationComplexity 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 informationComposability 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 informationCardinality. 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 informationTHE 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 informationNP-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 informationAutomata 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 informationMATHEMATICS: 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 informationIncreasing 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 informationLecture 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 informationAlgorithmic 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 informationIntroduction 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 informationChapter 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 informationGenetic 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 informationLecture 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 information3 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 informationModels 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 informationSRM 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 informationThe 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 informationRegular 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 information4.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 information1. 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 informationAutomata 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 information2110711 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 informationAutomata 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 information1 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 informationCOMP 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 informationSimulation-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 informationFINITE 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 informationCHAPTER 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 informationCS 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 informationIntroduction 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 information10CS35: 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 informationFabio 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 informationComputer 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 informationCompiler 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 informationQuantum 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 informationFinite 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 informationChapter 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 informationReminder: 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 informationReminder: 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 informationPhiladelphia 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 informationTuring 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 informationMathematical 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 informationCELLULAR 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 informationInformatique 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 informationCost 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 informationLecture 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 informationMath 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 informationNotes 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