# Explain the various applications of automata in TOC

Automaton is nothing but a machine which accepts the strings of a language L over an input alphabet Σ.

There are four different types of Automata that are mostly used in the theory of computation (TOC). These are as follows −

• Finite-state machine (FSM).
• Pushdown automata (PDA).
• Linear-bounded automata (LBA).
• Turing machine (TM).

When comparing these four types of automata, Finite-state machines are less powerful whereas Turing machines are more powerful.

NoteDeterministic Finite Automata (DFA) and the Non-Deterministic Finite Automata (NFA) have the same power because every DFA is converted into NFA and every NFA is converted into DFA.

So far, we are familiar with the types of automata. Now, let us discuss the expressive power of automata and further understand its applications.

## Equivalence

Let’s see the equivalence of each automaton before going to applications of automata.

Finite-state Machine is equivalent to the following −

• PDA with finite stack.
• Turing Machine with finite tape.
• Turing Machine with unidirectional tape.
• Turing Machine with read only tape.

Pushdown Automata is equivalent to the following −

• Finite Automata with stack

Turing Machine is equivalent to the following −

• Finite Automata with two stacks.

## Applications of different Automata

The applications of the different automata in Toc are explained below −

Finite Automata (FA)

The applications of Finite Automata are as follows −

• Design of the lexical analysis of a compiler.
• Recognize the pattern by using regular expressions.
• Use of the Mealy and Moore Machines for designing the combination and sequential circuits.
• Used for spell checkers.

Push Down Automata (PDA)

The applications of Pushdown automata are as follows −

• Used in the Syntax Analysis phase.
• Implementation of stack applications.
• Used in evaluations of the arithmetic expressions.
• Used for solving the Tower of Hanoi Problem.

Linear Bounded Automata (LBA)

The applications of linear bounded automata are as follows −

• Used in the genetic programming implementation.
• Construction of syntactic parse trees.

Turing Machine (TM)

The applications of Turing machine are as follows −

• Used to solve the recursively enumerable problem.
• Used for knowing complexity theory.
• Used for neural networks implementation.
• Used in Robotics Applications.
• Used in the implementation of artificial intelligence.

Updated on: 04-Nov-2023

23K+ Views