Create and run Turing machines

Some tools and examples for creating and simulating Turing machines and macro-Turing machines.

You are now following this Submission

The class "TuringMachine" provides some tools for defining, running and analyzing simple Turing machines.
The class "MacroMachine" provides methods to define a macro-machine and simulate it following: Alex Holkner: Acceleration techniques for busy beaver candidates. In: Proceedings of the Second Australian Undergraduate Students' Computing Conference, 2004. S 75-80 or https://www.researchgate.net/publication/254389437_ACCELERATION_TECHNIQUES_FOR_BUSY_BEAVER_CANDIDATES
Using a macro machine can significantly improve the simulation performance compared to working with a basic Turing machine (however no speedup is guaranteed) .

Run TuringExample() for an example how the methods in both classes work.
Set a debug stop in line 6 of the function onestep to analyze the simulation step by step and see how the states, the tape and the position of the tape head change.

Cite As

Thomas (2026). Create and run Turing machines (https://www.mathworks.com/matlabcentral/fileexchange/80446-create-and-run-turing-machines), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.1.0

Improved plot function for Turing machines. Some minor bugfixes.

1.0.0