打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

BMS

来自Googology Wiki

Bashicu 矩阵系统(Bashicu Matrix System,BMS)是一个序数记号。Bashicu Hyudora 在 2018 年给出了它的定义。

定义

原定义

Bashicu 最初在他的未命名的 BASIC 编程语言改版上提交了 BMS 的定义。[1]BMS 的原定义是一个大数记号,理论的输出是一个大数。该程序并未设计为实际运行,原因在于语言修改的未定义性,同时也受限于内存与计算时间的现实约束,无法计算出这个大数的实际最终值。因此,Fish 编写了名为"Bashicu 矩阵计算器"的程序来演示预期的计算流程(该程序已得到 Bashicu 验证)。故 Bashicu 矩阵的正式定义可参考 Fish 程序的源代码。[2]

正式定义

中文 googology 社区提到 BMS 默认是一个序数记号。以下是序数记号 BMS 的定义及说明:

首先是 BMS 合法式:BMS 的合法式是二维的自然数构成的序列,在外观上看是一个矩阵。如 (012101110101) 就是一个 BMS 的合法式。在很多场合,这种二维的结构书写起来不是很方便,因此我们也常常把BMS从左到右、从上到下按列书写,每一列的不同行之间用逗号隔开,不同列之间用括号隔开。例如,上面的 BMS 也可以写成 (0,0,0)(1,1,1)(2,1,0)(1,1,1)。在很多情况下,除首列外,列末的 0 也可以省略不写,例如上面的 BMS 写为 (0)(1,1,1)(2,1)(1,1,1)。

理论上来说,只要是这样的式子就可以按照 BMS 的规则进行处理了。但实际操作过程中,我们还可以排除一些明显不标准的式子:

  • 首列并非全 0
  • 每一列并非不严格递减,即出现一列中下面的数大于上面的数
  • 出现一个元素 a,它比它同行左边所有元素都大超过 1

在了解 BMS 的展开规则之前,需要先了解一些概念。

  1. 第一行元素的父项:对于位于第一行的元素 a,它的父项 b 是满足以下条件的项当中,位于最右边的项:1. 同样位于第一行且在 a 的左边;2. 小于 a。这里和 PrSS 判定父项的规则是相同的。显然,0 没有父项。
  2. 祖先项:一个元素自己,以及它的父项、父项的父项、父项的父项的父项……共同构成它的祖先项。
  3. 其余行元素的父项:对于不位于第一行的元素 c,它的父项 d 指满足以下条件的项当中,位于最右边的项:1. 与c位于同一行且在 c 的左边;2. 小于 c;3. d 正上方的项 e 是 c 正上方的项f的祖先项。0 没有父项。
  4. 坏根:最后一列位于最下方的非零元素的父项所在列,称为坏根。如果最后一列所有元素为 0,则这个 BMS 表达式无坏根。值得一提的是,末列最靠下的非零元素记作 LNZ(Lowermost Non-Zero)
  5. 好部、坏部:这两个概念与 PrSS 是相似的。位于坏根左边的所有列称为好部,记作 G,G 可以为空;从坏根到倒数第二列(包括坏根、倒数第二列)的部分称为坏部,记作B。
  6. 阶差向量:在一个 n 行 BMS 中,我们把末列记为 (α1,α2,⋯,αn),把坏根列记为 (β1,β2,⋯,βn),并且我们规定 αn+1=0。则阶差向量Δ=(δ1,δ2,⋯,δn)按照这样的规则得到:δi={αi−βi,αi+1≠00,αi+1=0。通俗的说,如果末列的第 i+1 项等于0,则 δi=0,否则 δi 等于末列第 i 行减去坏根列第 i 行。阶差向量记作 Δ。
  7. Bm:Bm是 B 中每一列都加上 Δ 的 m 倍所得到的新矩阵。但是有一点需要注意:如果 B 中某个元素 t 的祖先项不包含坏根中的元素,则在 Bm 对应位置的元素的值依然是 t,它不加 Δ。

了解概念后,以下是 BMS 的展开规则:

  1. 空矩阵 = 0
  2. 如果表达式是非空矩阵 S,如果它没有坏根,那么 S 等于 S 去掉最后一列之后,剩余部分的后继 。
  3. 否则,确定这个 BMS 表达式 S 的坏根、G、B、Δ,S 的基本列第 n 项S[n]=G∼B∼B1∼B2∼B3∼⋯∼Bn−1。其中 ~ 表示序列拼接。或者称 S 的展开式是 G∼B∼B1∼B2∼⋯⏟ω。

BMS 的极限基本列是 {(0)(1),(0,0)(1,1),(0,0,0)(1,1,1),(0,0,0,0)(1,1,1,1),⋯},从这个基本列中元素开始取前驱或取基本列所能得到的表达式是 BMS 的标准式。

以下是 BMS 展开的一些实例:

例一:(0,0,0)(1,1,1)(2,2,1)(3,2,0)(0,0,0)

因为末列全都是 0,因此这个 BMS 没有坏根。根据规则 2,它是 (0,0,0)(1,1,1)(2,2,1)(3,2,0) 的后继。

例二:(0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)

LNZ 是末列第二行的 2。首先确定末列第 1 行元素的祖先项,即标红的部分(末列本身不染色,下同):(0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)。因此末列第二行的 2 的父项只能在含有标红元素的这些列中选取。于是确定 LNZ 的父项为(标绿):(0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)。因此确定 (1,1,1) 是坏根。好部 G 是 (0,0,0),坏部 B 是 (1,1,1)(2,2,2)(3,3,3)。计算出阶差向量 Δ=(3,0,0)。检查 B 中是否存在祖先项不包含坏根中元素的项(当然,我们只需要检查 Δ 非零的那些行),很幸运,没有。于是我们得到展开式是 (0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,1,1)(5,2,2)(6,3,3)(7,1,1)(8,2,2)(9,3,3)⋯

例三:(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,2,1)(7,3,1,1)

LNZ 是末列第四行的 1。首先确定末列第一行元素 7 的祖先项(标红):(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,2,1)(7,3,1,1)。在含有标红元素的列中寻找末列第二行元素 3 的祖先项(标绿):(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,2,1)(7,3,1,1)。在含有标绿元素的列中寻找末列第三行元素 1 的祖先项(标蓝):(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,2,1)(7,3,1,1)。在含有标蓝元素的列中寻找 LNZ 的父项,即首列第四行的 0。于是得到坏根是 (0,0,0,0),好部 G 是空矩阵,坏部 B 是 (0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,2,1),计算阶差向量 Δ=(7,3,1,0)。检查 B 中是否存在祖先项不包含坏根中元素的项(只检查 Δ 非 0 的行)得到第五列第三行的 0 祖先项不经过坏根。于是我们得到展开式是

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,2,1)(7,3,1,0)(8,4,2,1)(9,5,3,1)(10,6,2,1)(11,5,0,0)(12,4,2,1)(13,5,3,1)(14,6,2,0)(15,7,3,1)(16,8,4,1)(17,9,3,1)(18,8,0,0)(19,7,3,1)(20,8,4,1)⋯

展开 BMS 可以靠 Bashicu Matrix Calculator 或 Notation Explorer 辅助。

数学定义

kotetian 给出 BMS 的数学定义,但是他给出的定义是大数记号版本的。以下是根据他的定义改写的序数记号版 BMS 的定义:

Matrix:S=S0S1⋯SX−1

Vector:Sx=(Sx0,Sx1,⋯,Sx(Y−1))

parentofSxy:Py(x)={max⁡{p|p<x∧Spy<Sxy∧∃a(p=(Py−1)a(x))}if y>0max⁡{p|p<x∧Spy<Sxy}if y=0

Lowermostnonzero:t=max⁡{y|S(X−1)y>0}

Badroot:r=Pt(X−1)

Ascensionoffset:Δy={S(X−1)y−Sryif y<t0if y≥t

Ascensionmatrix:Axy={1(if∃a(r=(Py)a(r+x)))0(otherwise)

Goodpart:G=S0S1⋯Sr−1

Badpart:B(a)=B0(a)B1(a)⋯BX−2−r(a)

Bx(a)=(Bx0(a),Bx1(a),⋯,Bx(Y−1)(a))

Bxy(a)=S(r+x)y+aΔyAxy

∅=0

S={S0S1S2⋯SX−2,if ∀y,S(X−1)y=0sup⁡{G,GB(0),GB(0)B(1),GB(0)B(1)B(2),⋯}otherwise

历史

Bashicu 在2015年的时候给出了第一版 BMS 的定义,即 BM1。BM1 创建后的首个问题便是其是否必然终止。这一疑问直到 2016 年用户 KurohaKafka 在日本论坛 2ch.net 发表终止性证明才暂告段落。[3]然而 Hyp cos 通过构造非终止序列推翻了该证明。[4]

为此,Bashicu 发布第二版(BM2),以 BASIC 语言重新实现算法。[1]2018年6月12日,他再次更新定义至 BM3,[5]但当月内 Alemagno12 便发现存在不终止的例证。[6]

2018 年 11 月 11 日,P進大好きbot 针对 PSS(即行数限制为 2 的 BMS)完成了终止性证明。[7]

2018 年 8 月 28 日,Bubby3 确认 BM2 确实不会终止。[8]

Bashicu 最终修正官方定义推出 BM4,此为2018 年 9 月 1 日的最新版本。该版本最终在 2023 年 7 月 12 日被 Racheline(在 googology 社区中曾用名 Yto)证明停机。[9]

尽管 BM4 是最后官方修订版,但 googology 社区已衍生诸多非官方变体,如 BM2.2、BM2.5、BM2.6、BM3.1、BM3.1.1、BM3.2 及 PsiCubed2 版等。[10]需注意的是,整数编号版本(1-4)均由 Bashicu 本人定义,其余版本均为他人修改。

由于 BMS 在三行之后出现提升效应造成分析上的极大困难,目前我们仍然在探索理想无提升 BMS(Idealized BMS,IBMS)的定义。BM3.3一度被认为是符合预期的 IBMS[11],然而目前已经发现了 BM3.3 也具有提升。目前最新的成果是2026年5月28日test_alpha0所制造的记号UPMS。目前它被相信是理想的无提升BMS。

争议

test_alpha0 声称 Yto(Racheline)剽窃了他的证明。据test_alpha0所说,他在2022年2月16日在googology wiki上发布了关于 BMS 停机证明的文章[12],并在 googology discord 社区回答了相关问题,Racheline 声称他的证明不严谨,但过了一段时间,Racheline在ArXiv上发了证明,框架与 test_alpha0 的证明完全一致。目前尚不清楚 Racheline 的回应。

强度分析

主词条:BMS 分析,提升效应

BMS 的分析是一项浩大的工程,由于提升效应造成的困难。BMS的分析最初由Bubby3使用SAN进行,得出了lim(pDAN)=(0,0,0)(1,1,1)(2,2,0),后来Yto接手了BMS的分析工作,使用稳定序数分析到了(0,0,0)(1,1,1)(2,2,2)。国内的YourCpper、bugit等人使用投影进行BMS分析,达到了(0,0,0,0)(1,1,1,1)(2,2,1,1)(3,0,0,0)以上,但这些分析是错误的。后来FENG发现并修正了两人的分析错误,最终完成了BMS与向上投影的分析工作。

这里列举出一些关键节点:

∅=0

(0)=1

(0)(0)=2

(0)(1)=ω

(0)(1)(1)=ω2

(0)(1)(2)=ωω

(0,0)(1,1)=ε0

(0,0)(1,1)(1,1)=ε1

(0,0)(1,1)(2,0)=εω

(0,0)(1,1)(2,1)=ζ0

(0,0)(1,1)(2,2)=ψ(Ω2)

(0,0,0)(1,1,1)=ψ(Ωω)

(0,0,0)(1,1,1)(2,1,0)=ψ(Ωω×Ω)

(0,0,0)(1,1,1)(2,1,0)(1,1,1)=ψ(Ωω2)

(0,0,0)(1,1,1)(2,1,1)=ψ(Ωω2)

(0,0,0)(1,1,1)(2,1,1)(3,1,0)(2,0,0)=ψ(I)

(0,0,0)(1,1,1)(2,1,1)(3,1,1)=ψ(Iω)

(0,0,0)(1,1,1)(2,1,1)(3,1,1)(3,1,1)=ψ(Mω)

(0,0,0)(1,1,1)(2,1,1)(3,1,1)(4,1,1)=ψ(Kω)

(0,0,0)(1,1,1)(2,2,0)=ψ(psd.Πω)

(0,0,0)(1,1,1)(2,2,1)=ψ(Π1(λα.(Ωα+2)−Π1))

(0,0,0)(1,1,1)(2,2,1)(3,0,0)=ψ(λα.(Ωα+ω)−Π0)

(0,0,0)(1,1,1)(2,2,1)(3,2,1)=ψ(Π1(λα.(Iα+1)−Π1))

(0,0,0)(1,1,1)(2,2,1)(3,3,0)=ψ(λα.(λβ.β+1−Π1[α+1])−Π1)

(0,0,0)(1,1,1)(2,2,2)=ψ(psd.ω−π−Π0)=ψ(ψα(αω))

(0,0,0)(1,1,1)(2,2,2)(3,2,2)=ψ(ψα(αω2))

(0,0,0)(1,1,1)(2,2,2)(3,3,0)=ψ(ψα(ψβ(εαβ+1+1)))

(0,0,0)(1,1,1)(2,2,2)(3,3,3)=ψ(βω)

(0,0,0,0)(1,1,1,1)=ψ(ω−Projection)=ψ(ψS(σS×ω))

(0,0,0,0)(1,1,1,1)(2,1,1,1)(3,1,0,0)(2,0,0,0)=ψ((1,0)−Projection)=ψ(ψS(σS×S))

(0,0,0,0)(1,1,1,1)(2,1,1,1)(3,1,1,1)=ψ(ψS(σS×S×ω))

(0,0,0,0)(1,1,1,1)(2,2,0,0)=ψ(ψS(σS×S×ω+S2))

(0,0,0,0)(1,1,1,1)(2,2,1,1)=ψ(ψS(σS×S×ω+ψS3(σS×S×ω)))

(0,0,0,0)(1,1,1,1)(2,2,2,0)=ψ(ψS(σS×S×ω+Sω))

(0,0,0,0)(1,1,1,1)(2,2,2,1)=ψ(ψS(σS×S×ω2))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,2,0,0)(4,3,0,0)=ψ(ψS(εσS+1))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,2,2,0)=ψ(ψS(σSω))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,2,2,1)=ψ(ψS(ψσσS(σSσσS+12+1)))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,0,0)=ψ(ψS(ψσσS(σσS2)))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,1,1)=ψ(ψS(ψσσS(SσσS2+1+σSσσS+1×(S+1)+σS×S×ω)))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,2,0)=ψ(ψS(ψσσS(SσσS2+1+ψσσS2(SσσS2+1+1))))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,2,1)=ψ(ψS(ψσσS(SσσS2+2+1)))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,3,0)=ψ(ψS(ψσσS(σσSω)))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,3,1)=ψ(ψS(σσS×ω))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,3,1)(4,0,0,0)=ψ(ψS(σθS×ω))

(0,0,0,0)(1,1,1,1)(2,2,2,1)(3,3,3,1)(4,4,4,0)=ψ(ψS(ψσσθS(σσθSω)))

(0,0,0,0)(1,1,1,1)(2,2,2,2)=ψ(ψX(θX×ω))

(0,0,0,0,0)(1,1,1,1,1)=ψ(ψH(HHω))

Limit=ψ(ψH(εH+1))

(0,0,0,0)(1,1,1,1)被命名为 TSSO(Trio Sequence System Ordinal,三行序列系统序数),(0,0,0,0,0)(1,1,1,1,1)被命名为 QSSO(Quardo Sequence System Ordinal,四行序列系统序数)。BMS 的极限在中文 googology 社区被称为 SHO(Small Hydra Ordinal),但这一命名的起源不明(SHO 最早被用来指代 ε0,后来不明不白的变成了 BMS 极限),也是非正式的,因此被部分人拒绝使用。也有人称 BMS 极限为 BMO。

来源

  1. ↑ 1.0 1.1 Bashicu Hyudora (2015). Summary of large numbers in BASIC language (BASIC言語による巨大数のまとめ). Googology Wiki.
  2. ↑ Kyodaisuu (2020). basmat. Gthub.
  3. ↑ http://wc2014.2ch.net/test/read.cgi/math/1448211924/152-155n
  4. ↑ Hyp cos (2016). Talk: Bashicu Matrix System, Something wrong happens. Googology Wiki.
  5. ↑ Kyodaisuu (2018). Bashiku Matrix Version 3 (バシク行列バージョン3). Googology Wiki.
  6. ↑ Alemagno12 (2018). BM3 has an infinite loop. Googology Wiki.
  7. ↑ P shin daisuki bot (P進大好きbot) (2018). Stopping property of pair sequences (ペア数列の停止性). Googology Wiki.
  8. ↑ Bubby3 (2018). BM2 doesn't terminate.. Googology Wiki.
  9. ↑ Rachel Hunter (2024). Well-Orderedness of the Bashicu Matrix System. arXiv.
  10. ↑ Ecl1psed276 (2018). A list of all BMS versions and their differences. Googology Wiki.
  11. ↑ User blog:Rpakr/Bashicu Matrix Version 3.3 | Googology Wiki | Fandom
  12. ↑ User blog:ReflectingOrdinal/A proof of termination of BMS | Googology Wiki | Fandom