TuringSlashPython - Undergraduate Final Year Project
1. TuringSlashPython A Turing Machine simulator for academic uses Alexandros James Psarras Final Year Project The University of Leeds May 2010
2.
3. Deterministic TM (DTM) A deterministic Turing Machine (DTM) is described by the 7-tuple M = (Q, S, G, d , q0, b, F)[2] Q: set of states S: language G: tape language d: transition function, q0 0 -> q0 1 R q0: initial state b: blank symbol F: halting states
10. Task 1 – Palindrome checker A Turing Machine that accepts a string that is in the format: { wwR | w { 0, 1 }* }
11. Task 2 – Binary addition with 2 tapes A Turing Machine that does binary additions with 2 tapes
12. Task 3 – High-level commands TuringSlashPython introduces a set of high-level commands that make it easier for a user to create a complex Turing Machine. copy(q0, q1, #, %) | _ | # | 1 | 0 | 0 | 1 | 1 | # | _ | % | % | _ |
16. References [1] Turing, Alan M. (1936) “On Computable Numbers, with an Application to the Entscheidungsproblem”. Proceedings of the London Mathematical Society . 2 42, 230-265, 1937. [2] Hopcroft, John E.; Rajeev Motwani and Ullman, Jeffrey D., 2000, Introduction to Automata Theory, Languages, and Computation (2nd ed), Addison-Wesley.