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 troisExemples
Ci-dessous figure la liste des sept premières hyperopérations (de la 0e à la 6e) ( 0⁰ est défini comme 1).
| n | Opération, H n ( a , b ) | Définition | Noms | Domaine |
|---|---|---|---|---|
| 0 | Incrément, successeur , zération, hyper0 | Arbitraire | ||
| 1 | Addition , hyper1 | |||
| 2 | Multiplication , hyper2 | |||
| 3 | Exponentiation , hyper3 | b réel, avec quelques extensions multivaluées aux nombres complexes | ||
| 4 | Tétration , hyper4 | a ≥ 0 ou un entier, b un entier ≥ −1 (avec quelques extensions proposées) | ||
| 5 | Pentation, hyper5 | a , b entiers ≥ −1 | ||
| 6 | Hexation, 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.
| Nom | Notation équivalente à | Commentaire | |
|---|---|---|---|
| Notation de Knuth avec flèche vers le haut | Utilisé par Knuth (pour n ≥ 3), et présent dans plusieurs ouvrages de référence. | ||
| Notation de Hilbert | Utilisé par David Hilbert . | ||
| La notation de Goodstein | Utilisé par Reuben Goodstein . | ||
| Fonction Ackermann originale | Utilisé par Wilhelm Ackermann (pour n ≥ 1) | ||
| Fonction d'Ackermann-Péter | Cela correspond aux hyperopérations pour la base 2 ( a = 2 ). | ||
| La notation de Nambiar | Utilisé par Nambiar (pour n ≥ 1) | ||
| Notation en exposant | Utilisé 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 crochets | Utilisé dans de nombreux forums en ligne ; pratique pour l'ASCII . | ||
| Notation de flèches chaînées de Conway | Utilisé par John Horton Conway (pour n ≥ 3) |
Variante commençant par un
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é.
| n | Opération | Commentaire |
|---|---|---|
| 0 | ||
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | Une 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 . | |
| 5 | 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
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 à
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.
| n | Opération | Commentaire |
|---|---|---|
| 0 | Maximum lissé ( LogSumExp ) | |
| 1 | ||
| 2 | Cela est dû aux propriétés du logarithme . | |
| 3 | Dans 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 ≤ n ≤ b − 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
- où x k , ..., x 1 sont les plus grands entiers satisfaisant (à leur tour)
- b [ k ] x k ≤ n
- b [ k ] x k [ k − 1] x k − 1 ≤ n
- ...
- b [ k ] x k [ k − 1] x k − 1 [ k − 2] ... [2] x 2 [1] x 1 ≤ n
- 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
- Le calcul selon les règles {r6 - r10, r12} est plus efficace à cet égard. L'implémentation de l'itération imite l'exécution répétée d'une procédure H. La profondeur de récursion, (n+1), correspond à l'imbrication des boucles.
- Les considérations précédentes concernent uniquement la profondeur de récursion. Les deux méthodes d'itération aboutissent au même nombre d'étapes de réduction, impliquant les mêmes règles (lorsque les règles r11 et r12 sont considérées comme identiques). Comme le montre l'exemple, la réduction converge en 9 étapes : 1 × r7, 3 × r8, 1 × r9, 2 × r10, 2 × r11/r12. Le modus iterandi n'affecte que l'ordre d'application des règles de réduction.