写在前面:本分析相当于习题,不保证正确性(虽然我会去对一下)
定义
BEAF
基础版——线性数阵
数阵的第一个为底数(base,\(a\)),第二个为指数(prime,\(b\)),之后第一个非1的数为驾驶(pilot),驾驶前的一个数是副驾驶(copilot),副驾驶之前的所有被称为乘客(passenger)(所以底数必定为乘客)
注意以上定义不是互斥的,换句话说某个位置可能有几个属性;驾驶员可以没有;换句话说定义很丑
听起来很麻烦吧(而且stm驾驶乘客
下面是基础的计算规则,记数阵(array,\(A\))的值为\(v(A)\)
\[v(A)=a~if~b=1\\
v(A)=a^b~if~no~pilot\\
\]
如果以上规则不满足,那么执行以下操作
- \(pilot=pilot-1\)
- \(copilot=v(A')\),其中\(A'\)是\(A\)的\(b-1\)之后的数阵
- 所有乘客换成\(b\)
听起来非常莫名其妙对吧(
我们看看形式化的表达
规则由上往下优先度递减
\[\begin{split}
(a,b)&=a^b\\
(a,1,...)&=a\\
(a,b,1,...,1,c,...)&=(a,a,a,...,(a,b-1,1,...,1,c,...),c-1,...)\\
(a,b,c,...)&=(a,(a,b-1,c,...),c-1,...)
\end{split}\]
那么我们来试一下一些简单的数阵,以下省略\(v(A)\)而是直接记\(A\)
\[\begin{split}
(8,1)&=8\\
(8,5)&=8^5\\
(8,5,1)&=(8,5)=8^5\\
\end{split}\]
由归纳法,末尾的\(1\)可以任意增删,为简便起见我们一般省略末尾的\(1\)
\[\begin{split}
(8,3,2)&=(8,(8,2,2),1)\\&=(8,(8,(8,1,2),1))\\&=(8,(8,8))\\&=8^{8^8}\\
(8,3,1,2)&=(8,8,(8,2,1,2),1)\\&=(8,8,(8,8,(8,1,1,2),1))\\&=(8,8,(8,8,8))\\
&= 8\uparrow^{8\uparrow^88}8
\end{split}\]
然后我们稍微分析一下增长率,右边是FGH
\[\begin{split}
(n,n,2)&=3\\
(n,n,3)&=4\\
(n,n,n)&=\omega\\
(n,n,1,2)&=(n,n,(n,n-1,1,2))=(n,n,n)+1=\omega+1\\
(n,n,2,2)&=(n,(n,n-1,2,2),1,2)=(n,n,1,2)+1=\omega+2\\
(n,n,n,2)&=\omega 2\\
(n,n,n,n)&=\omega^2\\
(n,n,1,1,2)&=(n,n,n,(n,n-1,1,1,2))=(n,n,n,n)+1=\omega^2+1\\
(n,n,2,1,2)&=(n,(n,n-1,2,1,2),1,1,2)=(n,n,1,1,2)+1=\omega^2+2\\
(n,n,1,2,2)&=(n,n,(n,n-1,1,2,2),1,2)=(n,n,n,1,2)+1=\omega^2+\omega+1\\
(n,n,...,n)&=(n,2,1,...,2)=\omega^\omega
\end{split}\]
三元的线性数阵相当于高德纳箭头,从而增长率在\(\omega\),四元的线性数阵相当于康威链,从而增长率在\(\omega^2\)
\(n+2\)元线性数阵的极限在\(\omega^n\),从而线性数阵的极限大概是\(\omega^\omega\)
进阶版——多维数阵与分隔符的引入
我们可以将一个矩阵压成一列数阵
\[\left(
\begin{array}{l}
1& 2& 3\\
1&2& 3\\
1& 2& 3\\
\end{array}
\right)=(1,2,3(1)1,2,3(1)1,2,3)\]
从而\((n)\)表示\(n+1\)维分隔符,例如上面那个就是二维数阵的分隔符
结合上行末可以任意增删\(1\)的性质,我们有
\[(4,3,1,1(1)2,3,1)=(4,3(1)2,3)\\
(4,3(1)1,1,1,1(1)5)=(4,3(1)(1)5)\]
然后我们拓展到高维
\[(4,3,(1)1(1)1,1,1(2)1,1(1)1,6)=(4,3(1)(1)(2)(1)1,6)=(4,3,(2)(1)1,6)
\]
最后一个等号是因为可以直接补\(1\)
推广一下就是\((A(m)(n)B)=(A(n)B)~if~m<n\)
然而中间的\(1\)的数量确实会影响最后的值,那么如何确定\(1\)的数量呢?
为了统一记号,我们令逗号为\((0)\)
然后是定义(为什么要这么定义?
定义\(\&\)为矩阵操作符,满足
\[\begin{split}
b\&^0a&=a\\
b\&^na&=(b-1)\&^na(n-1)b\&^{n-1}a
\end{split}\]
然后与上面类似的,定义
\[\begin{split}
(a,b(n_1)(n_2)...(n_i)1,...,1,c...)&=(b\&^{n_1}a(n_1)b\&^{n_2}a(n_2)...b\&^{n_i}a(n_i),...,(a,b-1(n_1)(n_2)...(n_i)1,...,1,c...),c-1...)\\
(a,b(n_1)(n_2)...(n_i)c...)&=(b\&^{n_1}a(n_1)b\&^{n_2}a(n_2)...b\&^{n_i}a(n_i)c-1...)
\end{split}\]
由此可以把分隔符换成多项的,通过迭代进行升级,可以叠到\(\epsilon_0\),进一步可以叠到\(\text{LVO}\)
但是我觉得这实在是太丑了,而且\(\&\)的定义会有不兼容的地方,所以还是到此为止吧
下一个是BEAF的改进版,鸟之记号