Skip to main content

finite-state automaton

finite-state automaton (FSA; finite-state machine) A simple kind of automaton. The input string is read once from left to right, looking at each symbol in turn. At any time the FSA is in one of finitely many internal states; the state changes after each input symbol is read. The new state depends on the symbol just read and on the current state. An FSA is therefore determined by a function f f : I × QQ

where I is the set of possible input symbols, Q is the set of states, and I × Q is the Cartesian product of I and Q. Q must be finite.

The function f is called a state-transition function. It is commonly represented either by a table or by a directed graph, known respectively as a state-transition table and a state-transition diagram. The figure shows two equivalent representations in which I = {a,b,c}, Q = {1,2,3,4}

In this example, f(a,1) = 2, f(c,4) = 4, etc.

f extends to strings in the obvious manner: in the example, f(bc,2) = 4, f(aaa,3) = 1, etc.

Let Q be divided into accepting states and rejecting states, and let q0 be some member of Q (referred to as the start state). The language recognized by the FSA is the set of all w such that f(w,q0)

is an accepting state, i.e. the set of all strings that take the start state to an accepting state. For example, in the FSA shown in the figure let q0 be 1 and let 4 be the only accepting state; the language recognized is then the set of all strings over {a,b,c} that somewhere contain abc as a substring. A language recognized by an FSA is known as a regular language.

A generalization is to allow more than one state to which the FSA can move, for a given input symbol and current state. This gives a nondeterministic FSA. The input string is then accepted if there is some sequence of choices of moves leading to an accepting state. Such a machine can always be converted to a deterministic one recognizing the same language.

See also sequential machine, minimal machine.

Cite this article
Pick a style below, and copy the text for your bibliography.

  • MLA
  • Chicago
  • APA

"finite-state automaton." A Dictionary of Computing. . 12 Feb. 2019 <>.

"finite-state automaton." A Dictionary of Computing. . (February 12, 2019).

"finite-state automaton." A Dictionary of Computing. . Retrieved February 12, 2019 from

Learn more about citation styles

Citation styles gives you the ability to cite reference entries and articles according to common styles from the Modern Language Association (MLA), The Chicago Manual of Style, and the American Psychological Association (APA).

Within the “Cite this article” tool, pick a style to see how all available information looks when formatted according to that style. Then, copy and paste the text into your bibliography or works cited list.

Because each style has its own formatting nuances that evolve over time and not all information is available for every reference entry or article, cannot guarantee each citation it generates. Therefore, it’s best to use citations as a starting point before checking the style against your school or publication’s requirements and the most-recent information available at these sites:

Modern Language Association

The Chicago Manual of Style

American Psychological Association

  • Most online reference entries and articles do not have page numbers. Therefore, that information is unavailable for most content. However, the date of retrieval is often important. Refer to each style’s convention regarding the best way to format page numbers and retrieval dates.
  • In addition to the MLA, Chicago, and APA styles, your school, university, publication, or institution may have its own requirements for citations. Therefore, be sure to refer to those guidelines when editing your bibliography or works cited list.