Die Ackermannfunktion ist eine 1928 von Wilhelm Ackermann veröffentlichte[1] Funktion, die berechenbar, jedoch nicht primitiv-rekursiv ist, und somit Gegenbeispiel für die Behauptung, jede berechenbare Funktion sei primitiv-rekursiv. Weniger bekannt ist die 1927 veröffentlichte Sudanfunktion, die ebenfalls diese Eigenschaft aufweist.
David Hilbert berichtete von Ackermanns Ergebnis bereits 1926.[2] In der Schrift heißt es in einer Fußnote: „Vortrag, gehalten am 4. Juni 1925 […].“ Unter der Voraussetzung, dass die Stelle über Ackermann nicht nachträglich ergänzt wurde, hatte Hilbert das Ergebnis also bereits 1925. Ackermann selbst bezieht sich in seiner Arbeit auf Sudan: „Eine Arbeit, die mit der vorliegenden manche Berührungspunkte hat, wird von Herrn G. Sudan publiziert werden. Es handelt sich bei ihr um die Definition von Zahlen der zweiten Zahlklasse, die man in ähnlicher Weise klassifizieren kann wie die Definitionen der reellen Zahlen.“ Hilbert war mit Ackermann und Sudan von 1922 bis 1925 in Deutschland. Das erste Beispiel einer berechenbaren Funktion, die nicht primitiv-rekursiv ist, wird daher sowohl Sudan als auch Ackermann zugeschrieben.[3]
Es gibt verschiedene Varianten, die ebenfalls Ackermannfunktion genannt werden.
Ursprüngliche Definition[]
ϱc(f(c), a, n) ist die n-malige Iteration der Funktion f für das Argument a. Der Index c von ϱ weist darauf hin, dass ϱ von f statt c abhängt.
Die Nachfolgerfunktion (a + 1) wird als bekannt vorausgesetzt. Die Addition und Multiplikation werden rekursiv definiert:
In der Arbeit steht fälschlicherweise „a · 0 = a“.
Es gilt also:
Die Ackermannfunktion φ wird schließlich gegeben durch:
Es gilt:
Diese Funktion ist mit den Hyperoperationen verwandt:
Eine Variante ist A mit A(a, b, n) = a(n + 1)b. Hilbert (1926) erwähnte die Funktion als φ mit φn(a, b) = a(n)b.
Variante von Péter[]
Rózsa Péter definierte 1935 eine Variante mit nur zwei Parametern.[4]
Variante von Robinson[]
Raphael M. Robinson vereinfachte Péters Variante 1948.[5] Sei Sx der Nachfolger von x.
Es ist Gnx = 2(n)(x + 3) − 3.
Einzelnachweise[]
- ↑ Wilhelm Ackermann: Zum Hilbertschen Aufbau der reellen Zahlen. In: Mathematische Annalen. Band 99, 1928, S. 118–133, doi:10.1007/BF01459088 (online).
- ↑ David Hilbert: Über das Unendliche. In: Mathematische Annalen. Band 95, 1926, S. 161–190, doi:10.1007/BF01206605 (online).
- ↑ Cristian Calude, Solomon Marcus, Ionel Tevy: The First Example of a Recursive Function Which Is Not Primitive Recursive. In: Historia Mathematica. Band 6, Nr. 4, November 1979, S. 380–384, doi:10.1016/0315-0860(79)90024-7.
- ↑ Rózsa Péter: Konstruktion nichtrekursiver Funktionen. In: Mathematische Annalen. Band 111, 1935, S. 42–60, doi:10.1007/BF01472200 (online).
- ↑ Raphael M. Robinson: Recursion and Double Recursion. In: Bulletin of the American Mathematical Society. Band 54, Nr. 10, 1948, S. 987–993, doi:10.1090/S0002-9904-1948-09121-2 (online).