BTBMS:修订间差异
更多操作
小无编辑摘要 |
0100000000a7(留言 | 贡献) 无编辑摘要 |
||
| (未显示2个用户的2个中间版本) | |||
| 第1行: | 第1行: | ||
BTBMS(Bubby3's Transfinite Bashicu Matrix System)是 Bubby3 创造的序数记号,是现行扩展 [[ | BTBMS(Bubby3's Transfinite Bashicu Matrix System)是 Bubby3 创造的序数记号,是现行扩展 [[BMS]] 中强度最高的。它由 Bubby3 最先提出,并由笑姐姐最终给出完整定义。 | ||
=== 定义 === | === 定义 === | ||
一个 BTBM 矩阵形如 <math>A = A_1 \cdots A_n</math>,其中 <math>A_i</math> 称为矩阵的顶层列。 | |||
一个列形如 <math>C = (C_1, \cdots, C_m)</math>,其中 <math>C_i</math> 称为列的项。 | |||
一个项形如 <math>E = v^X</math>,其中 <math>v</math> 是正整数,<math>X</math> 是一个 BTBM 矩阵。称 <math>X</math> 为 <math>E</math> 的高度矩阵,<math>v</math> 为 <math>E</math> 的值,或称作 <math>E</math> 的父列标。 | |||
称 <math>E</math> 为 <math>X</math> 的直接外部项;<math>E</math> 所在列为 <math>X</math> 的直接外部列。若 <math>E</math> 的高度矩阵为空,则称 <math>E</math> 为单行项。 | |||
以后我们常用 <math>A</math> 表示整个矩阵,<math>X</math> 表示 <math>A</math> 的一个子阵。顶层列的高度矩阵称为直接子阵。矩阵 <math>A</math> 本身,以及 <math>A</math> 的某个直接子阵的子阵,统称为 <math>A</math> 的子阵。 | |||
==== 列标 ==== | |||
如下定义 <math>A</math> 的列在 <math>A</math> 中的列标。 <math>A</math> 最左列的列标为 1;对一个子阵 <math>X</math>,<math>X</math> 的最左侧列列标为它的外部列的列标 +1。某个子阵非最左侧列的列标等于它左侧相邻列的列标 +1。 | |||
对于一个元素,它的值等于它的父列列标。如下寻找它的父列:从该元素所在列 <math>C</math> 出发,若存在左侧相邻列则取左侧相邻列,否则取外部列。得到的列的列标取遍不大于 <math>C</math> 的列标的所有正整数。其中列标等于元素的值的列即为该元素父列。 | |||
==== 合法性约束 ==== | |||
引入如下约束:一个合法矩阵所有列的所有元素的值都小于所在列的列标;对任何列 <math>C</math>,<math>C</math> 的任何元素的高度矩阵的所有列都非空,且这些列的首个元素的值都大于等于 <math>C</math> 的列标。 | |||
==== 零记号与后继记号 ==== | |||
若 <math>A</math> 为空矩阵,则 <math>A</math> 为零记号。 | |||
若 <math>A</math> 的末列为空列,则 <math>A</math> 为后继记号,其前驱记号为 <math>A</math> 去掉末列。 | |||
==== 展开规则(寻找末列与基本列) ==== | |||
对于合法的极限矩阵,我们如下寻找它的末列。初始令当前层级为 <math>A</math> 本身。 | |||
* 若当前层级的顶层列中的末列的末项(根据合法性约束总是存在)不为单行项,则将当前层级改为该项的高度矩阵,然后继续流程; | |||
* 否则末列即为当前层级的顶层列中的末列。按定义末列的末项为单行项,称为右上元素。该项父列称为根列。 | |||
若末列恰有 1 项,且根列为末列所在层级的直接外部列时,适用如下特殊展开规则: | |||
设直接外部列为 <math>C = (E_1, \cdots, E_k, E_{k+1})</math>,其中 <math>E_{k+1} = v^X</math>,<math>X</math> 的顶层列的末列为 <math>A</math> 的末列。 | |||
此时 <math>A</math> 的基本列第 <math>n</math> 项为将 <math>E_{k+1}</math> 替换为 <math>{E_{k+1}}'</math> 的 <math>n</math> 份复制,即将 <math>C</math> 替换为 <math>C' = (E_1, \cdots, E_k, {E_{k+1}}', \cdots, {E_{k+1}}')</math>。 | |||
其中 <math>{E_{k+1}}' = v^{X'}</math> 为去掉 <math>E_{k+1}</math> 的高度矩阵 <math>X</math> 的末列得到的项。 | |||
否则,适用一般展开规则。 | |||
一般展开中,我们定义减一余项。这是在末列删去末项后,将要添加到末列的根列的项。 | |||
令 <math>C_r</math> 为根列的一个复制,<math>C_t</math> 为末列的一个复制去掉末项,其列标视为原来列的列标。 | |||
这之后,不断比较 <math>C_r</math> 与 <math>C_t</math> 首项的高度,然后删去高度较低的项;高度相同时同时删去。直到 <math>C_r</math> 与 <math>C_t</math> 至少有一个为空时,<math>C_r</math> 中的项即称为减一余项。令阶差等于末列列标减去根列列标。 | |||
一个元素称为递增的当且仅当它的值不小于根列列标。简单递增 <math>w</math> 次是指将该矩阵的所有递增元素的值增加阶差的 <math>w</math> 倍。 | |||
令复制部为根列所在层级中,根列和右侧的所有列构成的矩阵,删去末列。将 <math>C_t'</math> 为原矩阵末列去掉末项,<math>C_r'</math> 为减一余项。将 <math>C_t'</math> 简单递增 <math>w-1</math> 次得到 <math>C_t''</math>。 | |||
* 若根列不是所在层级末列,令 <math>C_r''</math> 为对 <math>C_r'</math> 简单递增 <math>w</math> 次。递增结果的首列为 <math>C_t'' + C_r''</math>;其余列为复制部去掉首列后简单递增 <math>w</math> 次。 | |||
* 否则,根列为所在层级的末列,因此末列是根列末项高度矩阵中的列。若减一余项为空,则称 <math>A</math> 为坏矩阵,不定义其展开。否则,末列实际为减一余项的子列。将减一余项删去末列,然后简单递增 <math>w</math> 次得到 <math>C_r''</math>。递增结果为 <math>C_t'' + C_r''</math> 构成的单列矩阵。 | |||
这之后,<math>A</math> 的基本列第 <math>n</math> 项如下计算: | |||
将 <math>A</math> 删去末列,然后对 <math>i=1, \cdots, n</math>,依次将 <math>A</math> 的复制部递增 <math>i</math> 次后,置于删去的末列的位置。(<math>i=1</math> 时置于 <math>A</math> 删去的末列的位置;否则置于递增 <math>i-1</math> 次的复制部删去的末列的位置)得到的矩阵即为所求。 | |||
== 分析 == | |||
关于 BTBMS 的强度分析及与 Y 序列等记号的具体对应,详见 [[BTBMS分析]]。 | |||
{{默认排序:序数记号}} | {{默认排序:序数记号}} | ||
[[分类:记号]] | [[分类:记号]] | ||
2026年8月31日 (一) 00:01的最新版本
BTBMS(Bubby3's Transfinite Bashicu Matrix System)是 Bubby3 创造的序数记号,是现行扩展 BMS 中强度最高的。它由 Bubby3 最先提出,并由笑姐姐最终给出完整定义。
定义
一个 BTBM 矩阵形如 ,其中 称为矩阵的顶层列。
一个列形如 ,其中 称为列的项。
一个项形如 ,其中 是正整数, 是一个 BTBM 矩阵。称 为 的高度矩阵, 为 的值,或称作 的父列标。 称 为 的直接外部项; 所在列为 的直接外部列。若 的高度矩阵为空,则称 为单行项。
以后我们常用 表示整个矩阵, 表示 的一个子阵。顶层列的高度矩阵称为直接子阵。矩阵 本身,以及 的某个直接子阵的子阵,统称为 的子阵。
列标
如下定义 的列在 中的列标。 最左列的列标为 1;对一个子阵 , 的最左侧列列标为它的外部列的列标 +1。某个子阵非最左侧列的列标等于它左侧相邻列的列标 +1。
对于一个元素,它的值等于它的父列列标。如下寻找它的父列:从该元素所在列 出发,若存在左侧相邻列则取左侧相邻列,否则取外部列。得到的列的列标取遍不大于 的列标的所有正整数。其中列标等于元素的值的列即为该元素父列。
合法性约束
引入如下约束:一个合法矩阵所有列的所有元素的值都小于所在列的列标;对任何列 , 的任何元素的高度矩阵的所有列都非空,且这些列的首个元素的值都大于等于 的列标。
零记号与后继记号
若 为空矩阵,则 为零记号。 若 的末列为空列,则 为后继记号,其前驱记号为 去掉末列。
展开规则(寻找末列与基本列)
对于合法的极限矩阵,我们如下寻找它的末列。初始令当前层级为 本身。
- 若当前层级的顶层列中的末列的末项(根据合法性约束总是存在)不为单行项,则将当前层级改为该项的高度矩阵,然后继续流程;
- 否则末列即为当前层级的顶层列中的末列。按定义末列的末项为单行项,称为右上元素。该项父列称为根列。
若末列恰有 1 项,且根列为末列所在层级的直接外部列时,适用如下特殊展开规则: 设直接外部列为 ,其中 , 的顶层列的末列为 的末列。 此时 的基本列第 项为将 替换为 的 份复制,即将 替换为 。 其中 为去掉 的高度矩阵 的末列得到的项。
否则,适用一般展开规则。 一般展开中,我们定义减一余项。这是在末列删去末项后,将要添加到末列的根列的项。 令 为根列的一个复制, 为末列的一个复制去掉末项,其列标视为原来列的列标。 这之后,不断比较 与 首项的高度,然后删去高度较低的项;高度相同时同时删去。直到 与 至少有一个为空时, 中的项即称为减一余项。令阶差等于末列列标减去根列列标。
一个元素称为递增的当且仅当它的值不小于根列列标。简单递增 次是指将该矩阵的所有递增元素的值增加阶差的 倍。 令复制部为根列所在层级中,根列和右侧的所有列构成的矩阵,删去末列。将 为原矩阵末列去掉末项, 为减一余项。将 简单递增 次得到 。
- 若根列不是所在层级末列,令 为对 简单递增 次。递增结果的首列为 ;其余列为复制部去掉首列后简单递增 次。
- 否则,根列为所在层级的末列,因此末列是根列末项高度矩阵中的列。若减一余项为空,则称 为坏矩阵,不定义其展开。否则,末列实际为减一余项的子列。将减一余项删去末列,然后简单递增 次得到 。递增结果为 构成的单列矩阵。
这之后, 的基本列第 项如下计算: 将 删去末列,然后对 ,依次将 的复制部递增 次后,置于删去的末列的位置。( 时置于 删去的末列的位置;否则置于递增 次的复制部删去的末列的位置)得到的矩阵即为所求。
分析
关于 BTBMS 的强度分析及与 Y 序列等记号的具体对应,详见 BTBMS分析。