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

Из Википедии, бесплатной энциклопедии

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

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

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

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

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

Определение [ править ]

Определение, наиболее распространенное [ править ]

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

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

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

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

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

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

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

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

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

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

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

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

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

Вычисление [ править ]

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

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

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

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

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

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

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

Пример

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

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

    
    
    
    
    
    
    
    
    

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

конфигурации стека      представляют уравнения
         
         
         
         
         
         
         
         
         

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

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

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

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

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

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

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

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

Пример

Вычислить .

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

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

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

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

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

Примечания

  • это особый случай. См. ниже. [номер 3] [номер 4]
  • Вычисление по правилам {r6 - r10, r11} является сильно рекурсивным. Виновником является порядок выполнения итерации: . Первый исчезает только после того, как вся последовательность развернута. Например, сходится к 65536 за 2863311767 шагов, максимальная глубина рекурсии [18] это 65534.
  • Вычисление по правилам {r6 - r10, r12} в этом отношении более эффективно. Реализация итерации как имитирует повторное выполнение процедуры H. [19] Глубина рекурсии (n+1) соответствует вложенности циклов. Мейер и Ричи (1967) формализовали эту переписку. Вычисление по правилам {r6-r10, r12} также необходимо 2863311767 шагов для сходимости к 65536, но максимальная глубина рекурсии составляет всего 5, так как тетрация является 5-м оператором в последовательности гиперопераций.
  • Приведенные выше соображения касаются только глубины рекурсии. Любой способ итерации приводит к одинаковому количеству шагов сокращения с использованием одних и тех же правил (когда правила r11 и r12 считаются «одинаковыми»). Как показывает пример, сокращение сходится за 9 шагов: 1 X r7, 3 X r8, 1 X r9, 2 X r10, 2 X r11/r12. Modus iterandi влияет только на порядок применения правил сокращения.

Примеры [ править ]

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

н Операция,
Ч н ( а , б )
Определение Имена Домен
0 или Приращение, преемник , зерация, гипер0 Произвольный
1 или Дополнение , гипер1
2 или Умножение , гипер2
3 или Возведение в степень , гипер3 b действительный, с некоторыми многозначными расширениями комплексных чисел
4 или Тетрация , гипер4 a ≥ 0 или целое число, b целое число ≥ −1 [номер 5] (с некоторыми предлагаемыми расширениями)
5 или Пентация , гипер5 a , b целые числа ≥ −1 [номер 5]
6 Гексация, гипер6

Особые случаи [ править ]

ЧАС ( 0 , б ) =

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

ЧАС ( 1, б ) =

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

Hn а ( , 0) =

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

Hn а ( , 1) =

а, когда n ≥ 2

Hn а ( , а ) =

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

Hn а ( , −1) = [номер 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 в и так далее для операций более высокого уровня. ( о функции Аккермана Подробную информацию см. в статье .)

Обозначения [ править ]

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

Имя Обозначение, эквивалентное Комментарий
Обозначение Кнута со стрелкой вверх Используется Кнутом [23] (при n ≥ 3) и встречается в нескольких справочниках. [24] [25]
Обозначение Гильберта Используется Дэвидом Гилбертом . [26]
Обозначение Гудштейна Используется Рубеном Гудштейном . [5]
Оригинальная функция Аккермана Используется Вильгельмом Акерманном (для n ≥ 1) [20]
Функция Аккермана – Петера Это соответствует гипероперациям для базы 2 ( a = 2)
Обозначения Намбиара Используется Намбиаром (при n ≥ 1) [27]
Надстрочное обозначение Используется Робертом Мунафо [21]
Обозначение индекса (для нижних гиперопераций) Используется для нижних гиперопераций Робертом Мунафо. [21]
Обозначение оператора (для «расширенных операций») Используется для нижних гиперопераций Джоном Донером и Альфредом Тарским (при n ≥ 1). [28]
Обозначение квадратных скобок Используется на многих интернет-форумах; удобно для ASCII .
Обозначение цепной стрелки Конвея Используется Джоном Хортоном Конвеем (для n ≥ 3)

Вариант, начинающийся править [ с ]

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

н Операция Комментарий
0
1
2
3 Смещенная форма тетрации . Итерация этой операции отличается от итерации тетрации.
4 Не путать с пентацией .

Другое начальное условие, которое использовалось, это (где база постоянна ), благодаря Rózsa Péter , который не образует иерархию гиперопераций.

Вариант начиная с 0 [ править ]

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

н Операция Комментарий
0
1
2
3
4 Смещенная форма тетрации . Итерация этой операции сильно отличается итерации тетрации . от
5 Не путать с пентацией .

Нижние гипероперации [ править ]

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

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

с

Донер и Тарский распространили это на порядковые числа. [33] к :

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

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

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

н Операция Комментарий
0 приращение, преемник, зерация
1
2
3
4 Не путать с тетрацией .
5 Не путать с пентацией .
Похоже на тетрацию .

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

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

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

н Операция Комментарий
0 Плавный максимум
1
2 Это связано со свойствами логарифма .
3
4 Не путать с тетрацией .

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

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

  • Для 0 ≤ n b − 1 n обозначается просто соответствующей цифрой.
  • Для n > b - 1 представление n находится рекурсивно, сначала представляя n в виде
б [ k ] x k [ k - 1] x k - 1 [ k - 2] ... [2] x 2 [1] x 1
где x k , ..., x 1 — наибольшие целые числа, удовлетворяющие (по очереди)
б [ k ] x k n
б [ k ] x k [ k - 1] x k - 1 n
...
б [ k ] x k [ k - 1] x k - 1 [ k - 2] ... [2] x 2 [1] x 1 n
Любой 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] и гипер-н . [1] [9] [10] [11] [12]
  2. ^ Перейти обратно: а б с Это реализует самую левую внутреннюю (одношаговую) стратегию .
  3. ^ Перейти обратно: а б с Для получения более подробной информации см. Степени нуля .
  4. ^ Перейти обратно: а б с Дополнительные сведения см. в разделе Ноль в степени нуля .
  5. ^ Перейти обратно: а б с Пусть 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. ^ Перейти обратно: а б Порядковое сложение не коммутативно; см. порядковую арифметику для получения дополнительной информации

Ссылки [ править ]

  1. ^ Перейти обратно: а б с Гейслер 2003 .
  2. ^ Фридман 2001 .
  3. ^ Кампаньола, Мур и Феликс Коста 2002 .
  4. ^ Вирц 1999 .
  5. ^ Перейти обратно: а б с д Это Гудстейн 1947 .
  6. ^ Перейти обратно: а б с д Беннетт 1915 год .
  7. ^ Перейти обратно: а б Черный 2009 год .
  8. ^ Литлвуд 1948 .
  9. ^ Перейти обратно: а б с Мюллер 1993 .
  10. ^ Мунафо 1999a .
  11. ^ Перейти обратно: а б Роббинс 2005 .
  12. ^ Перейти обратно: а б Галидакис 2003 .
  13. ^ Рубцов и Ромерио 2005 .
  14. ^ Таунсенд 2016 .
  15. ^ Ромеро 2008 .
  16. ^ Брум, Клоп и Де Вриер 2003 .
  17. ^ На каждом этапе подчеркнутый редекс перезаписывается.
  18. ^ Максимальная глубина рекурсии относится к количеству уровней активации процедуры, которые существуют во время самого глубокого вызова процедуры. Корнелиус и Кирби (1975)
  19. ^ LOOP n РАЗ DO H.
  20. ^ Перейти обратно: а б Аккерманн 1928 г.
  21. ^ Перейти обратно: а б с Мунафо 1999б .
  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).

Библиография [ править ]

  • Акерманн, Вильгельм (1928). «О гильбертовой структуре действительных чисел» . Математические летописи . 99 : 118–133. дои : 10.1007/BF01459088 . S2CID   123431274 .
  • Беннетт, Альберт А. (декабрь 1915 г.). «Записка об операции третьего класса». Анналы математики . Вторая серия. 17 (2): 74–75. дои : 10.2307/2007124 . JSTOR   2007124 .
  • Брум, Марк; Клоп, Ян Виллем; Де Вриер, Роэль (2003). «Системы переписывания терминов первого порядка». Системы переписывания терминов от «Терезы» . Издательство Кембриджского университета. стр. 38–39. ISBN  0-521-39115-6 .
  • Гудштейн, Рубен Луи (декабрь 1947 г.). «Трансфинитные ординалы в рекурсивной теории чисел». Журнал символической логики . 12 (4): 123–129. дои : 10.2307/2266486 . JSTOR   2266486 . S2CID   1318943 .
  • Пинкевич, Т.; Холмс, Н.; Джамиль, Т. (2000). «Проектирование составной арифметической единицы рациональных чисел». Материалы конференции IEEE Southeast Con 2000. «Подготовка к новому тысячелетию» (кат. № 00CH37105) . Труды IEEE. стр. 245–252. дои : 10.1109/SECON.2000.845571 . ISBN  0-7803-6312-4 . S2CID   7738926 .
  • Вайсштейн, Эрик В. (2003). Краткая математическая энциклопедия CRC, 2-е издание ЦРК Пресс. стр. 100-1 127–128. ISBN  1-58488-347-2 .
  • Цвиллингер, Дэниел (2002). Стандартные математические таблицы и формулы CRC, 31-е издание . ЦРК Пресс. п. 4. ISBN  1-58488-291-3 .