An open API service indexing awesome lists of open source software.

https://github.com/apozzi/turing-craft

Turing Craft is visual tool for creating Universal Turing machine (UTM) using graphs. It supports Web and Desktop. Design, simulate, and explore the behavior of Turing machines.
https://github.com/apozzi/turing-craft

graph-drawing graph-editor turing turing-machine turing-machine-simulator turing-machines

Last synced: 7 months ago
JSON representation

Turing Craft is visual tool for creating Universal Turing machine (UTM) using graphs. It supports Web and Desktop. Design, simulate, and explore the behavior of Turing machines.

Awesome Lists containing this project

README

          

# TuringCraft

![Capturar](https://github.com/user-attachments/assets/f4cd6586-64ee-4329-a30e-956b2d6c5566)

Turing Craft is Visual Simulator and Graph Creator for Universal Turing machines (UTM). Perfect for academic purposes, it enables students and researchers to design, simulate, and analyze Turing machines and computational graphs.

# What is a Turing Machine?

A Turing Machine is a mathematical model of computation, first proposed by the mathematician Alan Turing in 1936. It is a theoretical device that manipulates symbols on a strip of tape according to a set of predefined rules. Despite its simplicity, the Turing Machine is a universal model of computation and forms the foundation for computability.

# How it work?

You just need to create the graph, place the information on the tape and click on the green button to simulate.

![a1](https://github.com/user-attachments/assets/983eb02d-766d-4ed1-9409-11120e8d24ab)

# Features

- Graphical analysis for better insights into computation.
- Visual pixel display for tape segments.
- Numeric display to represent binary numbers stored on the tape.
- Save and load machine states.
- Customize sounds for different machine states or actions.
- Generate code for other Turing machine applications, such as [Turing Machine Simulator](https://turingmachinesimulator.com/).
- Support for graph layout algorithms.
- Intuitive interface for designing and editing Turing machines.
- Real-time simulation with step-by-step execution and debugging tools.

# Execution

Firstly you must vite installed `npm install -D vite`

## Web

To run locally, just install the dependencies via `npm install` and then `npm run dev`.

## Desktop (Electron)

To execute via desktop locally you must create a build `npm run build` it will be generated `dist-electron`,
after that just `npm run electron`.

## Author

Anderson Pozzi (2024).

This project is made using my project https://github.com/Apozzi/markov-builder-js as basis,
If you are interested, take a look.

- TODO - Adjust file saving in electron (desktop).