Foundations of Computation
Understand the definition of computation, its historical formalizations (Turing, Church, etc.), and how physical systems realize computable versus non‑computable statements.
Summary
Read Summary
Flashcards
Save Flashcards
Quiz
Take Quiz
Quick Practice
How can computation be viewed from a physical perspective?
1 of 4
Summary
Definition and Core Concepts
What Is a Computation?
A computation is any well-defined arithmetic or non-arithmetic calculation. The key word here is "well-defined"—this means the computation must be unambiguous and follow a clear set of instructions that leave no room for interpretation.
Think of computation broadly: it's not just simple arithmetic like $2 + 2 = 4$. It also includes solving complex equations, running algorithms, sorting data, or any other process that can be precisely specified. The essential requirement is that someone (or something) could follow the instructions and always arrive at the same answer given the same starting inputs.
Who Performs Computations?
Any device or entity capable of performing computations is called a computer. Historically, this term has referred to:
Mechanical devices (like Babbage's Analytical Engine)
Electronic devices (like modern laptops and servers)
People trained to follow strict computational procedures
The important point is that "computer" originally described what something does (performs computations), not what it is made of. A computer doesn't have to be electronic—it's defined by its ability to execute well-defined procedures.
What Makes a Statement Computable?
Not all statements are computable. A computable statement is one that can be unambiguously expressed as a procedure—a step-by-step process that a computer could follow. When we say a statement is "well-defined," we mean it can be converted into exact instructions without any vagueness or ambiguity.
For example:
"Find the square root of 16" is well-defined and computable
"Paul loves me twice as much as Joe" is not well-defined—how would you measure love? How would you encode this into clear computational steps?
This distinction is central to understanding computation. A statement must be precise enough that a machine (or a person following strict rules) could execute it mechanically.
The Relationship to Computer Science
Computer science is the academic discipline that studies computation—how to formally define what is computable, how to design algorithms to solve problems, and what problems cannot be solved by computation at all. Understanding the foundations of what computation is forms the basis of the entire field.
Formalizing Computability: When Can We Call Something Computable?
Alan Turing's Breakthrough
In the 1930s, mathematician Alan Turing created a formal definition of what it means for a statement to be "well-defined" and computable. Turing's approach was elegant: he asked, "Can this statement be expressed as instructions for a Turing machine?"
A Turing machine is a theoretical device consisting of:
An infinite tape divided into squares
A read/write head that can move along the tape
A finite set of states and rules for what to do in each state
Turing's insight was that any statement that could be precisely expressed in terms of what a Turing machine could do—given appropriate starting inputs—is computable. This provided the first rigorous, mathematical definition of computability.
Equivalent Definitions Show the Robustness of the Concept
Around the same time, other mathematicians independently developed different formal definitions of computability:
Alonzo Church developed lambda-definability
Herbrand, Gödel, and Kleene developed general recursiveness
Emil Post developed 1-definability
What's remarkable is that all of these different approaches turned out to be equivalent—they all define exactly the same set of computable statements. This equivalence strongly suggests that these definitions capture something fundamental about what "computable" really means, independent of the particular formalism used.
Computable vs. Non-Computable Statements
Understanding What Makes a Statement Non-Computable
Just because a problem is interesting or important doesn't mean it's computable. There are two categories of non-computable statements:
Type 1: Ill-defined statements
These statements cannot be unambiguously encoded into computational procedures. For example:
"Create a beautiful piece of music" (what counts as beautiful?)
"Paul loves me twice as much as Joe" (how do you measure and compare emotions?)
"Find the most interesting number" (what makes a number interesting?)
These aren't computable because they're fundamentally ambiguous—different people would interpret the instructions differently.
Type 2: Well-defined but unsolvable statements
These statements are clearly specified, but mathematicians have proven that no computational procedure—no matter how clever—could ever solve them. The most famous example is the halting problem.
The halting problem asks: "Given any computer program and any input, can you determine whether that program will eventually finish running or run forever?" This problem is precisely defined, but Alan Turing proved that no algorithm can solve it in general. Some specific cases might be solvable, but there's no universal procedure that works for all programs.
This is a profound result: it shows there are limits to what computation can do. Computability is not unlimited.
Computation as a Physical Process
An important perspective is that computation can be understood as a purely physical process happening inside a physical system called a computer. When you run a program on your laptop, you're setting up a particular physical configuration (voltage patterns, magnetic states, etc.) and then letting the laws of physics carry out a deterministic process.
This viewpoint connects abstract mathematical ideas about computability to real, physical machines—a bridge between theory and practice.
Physical Realisations of Computation
Multiple Ways to Implement Computation
Turing's 1937 work established a formal equivalence: the set of statements that are mathematically "computable" corresponds to the set of problems that particular physical systems (computers) can solve. In other words, the abstract mathematical concept of computability matches what physical devices can actually accomplish.
This means computation can be physically realized in multiple ways:
Turing machines (the theoretical foundation)
Digital computers (using binary digits and electronic circuits)
Mechanical computers (using gears and levers)
Analog computers (using continuous physical phenomena like voltage or fluid flow)
<extrainfo>
What's fascinating is that despite their enormous differences in construction—a mechanical device using gears versus an electronic computer using transistors—they can all compute exactly the same set of problems. This universality is a fundamental insight in computer science.
</extrainfo>
The key takeaway is that being a "computer" (in the sense of performing computation) isn't about the physical substrate—it's about whether the device can implement the abstract procedures that define computable statements.
Flashcards
How can computation be viewed from a physical perspective?
As a physical process occurring inside a closed physical system called a computer.
Which formalisms are considered equivalent to Turing's definition of computability?
Alonzo Church’s lambda-definability
Herbrand-Gödel-Kleene’s general recursiveness
Emil Post’s 1-definability
Why are ill-defined statements (e.g., "Paul loves me twice as much as Joe") considered non-computable?
They cannot be unambiguously encoded into a Turing machine.
What did Turing's 1937 proof establish regarding computable statements and physical systems?
A formal equivalence between computable statements and physical computers.
Quiz
Foundations of Computation Quiz Question 1: Which of the following is an example of a well‑defined but non‑computable problem?
- The halting problem (correct)
- Sorting a list of numbers
- Evaluating a polynomial at a given point
- Finding the shortest path in a graph
Foundations of Computation Quiz Question 2: Which of the following is NOT an equivalent formalisation of computability?
- Random number generation without rules (correct)
- Church’s lambda‑definability
- Gödel‑Kleene general recursiveness
- Post’s 1‑definability
Foundations of Computation Quiz Question 3: Which of the following is a physical system that can realize computation?
- Turing machine (correct)
- Uncontrolled weather patterns
- Randomly moving particles with no rules
- Untamed wildfires
Foundations of Computation Quiz Question 4: According to the definition, which condition must a calculation satisfy to be considered a computation?
- It must be well‑defined (correct)
- It must be random
- It must be physically impossible
- It must be purely artistic
Foundations of Computation Quiz Question 5: Which subject is the main focus of computer science?
- Computation (correct)
- Botany
- Classical literature
- Geology
Foundations of Computation Quiz Question 6: Which of the following was NOT historically referred to as a computer?
- A plant that performs photosynthesis (correct)
- A person who calculated mathematical tables
- A mechanical adding machine
- An early electronic digital computer
Foundations of Computation Quiz Question 7: Which abstract machine did Alan Turing use to formalize well‑defined statements?
- Turing machine (correct)
- Finite automaton
- Lambda calculus interpreter
- Neural network
Foundations of Computation Quiz Question 8: According to the physical‑process viewpoint, the system that performs a computation is characterized as being:
- Closed (correct)
- Open
- Infinite
- Non‑physical
Which of the following is an example of a well‑defined but non‑computable problem?
1 of 8
Key Concepts
Computation Concepts
Computation
Turing machine
Lambda calculus
Halting problem
General recursive function
Physical computation
Computer Science Foundations
Computer
Computer science
Digital computer
Definitions
Computation
A well‑defined arithmetic or non‑arithmetic calculation performed by a system.
Computer
A mechanical, electronic, or human device that carries out computations.
Computer science
The academic discipline that studies the theory, design, and application of computation.
Turing machine
An abstract mathematical model of computation that manipulates symbols on an infinite tape according to a set of rules.
Lambda calculus
A formal system introduced by Alonzo Church for expressing computation via function abstraction and application.
Halting problem
The decision problem of determining whether an arbitrary Turing machine will eventually stop running.
General recursive function
A class of functions defined using primitive recursion and minimization, equivalent to computable functions.
Digital computer
An electronic device that processes discrete binary data to perform computations.
Physical computation
The perspective that computation is a physical process occurring within a closed physical system.