Skip to content

My implementations of deterministic and non-deterministic turing machines

License

Notifications You must be signed in to change notification settings

yedhukrishnan/turing-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turing Machine

Deterministic Turing Machine (in C)

A turing machine simulator that accepts a string and processes it according to a given set of transitions.

Usage

You can invoke the program in any of these three methods:

  1. turingmachine
  2. turingmachine <input file>
  3. turingmachine <input file> <input string>

Here turingmachine is the program name.

Input Format

<current state> <input symbol> <new symbol> <movement> <new state>

  • A single transition should occupy a single line
  • <input symbol>, <new symbol> and <movement> are single characters.
  • <current state> and <new state> can be any combination of characters within a limit of 5
  • First <current state> will be considered as your initial state
  • Use '_' for blank, '#' for halting state
  • Use '$' as current state to stop.

Non-Deterministic Turing Machine (in Python)

Implementation of a non-deterministic turing machine that accepts or rejects string based on a given set of transitions.

Improvements

There is a lot of scope for improvement in both these programs. Any ideas, feedback or pull requests are always welcome.

About

My implementations of deterministic and non-deterministic turing machines

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published