- Related Questions & Answers
- What are different types of finite automata?
- Efficient Construction of Finite Automata
- Explain Deterministic Finite Automata in TOC.
- Explain Non-Deterministic Finite Automata in TOC.
- C program to simulate Nondeterministic Finite Automata (NFA)
- C++ program for Finite Automata algorithm for Pattern Searching
- Find out the Regular expression for the given finite automata
- Construct RE for given finite automata with Arden’s theorem
- Generate a Regular Expression for a Finite Automata with state elimination method
- What is a finite state machine in TOC?
- Find the regular expression for the given Finite automata with state elimination method
- How to check whether a number is finite or not in JavaScript?
- C++ Program to Perform Finite State Automaton based Search
- Construct Pushdown automata for L = {0n1m2m3n | m,n = 0} in C++
- What is Java API and what is its use?

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

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

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

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

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

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

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 |

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

Advertisements