Ackermann function

E208846

The Ackermann function is a classic example of a computable function that grows faster than any primitive recursive function, often used in theoretical computer science to illustrate extreme computational complexity.

All labels observed (4)

How this entity was disambiguated

Statements (47)

Predicate Object
instanceOf classical example in theoretical computer science
computable function
fast-growing function
recursive function
total function
alternativeName Ackermann function
surface form: Ackermann–Péter function
arity two-argument function
codomain non-negative integers
complexityRole basis for defining extremely slow-growing inverse functions used in amortized analysis
used to construct worst-case inputs for certain data structure algorithms
definedBy multiple recursive clauses
nested recursion
definedOn non-negative integers
domain pairs of non-negative integers
exampleValue A(0,n) = n + 1
A(1,n) = n + 2
A(2,n) = 2n + 3
A(3,n) = 2^(n+3) - 3
A(4,2) is an enormous integer far beyond practical computation
field complexity theory
computability theory
mathematical logic
theoretical computer science
growthRate grows faster than any multiply-recursive function of fixed order
grows faster than any primitive recursive function
hasVariant Ackermann function self-linksurface differs
surface form: three-argument Ackermann–Péter function

Ackermann function self-linksurface differs
surface form: two-argument Ackermann–Péter function
historicalNote one of the earliest-discovered examples of a total computable non–primitive recursive function
namedAfter Wilhelm Ackermann
property computable by a Turing machine
extremely rapidly growing
not primitive recursive
total but not primitive recursive
well-defined for all non-negative integer arguments
relatedConcept Computability Theory
surface form: Turing computability

fast-growing hierarchy
inverse Ackermann function
primitive recursive functions
μ-recursive functions
teachingRole illustrates difference between primitive recursive and general recursive functions
illustrates extreme computational complexity growth
usedIn complexity analysis of algorithms
defining the inverse Ackermann function
demonstrating limits of primitive recursion
examples of computable but not primitive recursive functions
hierarchies of fast-growing functions
proofs in recursion theory

How these facts were elicited

Referenced by (7)

Full triples — surface form annotated when it differs from this entity's canonical label.

Wilhelm Ackermann knownFor Ackermann function
Wilhelm Ackermann developed Ackermann function
Wilhelm Ackermann notableConcept Ackermann function
Knuth’s up-arrow notation relatedTo Ackermann function
Ackermann function hasVariant Ackermann function self-linksurface differs
this entity surface form: three-argument Ackermann–Péter function
Ackermann function hasVariant Ackermann function self-linksurface differs
this entity surface form: two-argument Ackermann–Péter function
Ackermann function alternativeName Ackermann function
this entity surface form: Ackermann–Péter function