Ackermann function


Ackermann’s function A(x,y) is defined by the recurrence relations

A(0,y) =y+1
A(x+1,0) =A(x,1)
A(x+1,y+1) =A(x,A(x+1,y))

Ackermann’s function is an example of a recursive functionMathworldPlanetmath that is not primitive recursive, but is instead μ-recursive (that is, Turing-computable).

Ackermann’s function grows extremely fast. In fact, we find that

A(0,y) = y+1
A(1,y) = 2+(y+3)-3
A(2,y) = 2(y+3)-3
A(3,y) = 2y+3-3
A(4,y) = 22.2-3(y+3 exponentiations)

… and at this point conventional notation breaks down, and we need to employ something like Conway notation or Knuth notation for large numbers.

Ackermann’s function wasn’t actually written in this form by its namesake, Wilhelm Ackermann. Instead, Ackermann found that the z-fold exponentiation of x with y was an example of a recursive function which was not primitive recursive. Later this was simplified by Rosza Peter to a function of two variables, similar to the one given above.

Title Ackermann functionMathworldPlanetmath
Canonical name AckermannFunction
Date of creation 2013-03-22 12:33:13
Last modified on 2013-03-22 12:33:13
Owner akrowne (2)
Last modified by akrowne (2)
Numerical id 9
Author akrowne (2)
Entry type Definition
Classification msc 03D75