Article de reference

Hyperopération

En mathématiques , la suite des hyperopérations est une suite infinie d'opérations arithmétiques (appelées hyperopérations dans ce contexte) qui commence par une opération unair...

mathématiques , la suite des hyperopérations est une suite infinie d'opérations arithmétiques (appelées hyperopérations dans ce contexte) qui commence par une opération unaire (la fonction successeur avec n = 0). La suite se poursuit avec les opérations binaires d' addition ( n = 1), de multiplication ( n = 2) et d'exponentiation ( n = 3). Ensuite, la suite se poursuit avec d'autres opérations binaires, au-delà de l'exponentiation, en utilisant l'associativité à droite . Pour les opérations au-delà de l'exponentiation, le n -ième terme de cette suite est nommé par Reuben Goodstein d'après le préfixe grec n suivi du suffixe -ation (comme la tétration ( n = 4), la pentation ( n = 5), l'hexation ( n = 6), etc.) et peut être écrit à l'aide de n − 2 flèches dans la notation de Knuth . Chaque hyperopération peut être comprise récursivement à partir de la précédente par :

Elle peut également être définie selon la partie de la définition relative à la règle de récursivité, comme dans la version à flèche ascendante de la fonction d'Ackermann de Knuth :

Cela peut être utilisé pour montrer facilement des nombres beaucoup plus grands que ceux que la notation scientifique peut montrer, tels que le nombre de Skewes et le googolplexplex (par exemple, est beaucoup plus grand que le nombre de Skewes et le googolplexplex), mais il y a des nombres que même eux ne peuvent pas facilement montrer, tels que le nombre de Graham et TREE(3) .

Cette règle de récursivité est commune à de nombreuses variantes d'hyperopérations.

suite d' opérations binaires définies récursivement comme suit : pour n = 0, 1, 2, 3, cette définition reproduit les opérations arithmétiques de base de successeur (opération unaire), d'addition , de multiplication et d'exponentiation , respectivement, pour tous les entiers non négatifs séquence de fonctions qui commence par successeur, addition, multiplication, exponentiation. De même que la multiplication d'entiers est définie comme une addition itérée et l'exponentiation d'entiers comme une multiplication itérée, l'hyperopération suivante, la tétration , est définie par une exponentiation itérée ; par exemple, est une tour de puissance de trois

Exemples

Ci-dessous figure la liste des sept premières hyperopérations (de la 0e à la 6e) ( 0⁰ est défini comme 1).

nOpération, H n ( a , b )DéfinitionNomsDomaine
0Incrément, successeur , zération, hyper0Arbitraire
1Addition , hyper1
2Multiplication , hyper2
3Exponentiation , hyper3b réel, avec quelques extensions multivaluées aux nombres complexes
4Tétration , hyper4a ≥ 0 ou un entier, b un entier ≥ −1 (avec quelques extensions proposées)
5Pentation, hyper5a , b entiers ≥ −1
6Hexation, hyper6

Cas particuliers

H n (0, b ) =

b + 1, lorsque n = 0
b , lorsque n = 1
0, lorsque n = 2
1, lorsque n = 3 et b = 0
0, lorsque n = 3 et b > 0
1, lorsque n > 3 et b est pair (y compris 0)
0, lorsque n > 3 et b est impair

H n (1, b ) =

b , lorsque n = 2
1, lorsque n ≥ 3

H n ( a , 0) =

0, lorsque n = 2
1, lorsque n = 0, ou n ≥ 3
a , lorsque n = 1

H n ( a , 1) =

2, lorsque n = 0
a + 1, lorsque n = 1
a , lorsque n ≥ 2

H n ( a , a ) =

H n+1 ( a , 2), lorsque n ≥ 1

H n ( a , −1) =

0, lorsque n = 0, ou n ≥ 4
a − 1, lorsque n = 1
a , lorsque n = 2
1/un , lorsque n = 3

H n (2, 2) =

3, lorsque n = 0
4, lorsque n ≥ 1, facilement démontrable de manière récursive.

Histoire

L'une des premières discussions sur les hyperopérations est celle d'Albert Bennett en 1914, qui a développé une partie de la théorie des hyperopérations commutatives (voir Wilhelm Ackermann a défini la fonction qui ressemble quelque peu à la séquence d'hyperopérations.

Dans son article de 1947 , Reuben Goodstein a introduit la séquence d'opérations que l'on appelle aujourd'hui hyperopérations , et a également suggéré les noms grecs de tétration , pentation, etc., pour les opérations étendues au-delà de l'exponentiation (car elles correspondent aux indices 4, 5, etc.). En tant que fonction à trois arguments, par exemple, la séquence d'hyperopérations dans son ensemble est considérée comme une version de la fonction d'Ackermann originale — récursive mais non récursive primitive — modifiée par Goodstein pour intégrer la fonction successeur primitive ainsi que les trois autres opérations arithmétiques de base ( addition , multiplication , exponentiation ), et pour réaliser une extension plus continue de celles-ci au-delà de l'exponentiation.

La fonction d'Ackermann originale à trois arguments utilise la même règle de récursion que la version de Goodstein (c'est-à-dire la séquence d'hyperopérations), mais s'en distingue par deux aspects. Premièrement, elle définit une séquence d'opérations commençant par l'addition ( n = 0) plutôt que par la fonction successeur , puis la multiplication ( n = 1), l'exponentiation ( n = 2), etc. Deuxièmement, les conditions initiales de cette fonction donnent , ce qui la différencie des hyperopérations au-delà de l'exponentiation. La signification du b + 1 dans l'expression précédente est que = , où b compte le nombre d' opérateurs (exponentiations), et non le nombre d' opérandes (« a ») comme le fait le b dans , et ainsi de suite pour les opérations de niveau supérieur. (Voir l' article sur la fonction d'Ackermann pour plus de détails.)

Notations

Voici une liste des notations utilisées pour les hyperopérations.

NomNotation équivalente àCommentaire
Notation de Knuth avec flèche vers le hautUtilisé par Knuth (pour n ≥ 3), et présent dans plusieurs ouvrages de référence.
Notation de HilbertUtilisé par David Hilbert .
La notation de GoodsteinUtilisé par Reuben Goodstein .
Fonction Ackermann originaleUtilisé par Wilhelm Ackermann (pour n ≥ 1)
Fonction d'Ackermann-PéterCela correspond aux hyperopérations pour la base 2 ( a = 2 ).
La notation de NambiarUtilisé par Nambiar (pour n ≥ 1)
Notation en exposantUtilisé par Utilisé pour les hyperopérations inférieures par Robert Munafo.
Notation d'opérateur (pour les « opérations étendues »)Utilisé pour les hyperopérations inférieures par Alfred Tarski (pour n ≥ 1).
notation entre crochetsUtilisé dans de nombreux forums en ligne ; pratique pour l'ASCII .
Notation de flèches chaînées de ConwayUtilisé par John Horton Conway (pour n ≥ 3)

Variante commençant par un

Wilhelm Ackermann a défini une fonction à trois arguments qui a progressivement évolué vers une fonction à deux arguments connue sous le nom de fonction d'Ackermann . La fonction d'Ackermann originale était moins semblable aux hyperopérations modernes, car ses conditions initiales commençaient par 0 pour tout n > 2. De plus, il avait associé l'addition à n = 0, la multiplication à n = 1 et l'exponentiation à n = 2, de sorte que les conditions initiales produisent des opérations très différentes pour la tétration et les nombres supérieurs.

Variante commençant par 0

En 1984, C.W. Clenshaw et F.W.J. Olver ont initié la discussion sur l'utilisation des hyperopérations pour prévenir les dépassements de capacité des nombres à virgule flottante . Depuis, de nombreux auteurs ont renouvelé l'intérêt pour l'application des hyperopérations à la représentation en virgule flottante . (Puisque H <sub>n</sub> ( a , b ) est défini pour b = -1.) En abordant la tétration , Clenshaw et al. ont supposé la condition initiale , ce qui constitue une nouvelle hiérarchie d'hyperopérations. Tout comme dans la variante précédente, la quatrième opération est très similaire à la tétration , mais décalée d'une unité.

nOpérationCommentaire
0
1
2
3
4Une forme décalée de tétration . L'itération de cette opération est très différente de celle de la tétration .
50" 0 F5(a,b)=(xa[4](x1))b(0)=0 if a>0{\displaystyle F_{5}(a,b)=\left(x\mapsto a[4](x-1) ight)^{b}(0)=0{ ext{ if }}a>0}0 À ne pas confondre avec la pentecôtisme.

Hyperopérations inférieures

Une alternative à ces hyperopérations est obtenue par une évaluation de gauche à droite. Puisque

définir (avec ° ou indice)

avec

2 \\\\ \\end{align}" 2\\\end{aligned a(1)b=a+ba(2)0=0a(n)1=afor n>2{\displaystyle {\begin{aligned}a_{(1)}b&=a+b\\a_{(2)}0&=0\\a_{(n)}1&=a&{ ext{for }}n>2\\\end{aligned}}}2\\\end{aligned

Ce principe a été étendu aux nombres ordinaux par Doner et Tarski . Ils utilisent l'indice 0 au lieu de 1 pour l'addition. Ils étendent les formules afin de traiter également chaque ordinal sans prédécesseur immédiat en remplaçant supremum de tous les ordinaux inférieurs à

Avec ces définitions représente l'addition, la multiplication et l'exponentiation. Cependant, ne parvient pas à former la « tour de puissance » apparente avec l'hyperopération correspondante (non inférieure). Au lieu de cela,

nOpérationCommentaire
0Incrément, successeur, zération
1
2
3
4À ne pas confondre avec la tétraration .
5À ne pas confondre avec la pentation. Similaire à la tétration .

hyperopérations commutatives

Les hyperopérations commutatives ont été étudiées par Albert Bennett dès 1914 , ce qui constitue probablement la première mention d'une séquence d'hyperopérations. Les hyperopérations commutatives sont définies par la règle de récurrence.

Cette suite est symétrique par rapport à a et b , ce qui signifie que toutes ses hyperopérations sont commutatives. Elle ne contient pas d'exponentiation et ne forme donc pas de hiérarchie d'hyperopérations.

nOpérationCommentaire
0Maximum lissé ( LogSumExp )
1
2Cela est dû aux propriétés du logarithme .
3Dans un corps fini , il s'agit de l' opération d'échange de clés Diffie-Hellman .
4À ne pas confondre avec la tétraration .

Systèmes de numération basés sur la séquence d'hyperopération

RL Goodstein a utilisé la séquence d'hyperopérateurs pour créer des systèmes de numération pour les entiers non négatifs. La représentation héréditaire complète de l'entier n , au niveau k et en base b , peut être exprimée comme suit en utilisant uniquement les k premiers hyperopérateurs et en utilisant comme chiffres uniquement 0, 1, ..., b − 1, ainsi que la base b elle-même :

  • Pour 0 ≤ nb 1, n est représenté simplement par le chiffre correspondant.
  • Pour n > b 1, la représentation de n est trouvée récursivement, en représentant d'abord n ​​sous la forme
b [ k ] x k [ k 1] x k 1 [ k − 2] ... [2] x 2 [1] x 1
x k , ..., x 1 sont les plus grands entiers satisfaisant (à leur tour)
b [ k ] x kn
b [ k ] x k [ k 1] x k 1n
...
b [ k ] x k [ k 1] x k 1 [ k − 2] ... [2] x 2 [1] x 1n
Tout x i dépassant b 1 est alors réexprimé de la même manière, et ainsi de suite, en répétant cette procédure jusqu'à ce que la forme résultante ne contienne que les chiffres 0, 1, ..., b 1, ainsi que la base b .

On peut éviter les parenthèses inutiles en accordant une priorité plus élevée aux opérateurs de niveau supérieur dans l'ordre d'évaluation ; ainsi,

Les représentations de niveau 1 ont la forme b [1] X, avec X également de cette forme ;
Les représentations de niveau 2 ont la forme b [2] X [1] Y, avec X , Y également de cette forme ;
Les représentations de niveau 3 ont la forme b [3] X [2] Y [1] Z, avec X , Y , Z également de cette forme ;
Les représentations de niveau 4 ont la forme b [4] X [3] Y [2] Z [1] W, avec X , Y , Z , W également de cette forme ;

et ainsi de suite.

Dans ce type de représentation héréditaire en base b , la base elle-même apparaît dans les expressions, ainsi que des « chiffres » de l'ensemble {0, 1, ..., b 1}. Ceci se compare à la représentation ordinaire en base 2 lorsque cette dernière est écrite en fonction de la base b ; par exemple, en notation ordinaire en base 2, 6 = (110) 2 = 2 [3] 2 [2] 1 [1] 2 [3] 1 [2] 1 [1] 2 [3] 0 [2] 0, tandis que la représentation héréditaire de niveau 3 en base 2 est 6 = 2 [3] (2 [3] 1 [2] 1 [1] 0) [2] 1 [1] (2 [3] 1 [2] 1 [1] 0). Les représentations héréditaires peuvent être abrégées en omettant les occurrences de [1] 0, [2] 1, [3] 1, [4] 1, etc. ; par exemple, la représentation de niveau 3 en base 2 de 6 ci-dessus s'abrège en 2 [3] 2 [1] 2.

Exemples : Les représentations uniques en base 2 du nombre 266 , aux niveaux 1, 2, 3, 4 et 5, sont les suivantes :

Niveau 1 : 266 = 2 [1] 2 [1] 2 [1] ... [1] 2 (avec 133 2)
Niveau 2 : 266 = 2 [2] (2 [2] (2 [2] (2 [2] 2 [2] 2 [2] 2 [2] 2 [1] 1)) [1] 1)
Niveau 3 : 266 = 2 [3] 2 [3] (2 [1] 1) [1] 2 [3] (2 [1] 1) [1] 2
Niveau 4 : 266 = 2 [4] (2 [1] 1) [3] 2 [1] 2 [4] 2 [2] 2 [1] 2
Niveau 5 : 266 = 2 [5] 2 [4] 2 [1] 2 [5] 2 [2] 2 [1] 2

Calcul

Les définitions de la séquence d'hyperopération peuvent naturellement être transposées aux systèmes de réécriture de termes (TRS) .

TRS basé sur la définition sous-1.1

La définition de base de la séquence d'hyperopération correspond aux règles de réduction

Pour effectuer le calcul, on peut utiliser une pile , qui contient initialement les éléments .

Ensuite, à plusieurs reprises jusqu'à ce que cela ne soit plus possible, trois éléments sont retirés et remplacés selon les règles

Schématiquement, en partant de :

TANT QUE longueur de pile <> 1 { POP 3 éléments ; PUSH 1 ou 5 éléments selon les règles r1, r2, r3, r4, r5 ; }

Exemple

Calculer .

La séquence de réduction est

Lorsqu'elle est implémentée à l'aide d'une pile, sur l'entrée

les configurations de pile

TRS basé sur la définition sous-section 1.2

La définition utilisant l'itération conduit à un ensemble différent de règles de réduction

L'itération étant associative , au lieu de la règle r11, on peut définir

Comme dans la section précédente, le calcul peut être implémenté à l'aide d'une pile.

Initialement, la pile contient les quatre éléments .

Ensuite, jusqu'à la fin, quatre éléments sont retirés et remplacés selon les règles

Schématiquement, en partant de :

TANT QUE longueur de pile <> 1 { POP 4 éléments ; PUSH 1 ou 7 éléments selon les règles r6, r7, r8, r9, r10, r11 ; }

Exemple

Calculer .

En entrée, les configurations de pile successives sont

Les égalités correspondantes sont

Lorsque la règle de réduction r11 est remplacée par la règle r12, la pile est transformée selon

Les configurations d'empilement successives seront alors

Les égalités correspondantes sont

Remarques