Equivalence of NTMs and TMs

Similar documents
Variants of Turing Machines

pp Variants of Turing Machines (Sec. 3.2)

Theory of Languages and Automata

CS21 Decidability and Tractability

CSE 105 THEORY OF COMPUTATION

Outline. Language Hierarchy

CSE 105 THEORY OF COMPUTATION

Turing Machines, continued

CSE 105 THEORY OF COMPUTATION

CISC 4090 Theory of Computation

Turing Machines. A transducer is a finite state machine (FST) whose output is a string and not just accept or reject.

ECS 120 Lesson 16 Turing Machines, Pt. 2

Theory of Computation p.1/?? Theory of Computation p.2/?? A Turing machine can do everything that any computing

Computer Sciences Department

Theory of Computation, Homework 3 Sample Solution

Introduction to Computers & Programming

Decidable Problems. We examine the problems for which there is an algorithm.

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

lec3:nondeterministic finite state automata

TAFL 1 (ECS-403) Unit- V. 5.1 Turing Machine. 5.2 TM as computer of Integer Function

Turing Machine Languages

COMP 382: Reasoning about algorithms

Theory of Computations Spring 2016 Practice Final Exam Solutions

1. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which:

CS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG)

I have read and understand all of the instructions below, and I will obey the Academic Honor Code.

Midterm Exam II CIS 341: Foundations of Computer Science II Spring 2006, day section Prof. Marvin K. Nakayama

1 Parsing (25 pts, 5 each)

A Characterization of the Chomsky Hierarchy by String Turing Machines

Log-Space. A log-space Turing Machine is comprised of two tapes: the input tape of size n which is cannot be written on, and the work tape of size.

Theory of Programming Languages COMP360

Actually talking about Turing machines this time

The Turing Machine. Unsolvable Problems. Undecidability. The Church-Turing Thesis (1936) Decision Problem. Decision Problems

Theory of Computations Spring 2016 Practice Final

Material from Recitation 1

6.045J/18.400J: Automata, Computability and Complexity. Practice Quiz 2

Distributed Algorithms 6.046J, Spring, Nancy Lynch

CS 125 Section #10 Midterm 2 Review 11/5/14

Lecture 18: Turing Machines

Chapter 14: Pushdown Automata

Formal languages and computation models

1. (10 points) Draw the state diagram of the DFA that recognizes the language over Σ = {0, 1}

CS 44 Exam #2 February 14, 2001

9.5 Equivalence Relations

Name: CS 341 Practice Final Exam. 1 a 20 b 20 c 20 d 20 e 20 f 20 g Total 207

The Big Picture. Chapter 3

CS2 Language Processing note 3

Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D.

Lecture 2 Finite Automata

Computability and Complexity

Finite automata. We have looked at using Lex to build a scanner on the basis of regular expressions.

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *

Universal Turing Machine Chomsky Hierarchy Decidability Reducibility Uncomputable Functions Rice s Theorem Decidability Continued

Finite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur

Th(N, +) is decidable

Formal Definition of Computation. Formal Definition of Computation p.1/28

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

Theory of Computer Science

CSC-461 Exam #2 April 16, 2014

Languages and Models of Computation

CS256 Applied Theory of Computation

Pushdown Automata. A PDA is an FA together with a stack.

Assignment 4 CSE 517: Natural Language Processing

Closure Properties of CFLs; Introducing TMs. CS154 Chris Pollett Apr 9, 2007.

More on Polynomial Time and Space

Communication Complexity and Parallel Computing

Lexical Analysis. Implementation: Finite Automata

(a) R=01[((10)*+111)*+0]*1 (b) ((01+10)*00)*. [8+8] 4. (a) Find the left most and right most derivations for the word abba in the grammar

Rice s Theorem and Enumeration

Specifying Syntax COMP360

Last lecture CMSC330. This lecture. Finite Automata: States. Finite Automata. Implementing Regular Expressions. Languages. Regular expressions

Formal Grammars and Abstract Machines. Sahar Al Seesi

CSCI 340: Computational Models. Turing Machines. Department of Computer Science

(Refer Slide Time: 0:19)

From Theorem 8.5, page 223, we have that the intersection of a context-free language with a regular language is context-free. Therefore, the language

Implementation of Lexical Analysis

CT32 COMPUTER NETWORKS DEC 2015

Implementation of Hopcroft's Algorithm

R10 SET a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA?

W[1]-hardness. Dániel Marx. Recent Advances in Parameterized Complexity Tel Aviv, Israel, December 3, 2017

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

p x i 1 i n x, y, z = 2 x 3 y 5 z

Storage capacity of labeled graphs

Final Course Review. Reading: Chapters 1-9

Computation Engineering Applied Automata Theory and Logic. Ganesh Gopalakrishnan University of Utah. ^J Springer

Implementation of Lexical Analysis

Implementation of Lexical Analysis

Lecture 3: Lexical Analysis

Learn Smart and Grow with world

Formal Syntax and Semantics of Programming Languages

Formal Syntax and Semantics of Programming Languages

Formal Languages and Automata

CS402 - Theory of Automata Glossary By

CSE 105 THEORY OF COMPUTATION

TOPIC PAGE NO. UNIT-I FINITE AUTOMATA

The input is a sequence of throws showing the number of pins knocked down on that throw.

We can create PDAs with multiple stacks. At each step we look at the current state, the current input symbol, and the top of each stack.

Automata & languages. A primer on the Theory of Computation. The imitation game (2014) Benedict Cumberbatch Alan Turing ( ) Laurent Vanbever

Safra's Büchi determinization algorithm

Theory of Computation Dr. Weiss Extra Practice Exam Solutions

Transcription:

Equivalence of NTMs and TMs

What is a Turing Machine? Similar to a finite automaton, but with unlimited and unrestricted memory. It uses an infinitely long tape as its memory which can be read from and written to as necessary. It accomplishes this through the use of a tape head, which moves around on the tape and reads/writes symbols. The tape head can move back and forth on the tape, allowing TMs to recognize classes of languages that are not recognizable by other computational models.

Formal definition for Turing Machine From the textbook:

Idea behind Nondeterministic Turing Machines Nondeterministic Turing Machines are similar to their deterministic counterparts in operation. NTMs still use a tape and tape head to read and write information as required. NTMs, like other nondeterministic computational models, guess as to which path to take next. The NTM may proceed down one of many available paths, and if one of those paths leads to the accepting state, the machine accepts its input.

Recall: Formal definition of NTM The only difference between TMs and NTMs, regarding their formal definition is the transition function, which for NTMs is:

Formal definition of NTM (continued..) Because an NTM has multiple computational options at each stage, its range is the power set shown above. Its range at any given state could be any subset of total moves that the TM can make.

Proof setup We want to prove Theorem 3.16 from the textbook, namely: We will do this by using a deterministic Turing Machine to simulate all possible results of an NTM. If the DTM ever finds an accept state on any branch of computation, then the equivalent NTM would accept the given input.

Proof Setup (Continued..) Imagine the computation of an NTM as a tree. Each tree branch is one way that the NTM could attempt to parse the input. The TM searches this tree, using Breadth First Search so as to avoid getting stuck in any infinite branches of computation. By using BFS, we know that the TM will search every path until an accepting state is found, or it will continue forever if there is no accepting state.

Proof We use a Multitape Turing Machine D with 3 tapes. Tape 1 always has a copy of the input string, and cannot be changed. Tape 2 keeps track of the NTMs tape on some branch of nondeterministic computation. Tape 3 keeps track of D s position in the NTM s computation tree.

Proof Tape 3 is used as a record of where the TM has been. It is represented by a string contained numbers up to b, where b is the largest number of children allowed by the transition function of the NTM. If the tape contained 123, that means it visited the root, the root s 2 nd child, and that child s 3 rd child. Not all of the paths will be valid, in which case we will skip over that path of computation and move to the next one.

Proof Step 1: Make sure tape 1 contains the input string, and tapes 2 and 3 are both empty. Step 2: Copy tape 1 to tape 2. Step 3: Simulate one branch of the NTM s computation using tape 2. While doing this, repeatedly consult tape 3 to determine which choices to make using the transition function. If the DTM rejects or the choice is invalid, go to step 4.

Proof Step 4: Replace the string on tape 3 with the next string in alphabetical order. We continue simulating the NTM by going back to step 2 and continuing computation. If at any point during the process, the TM hits an accepting state, it will accept the string and prove that the NTM is equivalent to that TM.

Corollary 3.18 We know from the concepts of determinism and nondeterminism that a DTM is automatically an NTM, so we have one direction proved. The other direction follows from Theorem 3.16, which proves that NTMs are equivalent to DTMs, and so the other direction is proved as well.

Questions? Thank you all for listening.