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

UPS:修订间差异

来自Googology Wiki
Alice留言 | 贡献
Alice留言 | 贡献
第41行: 第41行:
定义索引 <math>i</math> 的父段为 <math>\mathrm{seg}(\mathrm{ps}(i))</math> 。
定义索引 <math>i</math> 的父段为 <math>\mathrm{seg}(\mathrm{ps}(i))</math> 。


若 <math>s_i = 0</math> , 通过以下流程计算出索引 <math>i</math> 的 Dropping 祖先段:
若 <math>s_i = 0</math> , 通过以下流程计算出索引 <math>i</math> 的 Dropping 祖先段:初始状态下定义 <math>c_0 = i, r_0 = i, b_0 = i</math> 。
 
循环进行以下步骤:
 
令 <math>p_n = \mathrm{ps}(c_n)</math> 。若 <math>p_n = -1</math> ,则计算结束,得到 <math>\mathrm{drop}(i) = b_n</math> 。
 
否则,令 <chem>R = \mathrm{seg}(r_n), P = \mathrm{seg}(p_n)</chem> 。
 
情况1: <chem>R < P</chem>
 
不更新状态,向上追溯父段:令 <chem>c_{n+1} = p_n, r_{n+1} = r_n, b_{n+1} = b_n</chem> 。
 
情况2:<math>R \ge P</math> 且 <math>R <_\mathrm{proj} P</math>
 
更新候选为当前段,并向上追溯父段:令 <chem>c_{n+1} = p_n, r_{n+1} = p_n, b_{n+1} = p_n</chem> 。
 
情况3:<math>R \ge P</math> 且 <math>R \ge_\mathrm{proj} P</math>
 
计算结束,得到 <math>\mathrm{drop}(i) = b_n</math> 。

2026年7月8日 (三) 09:55的版本

UPS(Upper Projection Sequence, 向上投影序列)是由 Optimism 最初创作,Alice 完善的记号,旨在以序列形式模拟向上投影。

定义

基础定义

一个 UPS 表达式由一组有序排列的项组成。

项:一个自然数与一个星号标记 αi=(vi,si)

父项:一个索引的父项 p(i) 为最大的 j<i, 满足 vj<vi 。若不存在满足条件的项,则记作 p(i)=1

正规化序列:一个序列 S=[α0,α1,...,αL1] 的正规化序列为 norm(S)=[α'0,α'1,...,α'L1], 其中 α'i=(viv0,si)

直接集与直接段

一个索引 i 的直接集定义为:

  1. iD(i);
  2. p(j)D(i),sp(j)=1, 则 jD(i)

定义直接段结尾:令 M(i)=max(t|tD(i)) 。若存在 k 使得 vk=min(vj|j>M(i),p(j)D(i)), 找到其中索引最小的 k0 , 定义 ed(i)=k0; 否则,定义 ed(i)=M(i)

定义索引 i 的直接段为 seg(i)=[αi,...,αed(i)]

字典序比较与投影比较

在进行字典序比较与投影比较之前,首先要将待比较序列的 αL1 替换为 α*L1=(vL1,1) ,并进行正规化。

字典序比较记为 S<T , 为逐项首先比较数值(数值大者更大),其次比较星号(有星号者更大)。若前缀完全相同,则更长者更大。

投影比较记为 S<projT, 比较流程如下:

首先定义 S=[α0,α1,...,αL1]的投影深度 dep(S)=vL1 。若 dep(S)<dep(T) , 则 S<projT

dep(S)=dep(T)=0 , 则S=projT

t=p(L1)0 , 则定义 S 的投影子序列为 proj(S)=norm([α't,αt+1,...,αL1]) , 其中 α't=(vt,0) 。若 t=1 , 定义 S 的投影子序列为空序列。

dep(S)=dep(T)proj(S)<proj(T) , 则 S<projT 。若 dep(S)=dep(T)proj(S)=proj(T) , 则 S=projT

父段与 Dropping 祖先段

定义索引 i 的父段起始索引为:ps(i)={1,p(i)=1;p(i),sp(i)=0;ps(p(i)),sp(i)=1.

定义索引 i 的父段为 seg(ps(i))

si=0 , 通过以下流程计算出索引 i 的 Dropping 祖先段:初始状态下定义 c0=i,r0=i,b0=i

循环进行以下步骤:

pn=ps(cn) 。若 pn=1 ,则计算结束,得到 drop(i)=bn

否则,令 R=seg(rAn),P=seg(pAn)

情况1: R<P

不更新状态,向上追溯父段:令 cAn+1=pAn,rAn+1=rAn,bAn+1=bAn

情况2:RPR<projP

更新候选为当前段,并向上追溯父段:令 cAn+1=pAn,rAn+1=pAn,bAn+1=pAn

情况3:RPRprojP

计算结束,得到 drop(i)=bn