- 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

# What is the theory of computation?

Computation is the movement and alteration which occurs during the transition of data or the processing of data based on a set of operations.

The theory of computation includes the fundamental mathematical properties of computer hardware, software and their applications. It is a computer science branch which deals with how a problem can be solved efficiently by using an algorithm on a model of computation.

The theory of computation field is divided into three concepts, which are as follows −

- Automated theory and language.
- Computability theory.
- Complexity theory.

Let us understand these concepts in detail.

## Automated Theory and language

It deals with the definition and properties of various mathematical models of computers.

For example,

**Finite Automata**− These are used in compilers, hardware design and text processing.**Context free grammar**− These are used to define the programming languages and in artificial intelligence.**Turing machine**− These are simple abstract models of a real computer.

## Computability theory

Computability theory deals with what can and cannot be computed by the model respectively. The theoretical models are proposed in order to understand the solvable and unsolvable problems which lead to the development of the real computers.

## Complexity theory

Complexity theory groups the computable problems based on their hardness.

For example,

- Any problem is easy, if it is solved efficiently. For example, sorting sequence, searching name.
- Any problem is hard, if it cannot be solved efficiently. For example, factoring a 500-digit integer into its prime factor.

The main purpose of theory of computation is to develop a formal mathematical model of computation that reflects the real world computers.

## Applications of Theory of computation

The theory of computation is applied in the following −

- Traffic lights.
- Lifts and elevators.
- Marketing.
- Compilers.
- Cloud computing.

- Related Articles
- What are the strategies for cube computation?
- What is the Scientific Theory of Management?
- What is quantum theory ?
- What is Cell Theory?
- What is agency theory?
- What is the theory of parallel universe and wormhole?
- What is Dalton's Atomic Theory?
- What is Arbitrage Pricing Theory?
- What is Trade-off Theory of Capital Structure?
- What are the Major Implications of the Finance Theory?
- What are the interpretations of the theory of computer architecture?
- What is Fourier Spectrum? – Theory and Example
- What is the concept of Heinz's dilemma in Kohlberg's theory?
- What are the limitations of Walter’s Theory on Dividend Policy?
- The Balance Theory of Attitude