Turing Machine Emulator

The states of the TM may be entered and edited individually below, or loaded from one of the selectable built-in examples, or a user-edited saved TM. States must be numbered consecutively. State 0 is always a halt state, and State 1 is always the initial state. The tape allows only two symbols, 0 and 1. Head movement is L or R (but lower case l, r are allowed for entry).

On the tape display, 0 is shown as a white cell and 1 is shown as a black cell. The head location is indicated with a gray cell on 1 or a blue cell on 0. The initial tape contents are set by toggling the cell under the head, using the Flip button or space bar. The head is moved using the Left and Right buttons or arrow keys.

The tape is finite and not extendable. Only the first row of cells is the tape; the rows below it show a history of successive tape states (unless Linear is selected). The Double button doubles the tape size. TM runs are paused at the bottom of the history display. Pressing Run again continues running from the current tape and state.

Busy Beaver machines start with an empty tape. Their object is to put as many 1s on the tape as possible, given their number of states, and then halt. The Copy example assumes a string of 1s with the head over the leftmost 1. Its object is to add another string of 1s of the same length.

StateReadWriteMoveGoReadWriteMoveGo
   0    1

Current state: 1

TM Tape