Hiperoperação

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Em matemática, a seqüencia de hiperoperações é uma seqüencia de operações binárias que iniciam com a adição, multiplicação e exponenciação, chamadas hiperoperações[1] [2] em geral. O n-ésimo membro desta seqüencia foi nomeado por Reuben Goodstein seguindo o prefixo grego de n acrescido do sufixo -ção (como em tetração, pentação) [3] e pode ser escrito usando (n-2) setas na Notação de Knuth.

Cada hiperoperação é definida recursivamente em termos da anterior, como é o caso com a notação de seta para cima de Knuth. A parte da definição que faz isso é a regra recursiva da função de Ackermann:

a \uparrow^n b = a \uparrow^{n-1} \left(a \uparrow^n (b-1)\right)

que é comum a muitas variantes de hiperoperações (ver abaixo).

Definição[editar | editar código-fonte]

A seqüencia de hiperoperação é uma seqüência H_n de operações binárias em \mathbb{N}, indexadas por \mathbb{N}, que começa com a adição (n = 1), multiplicação (n = 2) e exponenciação (n=3). Os parâmetros da hierarquia de hiperoperações saõ referenciados por seus termos exponenciais análogos[4] ; assim a é a base, b é o expoente (ou hiperexpoente[5] ), e n é o rank (ou grade[6] ).

Usando a notação de seta para cima de Knuth nós podemos definir hiperoperações como


  H_n(a, b) = a \uparrow^{n-2} b = 
   \begin{cases}
    b + 1 & \text{se } n = 0 \\
    a & \text{se } n = 1, b = 0 \\
    0 & \text{se } n = 2, b = 0 \\
    1 & \text{se } n \ge 3, b = 0 \\
    H_{n-1}(a, H_n(a, b - 1)) & \text{em outro caso}
   \end{cases}

Pode ser visto como uma resposta à pergunta "Qual é o próximo" na sequência: adição, multiplicação, exponenciação, e assim por diante. Notando que

  • a + b = 1 + (a + (b - 1))
  • a \times b = a + (a \times (b - 1))
  • a ^ b = a \times (a ^ {(b - 1)})

Isso produz uma relação natural entre as hiperoperações, e permite que operações maiores sejam definidas, que produzem um grande número de entradas de pequeno porte, como explicado no artigo separado sobre tetração.

Em termos comuns, hiperoperações são maneiras de combinar os números que aumentam em crescimento com base na iteração da hiperoperação anterior. Os conceitos de adição, multiplicação e exponenciação são todos hiperoperações; o operador de adição especifica o número de vezes que um deve ser adicionado a si mesmo para produzir um valor final, a multiplicação especifica o número de vezes que um número deve ser adicionado a si mesmo, e exponenciação se refere ao número de vezes que um número deve ser multiplicado por si mesmo.

Exemplos[editar | editar código-fonte]

Esta é uma lista dos sete primeiras hiperoperações.

n Operação Definição Nomes Domínio
0 b + 1 { 1 + {\underbrace{1 + 1 + 1 + \cdots + 1}_{b}} } hiper0, incremento, sucessor, zeração b arbitrário
1 a + b { a + {\underbrace{1 + 1 + 1 + \cdots + 1}_{b}} } hiper1, adição arbitrário
2 ab { {\underbrace{a + a + a + \cdots + a}} \atop{b} } hiper2, multiplicação arbitrário
3 a \uparrow b = a^b { {\underbrace{a \cdot a \cdot a \cdot a \cdot \ldots \cdot a}} \atop{b} } hiper3, exponenciação a > 0, b real, ou a não-zero, b um inteiro, com algumas extensões múltivaloradas para números complexos
4 a \uparrow\uparrow b { {\underbrace{a \uparrow a \uparrow a \uparrow \cdots \uparrow a}} \atop{b} } hiper4, tetração a > 0, b um inteiro ≥ −1 (com algumas extensões propostas)
5 a \uparrow\uparrow\uparrow b or a \uparrow^3 b { {\underbrace{a \uparrow\uparrow a \uparrow\uparrow \cdots \uparrow\uparrow a}} \atop{b} } hiper5, pentação a e b inteiros, a > 0, b ≥ 0
6 a \uparrow^4 b { {\underbrace{a \uparrow^3 a \uparrow^3 \cdots \uparrow^3 a}} \atop{b} } hiper6, hexação a e b inteiros, a > 0, b ≥ 0

História[editar | editar código-fonte]

Uma das primeiras discussões sobre hiperoperações foi a de Albert Bennett[6] em 1914, que desenvolveu parte da teoria de hiperoperações comutativas(ver abaixo). Cerca de 12 anos mais tarde, Wilhelm Ackermann, definiu a função \phi(a, b, n)[7] que lembra de alguma forma a seqüência de hiperoperações. A função de Ackermann original, com três argumentos usaa mesma regra de recursão, mas ela difere da moderna hiperoperação em pelo menos duas maneiras. Em primeiro lugar, atribuí adição para n=0, a multiplicação para n=1 e exponenciação para n=2. Em segundo lugar, as condições iniciais do \phi indicam que \phi(a, b, 3) = a \uparrow\uparrow (b + 1), produz valores muito diferentes de hiperoperações sobre exponenciação[8] [9] [10] .

Em 1947, Reuben Goodstein[3] definiu a seqüencia de hiperoperaçõescomo é conhecida hoje, onde ele usou a notação G(n,a,b) para o que seria escrito como a \uparrow^{n-2}b na notação de seta para cima de Knuth. No seu artigo de 1947, Goodstein introduziu os nomes "tetração", "pentação", "hexação", etc., para os sucessivos operadores além da exponenciação.

Notações[editar | editar código-fonte]

Esta é uma lista de notações que foram utilizados para hiperoperações.

Nome Notação Comentário
Notação padrão de seta de Knuth a \uparrow^{n-2} b = H_n(a, b) Usada por Knuth,[11] e encontrado em vários livros de referência.[12] [13]
Notação de Goodstein G(n, a, b) Usada por Reuben Goodstein.[3]
Função original de Ackermann A(a, b, n-1) = H_n(a, b) Esta não é o mesmo que hiperoperações.
Função moderna de Ackermann A(n, b - 3) + 3 = H_n(2, b) Esta é o mesmo que hiperoperações para a base 2.
Notação de Nambiar a \otimes^n b Usada por Nambiar[14]
Notação de Caixa a {\,\begin{array}{|c|}\hline{\!n\!}\\\hline\end{array}\,} b Usada por Rubtsov e Romerio.[2] [4]
Notação de Sobrescrito a {}^{(n)} b Usada por Robert Munafo.[9]
Subscript notation a {}_{(n)} b Usada para hyperoperações inferiores em Robert Munafo.[9]
Notação de colchetes a[n]b Usado em muitos fóruns online; conveniente para ASCII.

Generalização[editar | editar código-fonte]

Para condições iniciais diferentes ou regras de recursão diferentes, operações muito diferentes podem ocorrer. Alguns matemáticos referem-se a todas as variantes, como exemplos de hiperoperações.

No sentido geral, uma hierarquia de hiperoperações (S,\,I,\,F) é uma família (F_n)_{n \in I} de operações binárias em S, indexada por um conjunto I, tal que existe i, j, k \in I onde

Além disso, se a última condição é relaxada (ou seja, não há exponenciação), então nós também podemos incluir as hiperoperações comutativas, descritas abaixo. Embora se possa listar cada hiperoperação explicitamente, este não é geralmente o caso. A maioria das variantes incluem apenas as funções sucessoras (ou adição) em sua definição e redefinem a multiplicação (e além), com base em uma regra de recursão única que se aplica a todas as categorias. Uma vez que esta é parte da definição da hierarquia, e não uma propriedade da hierarquia em si, é difícil definir formalmente.

Existem muitas possibilidades para hiperoperações que são diferentes da versão de Goodstein. Por meio de diferentes condições iniciais para F_n(a, 0) ou F_n(a, 1), as iterações destas condições podem produzir diferentes hiperoperações acima da exponenciação, enquanto ainda correspondendo à adição e multiplicação. A definição moderna de hiperoperações inclui F_n(a, 0) = 1 para todo n \ge 3, considerando que as variantes abaixo incluem F_n(a, 0) = a, e F_n(a, 0) = 0.

Um problema em aberto na pesquisa sobre hiperoperações é saber se a hierarquia de hiperoperações (\mathbb{N}, \mathbb{N}, F) pode ser generalizada para (\mathbb{C}, \mathbb{C}, F), e se (\mathbb{C}, F_n) forma um quasigrupo (com domínios restritos).

Variante a partir de a[editar | editar código-fonte]

Em 1928, Wilhelm Ackermann definiu uma função 3-argumentos \phi(a, b, n) que evoluiu gradualmente para uma função de dois argumentos, conhecida como a função de Ackermann. A função de Ackermann original \phi era menos semelhante as modernas hiperoperações, porque suas condições iniciais começavam com \phi(a, 0, n) = a para todo n > 2. Ele também atribuiu adição a (n = 0), multiplicação a (n = 1) e exponenciação a (n = 2), assim as condições iniciais produzem operações muito diferentes para Tetração e além.

n Operação Comentário
0 F_0(a, b) = a + b
1 F_1(a, b) = a\cdot b
2 F_2(a, b) = a^b
3 F_3(a, b) = a \uparrow\uparrow (b + 1) Uma forma de deslocar a tetração. A iteração dessa operação é muito diferente da iteração da tetração.
4 F_4(a, b) = (x \to a \uparrow\uparrow (x + 1))^b(a) Não deve ser confundida com pentação.

Outra condição inicial que tem sido utilizada é A(0, b) = 2 b + 1 (onde a base é constante a=2), devido à Rózsa Péter, o que não forma uma hierarquia de hiperoperações.

Variante a partir de 0[editar | editar código-fonte]

Em 1984, C. W. Clenshaw e F. W. J. Olver iniciaram a discussão do uso de hiperoperações para evitar overflow em operações de ponto-flutuante em computadores[15] . Desde então, muitos outros autores[16] [17] [18] têm um interesse renovado na aplicação de hiperoperações para representação de ponto-flutuante.

Enquanto discutindo tetração, Clenshaw et al. assumiram a condição inicial F_n(a, 0) = 0, o que faz ainda outra hierarquia de hiperoperações. Assim como na variante anterior, a quarta operação é muito semelhante a tetração, mas deslocada por um.

n Operação Comentário
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b = e^{\ln(a) + \ln(b)}
3 F_3(a, b) = a^b
4 F_4(a, b) = a \uparrow\uparrow (b - 1) Uma forma deslocada de tetração. A iteração desta operação é muito diferente do que a iteração da tetração.
5 F_5(a, b) = (x \to a \uparrow\uparrow (x - 1))^b(0) Não deve ser confundida com pentação.

Hiperoperações comutativas[editar | editar código-fonte]

Hiperoperações comutativas foram considerados por Albert Bennett tão cedo quanto 1914,[6] que é possivelmente a mais antiga observação sobre qualquer seqüência de hiperoperações. Hiperoperações comutativas são definidas pela regra de recursão

F_{n+1}(a, b) = \exp(F_n(\ln(a), \ln(b)))

que é simétrica em a e b, significando que todas as hiperoperações são comutativas. Esta seqüência não contém exponenciação, e assim não formam uma hierarquia de hiperoperações.

n Operação Comentário
0 F_0(a, b) = \ln(e^{a} + e^{b})
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b = e^{\ln(a) + \ln(b)} Isto é devido as propriedades do logaritmo.
3 F_3(a, b) = e^{\ln(a)\ln(b)} Uma forma comutativa de exponenciação.
4 F_4(a, b) = e^{e^{\ln(\ln(a))\ln(\ln(b))}} Não deve ser confundida com a tetração.

Hiperoperações balanceadas[editar | editar código-fonte]

Hiperoperações balanceadas, em primeiro lugar consideradas por Clément Frappier, em 1991,[19] são baseadas na iteração da função x^x, e são, portanto, relacionados com a notação de Steinhaus-Moser. A regra de recursão usada em hiperoperações balanceadas é

F_{n+1}(a, b) = (x \to F_n(x, x))^{\log_2(b)}(a)

que exige contínuas iterações, mesmo para o inteiro b.

n Operação Comentário
0 A categoria 0 não existe.[nb 1]
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b = a 2^{\log_2(b)}
3 F_3(a, b) = a^b = a^{2^{\log_2(b)}} Esta é exponenciação.
4 F_4(a, b) = (x \to x^x)^{\log_2(b)}(a) Não deve ser confundida com a tetração.

Hiperoperações baixas[editar | editar código-fonte]

Uma alternativa para estas hiperoperaçõe é obtida pela avaliação da esquerda para a direita. Uma vez que

  • a+b = (a+(b-1))+1
  • a\cdot b = (a\cdot (b-1))+a
  • a^b = (a^{(b-1)})\cdot a

define (com ° ou subscrito) a_{(n+1)}b = (a_{(n+1)}(b-1))_{(n)}a com a_{(1)}b = a+b, a _ {(2)} 0 = 0, and a _ {(n)} 0 = 1 para n>2

Mas este sofre uma espécie de colapso, falhando em formar uma "torre de potências" tradicionalmente esperada de hyper4: a_{(4)}b = a^{(a^{(b-1)})}

Como pode a^{(n)}b ser tão diferente de a_{(n)}b para n>3? Isto se deve a uma simetria chamada associatividade que está definida dentro do + e do × (ver corpo) mas que falta no ^. É mais apto dizer que os dois (n)s foram decretados ser o mesmo para n<4. (Por outro lado, pode-se objetar que as operações de corpo foram definidas para imitar o que tinha sido "observado na natureza" e perguntar por que a "natureza" de repente, cria objeção para que a simetria...)

Os outros graus não colapsam desta forma, e por isso esta família tem algum interesse próprio em si como hiperoperações baixas (talvez menores ou inferiores). Com hiperfunções superiores a três, é também baixo no sentido de que as respostas que você recebe são, na verdade, muitas vezes muito mais baixas do que as respostas que você obtém quando se usa o método padrão.

n Operação Comentário
0 b + 1 incremento, sucessor, zeração
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b
3 F_3(a, b) = a^b Esta é a exponenciação.
4 F_4(a, b) = a^{a^{(b-1)}} Não deve ser confundida com a tetração.
5 F_5(a, b) = (x \to x^{x^{(a-1)}})^{b-1}(a) Não deve ser confundida com a pentação.

Notas[editar | editar código-fonte]

  1. Se houvesse uma hiperoperação balanceada categoria 0 f(a, b), então a adição seria a + b = (x \to f(x, x))^{\log_2(b)}(a). Substituindo b = 1 nesta equação dá a + 1 = (x \to f(x, x))^{0}(a) = a o que é uma contradição.

Referências

  1. What lies beyond exponentiation? (2003). Página visitada em 2009-04-17.
  2. a b Ackermann's Function and New Arithmetical Operation (12 2005). Página visitada em 2009-04-17.
  3. a b c R. L. Goodstein. (12 1947). "Transfinite Ordinals in Recursive Number Theory". Journal of Symbolic Logic 12 (4): 123-129 pp.. DOI:10.2307/2266486. Página visitada em 2009-04-17.
  4. a b G. F. Romerio (2008-01-21). Hyperoperations Terminology. Tetration Forum. Página visitada em 2009-04-21.
  5. I. N. Galidakis (2003). Mathematics. Página visitada em 2009-04-17.
  6. a b c Albert A. Bennett. (12 1915). "Note on an Operation of the Third Grade". Annals of Mathematics, Second Series 17 (2): 74-75 pp.. Página visitada em 2009-04-17.
  7. Wilhelm Ackermann. (1928). "Zum Hilbertschen Aufbau der reellen Zahlen". Mathematische Annalen 99: 118-133 pp.. DOI:10.1007/BF01459088.
  8. Paul E. Black (1988-09-30). Ackermann's function. Dictionary of Algorithms and Data Structures. U.S. National Institute of Standards and Technology (NIST). Página visitada em 2009-04-17.
  9. a b c Robert Munafo (1999-11-03). Versions of Ackermann's Function. Large Numbers at MROB. Página visitada em 2009-04-17.
  10. J. Cowles and T. Bailey (1988-09-30). Several Versions of Ackermann's Function. Dept. of Computer Science, University of Wyoming, Laramie, WY. Página visitada em 2009-04-17.
  11. Donald E. Knuth. (Dezembro 1976). "Mathematics and Computer Science: Coping with Finiteness". Science 194 (4271): 1235–1242 pp.. DOI:10.1126/science.194.4271.1235. PMID 17797067. Página visitada em 2009-04-21.
  12. Zwillinger, Daniel. CRC standard mathematical tables and formulae. 31ª ed. [S.l.]: CRC Press, 2002. 4 pp. ISBN 1-58488291-3
  13. Weisstein, Eric W.. CRC concise encyclopedia of mathematics. 2ª ed. [S.l.]: CRC Press, 2003. 127–128 pp. ISBN 1-58488347-2
  14. K. K. Nambiar. (1995). "Ackermann Functions and Transfinite Ordinals". Applied Mathematics Letters 8 (6): 51–53 pp.. DOI:10.1016/0893-9659(95)00084-4. Página visitada em 2009-04-21.
  15. CLENSHAW, C. W.; OLIVER, F.W.J.. (1984). "Beyond floating point". Journal of the ACM 31 (2): 319–328 pp.. DOI:10.1145/62.322429.
  16. HOLMES, W. N.. (1997). "Composite Arithmetic: Proposal for a New Standard". Computer 30 (3): 65–73 pp.. DOI:10.1109/2.573666.
  17. ZIMMERMANN, R. (1997). Computer Arithmetic: Principles, Architectures, and VLSI Design. Lecture notes, Integrated Systems Laboratory, ETH Zürich.
  18. PINKIEWICZ, T.; HOLMES, N.; JAMIL, T. (2000). Design of a composite arithmetic unit for rational numbers pp. 245–252. Proceedings of the IEEE.
  19. FRAPPIER, C.. (1991). "Iterations of a kind of exponentials". Fibonacci Quarterly 29 (4): 351–361 pp..