stringtranslate.com

Гипероперация

В математике последовательность гиперопераций [ nb 1] представляет собой бесконечную последовательность арифметических операций ( в данном контексте называемых гипероперациями ) [1] [11] [13], которая начинается с унарной операции ( функции-последователя с n = 0). Последовательность продолжается двоичными операциями сложения ( n = 1), умножения ( n = 2) и возведения в степень ( n = 3).

После этого последовательность переходит к дальнейшим двоичным операциям, выходящим за рамки возведения в степень, используя правую ассоциативность . Для операций, выходящих за рамки возведения в степень, n- й член этой последовательности назван Рубеном Гудштейном в честь греческого префикса n с суффиксом -ация (например, тетрация ( n = 4), пентация ( n = 5), гексация ( n = 6). ) и т. д.) [5] и может быть записано как использование n - 2 стрелок в обозначении Кнута, направленного вверх . Каждую гипероперацию можно понимать рекурсивно в терминах предыдущей:

Ее также можно определить в соответствии с частью определения, связанной с правилом рекурсии, как в версии Кнута функции Аккермана со стрелкой вверх :

Это можно использовать, чтобы легко показать числа, намного большие, чем те, которые можно использовать в научной записи , такие как число Скьюза и гуголплексплекс (например, намного больше, чем число Скьюза и гуголплексплекс), но есть некоторые числа, которые даже они не могут легко показать, например, число Грэма число и ДЕРЕВО(3) . [14]

Это правило рекурсии является общим для многих вариантов гиперопераций.

Определение

Определение, наиболее распространенное

Последовательность гиперопераций — это последовательность бинарных операций , определенная рекурсивно следующим образом:

(Обратите внимание, что при n = 0 бинарная операция по существу сводится к унарной операции ( функции-преемнику ), игнорируя первый аргумент.)

Для n = 0, 1, 2, 3 это определение воспроизводит основные арифметические операции преемника (который является унарной операцией), сложения , умножения и возведения в степень соответственно, как

Операции для n ≥ 3 можно записать в обозначении Кнута, направленном вверх .

Так какой же будет следующая операция после возведения в степень? Мы определили умножение так, что и возведение в степень, так что кажется логичным определить следующую операцию, тетрацию, чтобы с башней из трех «а». Аналогично, пентацией (a, 3) будет тетрация(a, тетрация(a, a)), с тремя «а» в ней.

Обозначение Кнута можно было бы расширить до отрицательных индексов ≥ −2 таким образом, чтобы оно согласовывалось со всей последовательностью гиперопераций, за исключением задержки в индексации:

Таким образом, гипероперации можно рассматривать как ответ на вопрос «что дальше» в последовательности : преемник , сложение , умножение , возведение в степень и так далее. отмечая, что

проиллюстрирована взаимосвязь между основными арифметическими операциями, что позволяет естественным образом определить более высокие операции, как указано выше. Параметры иерархии гиперопераций иногда называют аналогичным термином возведения в степень; [15] поэтому a — это база , bпоказатель степени (или гиперпоказатель ), [12] и nранг (или класс ), [6] и, кроме того, читается как « b- я n -ация a » , например, читается как «9-я тетрация 7», а читается как «789-я 123-я 456».

Проще говоря, гипероперации — это способы соединения чисел, которые увеличиваются в росте в зависимости от итерации предыдущей гипероперации. Понятия преемника, сложения, умножения и возведения в степень — это гипероперации; операция-преемник (производящая x + 1 из x ) является наиболее примитивной, оператор сложения указывает, сколько раз нужно прибавить к себе 1, чтобы получить окончательное значение, умножение указывает, сколько раз нужно прибавить число само по себе, а возведение в степень относится к тому, сколько раз число должно быть умножено само на себя.

Определение с использованием итерации

Определим итерацию функции f двух переменных как

Последовательность гиперопераций можно определить в терминах итерации следующим образом. Для всех целых чисел определите

Поскольку итерация ассоциативна , последнюю строку можно заменить на

Вычисление

Определения последовательности гиперопераций естественным образом могут быть перенесены в системы переписывания терминов (TRS) .

ИВВ на основе определения подпункта 1.1

Основное определение последовательности гиперопераций соответствует правилам редукции.

Для вычислений можно использовать стек , который изначально содержит элементы .

Затем, неоднократно, пока это становится невозможным, три элемента извлекаются и заменяются в соответствии с правилами [nb 2]

Схематически, начиная с :

ПОКА stackLength <> 1{ POP 3 элемента; НАЖМИТЕ 1 или 5 элементов по правилам r1, r2, r3, r4, r5;}

Пример

Вычислить . [16]

Последовательность сокращения: [nb 2] [17]

При реализации с использованием стека на входе

ИВВ на основе определения подпункта 1.2

Определение с использованием итерации приводит к другому набору правил сокращения.

Поскольку итерация ассоциативна , вместо правила r11 можно определить

Как и в предыдущем разделе, вычисление можно реализовать с помощью стека.

Первоначально стек содержит четыре элемента .

Затем, до завершения, четыре элемента извлекаются и заменяются в соответствии с правилами [nb 2]

Схематически, начиная с :

ПОКА stackLength <> 1{ POP 4 элемента; НАЖИМАЙТЕ 1 или 7 элементов по правилам r6, r7, r8, r9, r10, r11;}

Пример

Вычислить .

На входе подаются последовательные конфигурации стека.

Соответствующие равенства имеют вид

Когда правило сокращения r11 заменяется правилом r12, стек преобразуется в соответствии с

Последовательные конфигурации стека будут тогда

Соответствующие равенства имеют вид

Примечания

Примеры

Ниже приведен список первых семи (с 0 по 6) гиперопераций ( 0⁰ определяется как 1).

Особые случаи

ЧАС ( 0 , б ) =

б + 1, когда n = 0
б , когда n = 1
0, когда n = 2
1, когда n = 3 и b = 0 [nb 3] [nb 4]
0, когда n = 3 и b > 0 [nb 3] [nb 4]
1, когда n > 3 и b четно (включая 0)
0, когда n > 3 и b нечетно

ЧАС ( 1, б ) =

б , когда n = 2
1, когда n ≥ 3

ЧАС п ( а , 0) =

0, когда n = 2
1, когда n = 0 или n ≥ 3
а , когда n = 1

ЧАС п ( а , 1) =

а, когда n ≥ 2

ЧАС п ( а , а ) знак равно

H n+1 ( a , 2), когда n ≥ 1

ЧАС п ( а , −1) = [nb 5]

0, когда n = 0 или n ≥ 4
а − 1, когда n = 1
а , когда n = 2
1/а , когда n = 3

Ч н (2, 2) =

3, когда n = 0
4, когда n ≥ 1, легко доказывается рекурсивно.

История

Одним из первых обсуждений гиперопераций было обсуждение Альберта Беннета [6] в 1914 году, который разработал часть теории коммутативных гиперопераций (см. ниже). Примерно 12 лет спустя Вильгельм Акерманн определил функцию [20] , которая чем-то напоминает последовательность гиперопераций.

В своей статье 1947 года [5] Рубен Гудстейн представил конкретную последовательность операций, которые сейчас называются гипероперациями , а также предложил греческие названия тетрация , пентация и т. д. для расширенных операций, выходящих за рамки возведения в степень (поскольку они соответствуют индексам 4, 5 и др.). В качестве функции с тремя аргументами, например, последовательность гиперопераций в целом рассматривается как версия исходной функции Аккерманарекурсивной , но не примитивно-рекурсивной — модифицированной Гудштейном для включения примитивной функции-преемника вместе с тремя другими базовыми функциями. арифметические операции ( сложение , умножение , возведение в степень ) и сделать их более плавным расширением за пределы возведения в степень.

Исходная функция Аккермана с тремя аргументами использует то же правило рекурсии, что и ее версия Гудштейна (т. е. последовательность гиперопераций), но отличается от нее двумя способами. Во-первых, определяет последовательность операций, начиная со сложения ( n = 0), а не с функции-преемника , затем умножения ( n = 1), возведения в степень ( n = 2) и т. д. Во-вторых, начальные условия для получения результата в , таким образом, отличаются от гипероперации за пределами возведения в степень. [7] [21] [22] Значение b + 1 в предыдущем выражении заключается в том, что = , где b подсчитывает количество операторов (возведение в степень), а не количество операндов («a»), как это происходит b in и т. д . для операций более высокого уровня. ( Подробнее см. в статье о функции Аккермана .)

Обозначения

Это список обозначений, которые использовались для гиперопераций.

Вариант, начиная са

В 1928 году Вильгельм Аккерман определил функцию с тремя аргументами , которая постепенно превратилась в функцию с двумя аргументами, известную как функция Аккермана . Исходная функция Аккермана была менее похожа на современные гипероперации, потому что его начальные условия начинаются с для всех n > 2. Кроме того , он назначил сложение n = 0, умножение n = 1 и возведение в степень n = 2, поэтому начальные условия дают очень различные операции по тетрации и далее.

Другое использованное начальное условие (где база постоянна ) связано с Рожа Петером , которое не образует иерархию гиперопераций.

Вариант начиная с 0

В 1984 году К.В. Кленшоу и Ф.В.Дж. Олвер начали обсуждение использования гиперопераций для предотвращения компьютерных переполнений с плавающей запятой . [29] С тех пор многие другие авторы [30] [31] [32] возобновили интерес к применению гиперопераций к представлению с плавающей запятой . (Поскольку все H n ( a , b ) определены для b = -1.) Обсуждая тетратирование , Clenshaw et al. принял начальное условие , что создает еще одну иерархию гиперопераций. Как и в предыдущем варианте, четвертая операция очень похожа на тетрацию , но смещена на единицу.

Нижние гипероперации

Альтернатива этим гипероперациям получается путем вычисления слева направо. [9] Поскольку

определить (с ° или индексом)

с

Это было распространено на порядковые числа Донером и Тарским [33] следующим образом:

Из определения 1(i), следствия 2(ii) и теоремы 9 следует, что для a ≥ 2 и b ≥ 1 [ оригинальное исследование? ]

Но это терпит своего рода крах, поскольку не удается сформировать «энергетическую башню», традиционно ожидаемую от гипероператоров: [34] [nb 6]

Если α ≥ 2 и γ ≥ 2, [28] [Следствие 33(i)] [nb 6]

Коммутативные гипероперации

Коммутативные гипероперации были рассмотрены Альбертом Беннетом еще в 1914 году [6] , что, возможно, является самым ранним замечанием о любой последовательности гиперопераций. Коммутативные гипероперации определяются правилом рекурсии

который симметричен относительно a и b , что означает, что все гипероперации коммутативны. Эта последовательность не содержит возведения в степень и поэтому не образует иерархию гиперопераций.

Системы счисления, основанные на последовательности гиперопераций

Р. Л. Гудштейн [5] использовал последовательность гипероператоров для создания систем счисления неотрицательных целых чисел. Так называемое полное наследственное представление целого числа n на уровне k и базе b можно выразить следующим образом, используя только первые k гипероператоров и используя в качестве цифр только 0, 1, ..., b − 1 вместе с базой сам б :

б [ k ] x k [ k - 1] x k - 1 [ k - 2] ... [2] x 2 [1] x 1
где x k , ..., x 1 — наибольшие целые числа, удовлетворяющие (по очереди)
б [ k ] x kn
б [ k ] x k [ k - 1] x k - 1n
...
б [ k ] x k [ k - 1] x k - 1 [ k - 2] ... [2] x 2 [1] x 1n
Любой x i , превышающий b − 1, затем повторно выражается таким же образом, и так далее, повторяя эту процедуру до тех пор, пока результирующая форма не будет содержать только цифры 0, 1, ..., b − 1 вместе с основанием b .

Ненужных круглых скобок можно избежать, предоставив операторам более высокого уровня более высокий приоритет в порядке вычисления; таким образом,

представления уровня 1 имеют форму b [1] X, причем X также имеет эту форму;
представления уровня 2 имеют форму b[2] X [1] Y, причем X , Y также имеют эту форму;
представления уровня 3 имеют форму b[3] X [2] Y [1] Z, причем X , Y , Z также имеют эту форму;
представления уровня 4 имеют форму b[4] X [3] Y [2] Z [1] W, причем X , Y , Z , W также имеют эту форму;

и так далее.

В этом типе наследственного представления по базе b в выражениях фигурирует сама база, а также «цифры» из набора {0, 1, ..., b − 1}. Это можно сравнить с обычным представлением по основанию 2, когда последнее записывается в терминах основания b ; например, в обычной записи с основанием 2: 6 = (110) 2 = 2 [3] 2 [2] 1 [1] 2 [3] 1 [2] 1 [1] 2 [3] 0 [2] 0, тогда как наследственное представление уровня 3 по основанию 2 равно 6 = 2 [3] (2 [3] 1 [2] 1 [1] 0) [2] 1 [1] (2 [3] 1 [2] 1 [ 1] 0). Наследственные представления можно сократить, опуская любые экземпляры [1] 0, [2] 1, [3] 1, [4] 1 и т. д.; например, приведенное выше представление числа 6 по основанию 2 на уровне 3 сокращается до 2 [3] 2 [1] 2.

Примеры: Уникальные представления числа 266 по основанию 2 на уровнях 1, 2, 3, 4 и 5 следующие:

Уровень 1: 266 = 2 [1] 2 [1] 2 [1] ... [1] 2 (с 133 2 с)
Уровень 2: 266 = 2 [2] (2 [2] (2 [2] (2 [2] 2 [2] 2 [2] 2 [2] 2 [1] 1)) [1] 1)
Уровень 3: 266 = 2 [3] 2 [3] (2 [1] 1) [1] 2 [3] (2 [1] 1) [1] 2
Уровень 4: 266 = 2 [4] (2 [1] 1) [3] 2 [1] 2 [4] 2 [2] 2 [1] 2
Уровень 5: 266 = 2 [5] 2 [4] 2 [1] 2 [5] 2 [2] 2 [1] 2

Смотрите также

Примечания

  1. ^ Последовательности, подобные последовательности гиперопераций, исторически назывались под многими именами, в том числе: функция Аккермана [1] (3-аргумент), иерархия Аккермана , [2] иерархия Гжегорчика [ 3] [4] (что более в общем), версия Гудштейна функции Аккермана , [5] операция n-го класса , [6] z-кратное итерированное возведение в степень x с y , [7] стрелочные операции , [8] рейхеналгебра [9] и гипер-n . [1] [9] [10] [11] [12]
  2. ^ abc Это реализует самую левую внутреннюю (одношаговую) стратегию .
  3. ^ abc Для получения более подробной информации см. Степени нуля .
  4. ^ abc Для получения более подробной информации см. Ноль в нулевой степени .
  5. ^ abc Пусть x = a [ n ](−1). По рекурсивной формуле a [ n ]0 = a [ n − 1]( a [ n ](−1)) ⇒ 1 = a [ n − 1] x . Одним из решений является x = 0, поскольку a [ n − 1]0 = 1 по определению, когда n ≥ 4. Это решение единственное, поскольку a [ n − 1] b > 1 для всех a > 1, b > 0 (доказательство рекурсия).
  6. ^ ab Порядковое сложение не коммутативно; см. порядковую арифметику для получения дополнительной информации

Рекомендации

  1. ^ abc Гейслер 2003.
  2. ^ Фридман 2001.
  3. ^ Кампаньола, Мур и Феликс Коста 2002.
  4. ^ Вирц 1999.
  5. ^ abcde Гудстейн 1947.
  6. ^ abcd Беннетт 1915.
  7. ^ аб Блэк 2009.
  8. ^ Литтлвуд 1948.
  9. ^ abc Мюллер 1993.
  10. ^ Мунафо 1999а.
  11. ^ Аб Роббинс 2005.
  12. ^ аб Галидакис 2003.
  13. ^ Рубцов и Ромерио 2005.
  14. ^ Таунсенд 2016.
  15. ^ Ромерио 2008.
  16. ^ Безем, Клоп и Де Вриер 2003.
  17. ^ На каждом этапе подчеркнутый редекс перезаписывается.
  18. ^ Максимальная глубина рекурсии относится к количеству уровней активации процедуры, которые существуют во время самого глубокого вызова процедуры. Корнелиус и Кирби (1975)
  19. ^ LOOP n РАЗ DO H.
  20. ^ аб Аккерманн 1928.
  21. ^ abc Munafo 1999b.
  22. ^ Коулз и Бейли 1988.
  23. ^ Кнут 1976.
  24. ^ Цвиллингер 2002.
  25. ^ Вайсштейн 2003.
  26. ^ Гильберт 1926.
  27. ^ Намбиар 1995.
  28. ^ Аб Донер и Тарский 1969.
  29. ^ Кленшоу и Олвер 1984.
  30. ^ Холмс 1997.
  31. ^ Циммерманн 1997.
  32. ^ Пинкевич, Холмс и Джамиль 2000.
  33. ^ Донер и Тарский 1969, Определение 1.
  34. ^ Донер и Тарский, 1969, Теорема 3(iii).

Библиография