Types of Finite Automata



Finite automata is an abstract computing device. It is a mathematical model of a system with discrete inputs, outputs, states and a set of transitions from state to state that occurs on input symbols from the alphabet Σ.

Formal Definition of Finite Automata

Finite automata is defined as a 5-tuples −

$$\mathrm{M \:=\: (Q,\: \Sigma,\: \delta,\: q0,\: F)}$$

where,

  • Q − A finite, non-empty set of states.
  • Σ − A finite, non-empty set of input alphabets (symbols).
  • δ − The transition function, which maps into .
  • q0 − The initial state, which is an element of .
  • F − A subset of representing the set of final states.

Types of Finite Automata

The different types of Finite Automata are as follows −

  • Finite Automata without output −
    • Deterministic Finite Automata (DFA)
    • Non-Deterministic Finite Automata (NFA or NDFA)
    • Non-Deterministic Finite Automata with epsilon moves (e-NFA or e-NDFA)
  • Finite Automata with Output −
    • Moore Machine
    • Mealy Machine

Definition of Deterministic Finite Automata (DFA)

A Deterministic Finite automata is defined as a 5-tuples.

$$\mathrm{M \:=\: (Q,\: \Sigma,\: \delta,\: q0,\: F)}$$

where,

  • Q: Finite set called states.
  • Σ: Finite set called alphabets.
  • δ: Q × Σ → Q is the transition function.
  • q0 ∈ Q is the start or initial state.
  • F: Final or accept state.

Non-deterministic Finite Automata (NFA)

NFA also have five states which are same as DFA, but with different transition function, as shown follows −

$$\mathrm{\delta \: : \: Q \:\times\: \Sigma \:\to\: 2Q}$$

Non-deterministic finite automata is defined as a 5 tuple,

$$\mathrm{M \:=\: (Q,\: \Sigma,\: \delta,\: q0,\: F)}$$

Where,

  • Q: Finite set of states
  • Σ: Finite set of the input symbol
  • q0: Initial state
  • F: Final state
  • δ: Transition function: Q X Σ -> 2Q

Mealy Machine

The Mealy machine described by 6 tuples (Q, q0, Σ, O, δ, λ')

Where,

  • Q: Finite set of states
  • q0: Initial state of machine
  • Σ: Finite set of input alphabet
  • O: Output alphabet
  • δ: Transition function where Q × Σ → Q
  • λ': Output function where Q × Σ →O

Moore Machine

Moore machine described by 6 tuples (Q, q0, Σ, O, δ, λ)

where,

  • Q: Finite set of states
  • q0: Initial state of machine
  • Σ: Finite set of input symbols
  • O: Output alphabet
  • δ: Transition function where Q × Σ → Q
  • λ: Output function where Q → O
Advertisements