Definition

A finite automaton is a 5-tuple where:

  1. is a finite set of states.
  2. is a finite input Alphabet.
  3. is the transition function,
  4. is the start state.
  5. is the set of accept states.

has a type that depends on the specific variant of machine we are discussing, see below.

Determinism

  • DFA: .
  • NFA: , where .

Equivalence

DFAs and NFAs recognize the same class of languages: Regular Language.

Proof (sketch)

NDFAs are reducible to DFAs by constructing a DFA with states of the set of states reachable after some input. Some accounting is required to handle but it is relatively straight-forward.

See also

Pushdown Automaton