MTMS main
Modern Turing Machine Simulator
Loading...
Searching...
No Matches
MTMS - Modern Turing Machine Simulator

C++ CMake License

CLI GUI Build Docs

Platform Issues Stars

A modern educational and experimental simulator for deterministic multi-tape Turing machines written in C++23.

It has three layers:

  • Core: the actual machine model and simulator
  • CLI: a terminal app for running a machine from a TOML config file
  • GUI: a Qt front end that will allow to create, modify, save and open machines

Table of Contents

Features

  • Deterministic multi-tape Turing machines
  • Configurable through TOML
  • Infinite tapes
  • Interactive CLI
  • Batch execution
  • Project serialization
  • Modern C++23 implementation
  • Cross-platform

Machine Specification

MTMS implements deterministic multi-tape Turing machines following the formal definition

$$ M = (Q,\Sigma,\Gamma,\delta,q_0,\sqcup,F) $$

where

  • $Q$ is the finite set of states.
  • $\Sigma$ is the input alphabet.
  • $\Gamma$ is the tape alphabet.
  • $q_0 \in Q$ is the initial state.
  • $\sqcup \in \Gamma$ is the blank symbol.
  • $F \subseteq Q$ is the set of accepting states.

The transition function is

$$ \delta : Q \times \Gamma^k \rightarrow Q \times \Gamma^k \times L,R,S