- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
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
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 Articles
- Distinguish between non-deterministic, deterministic and Turing Machine computational models?
- Explain the relationship between Finite Automata and Regular Expression.
- Distinguish between Machine and operating system virtualization.
- 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
- Explain Deterministic Finite Automata in TOC.
- What is Non deterministic finite automata?
- What is Deterministic Finite Automata (DFA)?
- Design Turing machine for multiplication
- Construct Turing machine for addition
- Construct Turing machine for subtraction
- What are different types of finite automata?
- Explain Non-Deterministic Finite Automata in TOC.
