24 Uses of Turing Machines



Similar documents
The Halting Problem is Undecidable

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Turing Machines: An Introduction

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

3515ICT Theory of Computation Turing Machines

Computability Theory

Theory of Computation Chapter 2: Turing Machines

Lecture 2: Universality

Notes on Complexity Theory Last updated: August, Lecture 1

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

Computational Models Lecture 8, Spring 2009

CAs and Turing Machines. The Basis for Universal Computation

Turing Machines, Part I

Automata and Computability. Solutions to Exercises

Introduction to Turing Machines

Reading 13 : Finite State Automata and Regular Expressions

How To Compare A Markov Algorithm To A Turing Machine

Introduction to Automata Theory. Reading: Chapter 1

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Chapter 7 Uncomputability

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Universal Turing Machine: A Model for all Computational Problems

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

1 Definition of a Turing machine

6.080/6.089 GITCS Feb 12, Lecture 3

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

NP-Completeness and Cook s Theorem

Automata and Formal Languages

Number Representation

Algebraic Computation Models. Algebraic Computation Models

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Finite Automata. Reading: Chapter 2

NUMBER SYSTEMS. William Stallings

Introduction to Theory of Computation

CS 301 Course Information

Enforcing Security Policies. Rahul Gera

How To Understand The Theory Of Computer Science

10.2 Series and Convergence

Chapter 4: Computer Codes

Regular Languages and Finite State Machines

Introduction to Finite Automata

The Model Checker SPIN

Deterministic Finite Automata

Finite Automata. Reading: Chapter 2

Lecture 1: Oracle Turing Machines

Model 2.4 Faculty member + student

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

Regular Expressions and Automata using Haskell

Implementation of DNA Pattern Recognition in Turing Machines

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

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

Informatique Fondamentale IMA S8

Computer Science Theory. From the course description:

Theoretical Computer Science (Bridging Course) Complexity

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

Chapter 1. Computation theory

1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal:

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Compiler Construction

THEORY of COMPUTATION

4.6 The Primitive Recursive Functions

Simulation-Based Security with Inexhaustible Interactive Turing Machines

Turing Machines, Busy Beavers, and Big Questions about Computing

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES

Computability Classes for Enforcement Mechanisms*

CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions

The P versus NP Solution

FINITE STATE AND TURING MACHINES

Regular Languages and Finite Automata

MATH10040 Chapter 2: Prime and relatively prime numbers

Models of Sequential Computation

Lecture 1 Introduction Properties of Probability Methods of Enumeration Asrat Temesgen Stockholm University

CHAPTER 7 GENERAL PROOF SYSTEMS

Outline 2. 1 Turing Machines. 2 Coding and Universality. 3 The Busy Beaver Problem. 4 Wolfram Prize. 5 Church-Turing Thesis.

Algorithms are the threads that tie together most of the subfields of computer science.

2.1 Complexity Classes

T Reactive Systems: Introduction and Finite State Automata

Notes on Complexity Theory Last updated: August, Lecture 1

Lecture 1. Basic Concepts of Set Theory, Functions and Relations

Complexity of Algorithms

26 Integers: Multiplication, Division, and Order

QNAT. A Graphical Queuing Network Analysis Tool for General Open and Closed Queuing Networks. Sanjay K. Bose

Introduction to NP-Completeness Written and copyright c by Jie Wang 1

On String Languages Generated by Spiking Neural P Systems

Arithmetic Coding: Introduction

Probabilities. Probability of a event. From Random Variables to Events. From Random Variables to Events. Probability Theory I

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

KS3 Computing Group 1 Programme of Study hours per week

Overview of E0222: Automata and Computability

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

CS5236 Advanced Automata Theory

Finite Automata and Formal Languages

Transcription:

Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss the uses of Turing Machine as an enumerator and a function computer We will also give an introduction to Universal Turing machines 242 Turing machine as an Enumerator Simply put, an Enumerator is a Turing machine with an output printer The Turing machine can use the printer as an output device to print strings The following diagram gives a schematic of an enumerator :- # a b write only once tape FSC work tape Figure : Schematic of an Enumerator The language enumerated by an enumerator E is the collection of strings that it eventually prints out E may generate the strings in any order, possibly with repetitions We must also note that there is no input to an enumerator Also, if the enumerating TM does not halt, it may print an infinite list of strings A formal definition of an enumerator follows 242 Definition An enumerator E is a 6-tuple where is the finite set of states;

Page 2 of 0 Uses of Turing Machines 2 3 4 5 6 is the print tape alphabet, not containing the blank symbol ; is the work tape alphabet, where is the initial state ; is the final state and ; is the transition function for the two tape device ; 2422 Example If then the enumerator will output the following strings :- '&(&(&(&! # % Theorem A language is Turing-recognizable if and only if some enumerator enumerates it Proof of (IF: To show that if an enumerator E enumerates a language L, there is a Turing Machine M which recognizes L Given an input string, we design * in the following way : Run E to enumerate the next string + of Compare it with 2 If,-+ accept, else goto * Proof of (ONLY IF: To show that if a Turing machine recognizes a language, there is an enumerator for '&(&(&(& Let 0/ be a list of all possible strings in 2 One can readily construct an enumerator 354 which generates such a sequence An enumerator 3 for * works as follows: Repeat the following for 679 ;: ;< >=&(&(&(&(& Run * for 6 steps on each input %/ '&(&(&(&(&(& 2 If any computation is accepted, print out the corresponding @? ; If * out accepts a particular string it eventually appears on the list generated by 3A4, after which it is printed 243 Turing Machine as a function computer Let us first take a look at what a partial function is - Name of the Scribe Dept of Computer Science & Engg IIT Kharagpur, India

Chapter 24: Uses of Turing Machines Page 3 of 0 / / + 243 Definition A function A B is called a partial function if A, there is at most one element B Note that it is possible that a certain element of A may not be mapped to any element in B An example of a partial function has been represented below A B A partial function Figure 2: An example of a partial function is said to be Turing computable if there exists a TM *, where halt state; such that &(&(&(&(& / '&(&(&(& '&(&(&(& where + / and / Below is an example with the addition function -+ 0 0 # q 0 0 0 h Figure 3: Addition function Hence, a function n is computed by a TM if is also computed by a TM where '&(&(&(&(&(&(& > > '&(&(&(&(&(& Name of the Scribe Dept of Computer Science & Engg IIT Kharagpur, India

Page 4 of 0 Uses of Turing Machines Here is the encoding of in We now move on to Universal Turing Machines 244 Universal Turing Machines A Universal Turing Machine is one which can accept the description of another Turing machine as input and simulate the operation of that Turing machine To construct a universal TM we need to devise an encoding scheme to serve all TM s Let us first discuss a few notations- Since we are going the encode the description of a TM, we need to standardize our notation of the state transition function Note that can be represented in more than one ways as shown below- i a b, M p ii a iii a,b M M,N q Figure 4: Different notations for We propose the following representations for the above - 2 3 (p,a = (q,b,m (p,a = (q,a,m (p,a = (q,a,m, (p,b = (q,b,n Let us consider the following language -,-+ The state transition diagram of a TM * which accepts can be represented as below - 0, R L 0 R q p f a 0 R f r Figure 5: State transition diagram for * We now give the formal description of * : * Name of the Scribe Dept of Computer Science & Engg IIT Kharagpur, India

Chapter 24: Uses of Turing Machines Page 5 of 0 We define an encoding alphabet and propose the following encoding scheme:, # ## #%# To distinguish between two symbols of the same field we use the encoding string and to distinguish between two different fields we use Hence the state transition functions are encoded as % Now the description of * can be encoded as : # #% %#% This is followed by the encoded strings of each of the state transition functions and finally A universal TM expects a description of any TM * followed by an input string which is the encoded form of an input to * operates on the entire input string in the same way as * operates on,ie, accepts (or rejects the input string only if * accepts (or rejects &(&(&(&(& Name of the Scribe Dept of Computer Science & Engg IIT Kharagpur, India