- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What is 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 Σ.

## Finite Automata Representation

The finite automata can be represented in three ways, as given below −

- Graphical (Transition diagram)
- Tabular (Transition table)
- Mathematical (Transition function)

## 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.

Finite Automata can be represented as follows −

- Transition diagram
- Transition table
- Transition function

## Transition Diagram

It is a directed graph associated with the vertices of the graph corresponding to the state of finite automata.

An example of transition diagram is given below −

Here,

- {0,1}: Inputs
- q1: Initial state
- q2: Intermediate state
- qf: Final state

## Transition table

It is basically a tabular representation of the transition function that takes two arguments (a state & a symbol) and returns a value (the ‘next state’).

**δ : Q × Σ → Q**

In transition table, the following factors are considered −

- Rows correspond to state.
- Column corresponds to the input symbol.
- Entries correspond to the next state.
- The start state is marked with ->.
- The accept state marked with *.

An example of transition table is as follows −

The transition table is as follows −

State/input symbol | 0 | 1 |
---|---|---|

->q1 | q1 | q2 |

q2 | qf | q2 |

qf | - | qf |

## Transition function

The transition function is denoted by δ. The two parameters mentioned below are the passes to this transition function.

- Current state
- Input symbol

The transition function returns a state which can be called as the next state.

**δ (current_state, current_input_symbol) = next_state**

For example, δ(q0,a)=q1

- Related Articles
- What is Non deterministic finite automata?
- What is Deterministic Finite Automata (DFA)?
- What is Finite Automata in Compiler Design?
- What is Non-Deterministic Finite Automata (NFA)?
- What are different types of finite automata?
- Can we convert a non-deterministic finite automata into a deterministic finite Automata?
- What are the regular expressions to finite automata?
- Efficient Construction of Finite Automata
- Explain Deterministic Finite Automata in TOC.
- What is the conversion of a regular expression to finite Automata (NFA)?
- Explain Non-Deterministic Finite Automata in TOC.
- Distinguish between Finite Automata and Turing Machine
- C program to simulate Nondeterministic Finite Automata (NFA)
- Design finite automata from a given regular expression.
- How to convert Regular expression to Finite Automata?