Virtual Finite Automaton

This simulator is based on Paul Ming's Virtual Turing Machine, which has been modified to simulate deterministic finite automata. Examples are available.

Consider the language of all words over the alphabet {a, b} that each contain the substring 'aab'.

This language can also be written as {w : w  in {a, b}*, w contains 'aab' as a substring}. For example, the following words are in the language: aab, aaab, baab, aaba, ababaababab.
The following words are not in the language: a, b, ab, bbbbb.

The finite automaton below will output "#ACCEPT" if it gets a word in the language and will output "#REJECT" if it gets a valid input that is not in the language.

Valid inputs to the finite automaton are words containing a symbols and b symbols, in any order, but no other symbols. Spaces are ignored.


This virtual finite automaton is used as part of Thomas Naughton's introductory computer theory lectures, for example, Maynooth University Department of Computer Science module CS605.