# What are different 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

M=(Q, Σ, δ,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.

### Types

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 different automata (DFA)

A Deterministic Finite automata is defined as a 5-tuples

M=(Q, Σ, δ,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 −

δ: Q X Σ -> 2Q

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

M=(Q, Σ, δ,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