send link to app

Turing Generator


4.4 ( 7504 ratings )
Утилиты Образование
Разработчик michael henderson
1.99 USD

Turing Generator is a Turning Machine Simulator with a unique Program Generator dimension.

Turning Machines are educational tools that are often used alongside Computer Studies teaching. But also, because they strip computation down to the basic elements, they reveal the fundamental limitations on computation, such as the classic "Halting Problem". These limitations were discovered by Alan Turing, Church and others in the early 20th Century. Hence, this tool is often used in Logic and Philosophy teaching.

In addition to the Turing Machine Simulator, the following features have been added:

* 7 Built-in "Model Programs"
* Allows the user to build and test their own Turing Machines
* Programs can be executed one step at at a time, or to the next state, or to the next changed state, or to the end.
* Programs can be executed in real time, with the speed of execution controlled by a slide bar. It can be very entertaining/hypnotic watching a program being executed at full tilt!
* Program Statistics. Programs executed in realtime can be analysed in real time. You can observe the tape and program statistics update being updated you go.
* Programs can be verified or executed immediately to the end
* Execution of the Turning Program generates tones with the pitch relating to the state being processed. This creates a fun dimension - ever wanted to know what the 5 state "Busy Beaver" hard at work sounds like? Each machine has its own unique sound!

In additional to the standard execution functions, the real power of the Turing Machine is the generation of the 1, 2 and 3 state sets. The generator can generate every possible program combination for those states and execute them to see how they finish (within the bounds of the halting problem - which you can configure). Because there are several million 3 state programs, the generator limits the generation using filters that you can configure, such as removing some obvious program symmetries.

By generating state sets, you can do some interesting things such as:
* Find a program champion, such as a busy beaver, or a set creator
* You can tell it what the start tape you want to start with, and what end tape you want to complete with, and then enquire which generated programs give that solution.
* The state sets are all handled with the "Program Stack". You can mix the stack with state sets, built in programs, or your own programs, if you like.

There is help available about the program itself, and for each operation available from the main menu.