1 / 9

Turing Machines from “On Computable Numbers”

Jerry Grochowski – CS 4800. Turing Machines from “On Computable Numbers”. Specification. Implement the Turing Machines (TM) from Alan Turing's “On Computable Numbers with an Application to the Entscheidungsproblem” Run Turing's first two simple programs

Download Presentation

Turing Machines from “On Computable Numbers”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jerry Grochowski – CS 4800 Turing Machines from “On Computable Numbers”

  2. Specification • Implement the Turing Machines (TM) from Alan Turing's “On Computable Numbers with an Application to the Entscheidungsproblem” • Run Turing's first two simple programs • Create Turing's Universal Turing Machine (UTM) • Implement as a Java Console Application

  3. Goals • See what a bare bones computing machine does • Modern computers are complex but Turing Machines (TM) are simple yet powerful • Learn from the Source • Turing was a genius – What's actually in his paper “On Computable Numbers”? • See how Turing Machines relate to class • Understand the potential and limitations of TMs

  4. What will it do? • Program 1: 010101010101010.... • Program 2: 0010110111011110.... • Universal Turing Machine (UTM): Repeat Program 1 and 2, but from tape • Input: • Program 1 and 2 input as text files of quintuples • UTM input as text files of function tables (see later slides) • Output: steps of the tape to console and file

  5. Design Flow • Normal Turing Machine • A quintuple: • ;,q1,S0,S1,R,q2, = In state q1, if blank (Symbol 0), print 0 (Symbol 1), move Right, and go to state q2

  6. Univeral Turing Machine (Design Flow) Parser or Table?

  7. Classes

  8. Problems • The UTM would require a lot of quintuples • Could parse tables to produce quintuples • Could use tables as input, like functions (which they are) • Bugs in Turing's tables • Discussed in Copeland's “The Essential Turing”

  9. Conclusion • The initial Turing Machines are doable • The Universal Turing Machine is harder but more interesting • “On Computable Numbers” is worth reading

More Related