Обозначение Кнута со стрелкой вверх - Knuth's up-arrow notation

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

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

Для представления гиперопераций использовались различные обозначения . Одно из таких обозначений . Другая нотация - это инфиксная нотация, удобная для ASCII . Обозначение известно как «обозначение квадратных скобок».

Обозначение Кнута со стрелкой вверх является альтернативным обозначением. Он получается заменой в квадратных скобках обозначений на стрелки.

Например:

  • двойная стрелка представляет собой тетрацию (повторное возведение в степень)
  • тройная стрелка представляет пентацию (повторное тетрирование)

Общее определение обозначения стрелки вверх следующее (для ):

Здесь обозначено n стрелок, например,

.

Вступление

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

Добавление с помощью натурального числа определяются как итерированное приращение:

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

Например,

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

Например,

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

Например,

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

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

и т.п.

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

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

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

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

Примеры:

Обозначение

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

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

это более короткое альтернативное обозначение n вверх. Итак .

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

Написание нотации со стрелкой вверх в терминах степеней

Попытка написать, используя знакомую нотацию надстрочного индекса, дает башню силы.

Например:

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

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

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

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

И вообще:

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

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

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

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

Обобщения

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

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

= , Так как = = , Таким образом, результат выходит с

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

Примечание: Phi = = =

Определение

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

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

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

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

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

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

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

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

Вычисление 0 ↑ n  b

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

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

Вычисление 2 ↑ n  b

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

Значения = = = 2 → b → n
б
1 2 3 4 5 6 формула
1 2 4 8 16 32 64
2 2 4 16 65536
3 2 4 65536
4 2 4      

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

Вычисление 3 ↑ n  b

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

Значения = = = 3 → b → n
б
1 2 3 4 5 формула
1 3 9 27 81 год 243
2 3 27 7 625 597 484 987
3 3 7 625 597 484 987    
4 3      

Вычисление 4 ↑ n  b

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

Значения = = = 4 → b → n
б
1 2 3 4 5 формула
1 4 16 64 256 1024
2 4 256
3 4    
4 4      

Вычисление 10 ↑ n  b

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

Значения = = = 10 → b → n
б
1 2 3 4 5 формула
1 10 100 1,000 10 000 100 000
2 10 10 000 000 000
3 10  
4 10    

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

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

Примечания

  1. ^ Имейте в виду, что Кнут не определял оператора.
  2. ^ a b Подробнее см. Степень нуля .
  3. ^ a b Подробнее см. Ноль в степени нуля .

использованная литература

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