打开/关闭搜索
搜索
打开/关闭菜单
223
68
64
2725
Googology Wiki
导航
首页
最近更改
随机页面
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁BEAF”︁的源代码
来自Googology Wiki
分享此页面
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
BEAF
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
评审员
您可以查看和复制此页面的源代码。
<div style="word-wrap: break-word;text-wrap: pretty;color: var(--color-subtle);font-style: italic;width:Fit-content;padding:1rem 1rem 2rem 1rem;border-left:solid #00000030 5px;background-color:var(--color-surface-2)">曾经最为重要的大数记号早早地止步于 <math>\varepsilon_{0}</math>,并最终湮没于历史的长河之中,这不禁令人扼腕叹息。<ref>曹知秋 (2025). 大数理论. ''(EB/OL)'', Vol.1, pp.126-127. https://github.com/ZhiqiuCao/Googology</ref><br /><span style='float:right'><del>------</del> 曹知秋</span></div> '''Bowers' Exploding Array Function(BEAF,鲍尔斯爆炸数组函数)'''是由乔纳森·鲍尔斯(Jonathan Bowers)发明的一种表示大数的符号系统。BEAF 类似于[[链式箭头记号|链式箭头符号]],都是一种历史记号,但强度远超后者。 BEAF 是一个在大数历史上非常重要的数阵记号,它是[[线性数阵|单行线性数阵]](Bowers' Array Notation)和扩展数阵记号(Extended Array Notation)的超集,两者均由Bowers发明。然而,对于四维数阵以上的符号系统,目前尚无统一认可的定义。因此,严格来说,四维数阵以上的 BEAF 是未明确定义的,而四维数阵及以下的 BEAF 则是定义明确的。 == 定义 == 以下是对 BEAF 工作原理的大致框架性描述。如前所述,对于原始 BEAF 在四维数阵之外的扩展,目前尚未达成共识的定义,因此这并非一个完整的定义。 一个 BEAF 表达式形如: :<math>\{b,p,c,d,e,\dots (n)\alpha,\beta,\gamma,\dots (m)\dots\}</math> 其中<math>b,p,c,d,e,\alpha,\beta,\gamma</math>均为正整数,<math>n,m</math>是自然数(序列),<math>(n),(m)</math>分别表示'''n级分隔符'''与m级分隔符,特别地,0级分隔符 <math>(0)</math> 是 <code><big><big>,</big></big></code>(即逗号,用于分割数组中同一行内的每个项)。 我们定义如下概念: * '''底数(base)''':数组的第一个元素,记为 <math>b</math>。 * '''指数(prime)''':数组的第二个元素,记为 <math>p</math>。 * '''驾驶员(pilot)''':指数之后第一个非 1 的元素,可能最早出现在第三个元素的位置。 * '''副驾驶(copilot)''':驾驶员左侧的第一个元素。若驾驶员是某行的第一个元素,则副驾驶不存在。 * '''结构(structure)''':数组中由低维组构成的部分。例如:一个数为0维结构,一行为1维结构,一个平面为2维结构,一个立方块为3维结构,...,以此类推。记为 <math>X^{n}</math>。 * '''前结构(previous structures)''' ** 前项(previous entry):驾驶员之前、且与所有其他前项在同一行的元素。 ** 前行(previous row):驾驶员所在行之前、且与所有其他前行在同一平面的行。 ** 前平面(previous plane):驾驶员所在平面之前、且与所有其他前平面在同一立方块的平面。 ** ... ** 这些统称为“前结构”,即若驾驶员处于X维结构中,那前结构为0维到X-1维的所有结构。 * '''指数块(prime block)''': ** 对于自然数n,某 <math>n+1</math> 维结构的指数块指的是该 <math>n+1</math> 维结构的前 <math>p</math> 个n维结构,若n维结构的个数少于 <math>p</math>,则使用由1填充的n维结构补充直到满足该条件。 ** 对于序列 <math>A=\langle a_{1},a_{2},a_{3},\dots,a_{n}\rangle</math>,某 <math>A</math> 维结构的指数块指的是<math>a_{0}+a_{1}p+a_{2}p^{2}+\cdots+a_{n}p^{n}</math> 维结构;若序列 <math>A</math> 内存在高级分隔符,则按BEAF定义展开。 * '''飞机(airplane)''':包含驾驶员、所有前项以及所有前结构的指数块。 * '''乘客(passengers)''':飞机中既非驾驶员也非副驾驶的元素。 == 规则 == 令<math>A</math>是一个 BEAF 表达式,其值计算有以下规则: # '''主规则(Prime rule)''': #* 若 <math>p=1</math>,则 <math>A=b</math>. # '''初始规则(Initial rule)''': #* 若不存在驾驶员,则 <math>A=b^{p}</math>. # '''灾难性规则(Catastrophic rule)''':若上述两条规则均不适用,则执行以下操作: #* 驾驶员减 1; #* 副驾驶变为 原数组中指数 <math>p</math> 减 1 后的数组; #* 所有乘客变为 <math>b</math> ; #* 数组其余部分保持不变。 == 线性数阵 == BEAF 中的单行线性数阵是几乎所有数阵记号的基础。上文已经介绍过其原版规则,这里不再赘述。 这里介绍一种改进的线性数阵。它将经典的线性数阵改成了容易分析增长率的一元函数,将每一项的默认值改成了 0,且删除了对增长率提升没有帮助的操作。 一个合法的线性数阵表达式形如<math>F(x,a_1,a_2,\cdots,a_n)</math>,其中,<math>x,n,a_i</math>均为非负整数。 我们用"#"表示任意序列,"Z"表示由若干个 0 组成的序列。 该线性数阵的展开规则如下: # (基础规则)只有一项时,有 <math>F(x)=x+1</math>; # (后继规则)若第二项不为 0,有 <math>F(x,a+1,\#)=f^x(x)</math>,其中 <math>f(x)=F(x,a,\#)</math>。例如:<math>F(3,1,4)=F(F(F(3,0,4),0,4),0,4)</math>; # (删尾规则)若末项为 0,有 <math>F(\#,0)=F(\#)</math>,例如:<math>F(2,1,0)=F(2,1)</math>。 # (借位规则)否则,第二项为 0 且存在不为 0 的项。此时有 <math>F(x,Z,0,a+1,\#)=F(x,Z,x,a,\#)</math>。例如:<math>F(2,0,2,5)=F(2,2,1,5)</math>。 下面用[[增长层级#快速增长层级|快速增长层级]]对改进的线性数阵进行增长率分析: <math>F(x)=F(x,0)=x+1=f_0(x)</math> <math>F(x,1)=F^x(x)\sim f_0^x(x)=f_1(x)</math> <math>F(x,2)\sim f_1^x(x)=f_2(x)</math> <math>F(x,n)\sim f_n(x)</math> <math>F(x,0,1)=F(x,x)\sim f_x(x)=f_\omega(x)</math> <math>F(x,1,1)=F(F(\cdots,0,1),0,1)\sim f_{\omega+1}(x)</math> <math>F(x,n,1)\sim f_{\omega+n}(x)</math> <math>F(x,0,2)=F(x,x,1)\sim f_{\omega+x}(x)=f_{\omega\cdot 2}(x)</math> <math>F(x,0,n)\sim f_{\omega\cdot n}(x)</math> <math>F(x,0,0,1)=F(x,0,x)\sim f_{\omega x}(x)=f_{\omega^2}(x)</math> <math>F(x,1,0,1)\sim f_{\omega^2+1}(x)</math> <math>F(x,0,1,1)=F(x,x,0,1)\sim f_{\omega^2+x}(x)=f_{\omega^2+\omega}(x)</math> <math>F(x,0,0,2)=F(x,0,x,1)\sim f_{\omega^2+\omega x}(x)=f_{\omega^22}(x)</math> <math>F(x,0,0,0,1)=F(x,0,0,x)\sim f_{\omega^2x}(x)=f_{\omega^3}(x)</math> <math>F(x,0,0,0,0,1)\sim f_{\omega^4}(x)</math> <math>F(x,\underbrace{0,\cdots,0}_n,1)\sim f_{\omega^n}(x)</math> 一般来说,单独的线性数阵的极限增长率为<math>\omega^\omega</math>,但其强度会随"后继规则"的变化而变化。 例如,若把第二条规则改为 <math>F(x,a+1,\#)=F(x+1,a,\#)</math>,则上述分析应该在[[增长层级#哈代层级|哈代层级]]下进行,故极限函数的增长率相当于<math>H_{\omega^\omega}(x)\sim f_\omega(x)</math>。 对于上文中的记号,通过如下方法可以快速得到增长率: # 取出一个表达式 <math>F(x,a_0,a_1,\cdots,a_n)</math>; # 取出 <math>a_0,a_1,\cdots,a_n</math> 的部分并反转,得到 <math>a_n,\cdots,a_1,a_0</math>; # <math>F(x,a_0,a_1,\cdots,a_n)</math> 的增长率即为 <math>\omega^n\times{a_n}+\cdots+\omega^1\times{a_1}+\omega^0\times{a_0}</math>。 举个例子:<math>F(x,{\color{red}0},{\color{green}1},{\color{blue}1})</math> 的增长率即为 <math>\omega^2\times{\color{blue}1}+\omega^1\times{\color{green}1}+\omega^0\times{\color{red}0}</math>。 由于以上原因,(单行)线性数阵也被称为 '''<math>\omega</math> 进制数阵''',因为 <math>\omega^n\times{a_n}+\cdots+\omega^1\times{a_1}+\omega^0\times{a_0}</math> 类似于一个“<math>\omega</math> 进制数”。 另外,表达式 <math>\omega^n\times{a_n}+\cdots+\omega^1\times{a_1}+\omega^0\times{a_0}</math> 对于每个 <math>a_i(i=0,1,\cdots,n)</math> 都是“线性”的,这也是线性数阵中“线性”一词的来源。 == 拓展 == 由于 BEAF 的知名度,其衍生出了十分多样的数阵记号。但大多数增长率超过 <math>\varepsilon_{0}</math> 的拓展记号是不良定义的。 === 带 & 的 BEAF === 定义 <math>\&</math> 符号如下,它生成扩展数阵中的项和分隔符: * <math>1\&^na=a</math> * <math>b\&a=a,(b-1)\&a</math> * <math>b\&^{k+1}a=b\&^ka(k)(b-1)\&^{k+1}a</math> 注:在大部分版本中,<math>\&</math> 的指标写在左上侧。此处写在右上侧是为了避免与 <math>b^k</math> 混淆。 注:有的地方认为形如 <math>b\&a</math> 的表达式直接表达了一个(扩展)数阵 <math>\{a,a,\cdots,a\}</math>,实际上这是错误的。 对于扩展数阵 <math>\{a_{01},a_{02},\cdots,a_{0m_0}(x_1)a_{11},\cdots,a_{1m_1}(x_2)\cdots(x_3)\cdots(x_n)a_{n1},a_{n2},\cdots,a_{nm_n}\}</math>,其展开规则如下: # 如果扩展数阵只有 <math>a_{01},a_{02}</math> 两项,扩展数阵的值为 <math>b^p</math>。 # 如果指数为 1,扩展数阵的值为 <math>b</math>。 # 如果某个 <math>a_{km_k}=1</math>,扩展数阵的值相当于删掉 <math>a_{km_k}</math> 后得到的扩展数阵的值。 # 如果某个 <math>m_k=0</math>,而且 <math>k=n</math> 或 <math>x_k<x_{k+1}</math>,那么扩展数阵的值相当于删掉 <math>(x_k)</math> 后得到的扩展数阵的值。 # 如果扩展数阵中没有分隔符,按数阵记号的规则展开。 # 如果以上规则均不适用:此时扩展数阵形如 <math>\{a,b(x_1)(x_2)(x_3)\cdots(x_n)b_1,b_2,\cdots,b_t\#\}</math>,满足 <math>x_1\geq{x_2}\geq\cdots\geq{x_n}</math>,<math>b_1=b_2=\cdots=b_{t-1}=1</math>。 ## 如果 <math>t=1</math>,其展开为 <math>\{b\&^{x_1}a(x_1)b\&^{x_2}a(x_2)b\&^{x_3}a(x_3)\cdots{b}\&^{x_n}a(x_n)b_1-1\#\}</math>。 ## 如果 <math>t>1</math>,其展开为 <math>\{b\&^{x_1}a(x_1)b\&^{x_2}a(x_2)b\&^{x_3}a(x_3)\cdots{b}\&^{x_n}a(x_n)a,a,\cdots,a,\{a,b-1(x_1)(x_2)(x_3)\cdots(x_n)b_1,b_2,\cdots,b_t\#\},b_t-1\#\}</math>。 类似于数阵记号,“乘客”的定义可以如下理解: 分隔符 <math>(k)</math> 给出了一个尺寸为 <math>p^k</math> 的“块”(类似于 <math>\&</math> 符号的结构),“乘客”则是驾驶员左侧的所有这样的块(不完整的用 1 补齐)去掉副驾驶员。于是上述展开规则 5. 和 6. 可以写为: # 复制一个这个扩展数阵的副本,并将副本中指数的值减 1。 # 将原本扩展数阵的驾驶员减 1,全体乘客替换为底数。 # 如果副驾驶存在,将副驾驶换为之前得到的扩展数阵副本。 === -gions 表示法 === -gions 表示法是基于<math>\&</math>符号的一类表示法,分为如下表示: * Legions(分隔符为 L1) * Lugions(分隔符为 L2) * Lagions(分隔符为 L3) * Ligions (分隔符为 L4) * ... == 枚举 == BEAF 及其 -gions 表示法的枚举详见 HypCos 的分析 Analysis - BEAF, FGH and SGH, [https://googology.fandom.com/wiki/User_blog:Hyp_cos/Analysis_-_BEAF,_FGH_and_SGH_(part_1) (Part1)] [https://googology.fandom.com/wiki/User_blog:Hyp_cos/Analysis_-_BEAF,_FGH_and_SGH_(part_2) (Part2)] [https://googology.fandom.com/wiki/User_blog:Hyp_cos/Analysis_-_BEAF,_FGH_and_SGH_(part_3) (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 的可计算性在数学上没有意义。 == 参考资料 == <references />{{默认排序:大数记号}} [[分类:记号]]
返回
BEAF
。
查看“︁BEAF”︁的源代码
来自Googology Wiki