超運算序列是数学中一种二元运算的序列,前三项分别为加法、乘法、幂,一般來說,除了序列中第一項的加法運算之外,序列中每一項的運算都是重複的前一項的運算(例如乘法是重複的加法:a \cdot b = \underbrace{a + a + a + \cdots + a}_b,冪是重複的乘法:a^b = \underbrace{a \cdot a \cdot a \cdot \ldots \cdot a}_b)。这些运算通称为超运算(或稱為hyper運算符)。序列中的第n项称为*超-n运算或第n級的超運算,其符號為[n]。英文則由魯賓·古德斯坦命名,當n≥4時,由n的希腊语前缀加上后缀-ation组成(例如超-4运算称为tetration,超-5运算称为pentation)。當n≥3 時,使用高德纳箭号表示法可将超-n运算的符號表示为(n*-2)个箭头。
超运算可通过递归进行定义,對於所有正整數a,正整數b和正整數n:
:a [1] b = a + b, \ \text{for} \ n > 1, \ a [n] b = \underbrace{a [n-1] (a [n-1] (a [n-1] \cdots (a [n-1] (a [n-1] a}_b)) \cdots ))
除这一最常见的定义之外,超运算还有其他的变体。(见下文)
定义
超运算序列是定义在自然数集\mathbb{N}上的一个序列,记为H_n。前三项为加法(n=1)、乘法(n=2)和幂(n=3)。高阶超运算的参数与幂运算相似,即a称为底数,b称为指数(或称超指数),而n则称为阶数。
用高德纳箭号表示法可以将超运算定义为
: H_n(a,b)=a\uparrow^{n-2}b=a[n]b=\begin{cases}
b+1&n=0\\
a&n=1\land b=0\\
0&n=2\land b=0\\
1&n\geq3\land b=0\\
H_{n-1}(a,H_n(a,b-1))&\text{otherwise}
\end{cases}
注意到,对于序列的前三项有:
- a + b = 1 + (a + (b - 1))
- a \cdot b = a + (a \times (b - 1))
- a ^ b = a \cdot (a ^ {(b - 1)})
通过这样的递归能够定义出高阶运算,从而输入很小的数就可以产生非常大的数。
其实,某一超运算就是一种基于低一阶超运算而进行数的复合的方法。我们可以以加法、乘法与幂的概念为例来说明。加法运算就是将指定次数的1加到原本的数上从而得到最终的结果(如2+3是将1三次加到2上),乘法运算就是将指定次数的某数通加(如2 \times 3就是3个2相加),幂运算则是将指定次数的某数通乘(如2^3就是3个2相乘)。
实例
下表列出了前七个超运算:
历史
1914年,阿尔伯特·贝内特(Albert Bennett)最早提出了超运算,他发展出了一套交换超运算(见下文)的理论。12年之后,威廉·阿克曼定义了函数\phi(a, b, n),和超运算序列已经有了某种程度上的相似。最早的使用三个自变量的阿克曼函数使用了同样的递归法则,但有两点与现在的超运算不同。一是它定义了n=0时为加法、n=1时为乘法、n=2时为幂运算,二是由其对\phi初始条件的定义能得到\phi(a, b, 3) = a [4] (b + 1),最后的运算结果与超运算不同。
1947年,鲁宾·古德斯坦,也在相关参考书目中提及
|-
| 古德斯坦表示法
| G(n, a, b)
| 鲁宾·古德斯坦使用
|-
| 框表示法
| a {\,\begin{array}\hline{\!n\!}\\\hline\end{array}\,} b
| 鲁佐勃夫(C. A. Rubtsov)与罗莫里奥(G. F. Romerio)使用
|-
| 下标表示法
| a {}_{(n)} b
| 默纳福用来表示低级超运算此后,很多人都开始对于超运算在浮点数表示中的应用产生兴趣。在探讨超-4运算时,克莱恩肖等人曾令F_n(a, 0) = 0作为初始条件,这就产生了又一个超运算等级。
交换超运算
1914年阿尔伯特·贝内特提出了超运算,很可能是关于超运算最早的尝试。交换超运算通过以下递归法则定义:
:F_{n+1}(a, b) = \exp(F_n(\ln(a), \ln(b)))
由于a和b的对称性,意味着所有的超运算都是可交换的。但由于序列并不包括幂运算,因此也就不能成为一个超运算等级。
均衡超运算
均衡超运算于1991年首先由克莱门特·弗拉皮耶(Clément Frappier)提出,这种超运算是基于函数x^x的,因而与斯坦豪斯-莫泽表示法(Steinhaus-Moser notation)有关。均衡超运算的递归法则是
:F_{n+1}(a, b) = (x \to F_n(x, x))^{\log_2(b)}(a)
低级超运算
还有一种变化形式的特点是从左到右的顺序进行求值,即:
- a+b = (a+(b-1))+1
- a\times b = (a\times (b-1))+a
- a^b = (a^{(b-1)})\times a
令(通过°或下标)a_{(n+1)}b = (a_{(n+1)}(b-1))_{(n)}a,有初始条件a_{(1)}b = a+b, a _ {(2)} 0 = 0,且对所有n>2有
a _ {(n)} 0 = 1。
这样所产生的一个问题是,在4阶时它就与通常的定义不同:a_{(4)}b = a^{(a^{(b-1)})}。出现这一问题的原因在于加法和乘法运算有一种称为结合律的对称性,但这在幂运算上并不成立。由于通过这种超运算所得到的结果在3阶以上都比普通的超运算更小,因而把这种超运算称为低级超运算。
其他變體
的可能結果,當F_n(3, 3)的n為實數時。目前實數階的超運算未有相關理論能夠計算,但仍可以以近似的方式得出結果。]]
在取不同的初始条件或不同的递归法则时,就会产生不同的运算。一些数学家扩展出了超运算的许多变体。
通常,超运算等级(hyperoperation hierarchy)(S,\,I,\,F)是一个以集合I为索引集、基于集合S的二元运算族(F_n)_{n \in I}。对于i, j, k \in I,有:
- F_i(a, b) = a + b(加法)
- F_j(a, b) = ab(乘法)
- F_k(a, b) = a^b(幂)
如果不满足最后一个条件的话,就能将交换超运算包括在内。当然,也可以明确地定义每一个超运算,但这就超出了我们讨论的范围。大多数的变体形式只包含了对于后继函数(即加法)的定义,而乘法则由递归法则来进行定义。由于这属于对超运算等级的定义,而非等级本身的性质,很难给出形式上的定义。
对于超运算,除了古德斯坦给出的定义外,还有很多其他可能性。如果对F_n(a, 0)和F_n(a, 1)采用不同的初始条件,则产生的超运算在比幂运算更高阶时就会有不同的结果。现今的超运算定义的条件包括对所有n \ge 3有F_n(a, 0) = 1,而在其他形式中也有F_n(a, 0) = a或F_n(a, 0) = 0的情况。
关于超运算的一个未解决问题是超运算等级(\mathbb{N}, \mathbb{N}, F)是否能推广到(\mathbb{R}, \mathbb{R}, F)甚至(\mathbb{C}, \mathbb{C}, F),以及(\mathbb{C}, F_n)是否能成为一个拟群。
使用超運算的记数系统
使用超運算序列定義了一套能表達非負整數的记数系统。
参考文献
评论 (0)