HomeScienceComputer Science (Theory)What is Computability?
Science·2 min·Updated Mar 12, 2026

What is Computability?

Computability Theory

Quick Answer

It refers to the ability to determine whether a problem can be solved by a computer algorithm. Essentially, it is about understanding which problems can be computed and which cannot.

Overview

Computability is a branch of computer science that studies what problems can be solved using algorithms. It helps us understand the limits of what computers can do. For example, consider a task like sorting a list of names; this can be computed easily. However, some problems, like the Halting Problem, cannot be solved by any algorithm, meaning there are limits to computation. The concept of computability is foundational in computer science theory. It involves various models of computation, such as Turing machines, which help theorists explore the capabilities and limitations of algorithms. By studying these models, researchers can classify problems based on their computability, which is essential for developing efficient algorithms and understanding the nature of computation itself. Understanding computability matters because it informs us about the feasibility of solving complex problems. In real life, this knowledge affects fields like cryptography, where certain problems are intentionally hard to compute to ensure security. By grasping which problems can be computed, programmers and researchers can better design systems that work within these limits.


Frequently Asked Questions

An example of a computable problem is adding two numbers together. This task can be performed by a simple algorithm and is a basic operation that computers handle effortlessly.
The Halting Problem is a famous example in computability theory that proves there are limits to what can be computed. It states that there is no algorithm that can determine whether any given program will eventually stop running or continue indefinitely.
Computability is important because it helps us understand which problems can be solved with algorithms and which cannot. This knowledge is crucial for developing efficient software and for theoretical research in computer science.