Multi-tape TM’s Often it’s useful to have several tapes when carrying out a computations. For example, consider a two tape I/O TM for adding numbers (we.

Slides:



Advertisements
Similar presentations
Turing Machines Part 1:. 2 Church-Turing Thesis Part 1 An effective procedure is defined as: a procedure which can be broken down into simple.
Advertisements

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.
Variants of Turing machines
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.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Chapter 9 Turing Machine (TMs).
1 The Cook-Levin Theorem Zeph Grunschlag. 2 Announcements Last HW due Thursday Please give feedback about course at oracle.seas.columbia.edu/wces oracle.seas.columbia.edu/wces.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI 230 Models of Computation - Turing Machines Dale Roberts, Lecturer.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability.
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 Extensions to Turing machines TMs are clumsy. Can we make them more efficient or more powerful? We will consider 6 possibilities: 1.Multiple tapes 2.Multiple.
Turing Machines Lecture 26 Naveen Z Quazilbash. Overview Introduction Turing Machine Notation Turing Machine Formal Notation Transition Function Instantaneous.
Fall 2013 CMU CS Computational Complexity Lecture 2 Diagonalization, 9/12/2013.
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
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
Turing Machines. The next level of Machine… PDAs improved on FSAs by adding memory. We make the memory more flexible to do more complicated tasks.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Cpt S 317: Spring 2009 Reading: Chapter 8
Turing’s Thesis.
Turing’s Thesis Costas Busch - LSU.
8. Introduction to Turing Machines
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
COSC 3340: Introduction to Theory of Computation
Turing Machines.
CS21 Decidability and Tractability
Pumping Lemma Revisited
Pushdown Automata.
(Universal Turing Machine)
CSE 105 theory of computation
CS154, Lecture 7: Turing Machines.
Turing’s Thesis Costas Busch - RPI.
Theory of Computation Lecture 22: Turing Machines III
Turing Machines 2nd 2017 Lecture 9.
CSE 105 theory of computation
Post Machine.
Turing Machines Acceptors; Enumerators
COSC 3340: Introduction to Theory of Computation
Hierarchy of languages
Turing Machines (TM) Deterministic Turing Machine (DTM)
Non-Deterministic Finite Automata
8. Introduction to Turing Machines
Non Deterministic Automata
Decidability Turing Machines Coded as Binary Strings
Decidability Turing Machines Coded as Binary Strings
Decidable Languages A language L is decidable if there is a Turing machine ML such that given any word w  0*, then: Input of ML: a  b  … w Output of.
CS21 Decidability and Tractability
Variations of the Turing Machine
Formal Languages, Automata and Models of Computation
Recall last lecture and Nondeterministic TMs
Turing Machines Complexity ©D.Moshkovitz.
Decidability and Tractability
P.V.G’s College of Engineering, Nashik
Theory of Computation Lecture 21: Turing Machines II
Variants of Turing Machines
CSE 105 theory of computation
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
Variants of Turing machines
Turing Machines Everything is an Integer
Theory of Computation Lecture 23: Turing Machines III
Interactive computability
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Multi-tape TM’s Often it’s useful to have several tapes when carrying out a computations. For example, consider a two tape I/O TM for adding numbers (we show only how it acts on a typical input)

Multi Tape TM Addition Example $ 1 Input string

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $ 1

Multi Tape TM Addition Example $

Multi Tape TM Addition Example 1

Multi Tape TM Addition Example 1

Multi Tape TM Addition Example 1

Multi Tape TM Addition Example 1

Multi Tape TM Addition Example 1 HALT! Output string

Multitape TM’s Formal Notation NOTE: Sipser’s multitape machines cannot pause on one of the tapes as above example. This isn’t a problem since pausing 1-tape machines can simulate pausing k-tape machines, and non-pausing 1-tape machines can simulate 1-tape pausing machines by adding dummy R-L moves for each pause. Formally, the d-function of a k-tape machine:

Multitape TM’s Conventions Input always put on the first tape If I/O machine, output also on first tape Can consider machines as “string-vector” generators. E.g., a 4 tape machine could be considered as outputting in (S*)4

Equivalence of k-tape vs. 1-tape The argument that k-tape TM’s are universal, is fairly convincing. After all, the computers we use daily split their memory into several locations: RAM, Hard-Disc, Floppy, CD-ROM. It is plausible that each memory unit could be simulated by a separate tape. The following theorem implies that the computer could still function fully (though probably with a loss of efficiency) if all the memory was merged onto a single tape:

Equivalence of k-tape vs. 1-tape THM: Every k-tape TM can be simulated by a 1-tape TM, and vice versa. Proof. It’s clear that every 1-tape TM can be simulated by a k-tape TM. Simply ignore tapes no. 2 through k. On the other hand, to show that any k-tape TM can be simulated by a 1-tape TM, we’ll show two parts: Any k-tape TM can be simulated by a 2k-track TM. Any k-track TM can be simulated by a 1-tape TM.

k-track TM’s A k-track machine contains a tape whose cells are broken into k vertical sub-cells. As opposed to k-tape machines, there is only one reading head1, but it may read all k tracks and base its actions on these values. EG. A 2-tape machine: vs. a 2-track machine: 1Equivalently, we may think of k-heads which are forced to move in lock-step, so can only see one column of the tapes at a time. $ 1 $ 1

k-track TM’s A k-track machine contains a tape whose cells are broken into k vertical sub-cells. As opposed to k-tape machines, there is only one reading head1, but it may read all k tracks and base its actions on these values. EG. A 2-tape machine: vs. a 2-track machine: 1Equivalently, we may think of k-heads which are forced to move in lock-step, so can only see one column of the tapes at a time. $ 1 $ 1

2k-tracks Simulating k-tapes We can simulate any k-tape TM by a k-track TM as follows: Each tape of the k-tape TM is represented by one track. Each track representing a tape, is underneath a track which consists of all blanks, except for a single X which tells us which cells of the k-tape TM are active: X $ 1 $ 1

2k-tracks Simulating k-tapes For each move of k-tape TM, the 2k-track TM sweeps to right and then to left. During right-sweep, 2k-track TM notes the current state of the k-tape machine as well as the symbols read by each head, keeping this information in its finite control. Head back when passed all X’s. During the left-sweep, every X encountered causes corresponding track active cell to change in accordance to the memorized configuration of the k-tape machine. EG:

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: 2nd head reads  $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: 1st head reads 1 passed all X’s! $ 1 X $ 1 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: 2nd phase, on 1st tape: 13,R $ 1 $ 1 3 X k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: 2nd phase, on 1st tape: 13,R $ 1 X $ 1 3 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 3 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: on 2nd tape: 2,L $ 1 X $ 1 3 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: on 2nd tape: 2,L $ 1 X $ 1 3 2 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: on 2nd tape: 2,L $ 1 X $ 1 3 2 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 3 2 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: $ 1 X $ 1 3 2 k-tape TM transition $ 1 3 2

2k-tracks Simulating k-tapes Corresponding simulation sequence: Notable: ready for next k-tape TM transition $ 1 X $ 1 3 2 k-tape TM transition $ 1 3 2

1 tape simulating k-tracks Finally, convert the 2k-track machine to a single tape machine. In a sense, we are already done, as there is only one head. Q: How can the information about a column of tracks be recorded by a single cell? 1 X

1 tape simulating k-tracks A: Just expand the tape alphabet G! In this case, the expanded tape alphabet would consist of 4-tuples, and the 4-tuple (,1,X,) would represent the column on the right. Thus a k-track TM is already a 1-tape TM if we look at it the right way. No further modifications are necessary. This complete the simulation of k-tape TM’s by 1-tape TM’s.  1 X