Turing Machine Demonstrator Mark 2 (TMD-2)

 
This is my completed TMD-2 project. Here I am using an optional wireless mouse and keyboard.

This is my completed TMD-2 project. Here I am using an optional wireless mouse and keyboard.

Manufactured By: Michael Gardi

Designed By: Michael Gardi

Release Date: 2020

This project is a follow-on to my Turing Machine Demonstrator (TMD-1) project.

I was really happy with the way that TMD-1 turned out. I believe I succeeded in creating a Turing machine that was both "simple to program" and "easy to understand". To help accomplish those goals, the machine itself was limited to only 3 states, 3 symbols, and a small 10 cell bounded tape. Fine for educational purposes, but a bit anemic if you want to explore Turing machines with a little more depth.

For this project I wanted to "up the ante". I made a 6 state, 6 symbol machine, with a large tape capacity. As much as possible I tried to bring forward the simple to use, easy to understand principles from TMD-1.

TMD-2 has the following characteristics:

  • One tape with 100,000 cells and a single head.

  • The alphabet used will have seven symbols: {0, 1, 2, 3, 4, 5, b}. 0 will be the blank symbol and b is an endmarker symbol that can be read from the tape but not written.

  • There will be six states: {A, B, C, D, E, F}. A will be the start state plus there is a special HALT state H.

With the larger number of states and symbols, using the hall effect sensors and magnets to read the state table as I did with TMD-1 became impractical. So instead I positioned a camera above the state table (at the end of the articulated arm seen in the photo), and used OCR to determine the tile values. Likewise for the larger tape and increased symbols I switched to an LCD display in lieu of physical flip-bits and push buttoncontrols.

With TMD-2 you can perform the following tasks among others:

  • Treating the input area as a binary number find the one's compliment.

  • Find the two's compliment of the "binary" number in the input area.

  • Count in binary (ascending and descending).

  • Sorting. Move all the 1's in the input area to the right or left.

  • Shift the input area one cell to the right or left.

  • Run "busy beaver" programs with up to six states

If you are interested in more details about Turing machines in general the Wikipedia entry is very good. I have also written a small booklet, TMD-2 Quick Start Guide. It describes the operation of TMD-2 and helps the user run their first "program".

 
Build Instructions

Build Instructions

Project Logs

Project Logs

hackaday.io

hackaday.io

blogdot.tv

blogdot.tv

The MagPi Magazine

The MagPi Magazine

Previous
Previous

TMD-1 (Summer 2020)

Next
Next

TMD-3 (Fall 2023)