Computer science Computational complexity: resources and classes Theorem
Blum's speedup theorem
Builds on Computable functionTuring machine
Statement
Let be an acceptable numbering of the partial computable functions . Let be a Blum complexity measure for it: each is a partial function such that
- is defined if and only if is defined;
- the set of triples with is decidable.
Let be a total computable function. Then there is a total computable function with the following property. For every index with there is an index with and
Remarks
The running time of a Turing machine program, = the number of steps of program on input , is a Blum complexity measure, and so is the space used. For example, take . The theorem gives a function such that every program for can be replaced by another program for that is exponentially faster on almost all inputs. So has no fastest program, even up to a large factor. The proof is a diagonal construction that cancels programs which run too fast on chosen inputs. The function built in the proof is artificial, and the theorem says nothing about natural problems.
Going deeper
For a student
The theorem works for any Blum complexity measure, so it is a fact about abstract complexity, not about Turing machines in particular. It shows that the complexity of a function cannot always be defined as the cost of a best program. Complexity classes are therefore defined by resource bounds, as in the time hierarchy theorem, rather than by optimal algorithms. The gap theorem of Borodin is another result of abstract complexity theory with a similar flavour.
Reading path
To understand this page from the ground up, read these 3 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Computable function concept
- Turing machine concept
- Blum's speedup theorem statement
Further reading
About this page
| Tag | F53XQ3F2SN |
|---|---|
| URI | m2://F53XQ3F2SN |
| Kind | statement, theorem |
| Writing | W0 stub |
| MSC | 68Q15, 03D15 |
| Status | This copy of the site has no build data. Run m2 status F53XQ3F2SN. |
| About | Computable function |
| Uses | Computable function, Turing machine |
| Same as | |
| Changed | 3 November 2026 |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- a source with a locator (0 of 1)
The writing levels say how complete the text of a page is. They do not measure its truth.
What links here
No page links to this page yet.