打开/关闭搜索
搜索
打开/关闭菜单
266
76
76
3055
Googology Wiki
导航
首页
最近更改
随机页面
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁Sudan 函数”︁的源代码
来自Googology Wiki
分享此页面
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
Sudan 函数
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
评审员
您可以查看和复制此页面的源代码。
'''苏丹函数(Sudan function)'''是由罗马尼亚数学家 Gabriel Sudan 创造的递归但非原始递归的全可计算函数,是历史上首个公开发表的非原始递归函数,其发表时间(1927年)早于广为人知的阿克曼函数(1928年)。该函数与阿克曼函数在计算能力上等价,同为可计算理论与递归论中证明“可计算函数集严格大于原始递归函数集”的核心反例,同时也是大数数学中刻画超指数增长的经典函数。 === 一般定义 === ==== 定义 ==== 现代通用的苏丹函数标准定义为三元递归函数,记为 <math>F_n(x,y)</math>(亦写作 <math>F(n,x,y)</math>),其定义域为全体非负整数 <math>n,x,y \in \mathbb{N}</math>,递归规则如下<ref>Calude, C., Marcus, S., & Tevy, I. (1979). "The first example of a recursive function which is not primitive recursive". Historia Mathematica, 6(4), 380-384.</ref><ref>Sudan, G. (1927). "Sur le nombre transfini <math>\omega^\omega</math>". Bulletin mathématique de la Société Roumaine des Sciences, 30, 11-30.</ref>: <math>F_n(x,y)=\begin{cases} x+y &, n=0\\ x &, n>0\ \text{and}\ y=0\\ F_{n-1}\bigl(F_n(x,y-1),\ F_n(x,y-1)+y\bigr) &, n>0\ \text{and}\ y>0 \end{cases}</math> 注:部分文献中会将递归式的末项写作 <math>F_n(x,y-1)+y+1</math>,属于等价的变体定义,仅会导致低阶函数的闭式解出现常数偏移,不改变函数的核心增长特性与非原始递归性。 在该标准定义下,苏丹函数的[[增长层级#快速增长层级|FGH]]增长率约为 <math>\omega</math>,与罗宾逊版本的阿克曼函数增长层级等价。 ==== 低阶展开与闭式解 ==== 苏丹函数的每一层级 <math>n</math> 对应着远超上一层级的增长速度,低阶层级可推导出显式闭式解,直观展现其增长特性: 1. 0阶苏丹函数(加法) <math>F_0(x,y) = x+y</math> 对应基础的加法运算,为线性增长。 2. 1阶苏丹函数 由递归规则展开: <math> F_1(x,0) = x F_1(x,y) = F_0\bigl(F_1(x,y-1),\ F_1(x,y-1)+y\bigr) = 2\cdot F_1(x,y-1) + y </math> 通过线性非齐次递推关系求解,可得其闭式解: <math>F_1(x,y) = 2^y \cdot x + (2^{y+1} - y - 2)</math> 3. 2阶苏丹函数 递归规则为: <math> F_2(x,0) = x F_2(x,y) = F_1\bigl(F_2(x,y-1),\ F_2(x,y-1)+y\bigr) </math> 代入1阶闭式解可得其递归展开式: <math>F_2(x,y) = 2^{F_2(x,y-1)+y} \cdot F_2(x,y-1) + (2^{F_2(x,y-1)+y+1} - (F_2(x,y-1)+y) - 2)</math> 4. n≥3阶苏丹函数 随着阶数n的提升,苏丹函数的增长速度依次进入迭代幂次、迭代塔级等更高阶的超运算范畴,其增长速度与同阶的阿克曼函数相当。 ==== 计算示例 ==== 这里以标准定义为基础,完整展开低阶苏丹函数的计算过程,直观展现其递归逻辑: 示例1:计算 <math>F_1(2,3)</math> <math>\begin{array}{lll} F_1(2,3) &=& F_0\bigl(F_1(2,2),\ F_1(2,2)+3\bigr)\\ &=& 2\cdot F_1(2,2) + 3\\ &=& 2\cdot \bigl[2\cdot F_1(2,1) + 2\bigr] + 3\\ &=& 4\cdot F_1(2,1) + 7\\ &=& 4\cdot \bigl[2\cdot F_1(2,0) + 1\bigr] + 7\\ &=& 8\cdot F_1(2,0) + 11\\ &=& 8\times 2 + 11\\ &=& 27 \end{array}</math> 代入闭式解验证:<math>F_1(2,3)=2^3\times2 + (2^4 -3 -2)=16+11=27</math>,与递归展开结果一致。 示例2:计算 <math>F_2(1,2)</math> <math>\begin{array}{lll} F_2(1,2) &=& F_1\bigl(F_2(1,1),\ F_2(1,1)+2\bigr)\\ &=& F_1\bigl(F_1\bigl(F_2(1,0),\ F_2(1,0)+1\bigr),\ F_1\bigl(F_2(1,0),\ F_2(1,0)+1\bigr)+2\bigr)\\ &=& F_1\bigl(F_1(1,\ 1+1),\ F_1(1,\ 1+1)+2\bigr)\\ &=& F_1\bigl(F_1(1,2),\ F_1(1,2)+2\bigr)\\ &=& F_1\bigl(2^2\times1 + 2^{3} -2 -2,\ 2^2\times1 + 2^{3} -2 -2 +2\bigr)\\ &=& F_1\bigl(8,\ 10\bigr)\\ &=& 2^{10}\times8 + 2^{11} -10 -2\\ &=& 8192 + 2048 -12\\ &=& 10228 \end{array}</math> ==== 函数值表 ==== {| class="wikitable" |+ 标准定义下 <math>F_n(x,y)</math> 的函数值表 |- ! 阶数n \ x\y ! 0 ! 1 ! 2 ! 3 ! 4 ! 通式 |- ! rowspan="5" | 0 | 0 || 1 || 2 || 3 || 4 || rowspan="5" | <math>x+y</math> |- | 1 || 2 || 3 || 4 || 5 |- | 2 || 3 || 4 || 5 || 6 |- | 3 || 4 || 5 || 6 || 7 |- | 4 || 5 || 6 || 7 || 8 |- ! rowspan="5" | 1 | 0 || 2 || 6 || 15 || 34 || rowspan="5" | <math>2^y \cdot x + 2^{y+1} - y - 2</math> |- | 1 || 3 || 8 || 19 || 42 |- | 2 || 5 || 12 || 27 || 58 |- | 3 || 7 || 16 || 35 || 74 |- | 4 || 9 || 20 || 43 || 90 |- ! rowspan="5" | 2 | 0 || 2 || 26 || 极大值 || 无法用常规数值表示 || rowspan="5" | 超指数塔级增长,无初等闭式解 |- | 1 || 5 || 10228 || 超天文数值 || 无法用常规数值表示 |- | 2 || 8 || 超天文数值 || 无法用常规数值表示 || 无法用常规数值表示 |- | 3 || 11 || 无法用常规数值表示 || 无法用常规数值表示 || 无法用常规数值表示 |- | 4 || 14 || 无法用常规数值表示 || 无法用常规数值表示 || 无法用常规数值表示 |- ! 3 | colspan="6" | 增长速度进入迭代超幂范畴,仅极小的x,y取值可计算有限数值,其余均为无法常规表示的超天文大数 |} === 其他定义 === ==== 原始定义 ==== Gabriel Sudan在1927年的原始论文中,以超限序数<math>\omega^\omega</math>为背景提出了该函数,原始定义基于更一般的超限递归框架,其核心递归结构与现代标准定义完全一致,仅参数表述略有差异<ref>Sudan, G. (1927). "Sur le nombre transfini <math>\omega^\omega</math>". Bulletin mathématique de la Société Roumaine des Sciences, 30, 11-30.</ref>。原始定义的递归式可表述为: <math>S(n,x,y)=\begin{cases} x+y &, n=0\\ x &, n>0\ \text{and}\ y=0\\ S(n-1,\ S(n,x,y-1),\ S(n,x,y-1)+y) &, n>0\ \text{and}\ y>0 \end{cases}</math> 该定义是首个被严格证明的非原始递归函数,为递归论的发展奠定了重要基础。 ==== 变体定义(常数偏移版) ==== 部分递归论文中会使用边界值微调的变体定义,其核心递归结构不变,仅将递归式的第二个参数调整为<math>F_n(x,y-1)+y+1</math>,更便于教学演示,定义如下: <math>F_n(x,y)=\begin{cases} x+y &, n=0\\ x &, n>0\ \text{and}\ y=0\\ F_{n-1}\bigl(F_n(x,y-1),\ F_n(x,y-1)+y+1\bigr) &, n>0\ \text{and}\ y>0 \end{cases}</math> 该变体下1阶苏丹函数的递推式简化为<math>F_1(x,y)=2\cdot F_1(x,y-1)+y+1</math>,闭式解为<math>F_1(x,y)=2^y(x+1) - y - 2</math>,其增长层级与非原始递归性与标准定义完全一致。 === 历史背景 === 苏丹函数由罗马尼亚数学家Gabriel Sudan于1927年正式发表,他是著名数学家大卫·希尔伯特的学生,与阿克曼为同门师兄弟。 20世纪20年代,希尔伯特在数学基础的研究中提出猜想:所有可计算的全函数均为原始递归函数。为验证该猜想,希尔伯特的学生们展开了对递归函数的系统性研究。1927年,Gabriel Sudan在论文《Sur le nombre transfini <math>\omega^\omega</math>》中正式提出了苏丹函数,并严格证明了该函数是可计算的全函数,但不属于原始递归函数,成为历史上首个推翻希尔伯特该猜想的反例<ref>Calude, C., Marcus, S., & Tevy, I. (1979). "The first example of a recursive function which is not primitive recursive". Historia Mathematica, 6(4), 380-384.</ref>。 1928年,同门的Wilhelm Ackermann发表了与之等价的阿克曼函数,因其递归结构更简洁,后续被更广泛地用于递归论与可计算理论的教学与研究中,而苏丹函数则作为首个非原始递归函数,在递归论的发展史上具有里程碑式的开创意义。 === 核心性质 === 1. 全可计算性 苏丹函数对所有非负整数输入<math>n,x,y</math>均有唯一确定的输出,是定义在<math>\mathbb{N}^3</math>上的全函数,且可通过图灵机、递归程序等计算模型实现有效计算,属于可计算函数的范畴。 2. 非原始递归性 苏丹函数是首个被严格证明的非原始递归函数:它可通过一般递归定义构造,但无法仅通过原始递归函数的核心算子(复合算子、原始递归算子)从本原函数(零函数、后继函数、投影函数)中构造出来。其核心原因在于,苏丹函数的增长速度超过了所有原始递归函数的增长速度上限<ref>Kleene, S. C. Introduction to Metamathematics. Princeton, NJ: Van Nostrand, 1964.</ref>。 3. 与阿克曼函数的计算等价性 苏丹函数与阿克曼函数在计算能力上完全等价,二者同属<math>\omega</math>级快速增长层级,可通过原始递归变换互相转化。二者的核心差异仅在于递归结构的嵌套方式,而非本质的计算能力与增长极限<ref>Googology Wiki. "Sudan Function". https://googology.fandom.com/wiki/Sudan_function</ref>。 === 与阿克曼函数的核心对比 === {| class="wikitable" |+ 苏丹函数与阿克曼函数的核心对比 |- ! 特征维度 ! 苏丹函数(Sudan Function) ! 阿克曼函数(Ackermann Function) |- ! 发表时间 | 1927年,历史首个非原始递归函数 | 1928年,晚于苏丹函数发表 |- ! 提出者 | Gabriel Sudan(希尔伯特的学生) | Wilhelm Ackermann(希尔伯特的学生,与Sudan同门) |- ! 标准定义参数 | 三元递归函数 <math>F_n(x,y)</math> | 主流为罗宾逊简化版二元递归函数 <math>A(m,n)</math>,原始定义为三元 |- ! 递归结构 | 嵌套递归的第二个参数随y动态增长,嵌套复杂度更高 | 递归结构更简洁,仅对第一个参数做层级递归,第二个参数做嵌套调用 |- ! 低阶对应运算 | n=0对应加法,n=1对应指数级增长 | m=0对应后继函数,m=1对应加法,m=2对应乘法,m=3对应指数级增长 |- ! 学术知名度 | 较低,多出现于递归论史与大数数学领域 | 极高,是可计算理论、算法复杂度分析中的标准示例 |- ! 核心历史地位 | 首个公开发表的非原始递归函数,推翻希尔伯特猜想的首个反例 | 最广为人知的非原始递归函数,成为递归论的经典范例 |- ! 增长层级(FGH) | <math>\omega</math>,与阿克曼函数等价 | <math>\omega</math>,与苏丹函数等价 |} === 其他内容 === ==== 增长层级与超运算表示 ==== 苏丹函数的增长速度可通过[[高德纳箭头|高德纳上箭头表示法]]进行刻画,其n阶苏丹函数的增长速度对应n+1阶超运算: <math>F_0(x,y)</math> 对应1阶超运算(加法):<math>x[1]y</math> <math>F_1(x,y)</math> 增长速度等价于3阶超运算(指数):<math>x[3]y</math> <math>F_2(x,y)</math> 增长速度等价于4阶超运算(迭代幂次/塔级):<math>x[4]y</math> 一般地,<math>F_n(x,y)</math> 的增长速度等价于 <math>x[n+2]y</math>,与同阶阿克曼函数的超运算等级一致。 在快速增长层级(FGH)中,苏丹函数的对角化版本<math>F(n,n,n)</math>的增长率为<math>f_\omega(n)</math>,与阿克曼函数的对角化版本完全等价。 ==== 苏丹数(Sudan Numbers) ==== 类比阿克曼数,我们将苏丹函数的对角化序列称为苏丹数,其定义为: <math>S_n = F_n(n,n)</math> 其中n为非负整数。苏丹数是对苏丹函数的对角化: <math>S_0 = F_0(0,0) = 0+0 = 0</math> <math>S_1 = F_1(1,1) = 2^1\times1 + 2^2 -1 -2 = 3</math> <math>S_2 = F_2(2,2) ...</math> ==== 逆苏丹函数 ==== 类比逆阿克曼函数,我们定义逆苏丹函数为: <math>\sigma_i(n) = \min\{ j \in \mathbb{N} \mid F_i(j,j) \geq n \}</math> 该函数是苏丹函数的逆函数,由于苏丹函数的超高速增长特性,逆苏丹函数的增长速度极为缓慢,在算法时间复杂度分析中,可用于刻画极优的渐进复杂度下界,与逆阿克曼函数的应用场景高度相似<ref>Tarjan, R. E. Data Structures and Network Algorithms. Philadelphia PA: SIAM, 1983.</ref>。 ==== 连续域扩展 ==== 与阿克曼函数类似,研究者也提出了苏丹函数在非负实数域上的连续扩展,使其可对实数输入<math>n,x,y \in \mathbb{R}_{\geq0}</math>进行定义,核心扩展思路为: 1. 对0阶函数,保持加法的连续定义:<math>F_0(x,y)=x+y</math> 2. 对非整数阶数与非整数y,通过插值与分段递归的方式,保持函数的单调性与递归结构的一致性 该连续扩展保留了离散苏丹函数的核心增长特性,为其在分析学、动力系统中的应用提供了基础。 === 参考资料 === {{默认排序:大数记号}} [[分类:记号]] [[分类:入门]]
返回
Sudan 函数
。
查看“︁Sudan 函数”︁的源代码
来自Googology Wiki