Chapter 17 Theory of Computation.

Slides:



Advertisements
Similar presentations
Chapter 11: Models of Computation
Advertisements

Copyright © 2012 Pearson Education, Inc. Chapter 12: Theory of Computation Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Turing Machine Read/Write – Move Left/Right BB Read/Write Head State Qi.
CS 461 – Oct. 21 Begin chapter 3 We need a better (more encompassing) model of computation. Ex. { 1 n 2 n 3 n } couldn’t be accepted by PDA. –How could.
October 13, 2009Theory of Computation Lecture 11: A Universal Program III 1 Coding Programs by Numbers Gödel numbers are usually very large, even for small.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Turing Machines.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result –Corollaries.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
More Theory of Computing
CSE202: Introduction to Formal Languages and Automata Theory Chapter 9 The Turing Machine These class notes are based on material from our textbook, An.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
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.
1 Theory: Models of Computation  Readings:  Chapter 11 & Chapter 3.6 of [SG]  Content:  What is a Model  Model of Computation  Model of a Computing.
Theory of Computation, NTUEE Theory of Computation Lecture 04 Undecidability Part of the materials are from Courtesy of Prof. Peter J. Downey Department.
Basics of Computation Theory. What is "abstraction"? Abstraction unifies multiple and different objects into one concept  describes the common properties.
©Brooks/Cole, 2003 Chapter 17 Theory of Computation.
©Brooks/Cole, 2003 Chapter 17 Theory of Computation.
Chapter 11 Theory of Computation. © 2005 Pearson Addison-Wesley. All rights reserved 11-2 Chapter 11: Theory of Computation 11.1 Functions and Their Computation.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
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.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley. All rights reserved.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Introduction to Turing Machines
Chapter 12 Theory of Computation Introduction to CS 1 st Semester, 2014 Sanghyun Park.
Theory of Computation Foundations of Computer Science  Cengage Learning.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
Undecidability and The Halting Problem
Chapter 9 Turing Machines What would happen if we change the stack in Pushdown Automata into some other storage device? Truing Machines, which maintains.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Decidability.
Fall 2006Costas Busch - RPI1 RE languages and Enumerators.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
TM Macro Language MA/CSSE 474 Theory of Computation.
Chapter 12: Theory of Computation
Chapter 12: Theory of Computation
Busch Complexity Lectures: Turing Machines
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Reductions.
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley.
Reductions Costas Busch - LSU.
Ch. 11 Theory of Computation
Modeling Computation:
Chapter 9 TURING MACHINES.
Chapter 12: Theory of Computation
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Undecidable Problems (unsolvable problems)
Turing acceptable languages and Enumerators
Chapter 3: The CHURCH-Turing thesis
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
The Off-Line Machine Input File read-only (once) Input string
Turing acceptable languages and Enumerators
Presentation transcript:

Chapter 17 Theory of Computation

OBJECTIVES After reading this chapter, the reader should be able to: Understand how a simple language with limited statements can solve any problem. Understand how the Turing machine can solve any problem that can be solved by a computer. Understand the Godel number and its importance in the theory of computation. Understand the halting problem as an example of a large set of problems that cannot be solved by a computer.

17.1 SIMPLE LANGUAGE

Statements in simple language Figure 17-1 Statements in simple language

17.2 TURING MACHINE

Figure 17-2 Turing machine

Figure 17-3 Tape

Figure 17-4 Transition state

Write ---------------- Table 17.1 Transitional table Current State ----- A B C D Read ------------- 1 or blank # or & 1 not 1 not a blank blank Write ---------------- # & 1 same as read blank Move --------   New State ----- B C A D

Transition diagram for incr x Figure 17-5 Transition diagram for incr x

Table 17.2 Transitional table for incr x statement Current State --------- StartIncr Forward Added Backward Read ------------- # 1 & any not # Write ---------------- # 1 1 & same as read Move --------   New State ---------- Forward Added Backward StopIncr

Steps in incr x statement Figure 17-6 Steps in incr x statement

Transition diagram for decr x Figure 17-7 Transition diagram for decr x

Table 17.3 Transitional table for decr x statement Current State --------- StartDecr Forward Delete Backward Read ------------- # 1 & not # Write ---------------- # 1 blank & same as read Move --------   New State ---------- Forward Delete Backward StopDecr

Figure 17-8 Transition diagram for the loop statement

Current State --------- Table 17.4 Transitional table for the loop statement Current State --------- StartLoop Check Forward … EndProcess Backward Read ------------- # not 1 1 not & & … any not # Write ------------- # same as read 1 & … Move --------   none … New State --------- Check StopLoop Forward StartProcess … Backward

17.2 GODEL NUMBERS

Table 17.5 Code for symbols used in the Simple Language 2 3 4 5 6 7 8 Hex Code ------------- 1 2 3 4 5 6 7 8 Hex Code ------------- 1 2 3 4 5 6 7 8 Symbol --------- 9 incr decr while { } x Hex Code ------------- 9 A B C D E F

17.3 HALTING PROBLEM

A Classical Programming Question: Can you write a program that tests whether or not any program, represented by its Godel number, will terminate?

Figure 17-9 Step 1 in proof

Figure 17-10 Step 2 in proof

Figure 17-11 Step 3 in proof

17.5 SOLVABLE AND UNSOLVABLE PROBLEMS

Figure 17-12 Taxonomy of problems