How to use the simulator

Simulator
Larger simulator

Specifying the automaton

An alphabetic character represents each state of the automaton. The at sign ('@') specifies a special error state (the HALT state) from which the machine never returns.

The input alphabet includes only 0 and 1. Specify the transition table by filling in the blanks telling where to go on which input.

The start state of the machine is always state 'a'. You can specify the accepting states by checking the states' boxes.

The graphic arrow indicates the automaton's current state. It does not appear at all when the machine enters the HALT state.

Running the automaton

The input string is in the text field. It should be a string of 0's and 1's. A caret ('^') keeps track of what the automaton has read so far and what the automaton has yet to read.

You can reset the automaton to the beginning of the string with the ``Reset'' button. You can step it once using the ``Step'' button, or you can make it go to the string's end using the ```Go'' button.

To tinker with the automaton's current state, click where you want the graphic arrow to be. And to tinker with the current location, put the caret within the string where you want it.

Optimizing the automaton

The ``Minimize'' button finds the equivalent automaton using the fewest states. The program classifies the states into sets of equivalent states and keeps the smallest index from each set. To identify the removed states, their transition tables change so that every transition points (in capital letters) to the equivalent remaining state.

The ``Restore'' button undoes the last minimization.