大数的世界(1)
让你想象一个尽可能大的数,你能想到多大?万亿兆京垓,亦或是不可说不可说转?其实这些数字不过是在后面添加了很多的零罢了,这样的增长率在真正的大数面前完全不够看的。 那么要怎么样才算是大数呢?我个人认为至少要大到用科学计数法无法表示。在正式开始之前让我们先来了解一下高德纳箭头“↑”吧。 当两个数之间只有一个箭头时:a↑b=a的b次方 如果是两个箭头:a↑↑b=a↑a↑a↑……↑a,一共有b个a。这其实就是a的b层指数塔。 a↑↑↑b=a↑↑a↑↑a↑↑……↑↑a ,一共有b个a。用指数塔表示就是,前一个指数塔的层数由后一个指数塔给出,然后有a↑↑b层指数塔。 你觉得上面那些东西很大?不,我们还没正式进入大数世界呢。 在四个高德纳箭头的时候,我们终于遇到了大数世界的守门员3↑↑↑↑3,这东西也叫G(1),是葛立恒数的第一层。它长下面这个样子。
它代表的含义是每一个指数塔的层数都由后面那一堆一个指数塔给出,然后一共有3↑↑↑3个这样的指数塔!让我们再看看3↑↑↑↑↑3。
可见,增加一个箭头会带来怎样的暴涨。然而葛立恒数的第二层的箭头数是G(1)个!所以从G(1)到G(2)是一次质的飞跃。然后G(3)的箭头个数是G(2)个,G(4)的箭头数是G(3)个……。而那个著名的葛立恒数是G(64),它长这样。
这不是指数塔,而是箭头塔! 到了这一步,有必要讲一下函数增长率(专业说法叫FGH)了。 我们将加法的增长率定义为0;乘法是加法的迭代,它的增长率为1;乘方是乘法的迭代,它的增长率为2;两个箭头是乘方的迭代,增长率为3,三个箭头是两个箭头的迭代,增长率为4……。可以看到无论是多少个箭头,增长率都只是一个有限的常数。可如果我把个头的个数作为自变量x构造函数,那这个函数的增长率为多少呢?因为x是自变量,可以取到任意大的值,所以我们用最小的可数无穷序数ω来表示。 ω是大于任意自然数序数的最小序数,它是(1,2,3……)的极限。值得注意的是1+ω=ω,因为1+ω是(2,3,4……)的极限, 同理有2ω=ω,它代表偶数列的极限。但是ω+1>ω,因为ω+1代表的是在第ω位后面再取的一位。葛立恒函数的增长率就是ω+1。 对于任意一个函数,当它套娃自己x次后(x是自变量,也可以理解为把套娃次数作为自变量构造的新函数)得到的新函数增长率将会比原函数多一。这是我们构造大数函数的基石。 让我们从ω开始写吧: ω ω+1(葛立恒函数在这里) ω+2 …… ω+ω=ω×2 ω×3 …… ω×ω=ω² ω³ …… ω↑ω=ω↑↑2 ω↑↑3 …… ω↑↑ω=ε₀(九头蛇函数在这里) ε₀+1 ε₀+2 …… ε₀+ω ε₀+ω×2 ε₀+ω² ε₀+ω↑ω ε₀+ε₀=ε₀×2 ε₀×3 ε₀×ω ε₀×ε₀=ε₀² ε₀↑ω ε₀↑ε₀ ε₀↑↑ω=ε₁ ε₁↑↑ω=ε₂ …… εε₀ εεε₀ ε……ε₀=ζ₀ 注意ζ₀↑↑ω≠ζ₁,因为εζ₀=ζ₀,ε(a+1)=εa↑↑ω,所以有ζ₀↑↑ω=ε(ζ₀+1)。 ε……ε(ζ₀+1)=ζ₁ ε……ε(ζ₁+1)=ζ₂ …… ζζ₀ ζζζ₀ ζ……ζ₀=η₀ η₀↑↑ω=ε(η₀+1) ε……ε(η₀+1)=ζ(η₀+1) ζ……ζ(η₀+1)=η₁ ζ……ζ(η₁+1)=η₂ …… ηη₀ ηηη₀ η……η₀=? 由于字母始终是有限的,我们此时需要引入二元φ函数。(TREE函数的增长率可以用φ函数表达出来哦) 我们规定 ε=φ(1,0) ε₁=φ(1,1) ε₂=φ(1,2) …… ζ₀=φ(2,0) ζ₁=φ(2,1) …… η₀=φ(3,0) η……η₀=φ(4,0) φ(5,0) φ(6,0) …… φ(ω,0) φ(φ(1,0),0) φ(φ(……φ(1,0),0),0)=φ(1,0,0)。此时我们达到了二元φ函数的极限开始进入多元φ函数,这个φ(1,0,0)也可以写做Γ₀。 容易知道: φ(Γ₀,0)=Γ₀, φ(φ(Γ₀,0),0)=Γ₀ φ(φ(……φ(Γ₀,0),0),0)=Γ₀ φ(φ(……φ(Γ₀+1,0),0),0)=φ(1,0,1) φ(φ(……φ(φ(1,0,1)+1,0),0),0)=φ(1,0,2) φ(1,0,3) φ(1,0,Γ₀) φ(1,0,φ(1,0,Γ₀)) 当每层φ函数的第一位(从右往左数)成层套娃当前结构时,进位到第二位 得到φ(1,1,0) …… φ(1,2,0) φ(1,3,0) 同理第二位层层套娃当前结构时进位到第三位上,得到φ(2,0,0) …… φ(3,0,0) φ(4,0,0) 第三位上层层套娃时进位到到第四位上,得到φ(1,0,0,0)。 后面的进位规则同理: φ(1,0,0,0,0) 零太多了怎么办?我们直接用@符号来代替。比如φ(1@3)就表示1在φ函数的第三位上,φ(ω@5)就表示ω在φ函数的第五位上。φ(1,1,4,5,1,4)也可以写成 φ(1@6,1@5,4@4,5@3,1@2,4@1)。 当φ函数有ω个零后,就写成φ(1@ω)。这东西也叫SVO,它只比TREE函数的增长率小了一点点(大数尺度下的一点点,常人眼中的亿点点)。TREE函数的增长率大概是φ(ω@ω)。 这里我要辟个谣。很多人误以为TREE(3)等于A^A(187196)(1),即阿克曼函数A(1)嵌套自己A(187196)次。这个东西叫n(4),是另一个问题的解,和TREE(3)没有任何关系。按照前面的分析,这个东西的增长率只有ω+2,仅仅比葛立恒函数多一,连九头蛇函数的ε₀都完全碾压它,更不用说TREE函数的φ(ω@ω)了。 我们现在知道了TREE函数的增长率,下期让我们构造一个增长率超过它的函数吧。