stringtranslate.com

Обозначение Кнута со стрелкой вверх

В математике восходящая нотация Кнута — это метод записи очень больших целых чисел , введенный Дональдом Кнутом в 1976 году . [1]

В своей статье 1947 года [2] Р. Л. Гудстейн представил конкретную последовательность операций, которые теперь называются гипероперациями . Гудстейн также предложил греческие названия тетрация , пентация и т. д. для расширенных операций за пределами возведения в степень . Последовательность начинается с унарной операции ( функция-последователь с n = 0) и продолжается бинарными операциями сложения ( n = 1), умножения ( n = 2), возведения в степень ( n = 3), тетрации ( n = 4), пентации ( n = 5) и т. д. Для представления гиперопераций использовались различные обозначения . Одно из таких обозначений — обозначение со стрелкой вверх Кнута. Другое — обозначение со стрелкой вверх. Например:

Общее определение обозначения со стрелкой вверх выглядит следующим образом (для ): Здесь обозначает n стрелок, например Квадратные скобки — это еще одно обозначение для гиперопераций.

Введение

Гипероперации естественным образом расширяют арифметические операции сложения и умножения следующим образом. Сложение с натуральным числом определяется как итеративное приращение :

Умножение на натуральное число определяется как повторное сложение :

Например,

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

Например,

Тетрация определяется как итеративное возведение в степень, которое Кнут обозначил «двойной стрелкой»:

Например,

Выражения вычисляются справа налево, поскольку операторы определены как правоассоциативные .

Согласно этому определению,

и т. д.

Это уже приводит к некоторым довольно большим числам, но последовательность гипероператоров на этом не заканчивается.

Пентация , определяемая как итерированная тетрация, представлена ​​«тройной стрелкой»:

Гексация , определяемая как итерированная пентация, представлена ​​«четверной стрелкой»:

и так далее. Общее правило заключается в том, что оператор -стрелка расширяется в правоассоциативный ряд операторов ( )-стрелка. Символически,

Примеры:

Обозначение

В выражениях, таких как , запись возведения в степень обычно заключается в записи показателя степени в виде надстрочного индекса к основанию числа . Но многие среды — такие как языки программирования и электронная почта с обычным текстом — не поддерживают набор надстрочных индексов . Люди приняли линейную запись для таких сред; стрелка вверх означает «возведение в степень». Если набор символов не содержит стрелку вверх, вместо нее используется каретка (^).

Надстрочная нотация плохо поддается обобщению, что объясняет, почему Кнут решил работать с внутристрочной нотацией .

является более короткой альтернативной записью для n стрелок вверх. Таким образом .

Запись восходящей стрелочной нотации в терминах степеней

Попытка записать с использованием привычной надстрочной записи дает степенную башню .

Например:

Если является переменной величиной (или слишком большой), то башня мощности может быть записана с использованием точек и примечания, указывающего высоту башни.

Продолжая эту запись, можно записать ее с помощью стопки таких башен мощности, каждая из которых описывает размер той, что находится выше.

Опять же, если является переменной или слишком велик, стек может быть записан с использованием точек и примечания, указывающего его высоту.

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

И в более общем плане:

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

Использование тетрации

Обозначение Руди Ракера для тетрации позволяет нам сделать эти диаграммы немного проще, по-прежнему используя геометрическое представление (мы могли бы назвать их башнями тетрации ).

Наконец, в качестве примера, четвертое число Аккермана можно представить как:

Обобщения

Некоторые числа настолько велики, что множественные стрелки в обозначении Кнута со стрелкой вверх становятся слишком громоздкими; тогда полезен оператор n -стрелки (а также для описаний с переменным числом стрелок) или, что эквивалентно, гипероператоры .

Некоторые числа настолько велики, что даже эта нотация недостаточна. Тогда можно использовать нотацию цепочечных стрелок Конвея : цепочка из трех элементов эквивалентна другим нотациям, но цепочка из четырех или более элементов еще более мощна.

= , Так как = = , Таким образом, результат получается следующим:

= или (Петильон)

Даже быстрорастущие функции можно классифицировать с помощью порядкового анализа, называемого быстрорастущей иерархией . Быстрорастущая иерархия использует последовательную итерацию функции и диагонализацию для систематического создания быстрорастущих функций из некоторой базовой функции . Для стандартной быстрорастущей иерархии с использованием , уже демонстрирует экспоненциальный рост, сравним с тетрациональным ростом и ограничен сверху функцией, включающей первые четыре гипероператора;. Тогда, сравнима с функцией Аккермана , уже находится за пределами досягаемости индексированных стрелок, но может использоваться для аппроксимации числа Грэма и сравнима с произвольной длинной цепочкой стрелок Конвея.

Все эти функции вычислимы. Даже более быстрые вычислимые функции, такие как последовательность Гудстейна и последовательность TREE , требуют использования больших порядковых чисел и могут встречаться в определенных комбинаторных и теоретико-доказательных контекстах. Существуют функции, которые растут невычислимо быстро, такие как Busy Beaver , сама природа которых будет полностью вне досягаемости любой восходящей стрелки или даже любого порядкового анализа.

Определение

Без ссылки на гипероперацию операторы со стрелкой вверх можно формально определить следующим образом:

для всех целых чисел с [nb 1] .

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

В качестве альтернативы можно выбрать умножение в качестве базового случая и итерировать оттуда. Тогда возведение в степень становится повторным умножением. Формальное определение будет таким:

для всех целых чисел с .

Однако следует отметить, что Кнут не определил «нулевую стрелку» ( ). Можно было бы расширить обозначение до отрицательных индексов (n ≥ -2) таким образом, чтобы согласовать всю последовательность гиперопераций, за исключением задержки в индексации:

Операция «стрелка вверх» является правоассоциативной операцией , то есть понимается как , а не . Если неоднозначность не является проблемой, скобки иногда опускаются.

Таблицы значений

Вычисление 0↑н б

Вычисление результатов в

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

Вычисления 2↑н б

Вычисления можно переформулировать в терминах бесконечной таблицы. Мы размещаем числа в верхней строке и заполняем левый столбец значениями 2. Чтобы определить число в таблице, возьмите число сразу слева, затем найдите требуемое число в предыдущей строке, в позиции, заданной только что взятым числом.

Таблица такая же, как и у функции Аккермана , за исключением сдвига в и , а также прибавления 3 ко всем значениям.

Вычисления 3↑н б

Размещаем числа в верхней строке и заполняем левый столбец значениями 3. Чтобы определить число в таблице, берем число, стоящее слева, затем ищем требуемое число в предыдущей строке, на позиции, заданной только что взятым числом.

Вычисления 4↑н б

Размещаем числа в верхней строке и заполняем левый столбец значениями 4. Чтобы определить число в таблице, берем число, расположенное непосредственно слева, затем ищем требуемое число в предыдущей строке, на позиции, заданной только что взятым числом.

Вычисления 10↑н б

Размещаем числа в верхней строке и заполняем левый столбец значениями 10. Чтобы определить число в таблице, берем число, стоящее сразу слева, затем ищем требуемое число в предыдущей строке, на позиции, заданной только что взятым числом.

Для 2 ≤ b ≤ 9 числовой порядок чисел является лексикографическим порядком с n в качестве самого значимого числа, поэтому для чисел этих 8 столбцов числовой порядок просто строка за строкой. То же самое применимо к числам в 97 столбцах с 3 ≤ b ≤ 99, и если мы начнем с n = 1 даже для 3 ≤ b ≤ 9 999 999 999.

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

Примечания

  1. ^ abc Более подробную информацию см. в разделе Степени нуля .
  2. ^ Имейте в виду, что Кнут не определил оператор .
  3. ^ ab Для получения более подробной информации см. Ноль в степени ноль .

Ссылки

  1. ^ Кнут, Дональд Э. (1976). «Математика и информатика: преодоление конечности». Science . 194 (4271): 1235–1242. Bibcode :1976Sci...194.1235K. doi :10.1126/science.194.4271.1235. PMID  17797067. S2CID  1690489.
  2. RL Goodstein (декабрь 1947 г.). «Трансфинитные ординалы в рекурсивной теории чисел». Journal of Symbolic Logic . 12 (4): 123–129. doi :10.2307/2266486. JSTOR  2266486. S2CID  1318943.

Внешние ссылки