CS 525 Proof of Theorems 3.13 and 3.15

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

CSCC63 Worksheet Turing Machines

Chapter 3: The Church-Turing Thesis

CS21 Decidability and Tractability

CSE 105 THEORY OF COMPUTATION

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

Lecture 12: Mapping Reductions

Computation Histories

Computability and Complexity

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

Variants of Turing Machine (intro)

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

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

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

The Church-Turing Thesis

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

Computability Theory. CS215, Lecture 6,

Foundations of

1 Unrestricted Computation

CS4026 Formal Models of Computation

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Lecture 14: Recursive Languages

ECS 120 Lesson 15 Turing Machines, Pt. 1

jflap demo Regular expressions Pumping lemma Turing Machines Sections 12.4 and 12.5 in the text

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

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

Part I: Definitions and Properties

1 Showing Recognizability

Announcements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.

Lecture 1: Introduction

Non-emptiness Testing for TMs

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

Automata Theory CS S-12 Turing Machine Modifications

Chapter 8. Turing Machine (TMs)

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

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

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

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

Reducability. Sipser, pages

Introduction to Turing Machines

Lecture 25: Cook s Theorem (1997) Steven Skiena. skiena

More About Turing Machines. Programming Tricks Restrictions Extensions Closure Properties

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

Turing s Thesis. Fall Costas Busch - RPI!1

The Power of One-State Turing Machines

CSE 105 THEORY OF COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

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

Theory of Computation

Homework Assignment 6 Answers

CS151 Complexity Theory. Lecture 1 April 3, 2017

Turing Machine Variants. Sipser pages

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

Intro to Theory of Computation

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

Chapter 7 Turing Machines

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

CSCI3390-Assignment 2 Solutions

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

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

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

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

CS154, Lecture 10: Rice s Theorem, Oracle Machines

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

Computability Theory

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

Turing Machines Part II

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.

Undecidable Problems and Reducibility

Variations of the Turing Machine

DM17. Beregnelighed. Jacob Aae Mikkelsen

CSE 105 THEORY OF COMPUTATION

Designing 1-tape Deterministic Turing Machines

Review of Complexity Theory

Theory of Computation (IX) Yijia Chen Fudan University

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

Computation Theory Finite Automata

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

V Honors Theory of Computation

TURING MAHINES

CSCE 551 Final Exam, Spring 2004 Answer Key

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Lecture 1: Course Overview and Turing machine complexity

CpSc 421 Homework 9 Solution

Exam Computability and Complexity

CS5371 Theory of Computation. Lecture 15: Computability VI (Post s Problem, Reducibility)

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

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

Turing Machines. Chapter 17

5 3 Watson-Crick Automata with Several Runs

Deterministic Finite Automata. Non deterministic finite automata. Non-Deterministic Finite Automata (NFA) Non-Deterministic Finite Automata (NFA)

Pumping Lemma for CFLs

Lecture Notes: The Halting Problem; Reductions

Further discussion of Turing machines

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0

Fundamentals of Computer Science

MTAT Complexity Theory September 15th, Lecture 3

4.2 The Halting Problem

CS 21 Decidability and Tractability Winter Solution Set 3

Transcription:

Eric Rock CS 525 (Winter 2015) Presentation 1 (Week 4) Equivalence of Single-Tape and Multi-Tape Turing Machines 1/30/2015 1

Turing Machine (Definition 3.3) Formal Definition: (Q, Σ, Γ, δ, q 0, q accept, q reject ) Q = Set of states Σ = input alphabet (minus the blank symbol) Γ = tape alphabet (subset of Σ, includes blank) δ = transition function (Q x Γ -> Q x Γ x {L, R}) q 0 = start state (member of Q) q accept = accepting state (member of Q) q reject = rejecting state (member of Q) 1/30/2015 Eric Rock 2

Turing Machine Informal Definition: Model of computation making use of infinite, single dimensional, readable, writable tape for memory Contains a tape head resting on a single element of the tape at a time (tape head starts at first index) Tape head can move left / right (but not further left than the beginning of the input string) Any single action consists of reading an input symbol, writing an output symbol, and changing to a new state in addition to moving the tape head one position to the left or right Simple, versatile model of computation Many variants of the machine (multi-tape, multi-move, etc) are equivalent (recognize the same class of languages) 1/30/2015 Eric Rock 3

Multi-Tape Turing Machine Formal Definition: (Q, Σ, Γ, δ, q 0, q accept, q reject ) Q = Set of states Σ = input alphabet (minus the blank symbol) Γ = tape alphabet (subset of Σ, includes blank) δ = transition function (Q x Γ k -> Q x Γ k x {L, R, S} k ) q 0 = start state (member of Q) q accept = accepting state (member of Q) q reject = rejecting state (member of Q) 1/30/2015 Eric Rock 4

Multi-Tape Turing Machine Informal Definition: Variant of the turing machine consisting of multiple tapes and multiple read/write heads Each tape has own read/write head, position index Each tape head moves independently of other heads Any single action for a MTTTM containing k tapes consists of reading up to k input symbols, writing the same number of output symbols, and changing to a new state in addition to moving the same number of tape heads one position to the left or right, or remaining in the same position 1/30/2015 Eric Rock 5

Theorem 3.13 Every multi-tape Turing machine has an equivalent single-tape Turing machine We offer a proof by construction broken into a few smaller pieces 1/30/2015 Eric Rock 6

Proof of Theorem 3.13 - Methodology We seek to prove that we may construct a singletape Turing machine from a description of any multi-tape Turing machine Assume we are given a description of a k-tape Turing machine : (Q, Σ, Γ, δ, q 0, q accept, q reject ) Idea is to simulate k tapes and k read-write heads on a single tape and single head Perform reads in one stage, writes/shifts in another 1/30/2015 Eric Rock 7

Proof of Theorem 3.13 Tape Format A single-tape Turing machine stores its input identically to the k-tape Turing machine the first n positions of its first/only tape Any Turing machine tape is infinitely long, and as such a single tape may contain/simulate an infinite number of tapes We store each tape sequentially, separated by markers writes/reads beyond any tape causes a shift v ^ 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 $ 1/30/2015 Eric Rock 8

Motivation: Tape Markers We may supplement our tape alphabet to include markers These markers consist of dotted symbols the original symbol with a dot on top of it Addition of markers no more than doubles the current size of the tape alphabet Placing a mark consists of replacing the original symbol with the marked version Removing a mark consists of replacing the marked symbol with the orignal 1/30/2015 Eric Rock 9

Motivation: Multiple Tape Storage Since each tape is infinitely long, and all tapes are equally infinitely long, any single tape may represent any finite representation of another tape Tapes are separated by a special marker (text uses #) Read head of each tape is indicated by a marked symbol Each tape is stored in a finite amount of space Bounded by the position of the next end marker Any unexpected read of an end marker results in a shift of all subsequent data rightward All subsequent tapes from the first begin empty (no adjacent # symbols) The first tape begins with a # (first step is to shift all elements rightward to accommodate) 1/30/2015 Eric Rock 10

Motivation: Shifting All Elements Rightward In order to support multi-tape simulation, tape shifting is a required element of our solution Methodology is as follows: Replace # with _ (empty symbol), move right Replace current symbol with marked #, move right For each symbol read, replace it with the previously read symbol (controlled by states, one state per element of our tape alphabet) and move right When End of Tape is written (special symbol, inserted as first step) move left until marked # encountered Replace marked # with # and continue as before 1/30/2015 Eric Rock 11

Theorem 3.13 - Construction Given k-tape Turing machine M: (Q, Σ, Γ, δ, q 0, q accept, q reject ) Mark start and end symbols of tape with distinct symbols (shifting elements right when necessary) Create k-1 simulated tapes at the end of input (each tape begins with a single _ symbol) Stage 1: Transition Determination Start at tape starting marker Read through each tape, determine symbol under each head Combination of symbols read determines action (refer to δ) Stage 2: Action Start at tape starting marker Read/update each read/write head symbol and position Shift elements rightward when necessary (read end of tape) Return to Stage 1 1/30/2015 Eric Rock 12

Theorem 3.13 Every multi-tape Turing machine has an equivalent single-tape Turing machine Proof by construction as in previous slide 1/30/2015 Eric Rock 13

Corollary 3.15 A language is Turing-recognizable iff some multitape Turing machine recognizes it For k=1, a single-tape Turing machine is a valid k-tape Turing machine For k=n, construct a single-tape Turing machine as in Theorem 3.13 for k tapes Single-Tape TM Multi-Tape TM 1/30/2015 Eric Rock 14

Questions 1/30/2015 Eric Rock 15