- 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