- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

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

# Distinguish between Finite Automata and Turing Machine

Before understanding the differences between the finite automata (FA) and the turing machine (TM), let us learn about these concepts.

## Finite Automata

Finite automata is an abstract computing device

It is a mathematical model of a system with discrete inputs, outputs, states and set of transitions from state to state that occurs on input symbol from alphabet Σ

## Finite Automata Representation

FA can be represented as following in the theory of computation (TOC) −

Graphical (Transition diagram)

Tabular (Transition table)

Mathematical (Transition function)

## Formal definition of Finite Automata

A Finite automata is a five 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

## Turing Machine

Turing machines are more powerful than both finite automata and pushdown automata. They are as powerful as any computer we have ever built.

## Formal Definition of Turing Machine

A Turing machine can be formally described as seven tuples ( Q,X, Σ,δ,q0,B,F)

Where,

Q is a finite set of states

X is the tape alphabet

Σ is the input alphabet

δ is a transition function: δ:QxX→QxXx{left shift, right shift}

q0 is the initial state

B is the blank symbol

F is the final state.

## Differences

The major differences between Finite automata and Turing machine are given below −

Sr. no. | Finite State machine | Turing machine |
---|---|---|

1 | Finite state machines describe the class of regular languages. | Turing Machines describe a much larger class of languages, the class of recursively enumerable languages. |

2 | Finite state machines describe a small class of languages where no memory is needed. | Turing Machines are the mathematical description of a computer and accept a much larger class of languages than FSMs do. |

3 | Finite state machines have lower computational power than the Turing machine. | Turing Machines have has more computational power than FSM |

4 | A finite state machine is just a set of states and transitions. The only memory it has is what state it is in. Thus, the number of memory states is... finite. | A Turing machine is a finite state machine plus a tape memory. Each transition may be accompanied by an operation on the tape (move, read, write). Its total possible configurations are arbitrarily large, regardless of the size of the program; it expands towards infinity. |

- Related Questions & Answers
- Distinguish between non-deterministic, deterministic and Turing Machine computational models?
- Distinguish between Machine and operating system virtualization.
- Explain the relationship between Finite Automata and Regular Expression.
- Differentiate between recognizable and decidable in the Turing machine?
- What is finite automata?
- Can we convert a non-deterministic finite automata into a deterministic finite Automata?
- Efficient Construction of Finite Automata
- Design Turing machine for multiplication
- Construct Turing machine for addition
- Construct Turing machine for subtraction
- Explain Deterministic Finite Automata in TOC.
- What is Non deterministic finite automata?
- What is Deterministic Finite Automata (DFA)?
- What is Turing Machine in TOC?
- What are different types of finite automata?