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

Similar documents
CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Computability Theory. CS215, Lecture 6,

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

CS21 Decidability and Tractability

CSCC63 Worksheet Turing Machines

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

The Church-Turing Thesis

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

Chapter 3: The Church-Turing Thesis

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

TURING MAHINES

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

More About Turing Machines. Programming Tricks Restrictions Extensions Closure Properties

CSE 105 THEORY OF COMPUTATION

Turing Machines Part II

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

Most General computer?

Foundations of

Chapter 8. Turing Machine (TMs)

V Honors Theory of Computation

Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK

Turing s Thesis. Fall Costas Busch - RPI!1

Homework Assignment 6 Answers

CS4026 Formal Models of Computation

Turing Machines (TM) The Turing machine is the ultimate model of computation.

CSCI3390-Assignment 2 Solutions

Variations of the Turing Machine

Variants of Turing Machine (intro)

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

Turing Machine Variants. Sipser pages

ECS 120 Lesson 15 Turing Machines, Pt. 1

SCHEME FOR INTERNAL ASSESSMENT TEST 3

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

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

Introduction to Turing Machines

Turing Machines. Lecture 8

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

Turing Machine properties. Turing Machines. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions

Turing Machines. Our most powerful model of a computer is the Turing Machine. This is an FA with an infinite tape for storage.

Lecture 14: Recursive Languages

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

Lecture 12: Mapping Reductions

Turing Machines Part III

Further discussion of Turing machines

Busch Complexity Lectures: Turing Machines. Prof. Busch - LSU 1

CS 21 Decidability and Tractability Winter Solution Set 3

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

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Homework. Turing Machines. Announcements. Plan for today. Now our picture looks like. Languages

CS151 Complexity Theory. Lecture 1 April 3, 2017

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSCE 551: Chin-Tser Huang. University of South Carolina

1 Showing Recognizability

Turing Machines Part II

Part I: Definitions and Properties

CS 525 Proof of Theorems 3.13 and 3.15

Turing s original paper (1936)

Turing Machines Extensions

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

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Complexity Theory Part I

Theory of Computation

CPSC 421: Tutorial #1

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1

Decidability (What, stuff is unsolvable?)

CSE 460: Computabilty and Formal Languages Turing Machine (TM) S. Pramanik

Theory of Computation

Computability and Complexity

SE 3310b Theoretical Foundations of Software Engineering. Turing Machines. Aleksander Essex

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Turing Machines Part II

Computational Models Lecture 8 1

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Introduction to Turing Machines. Reading: Chapters 8 & 9

Turing Machine Extensions, and Enumerators

CSE 105 THEORY OF COMPUTATION

Notes for Comp 497 (Comp 454) Week 12 4/19/05. Today we look at some variations on machines we have already seen. Chapter 21

Turing Machines, diagonalization, the halting problem, reducibility

Chapter 7 Turing Machines

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

1 Unrestricted Computation

Computational Models Lecture 8 1

Computation Histories

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

Complexity (Pre Lecture)

Advanced topic: Space complexity

Automata Theory CS S-12 Turing Machine Modifications

Turing Machines. Chapter 17

Lecture 13: Turing Machine

Lecture Notes: The Halting Problem; Reductions

Automata Theory (2A) Young Won Lim 5/31/18

CS20a: Turing Machines (Oct 29, 2002)

where Q is a finite set of states

Automata and Computability. Solutions to Exercises

Computational Models - Lecture 6

Automata and Computability. Solutions to Exercises

Computational Models Lecture 8 1

Transcription:

More Turing Machines CS154 Chris Pollett Mar 15, 2006.

Outline Multitape Turing Machines Nondeterministic Turing Machines Enumerators

Introduction There have been many different proposals for what it means to compute something. We will look at a few based on Turing Machines and show they don t add to the class of computable algorithms. As a quick example, consider TMs where the transition function is δ: Q x Γ --> Q x Γ x {L,R, S} where S means the head stays put. We could simulate such a with our original machine by replacing each stationary transition with a move right followed by a move left transition.

Multitape Turing Machines A Multitape Turing Machine (MTM) is like a usual Turing machine except that it has some finite number of tapes and tape heads rather than just one. The transition function now looks like: δ: Q x Γ k --> Q x Γ k x (L, R, S) k So δ(q, a 1,.., a k ) = (q, b 1,.., b k, L, R,..S) says in state q reading from tape 1 an a 1, from tape 2 an a 2, ; we transition to state q, write to tape 1 a b 1, write to tape 2 a b 2, then move left on tape 1, right on tape 2, finally stay put on tape k. Initially, the input is assumed to be written on the left hand side of the first tape. The machine halts if an accept or reject state is entered. If it halts in an accept state then it accepts the input

Simulation of Multitape machines Theorem Any language recognizable by an MTM is recognizable by a usual TM. Proof: Let M be a k-tape MTM. We will describe how to simulate it with a single tape machine S. For each tape symbol a of M, the machine S will have two symbols a and a. We will also have a special new tape symbol # not in M s tape alphabet called the configuration separator. As M s tape alphabet is finite so is S s. Here is a higher level description of how M operates on input w=w 1 w n : 1. First S does a single pass over the input string to convert it to the form #w 1 w 2 w n #_#_# #. This is supposed to represent the initial configuration of each of M s tapes. The underscore denotes where each tape head is currently. S now rewinds to the start of the tape 2. To simulate a move of M, the machine S scans left to right, looking for underscored characters. When it finds one it tries to simulate the action of the machine on that tape. It knows which tape it is dealing with by remember how many # it has seen. This will always be bounded by k+1. 3. If at any point S tries to move a virtual head over a #, S first writes a space on the #, shifts the contents of everything to the right over by 1, finds the space it wrote and continues the simulation.

Nondeterministic Turing Machines Nondeterministic Turing Machines (NTMs) are defined as one would guess. One modifies the transition function so that now it is a map: δ: Q x Γ --> P(Q x Γ x (L, R, S)).

Simulation of Nondeterministic Turing Machines Theorem Any language recognizable by an NTM is recognizable by a usual TM. Proof: Let N be a NTM that recognizes some language. We will make a Turing Machine D to simulate N. The idea is to have D try all possible branches of N s computation. If D ever finds an accept state of N on any of the branches then D accepts. So that we don t get stuck on infinite branches we will do our simulation in an iterated deepening, breadth first manner. D will have three tapes: the input tape, a simulation tape, and an address tape. D operates as follows: 1. Initially the input tape has the input and the other two tapes are blank. 2. D copies the input tape to the simulation tape. 3. D then simulate N according to the nondeterministic choices on the address tape. Let m be the finite maximum number of choices in any given state reading a given symbol for a next state. 4. If the address tape is blank D, checks to see if N immediately accepts. Otherwise, D writes a 1 on the address tape and simulates N one step using the first possible nondeterministic choice. If this doesn t accept. Then D writes a 2 over the 1, erases the simulation tape, and simulate N according to the second nondeterministic choice. Once we have tried all single step computations, we then cycle over computations of length 2, etc.

Enumerators The Turing Recognizable languages are sometimes called the recursive enumerable languages. Enumerate means to list out. We can imagine a machine with several work tapes and a dedicated output tape. The machine computes forever but might periodically enter an output state, when it does the string on the output tape is said to be in the language recognized by the enumerator.