Después de eso, la secuencia procede con otras operaciones binarias que se extienden más allá de la exponenciación, utilizando la asociatividad por la derecha . Para las operaciones más allá de la exponenciación, el n- ésimo miembro de esta secuencia es nombrado por Reuben Goodstein después del prefijo griego n con el sufijo -ación (como tetración ( n = 4), pentación ( n = 5), hexación ( n = 6), etc.) [5] y puede escribirse utilizando n − 2 flechas en la notación de flecha hacia arriba de Knuth . Cada hiperoperación puede entenderse recursivamente en términos de la anterior por:
También puede definirse de acuerdo con la parte de la regla de recursión de la definición, como en la versión de flecha hacia arriba de Knuth de la función de Ackermann :
Esto se puede utilizar para mostrar fácilmente números mucho más grandes que los que la notación científica puede mostrar, como el número de Skewes y el googolplexplex (por ejemplo, es mucho más grande que el número de Skewes y el googolplexplex), pero hay algunos números que ni siquiera ellos pueden mostrar fácilmente, como el número de Graham y TREE(3) . [14]
Esta regla de recursión es común a muchas variantes de hiperoperaciones.
Para n = 0, 1, 2, 3, esta definición reproduce las operaciones aritméticas básicas de sucesor (que es una operación unaria), suma , multiplicación y exponenciación , respectivamente, como
Entonces, ¿cuál será la siguiente operación después de la exponenciación? Definimos la multiplicación de modo que y definimos la exponenciación de modo que, por lo que parece lógico definir la siguiente operación, la tetración, de modo que con una torre de tres "a". Análogamente, la pentación de (a, 3) será tetración(a, tetración(a, a)), con tres "a" en ella.
La notación de Knuth podría extenderse a índices negativos ≥ −2 de tal manera que concuerde con toda la secuencia de hiperoperaciones, excepto por el desfase en la indexación:
Se ilustra la relación entre las operaciones aritméticas básicas, lo que permite definir las operaciones superiores de forma natural como se indicó anteriormente. A veces se hace referencia a los parámetros de la jerarquía de hiperoperaciones mediante su término de exponenciación análogo; [15] por lo que a es la base , b es el exponente (o hiperexponente ), [12] y n es el rango (o grado ), [6] y además, se lee como "la b ésima n -ación de a ", por ejemplo, se lee como "la 9.ª tetración de 7", y se lee como "la 789.ª 123-ación de 456".
En términos comunes, las hiperoperaciones son formas de componer números que aumentan en crecimiento en función de la iteración de la hiperoperación anterior. Los conceptos de sucesor, adición, multiplicación y exponenciación son todos hiperoperaciones; la operación sucesora (producir x + 1 a partir de x ) es la más primitiva, el operador de adición especifica el número de veces que se debe sumar 1 a sí mismo para producir un valor final, la multiplicación especifica el número de veces que se debe sumar un número a sí mismo y la exponenciación se refiere al número de veces que se debe multiplicar un número por sí mismo.
Definición, utilizando iteración
Definir la iteración de una función f de dos variables como
La secuencia de hiperoperaciones se puede definir en términos de iteración, de la siguiente manera. Para todos los números enteros, defina
Como la iteración es asociativa , la última línea se puede reemplazar por
La definición básica de la secuencia de hiperoperaciones se corresponde con las reglas de reducción
Para el cálculo se puede utilizar una pila , que inicialmente contiene los elementos .
Luego, repetidamente hasta que ya no sea posible, se extraen tres elementos y se reemplazan de acuerdo con las reglas [nb 2]
Esquemáticamente, partiendo de :
MIENTRAS longitud de pila <> 1{ POP 3 elementos; PUSH 1 o 5 elementos según las reglas r1, r2, r3, r4, r5;}
Ejemplo
Calcular . [16]
La secuencia de reducción es [nb 2] [17]
Cuando se implementa utilizando una pila, en la entrada
Las configuraciones de la pila
representar las ecuaciones
TRS basado en la definición sub 1.2
La definición que utiliza iteración conduce a un conjunto diferente de reglas de reducción.
Como la iteración es asociativa , en lugar de la regla r11 se puede definir
Al igual que en la sección anterior, el cálculo se puede implementar utilizando una pila.
Inicialmente la pila contiene los cuatro elementos .
Luego, hasta la terminación, se extraen cuatro elementos y se reemplazan de acuerdo con las reglas [nb 2]
Esquemáticamente, partiendo de :
MIENTRAS longitud de pila <> 1{ POP 4 elementos; PUSH 1 o 7 elementos según las reglas r6, r7, r8, r9, r10, r11;}
Ejemplo
Calcular .
En la entrada, las configuraciones de pila sucesivas son
Las igualdades correspondientes son
Cuando la regla de reducción r11 se reemplaza por la regla r12, la pila se transforma de acuerdo con
Las configuraciones de pila sucesivas serán entonces
Las igualdades correspondientes son
Observaciones
es un caso especial. Véase más abajo. [nb 3] [nb 4]
El cálculo de según las reglas {r6 - r10, r11} es muy recursivo. El culpable es el orden en el que se ejecuta la iteración: . La primera desaparece solo después de que se desarrolla toda la secuencia. Por ejemplo, converge a 65536 en 2863311767 pasos, la profundidad máxima de recursión [18] es 65534.
El cálculo según las reglas {r6 - r10, r12} es más eficiente en ese sentido. La implementación de la iteración como imita la ejecución repetida de un procedimiento H. [19] La profundidad de recursión, (n+1), coincide con la anidación de bucles. Meyer y Ritchie (1967) formalizaron esta correspondencia. El cálculo de acuerdo con las reglas {r6-r10, r12} también necesita 2863311767 pasos para converger en 65536, pero la profundidad máxima de recursión es solo 5, ya que la tetración es el quinto operador en la secuencia de hiperoperación.
Las consideraciones anteriores se refieren únicamente a la profundidad de recursión. Cualquiera de las dos formas de iteración conduce a la misma cantidad de pasos de reducción, que involucran las mismas reglas (cuando las reglas r11 y r12 se consideran "iguales"). Como muestra el ejemplo, la reducción de converge en 9 pasos: 1 X r7, 3 X r8, 1 X r9, 2 X r10, 2 X r11/r12. El modus iterandi solo afecta el orden en el que se aplican las reglas de reducción.
Ejemplos
A continuación se muestra una lista de las primeras siete hiperoperaciones (de la 0.ª a la 6.ª) ( 0⁰ se define como 1).
4, cuando n ≥ 1, fácilmente demostrable recursivamente.
Historia
Una de las primeras discusiones sobre hiperoperaciones fue la de Albert Bennett en 1914, quien desarrolló parte de la teoría de hiperoperaciones conmutativas (ver más abajo). [6] Unos 12 años después, Wilhelm Ackermann definió la función , que se parece un poco a la secuencia de hiperoperaciones. [20]
En su artículo de 1947, [5] Reuben Goodstein introdujo la secuencia específica de operaciones que ahora se denominan hiperoperaciones , y también sugirió los nombres griegos tetración , pentación, etc., para las operaciones extendidas más allá de la exponenciación (porque corresponden a los índices 4, 5, etc.). Como función de tres argumentos, por ejemplo, , la secuencia de hiperoperaciones en su conjunto se considera una versión de la función Ackermann original ( recursiva pero no recursiva primitiva ) modificada por Goodstein para incorporar la función sucesora primitiva junto con las otras tres operaciones básicas de la aritmética ( suma , multiplicación , exponenciación ) y para hacer una extensión más fluida de estas más allá de la exponenciación.
La función Ackermann original de tres argumentos utiliza la misma regla de recursión que la versión de Goodstein (es decir, la secuencia de hiperoperaciones), pero difiere de ella en dos formas. Primero, define una secuencia de operaciones que comienzan con la suma ( n = 0) en lugar de la función sucesora , luego la multiplicación ( n = 1), la exponenciación ( n = 2), etc. En segundo lugar, las condiciones iniciales para dan como resultado , por lo que difieren de las hiperoperaciones más allá de la exponenciación. [7] [21] [22] La importancia de b + 1 en la expresión anterior es que = , donde b cuenta el número de operadores (exponenciaciones), en lugar de contar el número de operandos ("a") como lo hace b en , y así sucesivamente para las operaciones de nivel superior. (Consulte el artículo sobre la función Ackermann para obtener más detalles).
Notaciones
Esta es una lista de notaciones que se han utilizado para hiperoperaciones.
En 1928, Wilhelm Ackermann definió una función de 3 argumentos que evolucionó gradualmente hasta convertirse en una función de 2 argumentos conocida como función de Ackermann . La función de Ackermann original era menos similar a las hiperoperaciones modernas, porque sus condiciones iniciales comienzan con para todo n > 2. También asignó la suma a n = 0, la multiplicación a n = 1 y la exponenciación a n = 2, por lo que las condiciones iniciales producen operaciones muy diferentes para la tetración y más allá.
norte
Operación
Comentario
0
1
2
3
Una forma desplazada de tetración . La iteración de esta operación es diferente a la iteración de tetración.
Otra condición inicial que se ha utilizado es (donde la base es constante ), debido a Rózsa Péter , que no forma una jerarquía de hiperoperaciones.
Variante que comienza desde 0
En 1984, CW Clenshaw y FWJ Olver comenzaron la discusión sobre el uso de hiperoperaciones para prevenir desbordamientos de punto flotante en la computadora. [29]
Desde entonces, muchos otros autores [30] [31] [32] han renovado el interés en la aplicación de hiperoperaciones a la representación de punto flotante . (Dado que H n ( a , b ) están todos definidos para b = -1). Mientras discutían la tetración , Clenshaw et al. asumieron la condición inicial , lo que crea otra jerarquía de hiperoperaciones. Al igual que en la variante anterior, la cuarta operación es muy similar a la tetración , pero compensada por uno.
norte
Operación
Comentario
0
1
2
3
4
Una forma desplazada de tetración . La iteración de esta operación es muy diferente a la iteración de tetración .
Albert Bennett ya había considerado las hiperoperaciones conmutativas en 1914, [6] lo que posiblemente sea la observación más antigua sobre cualquier secuencia de hiperoperaciones. Las hiperoperaciones conmutativas se definen mediante la regla de recursión
que es simétrica en a y b , lo que significa que todas las hiperoperaciones son conmutativas. Esta secuencia no contiene exponenciación y, por lo tanto, no forma una jerarquía de hiperoperaciones.
Sistemas de numeración basados en la secuencia de hiperoperaciones
RL Goodstein [5] utilizó la secuencia de hiperoperadores para crear sistemas de numeración para los números enteros no negativos. La denominada representación hereditaria completa del entero n , en el nivel k y base b , se puede expresar de la siguiente manera utilizando sólo los primeros k hiperoperadores y utilizando como dígitos sólo 0, 1, ..., b − 1, junto con la propia base b :
Para 0 ≤ n ≤ b − 1, n se representa simplemente por el dígito correspondiente.
Para n > b − 1, la representación de n se encuentra recursivamente, representando primero n en la forma
b [ k ] x [ k − 1 ] x [ k −1 ]…[2] x2 [ 1 ] x1
donde x k , ..., x 1 son los números enteros más grandes que satisfacen (a su vez)
b [ k ] xk≤n
b [ k ] xk [ k − 1] xk − 1 ≤ n
...
b [ k ] x [ k − 1 ] x [ k − 1] ...[ 2 ] x2 [ 1 ] x1≤n
Cualquier x i que exceda b − 1 se vuelve a expresar de la misma manera, y así sucesivamente, repitiendo este procedimiento hasta que la forma resultante contenga solo los dígitos 0, 1, ..., b − 1, junto con la base b .
Se pueden evitar paréntesis innecesarios dando a los operadores de nivel superior mayor precedencia en el orden de evaluación; por lo tanto,
Las representaciones de nivel 1 tienen la forma b [1] X, siendo X también de esta forma;
Las representaciones de nivel 2 tienen la forma b [2] X [1] Y, con X , Y también de esta forma;
Las representaciones de nivel 3 tienen la forma b [3] X [2] Y [1] Z, con X , Y , Z también de esta forma;
Las representaciones de nivel 4 tienen la forma b [4] X [3] Y [2] Z [1] W, con X , Y , Z , W también de esta forma;
etcétera.
En este tipo de representación hereditaria de base b , la base misma aparece en las expresiones, así como "dígitos" del conjunto {0, 1, ..., b − 1}. Esto se compara con la representación de base 2 ordinaria cuando esta última se escribe en términos de la base b ; por ejemplo, en la notación de base 2 ordinaria, 6 = (110) 2 = 2 [3] 2 [2] 1 [1] 2 [3] 1 [2] 1 [1] 2 [3] 0 [2] 0, mientras que la representación hereditaria de base 2 de nivel 3 es 6 = 2 [3] (2 [3] 1 [2] 1 [1] 0) [2] 1 [1] (2 [3] 1 [2] 1 [1] 0). Las representaciones hereditarias se pueden abreviar omitiendo cualquier instancia de [1] 0, [2] 1, [3] 1, [4] 1, etc.; por ejemplo, la representación base 2 de nivel 3 anterior de 6 se abrevia a 2 [3] 2 [1] 2.
Ejemplos: Las representaciones únicas en base 2 del número 266 , en los niveles 1, 2, 3, 4 y 5 son las siguientes:
^ Las secuencias similares a la secuencia de hiperoperaciones han sido históricamente denominadas con muchos nombres, incluyendo: la función de Ackermann [1] (3-argumentos), la jerarquía de Ackermann , [2] la jerarquía de Grzegorczyk [3] [4] (que es más general), la versión de Goodstein de la función de Ackermann , [5] operación del grado n , [6] exponenciación iterada z-fold de x con y , [7] operaciones de flecha , [8] reihenalgebra [9] e hiper-n . [1] [9] [10] [11] [12]
^ abc Sea x = a [ n ](−1). Por la fórmula recursiva, a [ n ]0 = a [ n − 1]( a [ n ](−1)) ⇒ 1 = a [ n − 1] x . Una solución es x = 0, porque a [ n − 1]0 = 1 por definición cuando n ≥ 4. Esta solución es única porque a [ n − 1] b > 1 para todo a > 1, b > 0 (prueba por recursión).
^ ab La suma ordinal no es conmutativa; véase aritmética ordinal para obtener más información
Referencias
^abcGeisler 2003.
^ Friedman 2001.
^ Campagnola, Moore y Félix Costa 2002.
^ Virginia 1999.
^ abcde Goodstein 1947.
^abcdBennett 1915.
^ desde Negro 2009.
^ Littlewood 1948.
^abc Müller 1993.
^ Munafo 1999a.
^ por Robbins 2005.
^Por Galidakis 2003.
^ Rubtsov y Romerio 2005.
^ Townsend 2016.
^ Romero 2008.
^ Bezem, Klop y De Vrijer 2003.
^ En cada paso se reescribe el redex subrayado .
^ La profundidad máxima de recursión se refiere al número de niveles de activación de un procedimiento que existen durante la llamada más profunda del procedimiento. Cornelius y Kirby (1975)
Bennett, Albert A. (diciembre de 1915). "Nota sobre una operación del tercer grado". Anales de Matemáticas . Segunda serie. 17 (2): 74–75. doi :10.2307/2007124. JSTOR 2007124.
Bezem, Marc; Klop, Jan Willem; De Vrijer, Roel (2003). "Sistemas de reescritura de términos de primer orden". Sistemas de reescritura de términos por "Terese" . Prensa de la Universidad de Cambridge. págs. 38–39. ISBN0-521-39115-6.
Black, Paul E. (16 de marzo de 2009). «Función de Ackermann». Diccionario de algoritmos y estructuras de datos . Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU . . Consultado el 29 de agosto de 2021 .
Campagnola, Manuel Lameiras; Moore, Cristopher ; Félix Costa, José (diciembre de 2002). "Ordinales transfinitos en teoría de números recursivos". Revista de Complejidad . 18 (4): 977–1000. doi : 10.1006/jcom.2002.0655 .
Clenshaw, CW; Olver, FWJ (abril de 1984). "Más allá del punto flotante". Revista de la ACM . 31 (2): 319–328. doi : 10.1145/62.322429 . S2CID 5132225.
Cornelius, BJ; Kirby, GH (1975). "Profundidad de recursión y la función de Ackermann". BIT Numerical Mathematics . 15 (2): 144–150. doi :10.1007/BF01932687. S2CID 120532578.
Cowles, J.; Bailey, T. (30 de septiembre de 1988). "Varias versiones de la función de Ackermann". Departamento de Ciencias de la Computación, Universidad de Wyoming, Laramie, WY . Consultado el 29 de agosto de 2021 .
Döner, John; Tarski, Alfred (1969). "Una aritmética ampliada de números ordinales". Fundamentos Mathematicae . 65 : 95-127. doi : 10.4064/fm-65-1-95-127 .
Friedman, Harvey M. (julio de 2001). "Long Finite Sequences". Journal of Combinatorial Theory . Serie A. 95 (1): 102–144. doi : 10.1006/jcta.2000.3154 .
Galidakis, IN (2003). "Matemáticas". Archivado desde el original el 20 de abril de 2009. Consultado el 17 de abril de 2009 .
Geisler, Daniel (2003). "¿Qué hay más allá de la exponenciación?" . Consultado el 17 de abril de 2009 .
Goodstein, Reuben Louis (diciembre de 1947). "Ordinales transfinitos en la teoría de números recursivos" (PDF) . Journal of Symbolic Logic . 12 (4): 123–129. doi :10.2307/2266486. JSTOR 2266486. S2CID 1318943.
Hilbert, David (1926). "Über das Unendliche". Annalen Matemáticas . 95 : 161-190. doi :10.1007/BF01206605. S2CID 121888793.
Holmes, WN (marzo de 1997). "Aritmética compuesta: propuesta para un nuevo estándar". Computer . 30 (3): 65–73. doi :10.1109/2.573666 . Consultado el 21 de abril de 2009 .
Knuth, Donald Ervin (diciembre de 1976). "Matemáticas y ciencias de la computación: cómo afrontar la finitud". Science . 194 (4271): 1235–1242. Bibcode :1976Sci...194.1235K. doi :10.1126/science.194.4271.1235. PMID 17797067. S2CID 1690489 . Consultado el 21 de abril de 2009 .
Littlewood, JE (julio de 1948). "Números grandes". Mathematical Gazette . 32 (300): 163–171. doi :10.2307/3609933. JSTOR 3609933. S2CID 250442130.
Müller, Markus (1993). «Reihenalgebra» (PDF) . Archivado desde el original (PDF) el 2 de diciembre de 2013. Consultado el 6 de noviembre de 2021 .
Munafo, Robert (1999a). "Versiones de la función de Ackermann". Grandes números en MROB . Consultado el 28 de agosto de 2021 .
Munafo, Robert (1999b). "Inventando nuevos operadores y funciones". Large Numbers en MROB . Consultado el 28 de agosto de 2021 .
Nambiar, KK (1995). "Funciones de Ackermann y ordinales transfinitos". Applied Mathematics Letters . 8 (6): 51–53. doi : 10.1016/0893-9659(95)00084-4 .
Pinkiewicz, T.; Holmes, N.; Jamil, T. (2000). "Diseño de una unidad aritmética compuesta para números racionales". Actas de la IEEE Southeast Con 2000. 'Preparación para el nuevo milenio' (Cat. No.00CH37105). Actas de la IEEE. págs. 245–252. doi :10.1109/SECON.2000.845571. ISBN0-7803-6312-4.S2CID 7738926 .
Robbins, AJ (noviembre de 2005). «Home of Tetration». Archivado desde el original el 13 de junio de 2015. Consultado el 17 de abril de 2009 .
Romerio, GF (21 de enero de 2008). "Terminología de hiperoperaciones". Foro Tetration . Consultado el 21 de abril de 2009 .
Rubtsov, CA; Romerio, GF (diciembre de 2005). "Función de Ackermann y nueva operación aritmética" . Consultado el 17 de abril de 2009 .
Townsend, Adam (12 de mayo de 2016). "Nombres para números grandes". Revista Chalkdust .
Weisstein, Eric W. (2003). Enciclopedia concisa de matemáticas del CRC, 2.ª edición . CRC Press. págs. 127-128. ISBN1-58488-347-2.
Wirz, Marc (1999). "Caracterización de la jerarquía de Grzegorczyk mediante recursividad segura" (PDF) . Berna: Institut für Informatik und angewandte Mathematik. CiteSeerX 10.1.1.42.3374 . S2CID 117417812.
Zimmermann, R. (1997). "Computer Arithmetic: Principles, Architectures, and VLSI Design" (PDF) . Apuntes de clase, Laboratorio de Sistemas Integrados, ETH Zürich. Archivado desde el original (PDF) el 17 de agosto de 2013. Consultado el 17 de abril de 2009 .
Zwillinger, Daniel (2002). Tablas y fórmulas matemáticas estándar del CRC, 31.ª edición . CRC Press. pág. 4. ISBN1-58488-291-3.