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

редактировать

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

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

Для представления гиперопераций использовались различные обозначения. Одно из таких обозначений. Другая нотация - это инфиксная нотация, удобная для ASCII. Обозначение известно как «обозначение квадратных скобок». ЧАС п ( а , б ) {\ Displaystyle H_ {п} (а, б)} а [ п ] б {\ displaystyle a [n] b} а [ п ] б {\ displaystyle a [n] b}

Обозначение Кнута со стрелкой вверх является альтернативным обозначением. Он получается заменой в квадратных скобках обозначений на стрелки. {\ displaystyle \ uparrow} [ п ] {\ Displaystyle [п]} п - 2 {\ displaystyle n-2}

Например:

2 4 знак равно ЧАС 3 ( 2 , 4 ) знак равно 2 [ 3 ] 4 знак равно 2 × ( 2 × ( 2 × 2 ) ) знак равно 2 4 знак равно 16 {\ displaystyle 2 \ uparrow 4 = H_ {3} (2,4) = 2 [3] 4 = 2 \ times (2 \ times (2 \ times 2)) = 2 ^ {4} = 16}
  • двойная стрелка представляет собой тетрацию (повторное возведение в степень) ↑↑ {\ displaystyle \ uparrow \ uparrow}
2 ↑↑ 4 знак равно ЧАС 4 ( 2 , 4 ) знак равно 2 [ 4 ] 4 знак равно 2 ( 2 ( 2 2 ) ) знак равно 2 2 2 2 знак равно 2 16 знак равно 65536 {\ displaystyle 2 \ uparrow \ uparrow 4 = H_ {4} (2,4) = 2 [4] 4 = 2 \ uparrow (2 \ uparrow (2 \ uparrow 2)) = 2 ^ {2 ^ {2 ^ { 2}}} = 2 ^ {16} = 65536}
  • тройная стрелка представляет пентацию (повторное тетрирование) ↑↑↑ {\ displaystyle \ uparrow \ uparrow \ uparrow}
2 ↑↑↑ 4 знак равно ЧАС 5 ( 2 , 4 ) знак равно 2 [ 5 ] 4 знак равно 2 ↑↑ ( 2 ↑↑ ( 2 ↑↑ 2 ) ) знак равно 2 ↑↑ ( 2 ↑↑ ( 2 2 ) ) знак равно 2 ↑↑ ( 2 ↑↑ 4 ) знак равно 2 ( 2 ( 2 ) ) 2 ↑↑ 4  копии  2 {\ displaystyle {\ begin {align} 2 \ uparrow \ uparrow \ uparrow 4 = H_ {5} (2,4) = 2 [5] 4 amp; = 2 \ uparrow \ uparrow (2 \ uparrow \ uparrow (2 \ uparrow \ вверх 2)) \\ amp; = 2 \ uparrow \ uparrow (2 \ uparrow \ uparrow (2 \ uparrow 2)) \\ amp; = 2 \ uparrow \ uparrow (2 \ uparrow \ uparrow 4) \\ amp; = \ underbrace { 2 \ uparrow (2 \ uparrow (2 \ uparrow \ dots))} \\ amp; 2 \ uparrow \ uparrow 4 {\ t_dv {копии}} 2 \\\ конец {выровнены}}}

Общее определение обозначения стрелки вверх следующее (для): а 0 , п 1 , б 0 {\ Displaystyle а \ geq 0, п \ geq 1, б \ geq 0}

а п б знак равно ЧАС п + 2 ( а , б ) знак равно а [ п + 2 ] б {\ displaystyle a \ uparrow ^ {n} b = H_ {n + 2} (a, b) = a [n + 2] b}

Здесь обозначено n стрелок, например, п {\ displaystyle \ uparrow ^ {n}}

2 ↑↑↑↑ 3 знак равно 2 4 3 {\ displaystyle 2 \ uparrow \ uparrow \ uparrow \ uparrow 3 = 2 \ uparrow ^ {4} 3}.
СОДЕРЖАНИЕ
  • 1 Введение
  • 2 Обозначения
    • 2.1 Запись обозначений, направленных вверх, в терминах степеней
      • 2.1.1 Использование тетрации
  • 3 Обобщения
  • 4 Определение
  • 5 Таблицы значений
    • 5.1 Вычисление 0 ↑ n  b
    • 5.2 Вычисление 2 ↑ n  b
    • 5.3 Вычисление 3 ↑ n  b
    • 5.4 Вычисление 4 ↑ n  b
    • 5.5 Вычисление 10 ↑ n  b
  • 6 См. Также
  • 7 Примечания
  • 8 ссылки
  • 9 Внешние ссылки
Вступление

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

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

ЧАС 1 ( а , б ) знак равно а [ 1 ] б знак равно а + б знак равно а + 1 + 1 + + 1 б  копии  1 {\ displaystyle {\ begin {matrix} H_ {1} (a, b) = a [1] b = a + b = amp; a + \ underbrace {1 + 1 + \ dots +1} \\ amp; b {\ t_dv {копии из}} 1 \ end {matrix}}}

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

ЧАС 2 ( а , б ) знак равно а [ 2 ] б знак равно а × б знак равно а + а + + а б  копии  а {\ displaystyle {\ begin {matrix} H_ {2} (a, b) = a [2] b = a \ times b = amp; \ underbrace {a + a + \ dots + a} \\ amp; b {\ t_dv {копирует of}} a \ end {matrix}}}

Например,

3 × 4 знак равно 3 + 3 + 3 + 3 знак равно 12 4  копии  3 {\ displaystyle {\ begin {matrix} 3 \ times 4 amp; = amp; \ underbrace {3 + 3 + 3 + 3} amp; = amp; 12 \\ amp;amp; 4 {\ t_dv {копии}} 3 \ end {matrix}}}

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

а б знак равно ЧАС 3 ( а , б ) знак равно а [ 3 ] б знак равно а б знак равно а × а × × а б  копии  а {\ displaystyle {\ begin {matrix} a \ uparrow b = H_ {3} (a, b) = a [3] b = a ^ {b} = amp; \ underbrace {a \ times a \ times \ dots \ times a} \\ amp; b {\ t_dv {копии}} a \ end {matrix}}}

Например,

4 3 знак равно 4 3 знак равно 4 × 4 × 4 знак равно 64 3  копии  4 {\ displaystyle {\ begin {matrix} 4 \ uparrow 3 = 4 ^ {3} = amp; \ underbrace {4 \ times 4 \ times 4} amp; = amp; 64 \\ amp; 3 {\ t_dv {копии}} 4 \ end { матрица}}}

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

а ↑↑ б знак равно ЧАС 4 ( а , б ) знак равно а [ 4 ] б знак равно а а . . . а знак равно а ( а ( а ) ) б  копии  а б  копии  а {\ displaystyle {\ begin {matrix} a \ uparrow \ uparrow b = H_ {4} (a, b) = a [4] b = amp; \ underbrace {a ^ {a ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {a}}}}}}} amp; = amp; \ underbrace {a \ uparrow (a \ uparrow (\ dots \ uparrow a))} \\ amp; b {\ t_dv {копии }} a amp;amp; b {\ t_dv {копии}} a \ end {matrix}}}

Например,

4 ↑↑ 3 знак равно 4 4 4 знак равно 4 ( 4 4 ) знак равно 4 256 1,34078079 × 10 154 3  копии  4 3  копии  4 {\ displaystyle {\ begin {matrix} 4 \ uparrow \ uparrow 3 = amp; \ underbrace {4 ^ {4 ^ {4}}} amp; = amp; \ underbrace {4 \ uparrow (4 \ uparrow 4)} amp; = amp; 4 ^ {256} amp; \ приблизительно amp; 1.34078079 \ times 10 ^ {154} amp; \\ amp; 3 {\ t_dv {копии}} 4 amp;amp; 3 {\ t_dv {копии}} 4 \ end {matrix}}}

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

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

3 ↑↑ 2 знак равно 3 3 знак равно 27 {\ displaystyle 3 \ uparrow \ uparrow 2 = 3 ^ {3} = 27}
3 ↑↑ 3 знак равно 3 3 3 знак равно 3 27 знак равно 7 , 625 , 597 , 484 , 987 {\ displaystyle 3 \ uparrow \ uparrow 3 = 3 ^ {3 ^ {3}} = 3 ^ {27} = 7 625 597 484 987}
3 ↑↑ 4 знак равно 3 3 3 3 знак равно 3 3 27 знак равно 3 7625597484987 1,2580143 × 10 3638334640024 {\ displaystyle 3 \ uparrow \ uparrow 4 = 3 ^ {3 ^ {3 ^ {3}}} = 3 ^ {3 ^ {27}} = 3 ^ {7625597484987} \ приблизительно 1,2580143 \ times 10 ^ {3638334640024}}
3 ↑↑ 5 знак равно 3 3 3 3 3 знак равно 3 3 3 27 знак равно 3 3 7625597484987 3 1,2580143 × 10 3638334640024 {\ displaystyle 3 \ uparrow \ uparrow 5 = 3 ^ {3 ^ {3 ^ {3 ^ {3}}}} = 3 ^ {3 ^ {3 ^ {27}}} = 3 ^ {3 ^ {7625597484987} } \ приблизительно 3 ^ {1.2580143 \ times 10 ^ {3638334640024}}}
и т.п.

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

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

а ↑↑↑ б знак равно ЧАС 5 ( а , б ) знак равно а [ 5 ] б знак равно а ↑↑ ( а ↑↑ ( ↑↑ а ) ) б  копии  а {\ displaystyle {\ begin {matrix} a \ uparrow \ uparrow \ uparrow b = H_ {5} (a, b) = a [5] b = amp; \ underbrace {a _ {} \ uparrow \ uparrow (a \ uparrow \ uparrow (\ dots \ uparrow \ uparrow a))} \\ amp; b {\ t_dv {копии}} a \ end {matrix}}}

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

а ↑↑↑↑ б знак равно ЧАС 6 ( а , б ) знак равно а [ 6 ] б знак равно а ↑↑↑ ( а ↑↑↑ ( ↑↑↑ а ) ) б  копии  а {\ displaystyle {\ begin {matrix} a \ uparrow \ uparrow \ uparrow \ uparrow b = H_ {6} (a, b) = a [6] b = amp; \ underbrace {a _ {} \ uparrow \ uparrow \ uparrow ( a \ uparrow \ uparrow \ uparrow (\ dots \ uparrow \ uparrow \ uparrow a))} \\ amp; b {\ t_dv {копии}} a \ end {matrix}}}

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

а   п   б знак равно а   п - 1   ( а   п - 1   (   п - 1   а ) ) б  копии  а {\ displaystyle {\ begin {matrix} a \ \ underbrace {\ uparrow _ {} \ uparrow \! \! \ dots \! \! \ uparrow} _ {n} \ b = \ underbrace {a \ \ underbrace {\ uparrow \! \! \ dots \! \! \ uparrow} _ {n-1} \ (\ \ underbrace {\ uparrow _ {} \! \! \ dots \! \! \ uparrow} _ {n-1 } \ (\ dots \ \ underbrace {\ uparrow _ {} \! \! \ dots \! \! \ uparrow} _ {n-1} \ a))} _ {b {\ text {копии}} a } \ end {matrix}}}

Примеры:

3 ↑↑↑ 2 знак равно 3 ↑↑ 3 знак равно 3 3 3 знак равно 3 27 знак равно 7 , 625 , 597 , 484 , 987 {\ displaystyle 3 \ uparrow \ uparrow \ uparrow 2 = 3 \ uparrow \ uparrow 3 = 3 ^ {3 ^ {3}} = 3 ^ {27} = 7,625,597,484,987}
3 ↑↑↑ 3 знак равно 3 ↑↑ ( 3 ↑↑ 3 ) знак равно 3 ↑↑ ( 3 3 3 ) знак равно 3 3 3 3 3 3  копии  3 знак равно 3 3 3 7,625,597,484,987 копий из 3 знак равно 3 3 3 3 3 7,625,597,484,987 копий из 3 {\ displaystyle {\ begin {matrix} 3 \ uparrow \ uparrow \ uparrow 3 = 3 \ uparrow \ uparrow (3 \ uparrow \ uparrow 3) = 3 \ uparrow \ uparrow (3 \ uparrow 3 \ uparrow 3) = amp; \ underbrace {3 _ {} \ uparrow 3 \ uparrow \ dots \ uparrow 3} \\ amp; 3 \ uparrow 3 \ uparrow 3 {\ t_dv {копии}} 3 \ end {matrix}} {\ begin {matrix} = amp; \ underbrace { 3 _ {} \ uparrow 3 \ uparrow \ dots \ uparrow 3} \\ amp; {\ t_dv {7 625 597 484 987 копий 3}} \ end {matrix}} {\ begin {matrix} = amp; \ underbrace {3 ^ {3 ^ { 3 ^ {3 ^ {\ cdot ^ {\ cdot ^ {\ cdot ^ {\ cdot ^ {3}}}}}}}} \\ amp; {\ t_dv {7 625 597 484 987 копий 3}} \ end {matrix} }}
Обозначение

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

Обозначение надстрочного индекса плохо поддается обобщению, что объясняет, почему Кнут предпочел работать с встроенной нотацией. а б {\ displaystyle a ^ {b}} а б {\ displaystyle a \ uparrow b}

а п б {\ displaystyle a \ uparrow ^ {n} b}это более короткое альтернативное обозначение n вверх. Итак. а 4 б знак равно а ↑↑↑↑ б {\ displaystyle a \ uparrow ^ {4} b = a \ uparrow \ uparrow \ uparrow \ uparrow b}

Стрелы Кнута стали довольно популярными, возможно, потому, что это более сильный логотип, чем например. п {\ displaystyle \ uparrow ^ {n}} [ п ] {\ Displaystyle [п]}

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

Попытка написать, используя знакомую нотацию надстрочного индекса, дает башню силы. а ↑↑ б {\ displaystyle a \ uparrow \ uparrow b}

Например: а ↑↑ 4 знак равно а ( а ( а а ) ) знак равно а а а а {\ displaystyle a \ uparrow \ uparrow 4 = a \ uparrow (a \ uparrow (a \ uparrow a)) = a ^ {a ^ {a ^ {a}}}}

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

а ↑↑ б знак равно а а . . . а б {\ displaystyle a \ uparrow \ uparrow b = \ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}}} _ {b}}

Продолжая эти обозначения, можно было бы записать стопку таких энергетических башен, каждая из которых описывает размер той, что находится над ней. а ↑↑↑ б {\ displaystyle a \ uparrow \ uparrow \ uparrow b}

а ↑↑↑ 4 знак равно а ↑↑ ( а ↑↑ ( а ↑↑ а ) ) знак равно а а . . . а а а . . . а а а . . . а а {\ displaystyle a \ uparrow \ uparrow \ uparrow 4 = a \ uparrow \ uparrow (a \ uparrow \ uparrow (a \ uparrow \ uparrow a)) = \ underbrace {a ^ {a ^ {. ^ {. ^ {. {. {. {. a}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {a}}}}

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

а ↑↑↑ б знак равно а а . . . а а а . . . а а } б {\ displaystyle a \ uparrow \ uparrow \ uparrow b = \ left. \ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {\ vdots} _ {a}}} \ right \} b}

Кроме того, можно было бы записать с использованием нескольких столбцов таких стеков башен власти, каждый столбец описывает количество башен власти в стеке слева от него: а ↑↑↑↑ б {\ displaystyle a \ uparrow \ uparrow \ uparrow \ uparrow b}

а ↑↑↑↑ 4 знак равно а ↑↑↑ ( а ↑↑↑ ( а ↑↑↑ а ) ) знак равно а а . . . а а а . . . а а } а а . . . а а а . . . а а } а а . . . а а а . . . а а } а {\ displaystyle a \ uparrow \ uparrow \ uparrow \ uparrow 4 = a \ uparrow \ uparrow \ uparrow (a \ uparrow \ uparrow \ uparrow (a \ uparrow \ uparrow \ uparrow a)) = \ left. \ left. \ left. \ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}}} _ {\ underbrace {\ vdots} _ {a}}} \ right \} \ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {a ^ { a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {\ vdots} _ {a}}} \ right \} \ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {\ vdots} _ {a}}} \ right \} а}

И вообще:

а ↑↑↑↑ б знак равно а а . . . а а а . . . а а } а а . . . а а а . . . а а } } а б {\ displaystyle a \ uparrow \ uparrow \ uparrow \ uparrow b = \ underbrace {\ left. \ left. \ left. \ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}}} _ {\ underbrace {\ vdots} _ {a}}} \ right \} \ underbrace {a ^ { a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {a ^ {a ^ {. ^ {. ^ {. {a}}}}}} _ {\ underbrace {\ vdots} _ {a}}} \ right \} \ cdots \ right \} a} _ {b}}

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

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

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

а ↑↑ б знак равно б а {\ displaystyle a \ uparrow \ uparrow b = {} ^ {b} a}
а ↑↑↑ б знак равно а . . . а а б {\ displaystyle a \ uparrow \ uparrow \ uparrow b = \ underbrace {^ {^ {^ {^ {^ {a}.}.}.} a} a} _ {b}}
а ↑↑↑↑ б знак равно а . . . а а а . . . а а а } б {\ displaystyle a \ uparrow \ uparrow \ uparrow \ uparrow b = \ left. \ underbrace {^ {^ {^ {^ {^ {a}.}.}.} a} a} _ {\ underbrace {^ {^ {^ {^ {^ {a}.}.}.} a} a} _ {\ underbrace {\ vdots} _ {a}}} \ right \} b}

Наконец, в качестве примера четвертое число Аккермана можно представить как: 4 4 4 {\ displaystyle 4 \ uparrow ^ {4} 4}

4 . . . 4 4 4 . . . 4 4 4 . . . 4 4 4 знак равно 4 . . . 4 4 4 . . . 4 4 4 4 4 4 {\ displaystyle \ underbrace {^ {^ {^ {^ {^ {4}.}.}.} 4} 4} _ {\ underbrace {^ {^ {^ {^ {^ {4}.}.}.}.}. } 4} 4} _ {\ underbrace {^ {^ {^ {^ {^ {4}.}.}.} 4} 4} _ {4}}} = \ underbrace {^ {^ {^ {^ { ^ {4}.}.}.} 4} 4} _ {\ underbrace {^ {^ {^ {^ {^ {4}.}.}.}.} 4} 4} _ {^ {^ {^ {4 } 4} 4} 4}}}
Обобщения

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

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

а п б знак равно а [ п + 2 ] б знак равно а б п (Кнут) (гипероперация) (Конвей) {\ displaystyle {\ begin {matrix} a \ uparrow ^ {n} b amp; = amp; a [n + 2] b amp; = amp; a \ to b \ to n \\ {\ t_dv {(Knuth)}} amp;amp; {\ t_dv {( гипероперация)}} amp;amp; {\ t_dv {(Конвей)}} \ end {matrix}}}

6 ↑↑ 4 {\ displaystyle 6 \ uparrow \ uparrow 4}=, Так как = =, Таким образом, результат выходит с 6 6 . . . 6 4 {\ displaystyle \ underbrace {6 ^ {6 ^ {. ^ {. ^ {. ^ {6}}}}}}} _ {4}} 6 ↑↑ 4 {\ displaystyle 6 \ uparrow \ uparrow 4} 6 6 6 6 {\ displaystyle 6 ^ {6 ^ {6 ^ {6}}}} 6 6 46 , 656 {\ displaystyle 6 ^ {6 ^ {46,656}}} 6 6 . . . 6 4 {\ displaystyle \ underbrace {6 ^ {6 ^ {. ^ {. ^ {. ^ {6}}}}}}} _ {4}}

10 ( 3 × 10 ( 3 × 10 15 ) + 3 ) {\ displaystyle 10 \ uparrow (3 \ times 10 \ uparrow (3 \ times 10 \ uparrow 15) +3)}= или (Петиллион) 100000... 000 300000... 003 300000... 003 15 {\ displaystyle \ underbrace {100000... 000} _ {\ underbrace {300000... 003} _ {\ underbrace {300000... 003} _ {15}}}} 10 3 × 10 3 × 10 15 + 3 {\ displaystyle 10 ^ {3 \ times 10 ^ {3 \ times 10 ^ {15}} + 3}}

Примечание: Phi = = = 1 [ 1 ] {\ displaystyle \ leftarrow 1 [1]} 1 {\ displaystyle \ leftarrow 1} ϕ {\ displaystyle \ phi}

Определение

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

а п б знак равно { а б , если  п знак равно 1 ; 1 , если  п gt; 1  а также  б знак равно 0 ; а п - 1 ( а п ( б - 1 ) ) , иначе  {\ displaystyle a \ uparrow ^ {n} b = {\ begin {cases} a ^ {b}, amp; {\ text {if}} n = 1; \\ 1, amp; {\ text {if}} ngt; 1 {\ text {and}} b = 0; \\ a \ uparrow ^ {n-1} (a \ uparrow ^ {n} (b-1)), amp; {\ text {в противном случае}} \ end {case }}}

для всех целых чисел с. а , б , п {\ displaystyle a, b, n} а 0 , п 1 , б 0 {\ Displaystyle а \ geq 0, п \ geq 1, б \ geq 0}

Это определение использует возведение в степень как базовый случай, а тетрацию как повторное возведение в степень. Это эквивалентно последовательности гиперопераций, за исключением того, что в ней пропущены еще три основные операции: последовательность, сложение и умножение. ( а 1 б знак равно а б знак равно а б ) {\ displaystyle (a \ uparrow ^ {1} b = a \ uparrow b = a ^ {b})} ( а 2 б знак равно а ↑↑ б ) {\ displaystyle (a \ uparrow ^ {2} b = a \ uparrow \ uparrow b)}

В качестве альтернативы можно выбрать умножение в качестве базового случая и выполнять итерацию оттуда. Тогда возведение в степень становится повторным умножением. Формальное определение будет ( а 0 б знак равно а × б ) {\ displaystyle (a \ uparrow ^ {0} b = a \ times b)}

а п б знак равно { а × б , если  п знак равно 0 ; 1 , если  п gt; 0  а также  б знак равно 0 ; а п - 1 ( а п ( б - 1 ) ) , иначе  {\ displaystyle a \ uparrow ^ {n} b = {\ begin {cases} a \ times b, amp; {\ text {if}} n = 0; \\ 1, amp; {\ text {if}} ngt; 0 {\ text {and}} b = 0; \\ a \ uparrow ^ {n-1} (a \ uparrow ^ {n} (b-1)), amp; {\ text {в противном случае}} \ end {case} }}

для всех целых чисел с. а , б , п {\ displaystyle a, b, n} а 0 , п 0 , б 0 {\ Displaystyle а \ geq 0, п \ geq 0, б \ geq 0}

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

ЧАС п ( а , б ) знак равно а [ п ] б знак равно а п - 2 б  для  п 0. {\ displaystyle H_ {n} (a, b) = a [n] b = a \ uparrow ^ {n-2} b {\ text {for}} n \ geq 0.}

Операция со стрелкой вверх является правоассоциативной операцией, то есть понимается как вместо. Если двусмысленность не является проблемой, скобки иногда опускаются. а б c {\ displaystyle a \ uparrow b \ uparrow c} а ( б c ) {\ Displaystyle а \ вверх (б \ вверх с)} ( а б ) c {\ displaystyle (a \ uparrow b) \ uparrow c}

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

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

Вычисление результатов в 0 п б знак равно ЧАС п + 2 ( 0 , б ) знак равно 0 [ п + 2 ] б {\ displaystyle 0 \ uparrow ^ {n} b = H_ {n + 2} (0, b) = 0 [n + 2] b}

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

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

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

Значения = = = 2 → b → n 2 п б {\ displaystyle 2 \ uparrow ^ {n} b} ЧАС п + 2 ( 2 , б ) {\ displaystyle H_ {n + 2} (2, b)} 2 [ п + 2 ] б {\ Displaystyle 2 [п + 2] б}
б ⁿ 1 2 3 4 5 6 формула
1 2 4 8 16 32 64 2 б {\ displaystyle 2 ^ {b}}
2 2 4 16 65536 2 65 536 2.0 × 10 19 728 {\ displaystyle 2 ^ {65 \, 536} \ приблизительно 2,0 \ times 10 ^ {19 \, 728}} 2 2 65 536 10 6.0 × 10 19 727 {\ displaystyle 2 ^ {2 ^ {65 \, 536}} \ приблизительно 10 ^ {6.0 \ times 10 ^ {19 \, 727}}} 2 ↑↑ б {\ displaystyle 2 \ uparrow \ uparrow b}
3 2 4 65536 2 2 . . . 2 65536  копии  2 {\ displaystyle {\ begin {matrix} \ underbrace {2 _ {} ^ {2 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\ 65536 {\ t_dv {копии}} 2 \ end {matrix}}} 2 2 . . . 2 2 2 . . . 2 65536  копии  2 {\ displaystyle {\ begin {matrix} \ underbrace {2 _ {} ^ {2 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\\ underbrace {2 _ {} ^ {2 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\ 65536 {\ t_dv {копии}} 2 \ конец {матрица}}} 2 2 . . . 2 2 2 . . . 2 2 2 . . . 2 65536  копии  2 {\ displaystyle {\ begin {matrix} \ underbrace {2 _ {} ^ {2 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\\ подкладка {2 _ {} ^ {2 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\\ подкладка {2 _ {} ^ {2 ^ { {} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\ 65536 {\ t_dv {копии}} 2 \ end {matrix}}} 2 ↑↑↑ б {\ displaystyle 2 \ uparrow \ uparrow \ uparrow b}
4 2 4 2 2 . . . 2 65536  копии  2 {\ displaystyle {\ begin {matrix} \ underbrace {2 _ {} ^ {2 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {2}}}}}}} \\ 65536 {\ t_dv {копии}} 2 \ end {matrix}}}     2 ↑↑↑↑ б {\ displaystyle 2 \ uparrow \ uparrow \ uparrow \ uparrow b}

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

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

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

Значения = = = 3 → b → n 3 п б {\ displaystyle 3 \ uparrow ^ {n} b} ЧАС п + 2 ( 3 , б ) {\ displaystyle H_ {n + 2} (3, b)} 3 [ п + 2 ] б {\ Displaystyle 3 [п + 2] Ь}
б ⁿ 1 2 3 4 5 формула
1 3 9 27 81 год 243 3 б {\ displaystyle 3 ^ {b}}
2 3 27 7 625 597 484 987 3 7 625 597 484 987 {\ displaystyle 3 ^ {7 {,} 625 {,} 597 {,} 484 {,} 987}} 3 3 7 625 597 484 987 {\ displaystyle 3 ^ {3 ^ {7 {,} 625 {,} 597 {,} 484 {,} 987}}} 3 ↑↑ б {\ displaystyle 3 \ uparrow \ uparrow b}
3 3 7 625 597 484 987 3 3 . . . 3 7 625 597 484 987  копии  3 {\ displaystyle {\ begin {matrix} \ underbrace {3 _ {} ^ {3 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {3}}}}}}} \\ 7 {,} 625 {,} 597 {,} 484 {,} 987 {\ t_dv {копии}} 3 \ end {matrix}}}     3 ↑↑↑ б {\ displaystyle 3 \ uparrow \ uparrow \ uparrow b}
4 3 3 3 . . . 3 7 625 597 484 987  копии  3 {\ displaystyle {\ begin {matrix} \ underbrace {3 _ {} ^ {3 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {3}}}}}}} \\ 7 {,} 625 {,} 597 {,} 484 {,} 987 {\ t_dv {копии}} 3 \ end {matrix}}}     3 ↑↑↑↑ б {\ displaystyle 3 \ uparrow \ uparrow \ uparrow \ uparrow b}

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

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

Значения = = = 4 → b → n 4 п б {\ displaystyle 4 \ uparrow ^ {n} b} ЧАС п + 2 ( 4 , б ) {\ displaystyle H_ {n + 2} (4, b)} 4 [ п + 2 ] б {\ Displaystyle 4 [п + 2] Ь}
б ⁿ 1 2 3 4 5 формула
1 4 16 64 256 1024 4 б {\ displaystyle 4 ^ {b}}
2 4 256 1,3407807930 × 10 154 {\ displaystyle 1.3407807930 \ times 10 ^ {154}} 4 1,3407807930 × 10 154 {\ displaystyle 4 ^ {1.3407807930 \ times 10 ^ {154}}} 4 4 1,3407807930 × 10 154 {\ displaystyle 4 ^ {4 ^ {1.3407807930 \ times 10 ^ {154}}}} 4 ↑↑ б {\ displaystyle 4 \ uparrow \ uparrow b}
3 4 4 1,3407807930 × 10 154 {\ displaystyle 4 ^ {1.3407807930 \ times 10 ^ {154}}} 4 4 . . . 4 4 1,3407807930 × 10 154  копии  4 {\ displaystyle {\ begin {matrix} \ underbrace {4 _ {} ^ {4 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {4}}}}}}} \\ 4 ^ {1.3407807930 \ times 10 ^ {154}} {\ t_dv {копии}} 4 \ end {matrix}}}     4 ↑↑↑ б {\ displaystyle 4 \ uparrow \ uparrow \ uparrow b}
4 4 4 4 . . . 4 4 4 . . . 4 4 1,3407807930 × 10 154  копии  4 {\ displaystyle {\ begin {matrix} \ underbrace {4 _ {} ^ {4 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {4}}}}}}} \\\ подкладка {4 _ {} ^ {4 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {4}}}}}}} \\ 4 ^ {1.3407807930 \ times 10 ^ {154} } {\ t_dv {копии}} 4 \ end {matrix}}}     4 ↑↑↑↑ б {\ displaystyle 4 \ uparrow \ uparrow \ uparrow \ uparrow b}

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

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

Значения = = = 10 → b → n 10 п б {\ displaystyle 10 \ uparrow ^ {n} b} ЧАС п + 2 ( 10 , б ) {\ displaystyle H_ {n + 2} (10, b)} 10 [ п + 2 ] б {\ displaystyle 10 [n + 2] b}
б ⁿ 1 2 3 4 5 формула
1 10 100 1,000 10 000 100 000 10 б {\ displaystyle 10 ^ {b}}
2 10 10 000 000 000 10 10 , 000 , 000 , 000 {\ displaystyle 10 ^ {10,000,000,000}} 10 10 10 , 000 , 000 , 000 {\ displaystyle 10 ^ {10 ^ {10,000,000,000}}} 10 10 10 10 , 000 , 000 , 000 {\ displaystyle 10 ^ {10 ^ {10 ^ {10,000,000,000}}}} 10 ↑↑ б {\ displaystyle 10 \ uparrow \ uparrow b}
3 10 10 10 . . . 10 10  копии  10 {\ displaystyle {\ begin {matrix} \ underbrace {10 _ {} ^ {10 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {10}}}}}}} \\ 10 {\ t_dv {копии}} 10 \ end {matrix}}} 10 10 . . . 10 10 10 . . . 10 10  копии  10 {\ displaystyle {\ begin {matrix} \ underbrace {10 _ {} ^ {10 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {10}}}}}}} \\\ underbrace {10 _ {} ^ {10 ^ {} ^ {. \, ^ {. \, ^ {. \, ^ {10}}}}}}} \\ 10 {\ t_dv {копии}} 10 \ конец {матрица}}} 10 10 . . . 10 10 10 . . . 10 10 10 . . . 10 10  копии  10 {\ displaystyle {\ begin {matrix} \ underbrace {10 _ {} ^ {10 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {10}}}}}}} \\\ подгузник {10 _ {} ^ {10 ^ {{} ^ {. \, ^ {. \, ^ {. \, ^ {10}}}}}}} \\\ подгузник {10 _ {} ^ {10 ^ { {} ^ {. \, ^ {. \, ^ {. \, ^ {10}}}}}}} \\ 10 {\ t_dv {копии}} 10 \ end {matrix}}}   10 ↑↑↑ б {\ displaystyle 10 \ uparrow \ uparrow \ uparrow b}
4 10 10 . . . 10 10 10  копии  10 {\ displaystyle {\ begin {matrix} \ underbrace {^ {^ {^ {^ {^ {10}.}.}.} 10} 10} \\ 10 {\ t_dv {копии}} 10 \ end {matrix }}} 10 . . . 10 10 10 . . . 10 10 10  копии  10 {\ displaystyle {\ begin {matrix} \ underbrace {^ {^ {^ {^ {^ {10}.}.}.} 10} 10} \\\ underbrace {^ {^ {^ {^ {^ {10 }.}.}.} 10} 10} \\ 10 {\ t_dv {копии}} 10 \ end {matrix}}}   10 ↑↑↑↑ б {\ displaystyle 10 \ uparrow \ uparrow \ uparrow \ uparrow b}

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

Смотрите также
Примечания
  1. ^ Имейте в виду, что Кнут не определял оператора. 0 {\ displaystyle \ uparrow ^ {0}}
  2. ^ a b Подробнее см. Степень нуля.
  3. ^ a b Подробнее см. Ноль в степени нуля.
использованная литература
внешние ссылки
Последняя правка сделана 2023-03-19 09:38:10
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте