Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.

Slides:



Advertisements
Similar presentations
Variants of Turing machines
Advertisements

THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY.
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Programming the TM qa  (,q) (,q) q1q1 0q1q1 R q1q1 1q1q1 R q1q1  h  Qa  (,q) (,q) q1q1 0q2q2  q1q1 1q3q3  q1q1  h  q2q2 0q4q4 R q2q2 1q4q4.
Lecture 5 Turing Machines
Turing Machines.
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
AUTOMATA THEORY VIII.
Turing Machines Chapter Plan Turing Machines(TMs) – Alan Turing Church-Turing Thesis – Definitions Computation Configuration Recognizable vs. Decidable.
 Computability Theory Turing Machines Professor MSc. Ivan A. Escobar
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich
1 IDT Open Seminar ALAN TURING AND HIS LEGACY 100 Years Turing celebration Gordana Dodig Crnkovic, Computer Science and Network Department Mälardalen University.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
CSCI 2670 Introduction to Theory of Computing September 29, 2005.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Turing’s Thesis Costas Busch - LSU.
8. Introduction to Turing Machines
More variants of Turing Machines
ماشین های تورینگ، تشخیص پذیری و تصمیم پذیری زبان ها
Busch Complexity Lectures: Turing Machines
CS21 Decidability and Tractability
Pumping Lemma Revisited
CSE 105 theory of computation
CS154, Lecture 7: Turing Machines.
CSCI 2670 Introduction to Theory of Computing
Turing Machines 2nd 2017 Lecture 9.
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
Turing Machines (At last!).
Chapter 9 TURING MACHINES.
Turing Machines Sipser pages
فصل سوم The Church-Turing Thesis
Intro to Theory of Computation
Decidable Languages Costas Busch - LSU.
8. Introduction to Turing Machines
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Recall last lecture and Nondeterministic TMs
Turing Machines Complexity ©D.Moshkovitz.
Decidability and Tractability
CSE 105 theory of computation
Variants of Turing machines
Turing Machines Everything is an Integer
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only the input string There is a special accept state There is a special reject state The machine may process forever The machine does not have to read the entire input string What can a Turing Machine do? More than a PDA As much as any other computational device? Not everything.

Formal definition of a TM A Turing Machine is a 7-tuple, (Q,,,, q0, qaccept, qreject), where Q,, are all finite and 1. Q is the set of states 2. is input alphabet – does not include blank symbol 3. is the tape alphabet – include blank symbol 4. : Q Q {L,R} is the transition function 5. q0 Q is the start state 6. qaccept Q is the accept state 7. qreject Q is the reject state

Touring machine that recognizes strings with substring 1011 in them. Touring machine which recognizes strings of the form ww, w = {a,b}* Calculate x*y

Describing TMs Formal description: Gives the Turing machines states, transition functions, etc. Implementation description: Uses English to describe how the Turing machine stores and interprets data on its tape, moves its head, etc. High-level description: Uses English to describe an algorithm. It ignores implementation details – it does not describe how the machine manages the tape or stores data on the tape, etc. Encoding an object: The notation for encoding an object O into a string is. The encoding of several objects 0 1, 0 2,…, 0 n is denoted. When taking such input, the first step of the Turing machine is to test the encoding to make sure it correctly codes an object, and reject it if it doesnt.

A configuration of a Turing machine is a triplet: The current state the machine is in The current tape head position The current contents of the tape An accepting configuration is when the state of a configuration is q accept. A rejecting configuration is when the state of the configuration is q reject. Accepting and rejecting configurations are also Halting configurations. A Turing Machine accepts a string if the Turing Machine enters an accepting configuration at some point during its computation on the given string. A Turing Machine rejects a string if the Turing Machine enters a rejecting configuration at some point during its computation on the given string.

The collection of strings that a Turing Machine M accepts is called the language of M. A language is called Turing-recognizable (or just recognizable) if some Turing Machine accepts all of the strings in the language. Another term for Turing- recognizable is recursively enumerable. A language is called Turing-decidable (or just decidable) if some Turing Machine accepts all of the strings in the language and rejects (or enters a rejecting configuration) on all strings not in the language. This means that the Turing Machine must halt on all input strings. Another term for Turing decidable is enumerable. There IS a difference between decidable and recognizable.

When do we consider two machines (computational devices) to have the same power (equivalent)? Does speed matter? Our definition: Two machines are equivalent if they can recognize the same set of languages. Simulate machine A on machine B, and machine B on machine A. How do we prove equivalence? Note that making the simulation fast/small is not a priority.

Extending the power of Turing Machines – too bad, so sad N-tape Turing Machine = single tape Turing Machine – P137 Let k be the number of tapes Starts with input on 1st tape and all other tapes blank Transition function = : Q k Q k {L,R} k Store each machines tape contents separated by a # sign Keep track of each machines head position with a special dot on tape Heres how the machine works: 1. Scan tape contents beginning from leftmost # to determine each tapes contents underneath the tape heads (dot symbol) 2. Make a second pass to update tape contents according to the original machines transition function for the current state. 3. If a virtual head ever moves to the right onto a #, move everything over one space and put a blank symbol (with a dot) there.

Non-deterministic Turing Machine = Turing Machine – P138- Transition function = : Q P(Q {L,R}) For each state there is at most |Q {L,R}| possible paths ( a finite number) For each state on a given symbol there is at most |Q {L,R}| possible paths Well create a distinct tape symbol for each possible path We use a 3 tape Turing Machine Tape 1 = copy of input string Tape 2 = simulation tape – where we run the NDTM on one possible path Tape 3 = A finite length string of our possible path symbols 1. Initially, tape 1 contains the input string and the other two tapes are blank 2. Copy tape 1 to tape 2 3. Use tape 2 to simulate the NDTM on one possible branch of its computation. The ith step of the NDTM is determined from the ith symbol on tape 3. If the ith symbol on tape 3 is either invalid or blank, or if a rejecting configuration occurs, goto step 4. If an accepting configuration occurs then accept the input. 4. Replace string on tape 3 with the lexicographically next string. Goto step 2.

Church-Turing Thesis Proved the equivalence of the -calculus and Turing Machines. Showed that intuitive notion of algorithms = Turing machine algorithms. Provides the formal definition of algorithm that is needed to prove that certain algorithms DO NOT exist.