THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages 136 - 150 1 COMPUTABILITY THEORY.

Slides:



Advertisements
Similar presentations
Algorithms Sipser 3.3 (pages ). CS 311 Fall Computability Hilbert's Tenth Problem: Find a process according to which it can be determined.
Advertisements

Measuring Time Complexity
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.
Introduction to Computability Theory
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Variants of Turing machines
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Computation Theory Introduction to Turing Machine.
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG)
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
Turing Machines Chapter Plan Turing Machines(TMs) – Alan Turing Church-Turing Thesis – Definitions Computation Configuration Recognizable vs. Decidable.
CS490 Presentation: Automata & Language Theory Thong Lam Ran Shi.
CSE202: Introduction to Formal Languages and Automata Theory Chapter 9 The Turing Machine These class notes are based on material from our textbook, An.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
 Computability Theory Turing Machines Professor MSc. Ivan A. Escobar
Pushdown Automata (PDAs)
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Turing Machines Chapter 17. Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing.
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,
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
D E C I D A B I L I T Y 1. 2 Objectives To investigate the power of algorithms to solve problems. To explore the limits of algorithmic solvability. To.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 3 Church-Turing Thesis Some slides are.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich
Lecture 9  2010 SDU Lecture9: Turing Machine.  2010 SDU 2 Historical Note Proposed by Alan Turing in 1936 in: On Computable Numbers, with an application.
Costas Busch - LSU1 Turing’s Thesis. Costas Busch - LSU2 Turing’s thesis (1930): Any computation carried out by mechanical means can be performed by a.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
CS 3240: Languages and Computation
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Introduction to Turing Machines
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
Chapter 9 Turing Machines What would happen if we change the stack in Pushdown Automata into some other storage device? Truing Machines, which maintains.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
CSCI 2670 Introduction to Theory of Computing September 29, 2005.
Theory of Computation Automata Theory Dr. Ayman Srour.
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
Turing’s Thesis Costas Busch - LSU.
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
Complexity and Computability Theory I
Busch Complexity Lectures: Turing Machines
Turing Machines.
CS21 Decidability and Tractability
Pumping Lemma Revisited
CS154, Lecture 7: Turing Machines.
CSE 105 theory of computation
Chapter 3: The CHURCH-Turing thesis
فصل سوم The Church-Turing Thesis
Intro to Theory of Computation
CSE 105 theory of computation
CS21 Decidability and Tractability
Decidability and Tractability
CSE 105 theory of computation
CSE 105 theory of computation
Computability Catch up last lecture. Turing machines. Variations
Variants of Turing machines
Intro to Theory of Computation
CSE 105 theory of computation
CSE 105 theory of computation
Presentation transcript:

THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY

2

TURING MACHINES In our development of the theory of computation - have presented several models of computing devices: Finite automata are good models for devices that have a small amount of memory. Pushdown automata are good models for devices that have an unlimited memory that is usable only in the last in, first out manner of a stack. 3

Powerful model. Proposed by Alan Turing in 1936, called the Turing machine. Similar to a finite automaton but with an unlimited and unrestricted memory. A Turing machine is a much more accurate model of a general purpose computer. A Turing machine can do everything that a real computer can do. Nonetheless, even a Turing machine cannot solve certain problems. 4 TURING MACHINES (cont.)

The Turing machine model uses an infinite tape as its unlimited memory. It has a tape head that can read and write symbols and move around on the tape. Initially the tape contains only: the input string and is blank everywhere else. 5 TURING MACHINES (cont.)

If the machine needs to store information, it may write this information on the tape. To read the information that it has written, the machine can move its head back over it. The machine continues computing until it decides to produce an output. The outputs accept and reject are obtained by entering designated accepting and rejecting states. If it doesn't enter an accepting or a rejecting state, it will go on forever, never halting. 6 TURING MACHINES (cont.)

The differences between finite automata and Turing machines: 1. A Turing machine can both write on the tape and read from it. 2. The read-write head can move both to the left and to the right. 3. The tape is infinite. 4. The special states for rejecting and accepting take effect immediately. 7 TURING MACHINES (cont.)

We want M1 to accept if its input is a member of B and to reject otherwise. Your goal is to determine: 1.whether the input is a member of B-that is. 2.whether the input comprises two identical strings separated by a # symbol. 8 TURING MACHINES (cont.)

The input is too long for you to remember it all, but you are allowed to move back and forth over the input and make marks on it. strategy is to zig-zag to the corresponding places on the two sides of the # and determine whether they match. 9 TURING MACHINES (cont.)

It makes multiple passes over the input string with the read-write head. On each pass it matches one of the characters on each side of the # symbol. To keep track of which symbols have been checked already, M1 crosses off (x) each symbol as it is examined. If it crosses off all the symbols, that means that everything matched successfully, and M1 goes into an accept state. If it discovers a mismatch, it enters a reject state. 10 TURING MACHINES (cont.)

In summary, M1’s algorithm is as follows M1 = "On input string w”: 1. Zig-zag across the tape to corresponding positions on either side of the # symbol to check whether these positions contain the same symbol. If they do not, or if no # is found, reject. Cross off symbols as they are checked to keep track of which symbols correspond. 2. When all symbols to the left of the # have been crossed off, check for any remaining symbols to the right of the #. If any symbols remain, reject; otherwise, accept." 11 TURING MACHINES (cont.)

Example: input # TURING MACHINES (cont.)

FORMAL DEFINITION OF A TURING MACHINE The heart of the definition of a Turing machine is the transition function because it tells us how the machine gets from one step to the next. 13 when the machine is in a certain state q and the head is over a tape square containing a symbol a, and if (q, a) = (r, b, L) the machine writes the symbol b replacing the a, and goes to state r. The third component is either L or R and indicates whether the head moves to the left or right after writing. In this case the L indicates a move to the left.

14

As a Turing machine computes, changes occur in the current state, the current tape contents, and the current head location. A setting of these three items is called a configuration of the Turing machine. 15 FORMAL DEFINITION OF A TURING MACHINE (cont.)

16 Example: 1011q represents the configuration when the tape is , the current state is q7, and the head is currently on the second 0.

FORMAL DEFINITION OF A TURING MACHINE (cont.) Suppose that we have a, b, and c in Г, as well as u and v in Г* and states q i and q j. In that case ua q i bv and u q j acv are two configurations. if in the transition function (q i, b) = (q j, c, L). Turing machine moves leftward if in the transition function (q i, b) = (q j, c, R) ?? 17

FORMAL DEFINITION OF A TURING MACHINE (cont.) 18 Call a language Turing-decidable ?? (homework)??

FORMAL DEFINITION OF A TURING MACHINE (cont.) EXAMPLE describe a Turing machine (TM) M 2 that decides A ={ 0 2 n | n>= 0}, the language consisting of all strings of 0s whose length is a power of 2. 19

M 2 = "On input string w: 1. Sweep left to right across the tape, crossing off every other If in stage 1 the tape contained a single 0, accept. 3. If in stage 1 the tape contained more than a single 0 and the number of Os was odd, reject. 4. Return the head to the left-hand end of the tape. 5. Go to stage 1. Note: you have to read page 144 (text book). 20

21

22

Input

MULTITAPE TURING MACHINES A multitape Turing machine is like an ordinary Turing machine with several tapes. Each tape has its own head for reading and writing. Initially the input appears on tape 1, and the others start out blank. The transition function is changed to allow for reading, writing, and moving the heads on some or all of the tapes simultaneously. Formally, it is 24

Formally 25

THEOREM 3.13 Every multitape Turing machine has an equivalent single-tape Turing machine 26

COROLLARY 3.15 A language is Turing-recognizable if and only if some multitape Turing machine recognizes it. 27