Finite Automaton (FA)

A finite automaton is a Finite State Machine which also has an additional Set of accepting states . Unlike a general FSM, an FA has a defined set of accepting states () that determine whether an input string is accepted or rejected. FAs are used specifically for language recognition.

Definition

Formally, an FA is a 5-tuple :

  1. : a finite Set of states
  2. : a finite Alphabet
  3. : a transition Relation
  4. : the start state
  5. : a set of accepting states

Symbols:

Human: An FA is just a FSM that says “yes” or “no” to a String. If after consuming the whole input, the machine ends in a state belonging to , the input is accepting, or not, it is rejected.

  • For a DFA, is a true Function (exactly one next state).
  • For an NFA, may produce multiple next states, or none, and can include -moves.