Turing Machine

MT is a program written in Java that implements the Turing Machine which was designed by Alan Turing in 1936, who is considered to be the father of theoretical computer science.

Our implementation of the Turing Machine uses 1 ribbon which contains the string to be recognized. The first step is import an XML file which contains states and symbols of the alphabet that the specific machine can accept. It then proceeds to show the process step by step so that we can see whether or not a string is recognized by the machine. The program also allows the input of many strings that can be run in bulk to test whether they are accepted or not.

There are 2 important parts to working with the Turning Machine, the alphabet and states. The machine always starts in the state q0, and the user must select a list of possible final states for the machine to stop. When run, the machine can recognize a symbol of the alphabet that can be accepted while in its current state. Once recognized it can then move to the next linked state. For the machine to completely recognize the string it must pass through all the states and reach one of the final states indicated by the user, if not the string is naturally unrecognized by the machine.

The program was written in Java with an interface in JavaFX. Due to its use of the latest advances in Java it requires Java 8 to be able to run correctly.

MT was written by Carlos Faúndez and I, as our project for the semester at the University of Bío Bío in our Fundamentals of Computer Science course.

The MT binaries and source code can be found on its page and on github:

https://cromer.cl/mt

https://github.com/cromerc/mt

Leave a Reply