Функція Акермана

Функція Акермана — у теорії складності обчислень є найпростішим прикладом обчислюваної функції, що не є примітивно-рекурсивною. Функція Акермана визначається рекурсивно для невід'ємних цілих чисел та таким чином:

Рекурсія завжди закінчується, оскільки або зменшується значення , або значення зберігається, а зменшується значення . Тобто пара завжди зменшується з точки зору лексикографічного порядку.

Функція зростає дуже швидко (значно швидше за експоненту). Наприклад, , що перевищує кількість атомів у видимому Всесвіті.

Історія

Початковий варіант такої функції (у дещо різній формі) запропонували учні Девіда Гільберта — Габрієль Судан (нім. G. Sudan) (1927 року) і Вільгельм Акерман (1928). Гільберт висловив гіпотезу, що функція не є примітивно-рекурсивною, і Вільгельм Акерман (що став секретарем Гільберта) цю гіпотезу довів. Оригінальна функція Аккермана мала три аргументи[1]. Варіант із двома аргументами запропонували Роза Петер і Рафаєль Робінсон[2] і саме його зазвичай мають на увазі під назвою функція Акермана.

Таблиця

Значення A(m, n)
m\n 0 1 2 3 4 n
0 12345
1 23456
2 357911
3 5132961125
4 1365533 265536  3

Нотація

  • Через гіпероператор:
  • В нотації Конвея:

Джерела

  1. Cristian Calude, Solomon Marcus, Ionel Tevy. The first example of a recursive function which is not primitive recursive // Historia Math. : journal.  1979. Vol. 6, no. 4 (11). P. 380—384. DOI:10.1016/0315-0860(79)90024-7.
  2. Raphael M. Robinson. Recursion and double recursion // Bull. Amer. Math. Soc..  1948. Vol. 54, no. 10. P. 987—993. DOI:10.1090/S0002-9904-1948-09121-2.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.