функция Аккермана
В теории вычислимости функция Аккермана , названная в честь Вильгельма Аккермана , является одной из простейших. [1] и самые ранние обнаруженные примеры полностью вычислимых функций , которые не являются примитивно-рекурсивными . Все примитивно-рекурсивные функции являются тотальными и вычислимыми, но функция Аккермана показывает, что не все тотально-рекурсивные функции являются примитивно-рекурсивными.
После публикации Аккермана [2] его функции (которая имела три неотрицательных целых аргумента) многие авторы модифицировали ее для различных целей, так что сегодня «функция Аккермана» может относиться к любому из многочисленных вариантов исходной функции. с двумя аргументами, Одной из распространенных версий является функция Аккермана–Петера разработанная Рожа Петер и Рафаэлем Робинсоном . Его стоимость растет очень быстро; например, приводит к , целое число из 19 729 десятичных цифр. [3]
История [ править ]
В конце 1920-х годов математики Габриэль Судан и Вильгельм Аккерман , ученики Давида Гильберта , изучали основы вычислений. Зачислены и Судан, и Аккерманн. [4] с обнаружением полных вычислимых функций (в некоторых источниках называемых просто «рекурсивными»), которые не являются примитивно-рекурсивными . Судан опубликовал менее известную функцию Судана , а вскоре после этого, независимо, в 1928 году, Акерманн опубликовал свою функцию. (от греческого — буква фи ). Функция Аккермана с тремя аргументами, , определяется так, что для , он воспроизводит основные операции сложения , умножения и возведения в степень как
а при p > 2 эти базовые операции расширяются таким образом, что их можно сравнить с гипероперациями :
(Помимо своей исторической роли полностью вычислимой, но не примитивно-рекурсивной функции, исходная функция Аккермана, как считается, расширяет базовые арифметические операции за пределы возведения в степень, хотя и не так гладко, как варианты функции Аккермана, специально разработанные для этой цели — например, Гудштейна последовательность гиперопераций .)
В книге «О бесконечности » [5] Дэвид Гильберт выдвинул гипотезу о том, что функция Аккермана не является примитивно-рекурсивной, но именно Аккерман, личный секретарь и бывший ученик Гильберта, фактически доказал эту гипотезу в своей статье « О построении действительных чисел Гильбертом» . [2] [6]
Питер Розса [7] и Рафаэль Робинсон [8] позже разработал версию функции Аккермана с двумя переменными, которой отдали предпочтение почти все авторы.
Обобщенная последовательность гиперопераций , например , также является версией функции Аккермана. [9]
В 1963 году Р.С. Бак основал интуитивную модель с двумя переменными. [n 1] вариант по последовательности гиперопераций : [10] [11]
По сравнению с большинством других версий, функция Бака не имеет несущественных смещений:
Было исследовано множество других версий функции Аккермана. [12] [13]
Определение [ править ]
Определение: как m-арная функция [ править ]
Оригинальная функция Аккермана с тремя аргументами определяется рекурсивно следующим образом для неотрицательных целых чисел и :
Из различных версий с двумя аргументами одна, разработанная Петером и Робинсоном (большинство авторов называет ее функцией Аккермана), определена для неотрицательных целых чисел. и следующее:
Функция Аккермана также была выражена в отношении последовательности гиперопераций : [14] [15]
- или, записанное в обозначении Кнута, направленном вверх (расширенное до целочисленных индексов ):
- или, что то же самое, через функцию Бака F: [10]
Определение: как итерированная 1-арная функция [ править ]
Определять как n -я итерация :
Итерация — это процесс составления функции из самой себя определенное количество раз. Композиция функций является ассоциативной операцией, поэтому .
Представляя функцию Аккермана как последовательность унарных функций, можно положить .
Тогда функция становится последовательностью унарного [n 2] функции, определенные из итерации :
Вычисление [ править ]
Рекурсивное определение функции Аккермана естественным образом может быть перенесено в систему переписывания термов (TRS) .
TRS, основанный на 2-арной функции [ править ]
Определение 2-арной функции Аккермана приводит к очевидным правилам редукции [16] [17]
Пример
Вычислить
Последовательность сокращения [n 3]
Крайняя левая-крайняя (одношаговая) стратегия : | Самая левая-внутренняя (одношаговая) стратегия : |
Чтобы вычислить можно использовать стек , который изначально содержит элементы .
Затем повторно два верхних элемента заменяются по правилам. [n 4]
Схематически, начиная с :
WHILE stackLength <> 1 { POP 2 elements; PUSH 1 or 2 or 3 elements, applying the rules r1, r2, r3 }
Псевдокод опубликован в Grossman & Zeitman (1988) .
Например, на входе ,
конфигурации стека | отражают сокращение [n 5] |
Примечания
- Самая левая-внутренняя стратегия реализована на 225 компьютерных языках в Rosetta Code .
- Для всех вычисление занимает не более шаги. [18]
- Гроссман и Зейтман (1988) отметили, что при вычислении максимальная длина стека равна , пока .
- Их собственный алгоритм, по своей сути итеративный, вычисляет в пределах время и внутри космос.
TRS, основанный на итерированной 1-арной функции [ править ]
Определение итерированных 1-арных функций Аккермана приводит к различным правилам сведения.
Поскольку композиция функций ассоциативна, вместо правила r6 можно определить
Как и в предыдущем разделе, вычисление может быть реализовано с помощью стека.
Первоначально стек содержит три элемента .
Затем повторно три верхних элемента заменяются по правилам. [n 4]
Схематически, начиная с :
WHILE stackLength <> 1 { POP 3 elements; PUSH 1 or 3 or 5 elements, applying the rules r4, r5, r6; }
Пример
На входе последовательные конфигурации стека
Соответствующие равенства имеют вид
При использовании правила сокращения r7 вместо правила r6 замены в стеке будут следовать
Последовательные конфигурации стека будут тогда
Соответствующие равенства имеют вид
Примечания
- На любых входных данных представленные до сих пор TRS сходятся за одинаковое количество шагов. Они также используют одни и те же правила редукции (в этом сравнении правила r1, r2, r3 считаются «такими же, как» правила r4, r5, r6/r7 соответственно). Например, сокращение сходится за 14 шагов: 6×r1, 3×r2, 5×r3. Сокращение сходится за те же 14 шагов: 6×r4, 3×r5, 5×r6/r7. ИВВ различаются порядком применения правил сокращения.
- Когда вычисляется по правилам {r4, r5, r6}, максимальная длина стека остается ниже . Когда вместо правила r6 используется правило сокращения r7, максимальная длина стека составляет всего . Длина стека отражает глубину рекурсии. Поскольку приведение по правилам {r4, r5, r7} предполагает меньшую максимальную глубину рекурсии, [№ 6] в этом отношении такое вычисление более эффективно.
TRS на основе гипероператоров [ править ]
Как ясно показали Сундблад (1971) или Порто и Матос (1980) , функцию Аккермана можно выразить через последовательность гиперопераций :
или, после удаления константы 2 из списка параметров, через функцию Бака
Функция Бака , [10] вариант функции Аккермана сам по себе можно вычислить с помощью следующих правил сведения:
Вместо правила b6 можно определить правило
Для вычисления функции Аккермана достаточно добавить три правила приведения
Эти правила учитывают базовый случай A(0,n), выравнивание (n+3) и выдумку (-3).
Пример
Вычислить
используя правило сокращения : [n 5] | используя правило сокращения : [n 5] |
Соответствующие равенства:
- когда ИВВ с правилом сокращения применяется:
- когда ИВВ с правилом сокращения применяется:
Примечания
- Вычисление по правилам {b1 - b5, b6, r8 - r10} является глубоко рекурсивным. Максимальная глубина вложенности это . Виновником является порядок выполнения итерации: . Первый исчезает только после того, как вся последовательность развернута.
- Вычисление по правилам {b1 - b5, b7, r8 - r10} в этом отношении более эффективно. Итерация имитирует повторяющийся цикл по блоку кода. [n 7] Вложение ограничивается , один уровень рекурсии на каждую повторяемую функцию. Мейер и Ричи (1967) показали это соответствие.
- Эти соображения касаются только глубины рекурсии. Любой способ итерации приводит к одинаковому количеству шагов сокращения с использованием одних и тех же правил (когда правила b6 и b7 считаются «одинаковыми»). Сокращение например, сходится за 35 шагов: 12 × b1, 4 × b2, 1 × b3, 4 × b5, 12 × b6/b7, 1 × r9, 1 × r10. Modus iterandi влияет только на порядок применения правил сокращения.
- Реального выигрыша во времени выполнения можно добиться, только не пересчитывая промежуточные результаты снова и снова. Мемоизация — это метод оптимизации, при котором результаты вызовов функций кэшируются и возвращаются, когда те же входные данные повторяются. См., например, Ward (1993) . Гроссман и Зейтман (1988) опубликовали хитрый алгоритм, который вычисляет в пределах время и внутри космос.
Огромные цифры [ править ]
Чтобы продемонстрировать, как вычисление результаты во многих шагах и в большом количестве: [n 5]
Таблица значений [ править ]
Вычисление функции Аккермана можно переформулировать в терминах бесконечной таблицы. Сначала поместите натуральные числа в верхний ряд. Чтобы определить число в таблице, возьмите число сразу слева. Затем используйте это число, чтобы найти необходимое число в столбце, заданном этим числом, и на одну строку вверх. Если слева от него нет числа, просто посмотрите на столбец с заголовком «1» в предыдущей строке. Вот небольшая верхняя левая часть таблицы:
н м
|
0 | 1 | 2 | 3 | 4 | н |
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | |
1 | 2 | 3 | 4 | 5 | 6 | |
2 | 3 | 5 | 7 | 9 | 11 | |
3 | 5 | 13 | 29 | 61 | 125 | |
4 | 13 | 65533 | 2 65536 − 3 | |||
5 | 65533 |
|||||
6 | ||||||
м |
Числа здесь, которые выражаются только с помощью рекурсивного возведения в степень или стрелок Кнута, очень велики и заняли бы слишком много места для записи простыми десятичными цифрами.
Несмотря на большие значения, встречающиеся в этом раннем разделе таблицы, были определены некоторые еще большие числа, такие как число Грэма , которое невозможно записать с помощью любого небольшого количества стрелок Кнута. Это число строится с помощью метода, аналогичного рекурсивному применению функции Аккермана к самой себе.
Это повторение приведенной выше таблицы, но значения заменены соответствующим выражением из определения функции, чтобы четко показать закономерность:
н м
|
0 | 1 | 2 | 3 | 4 | н |
---|---|---|---|---|---|---|
0 | 0+1 | 1+1 | 2+1 | 3+1 | 4+1 | п + 1 |
1 | А (0, 1) | А (0, А (1, 0)) = А (0, 2) |
А (0, А (1, 1)) = А (0, 3) |
А (0, А (1, 2)) = А (0, 4) |
А (0, А (1, 3)) = А (0, 5) |
А (0, А (1, n −1)) |
2 | А (1, 1) | А (1, А (2, 0)) = А (1, 3) |
А (1, А (2, 1)) = А (1, 5) |
А (1, А (2, 2)) = А (1, 7) |
А (1, А (2, 3)) = А (1, 9) |
А (1, А (2, n −1)) |
3 | А (2, 1) | А (2, А (3, 0)) = А (2, 5) |
А (2, А (3, 1)) = А (2, 13) |
А (2, А (3, 2)) = А (2, 29) |
А (2, А (3, 3)) = А (2, 61) |
А (2, А (3, n −1)) |
4 | А (3, 1) | А (3, А (4, 0)) = А (3, 13) |
А (3, А (4, 1)) = А (3, 65533) |
А (3, А (4, 2)) | А (3, А (4, 3)) | А (3, А (4, n −1)) |
5 | А (4, 1) | А (4, А (5, 0)) | А (4, А (5, 1)) | А (4, А (5, 2)) | А (4, А (5, 3)) | А (4, А (5, n −1)) |
6 | А (5, 1) | А (5, А (6, 0)) | А (5, А (6, 1)) | А (5, А (6, 2)) | А (5, А (6, 3)) | А (5, А (6, п -1)) |
Свойства [ править ]
Общие замечания [ править ]
- Может быть не сразу очевидно, что оценка всегда завершается. Однако рекурсия ограничена, поскольку в каждом рекурсивном приложении либо уменьшается, или остается прежним и уменьшается. Каждый раз, когда достигает нуля, уменьшается, поэтому в конечном итоге также достигает нуля. (Выражаясь более технически, в каждом случае пара уменьшается в лексикографическом порядке по парам, что является хорошим упорядочением , как и упорядочение одиночных неотрицательных целых чисел; это означает, что нельзя спускаться вниз по порядку бесконечно много раз подряд.) Однако, когда уменьшается, нет верхней границы того, насколько может увеличиться — и зачастую оно будет значительно увеличиваться.
- Для небольших значений m, таких как 1, 2 или 3, функция Аккермана растет относительно медленно по отношению к n (не более чем экспоненциально ). Для , однако, он растет гораздо быстрее; даже составляет около 2,00353 × 10 19 728 и десятичное разложение очень велик по любым типичным меркам, около 2,12004 × 10. 6.03123 × 10 19 727 .
- Интересный аспект заключается в том, что единственная арифметическая операция, которую он когда-либо использовал, — это сложение 1. Его быстрорастущая мощь основана исключительно на вложенной рекурсии. Это также означает, что время его работы по крайней мере пропорционально его производительности и поэтому также чрезвычайно велико. На самом деле, в большинстве случаев время работы намного больше, чем результат; см. выше.
- Версия с одним аргументом это увеличивает оба и в то же время затмевает любую примитивно-рекурсивную функцию, включая очень быстрорастущие функции, такие как экспоненциальная функция , факториальная функция, мульти- и суперфакториальные функции и даже функции, определенные с использованием нотации Кнута со стрелкой вверх (за исключением случаев, когда индексированная стрелка вверх используется). Видно, что примерно сопоставимо с в быстрорастущей иерархии . Этот экстремальный рост можно использовать, чтобы показать, что которая, очевидно, вычислима на машине с бесконечной памятью, такой как машина Тьюринга , и поэтому является вычислимой функцией , растет быстрее, чем любая примитивно-рекурсивная функция, и поэтому не является примитивно-рекурсивной.
Не примитивно рекурсивно [ править ]
Функция Аккермана растет быстрее, чем любая примитивно-рекурсивная функция , и поэтому сама по себе не является примитивно-рекурсивной. Схема доказательства такова: примитивно-рекурсивная функция, определенная с использованием до k рекурсий, должна расти медленнее, чем , (k+1)-я функция в быстрорастущей иерархии, но функция Аккермана растет по крайней мере так же быстро, как .
В частности, показано, что для каждой примитивно-рекурсивной функции существует неотрицательное целое число такая, что для всех неотрицательных целых чисел ,
Если это установлено, то из этого следует, что сам по себе не является примитивно-рекурсивным, поскольку в противном случае приведет к противоречию
Доказательство проводится следующим образом: определим класс всех функций, которые растут медленнее, чем функция Аккермана
и покажи это содержит все примитивно-рекурсивные функции. Последнее достигается, если показать, что содержит постоянные функции, функцию-преемник, функции проецирования и что он замкнут при операциях композиции функций и примитивной рекурсии.
в вычислительной сложности Использование
Функция Аккермана появляется во временной сложности некоторых алгоритмов , [19] такие как системы сложения векторов [20] и достижимость сети Петри , [21] тем самым показывая, что они вычислительно неосуществимы для больших экземпляров. Обратная функция Акермана появляется в некоторых результатах по временной сложности.
Инверсия [ править ]
Поскольку рассмотренная выше функция f ( n ) = A ( n , n ) ее обратная функция очень быстро растет , f −1 , растет очень медленно. Эта обратная функция Аккермана f −1 обычно обозначается α . Фактически, α ( n ) меньше 5 для любого практического размера входных данных n , поскольку A (4, 4) имеет порядок .
Это обратное проявляется во временной сложности некоторых алгоритмов, таких как структура данных с непересекающимся набором и алгоритм Шазеля для минимальных остовных деревьев . Иногда в этих условиях используются исходная функция Аккермана или другие ее варианты, но все они растут с одинаково высокими темпами. В частности, некоторые модифицированные функции упрощают выражение, исключая −3 и подобные члены.
Двухпараметрическую вариацию обратной функции Аккермана можно определить следующим образом, где это функция пола :
Эта функция возникает при более точном анализе упомянутых выше алгоритмов и дает более точную оценку времени. В структуре данных с непересекающимся набором m представляет количество операций, а n представляет количество элементов; в алгоритме минимального остовного дерева m представляет количество ребер, а n представляет количество вершин. несколько несколько разных определений α ( m , n ) Существует ; например, log 2 n иногда заменяется на n , а функция пола иногда заменяется на потолок .
В других исследованиях может быть определена обратная функция, в которой m установлено в константу, так что обратная функция применяется к конкретной строке. [22]
Обратная функция Аккермана является примитивно-рекурсивной. [23]
Использовать в качестве эталона [ править ]
Функция Аккермана, благодаря ее определению в терминах чрезвычайно глубокой рекурсии, может использоваться в качестве эталона способности компилятора оптимизировать рекурсию. Первое опубликованное использование функции Аккермана таким образом было сделано в 1970 году Драгошем Вайдой. [24] и почти одновременно, в 1971 году, Ингве Сундблад. [14]
Основополагающая статья Сундблада была подхвачена Брайаном Вичманном (соавтором теста Whetstone ) в трилогии статей, написанных между 1975 и 1982 годами. [25] [26] [27]
См. также [ править ]
- Теория вычислимости
- Двойная рекурсия
- Быстрорастущая иерархия
- Функция Гудштейна
- Примитивная рекурсивная функция
- Рекурсия (информатика)
Примечания [ править ]
- ^ с обратным порядком параметров
- ^ ' карри '
- ^ На каждом этапе подчеркнутый редекс перезаписывается.
- ^ Jump up to: Перейти обратно: а б здесь: самая левая-внутренняя стратегия!
- ^ Jump up to: Перейти обратно: а б с д Для лучшей читаемости
S(0) обозначается как 1,
S(S(0)) обозначается как 2,
S(S(S(0))) обозначается цифрой 3,
и т. д... - ^ Максимальная глубина рекурсии относится к количеству уровней активации процедуры, которые существуют во время самого глубокого вызова процедуры. Корнелиус и Кирби (1975)
- ^ ЦИКЛ n+1 РАЗ DO F
Ссылки [ править ]
- ^ Монин и Хинчи 2003 , с. 61.
- ^ Jump up to: Перейти обратно: а б Аккерманн 1928 г.
- ^ «Десятичное разложение A(4,2)» . kosara.net . 27 августа 2000 г. Архивировано из оригинала 20 января 2010 г.
- ^ Калуд, Маркус и Теви 1979 .
- ^ Гильберт 1926 , с. 185.
- ^ ван Хейеноорт 1977 .
- ^ Питер 1935 .
- ^ Робинсон 1948 .
- ^ Ричи 1965 , с. 1028.
- ^ Jump up to: Перейти обратно: а б с Бак 1963 года .
- ^ Меуссен и Зантема 1992 , с. 6.
- ^ Мунафо 1999a .
- ^ Ричи 1965 .
- ^ Jump up to: Перейти обратно: а б Сундблад 1971 г.
- ^ Порту и Матос 1980 .
- ^ Гроссман и Зейтман 1988 .
- ^ Полсон 2021 .
- ^ Коэн 1987 , с. 56, предложение 3.16 (см. доказательство).
- ^ Брубейкер 2023 .
- ^ Червинский и Орликовский 2022 .
- ^ Леру 2022 .
- ^ Петти 2002 .
- ^ Матос 2014 .
- ^ Играть 1970 год .
- ^ Вихманн 1976 .
- ^ Вихманн 1977 .
- ^ Вихманн 1982 .
Библиография [ править ]
- Акерманн, Вильгельм (1928). «О гильбертовой структуре действительных чисел» . Математические летописи . 99 : 118–133. дои : 10.1007/BF01459088 . S2CID 123431274 .
- Бак, RC (1963). «Математическая индукция и рекурсивные определения». Американский математический ежемесячник . 70 (2): 128–135. дои : 10.2307/2312881 . JSTOR 2312881 .
- Калуде, Кристиан ; Маркус, Соломон ; Теви, Ионел (ноябрь 1979 г.). «Первый пример рекурсивной функции, которая не является примитивно-рекурсивной» . История математики . 6 (4): 380–84. дои : 10.1016/0315-0860(79)90024-7 .
- Коэн, Дэниел Э. (январь 1987 г.). Вычислимость и логика . Холстед Пресс. ISBN 9780745800349 .
- Корнелиус, Би Джей; Кирби, GH (1975). «Глубина рекурсии и функция Аккермана». БИТ Численная математика . 15 (2): 144–150. дои : 10.1007/BF01932687 . S2CID 120532578 .
- Червинский, Войцех; Орликовский, Лукаш (7 февраля 2022 г.). Достижимость в системах сложения векторов является полной по Аккерману . Материалы 62-го ежегодного симпозиума IEEE по основам информатики 2021 года. arXiv : 2104.13866 . дои : 10.1109/FOCS52979.2021.00120 .
- Гроссман, Джеррольд В.; Зейтман, Р.Сюзанна (май 1988 г.). «Итеративное по своей сути вычисление функции Аккермана». Теоретическая информатика . 57 (2–3): 327–330. дои : 10.1016/0304-3975(88)90046-1 .
- ван Хейеноорт, Жан (1977) [перепечатано с исправлениями, впервые опубликовано в 1967 году]. От Фреге до Гёделя: Справочник по математической логике, 1879–1931 . Издательство Гарвардского университета.
- Гильберт, Дэвид (1926). «О Бесконечном». Математические летописи . 95 : 161-190. дои : 10.1007/BF01206605 . S2CID 121888793 .
- Леру, Жером (7 февраля 2022 г.). Проблема достижимости сетей Петри не является примитивно-рекурсивной . Материалы 62-го ежегодного симпозиума IEEE по основам информатики 2021 года. arXiv : 2104.12695 . дои : 10.1109/FOCS52979.2021.00121 .
- Матос, Армандо Б. (7 мая 2014 г.). «Обратная функция Аккермана примитивно рекурсивна» (PDF) . Архивировано (PDF) из оригинала 9 октября 2022 г.
- Меуссен, VCS; Зантема, Х. (1992). Длины вывода при переписывании терминов на основе интерпретаций в натуральных числах (PDF) (Отчет). Университет Утрехта. УУ-КС, факультет компьютерных наук. ISSN 0924-3275 . Архивировано (PDF) из оригинала 9 октября 2022 г.
- Мейер, Альберт Р .; Ричи, Деннис Макалистер (1967). «Сложность циклических программ». Материалы 22-й национальной конференции 1967 года . ACM '67: Материалы 22-й национальной конференции 1967 года. стр. 465–469. дои : 10.1145/800196.806014 .
- Монен, Жан-Франсуа; Хинчи, М.Г. (2003). Понимание формальных методов . Спрингер. п. 61. ИСБН 9781852332471 .
- Мунафо, Роберт (1999a). «Варианты функции Аккермана» . Большие числа в MROB . Проверено 6 ноября 2021 г.
- Мунафо, Роберт (1999b). «Изобретение новых операторов и функций» . Большие числа в MROB . Проверено 6 ноября 2021 г.
- Полсон, Лоуренс К. (2021). «Функция Аккермана в итеративной форме: эксперимент-помощник по доказательству» . Проверено 19 октября 2021 г.
- Петер, Рожа (1935). «Построение нерекурсивных функций». Математические летописи . 111 : 42–60. дои : 10.1007/BF01472200 . S2CID 121107217 .
- Петти, С. (2002). «Нижняя оценка в стиле обратного Аккермана для онлайн-задачи проверки минимального остовного дерева». 43-й ежегодный симпозиум IEEE по основам информатики, 2002 г. Материалы . стр. 155–163. дои : 10.1109/SFCS.2002.1181892 . ISBN 0-7695-1822-2 . S2CID 8636108 .
- Порту, Антониу; Матос, Армандо Б. (1 сентября 1980 г.). «Акерманн и сверхдержавы» (PDF) . Новости ACM SIGACT . 12 (3): Исходная версия 1980 г., опубликована в «ACM SIGACT News», с изменениями от 20 октября 2012 г., с изменениями от 23 января 2016 г. (рабочий документ). дои : 10.1145/1008861.1008872 . S2CID 29780652 . Архивировано (PDF) из оригинала 9 октября 2022 г.
- Ричи, Роберт Уэллс (ноябрь 1965 г.). «Классы рекурсивных функций, основанные на функции Аккермана» . Тихоокеанский математический журнал . 15 (3): 1027–1044. дои : 10.2140/pjm.1965.15.1027 .
- Робинсон, Рафаэль Митчел (1948). «Рекурсия и двойная рекурсия» . Бюллетень Американского математического общества . 54 (10): 987–93. дои : 10.1090/S0002-9904-1948-09121-2 .
- Сундблад, Ингве (март 1971 г.). «Функция Аккермана. Теоретическое, вычислительное исследование и исследование формул». БИТ Численная математика . 11 (1): 107–119. дои : 10.1007/BF01935330 . S2CID 123416408 .
- Вайда, Драгош (1970). «Проверка компилятора для алголоподобного языка». Математический вестник Общества математических наук Социалистической Республики Румыния . Новая серия. 14 (62) (4): 487–502. JSTOR 43679758 .
- Уорд, Мартин П. (16 июля 1993 г.). Итерационные процедуры вычисления функции Аккермана . CiteSeerX 10.1.1.35.9907 .
- Вичманн, Брайан А. (март 1976 г.). «Функция Аккермана: исследование эффективности процедур вызова». БИТ Численная математика . 16 : 103–110. CiteSeerX 10.1.1.108.4125 . дои : 10.1007/BF01940783 . S2CID 16993343 .
- Вичманн, Брайан А. (июль 1977 г.). «Как вызывать процедуры, или размышления о функции Аккермана». БИТ Численная математика . 16 (3): 103–110. дои : 10.1002/спе.4380070303 . S2CID 206507320 .
- Вичманн, Брайан А. (июль 1982 г.). «Последние результаты теста вызова процедуры, функция Аккермана» (PDF) . Архивировано (PDF) из оригинала 9 октября 2022 г.
Внешние ссылки [ править ]
- «Функция Аккермана» . Энциклопедия математики . ЭМС Пресс . 2001 [1994].
- Вайсштейн, Эрик В. «Функция Аккермана» . Математический мир .
В этой статье использованы общедоступные материалы из Пол Э. Блэк. «Функция Аккермана» . Словарь алгоритмов и структур данных . НИСТ .
- Анимированный калькулятор функций Аккермана.
- Ааронсон, Скотт (1999). «Кто назовет большее число?» .
- Функции Аккермана . Включает таблицу некоторых значений.
- Брубейкер, Бен (04 декабря 2023 г.). «Просто кажущаяся проблема дает числа, слишком большие для нашей Вселенной» .
- Мунафо, Роберт. «Большие числа» . описывает несколько вариантов определения A .
- Ниваш, Габриэль (октябрь 2021 г.). «Обратный Аккерман без боли» . Архивировано из оригинала 21 августа 2007 г. Проверено 18 июня 2023 г.
- Зейдель, Раймунд. «Понимание обратной функции Аккермана» (PDF) .
- Функция Аккермана, написанная на разных языках программирования , (на Rosetta Code )
- Смит, Гарри Дж. «Функция Аккермана» . Архивировано из оригинала 26 октября 2009 г. ) Немного учебы и программирования.