CSCI 2670 Introduction to Theory of Computing

Slides:



Advertisements
Similar presentations
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.
Advertisements

Chapter 5 Pushdown Automata
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.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
More Turing Machines Sipser 3.2 (pages ).
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
Lecture 5 Turing Machines
Computation Theory Introduction to Turing Machine.
CS 310 – Fall 2006 Pacific University CS310 Variants of Turing Machines Section 3.2 November 8, 2006.
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.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
REGULAR LANGUAGES.
CSCI 2670 Introduction to Theory of Computing August 26, 2004.
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,
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.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Turing Machines.
CSCI 2670 Introduction to Theory of Computing October 7, 2004.
CSCI 3130: Formal languages and automata theory Tutorial 7 Chin.
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
The Church-Turing Thesis
CSCI 2670 Introduction to Theory of Computing September 29, 2005.
CSCI 2670 Introduction to Theory of Computing November 15, 2005.
Turing’s Thesis.
Turing’s Thesis Costas Busch - LSU.
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Busch Complexity Lectures: Turing Machines
CSCI 2670 Introduction to Theory of Computing
Turing Machines.
CS21 Decidability and Tractability
Variants of Turing machines
Pumping Lemma Revisited
Chapter 7 PUSHDOWN AUTOMATA.
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
COSC 3340: Introduction to Theory of Computation
OTHER MODELS OF TURING MACHINES
Turing’s Thesis Costas Busch - RPI.
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
COSC 3340: Introduction to Theory of Computation
Decidability and Enumerability
فصل سوم The Church-Turing Thesis
Intro to Theory of Computation
CSCI 2670 Introduction to Theory of Computing
The Off-Line Machine Input File read-only (once) Input string
CS21 Decidability and Tractability
CSCI 2670 Introduction to Theory of Computing
Variations of the Turing Machine
Decidability and Tractability
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
CSE 105 theory of computation
Chapter 1 Regular Language
CSCI 2670 Introduction to Theory of Computing
Variants of Turing machines
CSCI 2670 Introduction to Theory of Computing
Theory of Computation Lecture 23: Turing Machines III
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

CSCI 2670 Introduction to Theory of Computing October 12, 2004 October 12, 2004

Agenda Last week This week Turing machines Sections 3.2 & 3.3 Variants of Turing machines and the definition of algorithm October 12, 2004

Announcements Homework due next Tuesday Tutorial sessions are back 3.3, 3.8 a (low-level description), 3.9, 3.12, 3.13 Tutorial sessions are back Office hours return to normal Tuesday 3:00 – 4:00 Wednesday 3:00 – 4:00 October 12, 2004

Group project 1 Design a Turing machine to accept any string in {a,b}* after making a copy of it on the tape The tape will start with w After TM processes the string, the tape should read ww October 12, 2004

TM design Read first symbol Move left to first x or y If a, replace with x, move to end and write x If b, replace with y, move to end and write y Move left to first x or y Move left to next x or y If x, replace with a and move right If y, replace with b and move right October 12, 2004

TM design (cont.) Read symbol at tape head If x, replace with a and accept If y, replace with b and accept If neither, loop to beginning October 12, 2004

States Start state q1 Move right Move left to first x or y Write a at end, write b at end, write x at end, write y at end Move left to first x or y Move left to second x or y & replace with a or b Replace a or b with x or y October 12, 2004

Copy machine a→ x,R b→ y,R ~ → L qaccept a → R b → R a → L b → L x → L y → L x → a,R y → b,R a,b,x,y → R ~ → a,R ~ → b,R qreject October 12, 2004

Variants of Turing machines Robustness of model Varying the model does not change the power Example, making finite automata nondeterministic Simple variant of TM model Add “stay put” direction Other variants More tapes Nondeterministic October 12, 2004

Multitape Turing machines Same as standard Turing machine, but have several tapes TM definition changes only in definition of δ δ : Q × Гk → Q × Гk × {L,R}k October 12, 2004

Equivalence of machines Theorem: Every multitape Turing machine has an equivalent single tape Turing machine Proof method: construction October 12, 2004

Equivalent machines M 0 1 ~ ~ ~ ~ ~ ~ a a a ~ ~ ~ ~ ~ a b ~ ~ ~ ~ ~ ~ 0 1 ~ ~ ~ ~ ~ ~ a a a ~ ~ ~ ~ ~ a b ~ ~ ~ ~ ~ ~ # 0 1 # a a a # a b # ~ ~ S October 12, 2004

Simulating k-tape behavior Single tape start string is #w#~#...#~# Each move proceeds as follows: Start at leftmost slot Scan right to (k+1)st # to find symbol at each virtual tape head Make second pass making updates indicated by k-tape transition function When a virtual head moves onto a #, shift string to right October 12, 2004

Corollary Corollary: A language is Turing-recognizable if and only if some multitape Turing machine recognizes it. October 12, 2004

Example Using 2-tape Turing machine, write a copy machine Copy tape 1 to tape 2 Move tape 1 to beginning Accept October 12, 2004

Copy machine qreject {a,~}→ {a,a},{R,R} {b,~}→ {b,b},{R,R} {a,~}→ {x,a},{R,R} {b,~}→ {y,b},{R,R} {~,~} → {L,L} qaccept ~,~ → {L,S} {x,~} → {a,a},{R,R} {y,~} → {b,b},{R,R} {~, ,~}→ {R,R} qreject {a,~}→ {a,a},{R,R} {b,~}→ {b,b},{R,R} {a,~}→ {L,S} {b,~}→ {L,S} October 12, 2004

Nondeterministic Turing machines Same as standard Turing machines, but may have one of several choices at any point δ : Q × Г → P(Q × Г × {L,R}) October 12, 2004

Equivalence of machines Theorem: Every nondeterministic Turing machine has an equivalent deterministic Turing machine Proof method: construction Proof idea: Use a 3-tape Turing machine to deterministically simulate the nondeterministic TM. First tape keeps copy of input, second tape is computation tape, third tape keeps track of choices. October 12, 2004