BEAF
更多操作
Bowers' Exploding Array Function(BEAF,鲍尔斯爆炸数组函数)是由乔纳森·鲍尔斯(Jonathan Bowers)发明的一种表示大数的符号系统。BEAF 类似于链式箭头符号,都是一种历史记号,但强度远超后者。
BEAF 是一个在大数历史上非常重要的数阵记号,它是单行线性数阵(Bowers' Array Notation)和扩展数阵记号(Extended Array Notation)的超集,两者均由Bowers发明。然而,对于四维数阵以上的符号系统,目前尚无统一认可的定义。因此,严格来说,四维数阵以上的 BEAF 是未明确定义的,而四维数阵及以下的 BEAF 则是定义明确的。
定义
以下是对 BEAF 工作原理的大致框架性描述。如前所述,对于原始 BEAF 在四维数阵之外的扩展,目前尚未达成共识的定义,因此这并非一个完整的定义。
一个 BEAF 表达式形如:
其中均为正整数,是自然数(序列),分别表示n级分隔符与m级分隔符,特别地,0级分隔符 是 ,
(即逗号,用于分割数组中同一行内的每个项)。
我们定义如下概念:
- 底数(base):数组的第一个元素,记为 。
- 指数(prime):数组的第二个元素,记为 。
- 驾驶员(pilot):指数之后第一个非 1 的元素,可能最早出现在第三个元素的位置。
- 副驾驶(copilot):驾驶员左侧的第一个元素。若驾驶员是某行的第一个元素,则副驾驶不存在。
- 结构(structure):数组中由低维组构成的部分。例如:一个数为0维结构,一行为1维结构,一个平面为2维结构,一个立方块为3维结构,...,以此类推。记为 。
- 前结构(previous structures)
- 前项(previous entry):驾驶员之前、且与所有其他前项在同一行的元素。
- 前行(previous row):驾驶员所在行之前、且与所有其他前行在同一平面的行。
- 前平面(previous plane):驾驶员所在平面之前、且与所有其他前平面在同一立方块的平面。
- ...
- 这些统称为“前结构”,即若驾驶员处于X维结构中,那前结构为0维到X-1维的所有结构。
- 指数块(prime block):
- 对于自然数n,某 维结构的指数块指的是该 维结构的前 个n维结构,若n维结构的个数少于 ,则使用由1填充的n维结构补充直到满足该条件。
- 对于序列 ,某 维结构的指数块指的是 维结构;若序列 内存在高级分隔符,则按BEAF定义展开。
- 飞机(airplane):包含驾驶员、所有前项以及所有前结构的指数块。
- 乘客(passengers):飞机中既非驾驶员也非副驾驶的元素。
规则
令是一个 BEAF 表达式,其值计算有以下规则:
- 主规则(Prime rule):
- 若 ,则 .
- 初始规则(Initial rule):
- 若不存在驾驶员,则 .
- 灾难性规则(Catastrophic rule):若上述两条规则均不适用,则执行以下操作:
- 驾驶员减 1;
- 副驾驶变为 原数组中指数 减 1 后的数组;
- 所有乘客变为 ;
- 数组其余部分保持不变。
线性数阵
BEAF 中的单行线性数阵是几乎所有数阵记号的基础。上文已经介绍过其原版规则,这里不再赘述。
这里介绍一种改进的线性数阵。它将经典的线性数阵改成了容易分析增长率的一元函数,将每一项的默认值改成了 0,且删除了对增长率提升没有帮助的操作。
一个合法的线性数阵表达式形如,其中,均为非负整数。
我们用"#"表示任意序列,"Z"表示由若干个 0 组成的序列。
该线性数阵的展开规则如下:
- (基础规则)只有一项时,有 ;
- (后继规则)若第二项不为 0,有 ,其中 。例如:;
- (删尾规则)若末项为 0,有 ,例如:。
- (借位规则)否则,第二项为 0 且存在不为 0 的项。此时有 。例如:。
下面用快速增长层级对改进的线性数阵进行增长率分析:
一般来说,单独的线性数阵的极限增长率为,但其强度会随"后继规则"的变化而变化。
例如,若把第二条规则改为 ,则上述分析应该在哈代层级下进行,故极限函数的增长率相当于。
对于上文中的记号,通过如下方法可以快速得到增长率:
- 取出一个表达式 ;
- 取出 的部分并反转,得到 ;
- 的增长率即为 。
举个例子: 的增长率即为 。
由于以上原因,(单行)线性数阵也被称为 进制数阵,因为 类似于一个“ 进制数”。
另外,表达式 对于每个 都是“线性”的,这也是线性数阵中“线性”一词的来源。
拓展
由于 BEAF 的知名度,其衍生出了十分多样的数阵记号。但大多数增长率超过 的拓展记号是不良定义的。
带 & 的 BEAF
定义 符号如下,它生成扩展数阵中的项和分隔符:
注:在大部分版本中, 的指标写在左上侧。此处写在右上侧是为了避免与 混淆。
注:有的地方认为形如 的表达式直接表达了一个(扩展)数阵 ,实际上这是错误的。
对于扩展数阵 ,其展开规则如下:
- 如果扩展数阵只有 两项,扩展数阵的值为 。
- 如果指数为 1,扩展数阵的值为 。
- 如果某个 ,扩展数阵的值相当于删掉 后得到的扩展数阵的值。
- 如果某个 ,而且 或 ,那么扩展数阵的值相当于删掉 后得到的扩展数阵的值。
- 如果扩展数阵中没有分隔符,按数阵记号的规则展开。
- 如果以上规则均不适用:此时扩展数阵形如 ,满足 ,。
- 如果 ,其展开为 。
- 如果 ,其展开为 。
类似于数阵记号,“乘客”的定义可以如下理解:
分隔符 给出了一个尺寸为 的“块”(类似于 符号的结构),“乘客”则是驾驶员左侧的所有这样的块(不完整的用 1 补齐)去掉副驾驶员。于是上述展开规则 5. 和 6. 可以写为:
- 复制一个这个扩展数阵的副本,并将副本中指数的值减 1。
- 将原本扩展数阵的驾驶员减 1,全体乘客替换为底数。
- 如果副驾驶存在,将副驾驶换为之前得到的扩展数阵副本。
-gions 表示法
-gions 表示法是基于符号的一类表示法,分为如下表示:
- Legions(分隔符为 L1)
- Lugions(分隔符为 L2)
- Lagions(分隔符为 L3)
- Ligions (分隔符为 L4)
- ...
枚举
BEAF 及其 -gions 表示法的枚举详见 HypCos 的分析 Analysis - BEAF, FGH and SGH, (Part1) (Part2) (Part3)。
历史
数阵记号对整个大数领域的影响是重要的,其思想至今仍然可以在许多记号之中找到痕迹,而 BEAF 则是早期最为重要的数阵型记号。
在更强大的 Array 型记号(如 BAN、SAN)与 Worm 型记号发明之前,由于其简洁性和极快的增长速度,BEAF 在 Googology 中颇具名气,更不用说那些用该函数定义的充满奇思妙想的命名数(如 golapulus 和传奇的 meameamealokkapoowa oompa——这是 Bowers 定义的最大数之一)。尽管克里斯·伯德(Chris Bird)和约翰·斯宾塞(John Spencer,Bowers 的朋友)协助构建了 BEAF,但通常认为该函数完全由 Bowers 独立创造。
萨比斯·赛比安(Sbiis Saibian)指出,是否存在一种完全符合 Bowers 规则的符号系统,是大数研究领域的一个未解决问题。尽管他仅直接提到五级超运算数阵,但这一问题可能也适用于 BEAF 的其他层级。
由于四级超运算以上的 BEAF 是非形式化的,并且对其形式化仍然是 Googology 中的一个重要开放问题,因此四级超运算以上的 BEAF 的可计算性在数学上没有意义。
参考资料
- ↑ 曹知秋 (2025). 大数理论. (EB/OL), Vol.1, pp.126-127. https://github.com/ZhiqiuCao/Googology