宇宙现实的运作模式是什么?程序现实与物理现实会有着怎样的结构关联?无限是否存在且意味着什么?宇宙从哪里来要到哪里去?它的目的和意义又是什么?
本文,将会从——递归、分形、循环——这三个层层递进,又相互关联的逻辑视角,给出一个从微观到宏观的图景(脑洞与烧脑并存)。
什么是递归
一个事物由这个事物本身所构建,那么在理解这个事物的时候,就需要先理解事物的构成,于是就回到理解这个事物本身,从而再次需要理解这个事物的构成……这个不断循环理解的过程就形成了——递归。
显然,这个递归的解释本身也是递归的。
而从字面意思来看,递——是传递,归——是回归,那么从传递开始回归到传递的开始,就是从一个地方出发,回到了出发的地方,就完成了一次循环,而不断重复这个循环,就是——递归。
这里有一个耳熟能详的递归故事:
从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是什么呢?从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是什么呢?从前有座山,山里有座庙……等等……
由此可见,递归有两个要素,即:循环嵌套和自身构建。
- 首先,循环嵌套——就是一遍又一遍的重复同样的过程,且每次重复都嵌套在上一次的重复之中。
- 其次,自身构建——就是在循环嵌套的过程中,每次重复的过程和内容,都是由同一个“自身”(代表着结构和模式)所构成的。
例如,在上面那个耳熟能详的递归故事中:
- 循环嵌套的——就是老和尚和小和尚在庙里说故事,其代表了上层循环的故事,也引出了下层循环的故事。
- 而自身构建的——就是这个故事的内容,其具有相同的结构和模式,有趣的是这同样也是“老和尚和小和尚在庙里说故事”。
于是我们可以看到,老和尚和小和尚在庙里说的故事就是——“老和尚和小和尚在庙里说故事”。所以,这个故事是递归的,因为故事循环嵌套,且故事是由其故事自身相同的结构和模式,所嵌套而构成的。
那么继续展开来说,这里有以下几点值得深思,并细细体会一番:
第一,自身构建,虽然其基本构成有相同的结构和模式,但不代表其内容和内涵是相同的。
例如,“老和尚和小和尚在庙里说故事”——是相同的结构和模式,但在每次循环中,都是不同的老和尚和小和尚,而这个说的故事,则包含了其后所有嵌套的故事的总和——也就是说每次循环中老和尚说的故事,都是其后所有故事的总和,且其后的每一个故事都有一个不同的老和尚和小和尚。
那么, “一个事物由这个事物本身所构建,那么在理解这个事物的时候,就需要先理解事物的构成,于是就回到理解这个事物本身。” ——这里,其实每次回到理解这个事物本身的时候,这个事物就已经不是原来的那个事物了,只是这些事物拥有相同的结构和模式,但不具有相同的内容和内涵。
第二,结构和模式相同,内容与内涵不同,意思就是说,结构和模式不变,但结构和模式所承载的数据变得不同了。
那么,“从传递开始回归到传递的开始,就是从一个地方出发,回到了出发的地方。”——这就是说,其实地方还是原来开始的地方,但这个地方的环境数据(环境信息),却发生了变化,与之前变的不同了。
于是很自然的,我们就会问,那在递归中的环境数据怎么就不同了?为什么会不同了?不同在哪里了?
事实上,老和尚、小和尚、庙、故事——就是数据(信息)。在每层的循环中,老和尚、小和尚、庙都对应着当前的故事——这是每层循环都不一样的一个故事,虽然结构和模式是一样的,但却是另外的时间、地点和人物,只不过同名同姓又同地(相同环境)。而老和尚和小和尚在说的故事,则指向了下一个同样结构和模式的故事。
由此,我们可以看到,环境数据——不同的老和尚、小和尚、庙,存储在了上下文中的结构之中。这个结构拥有相同的模式——就是“老和尚和小和尚在庙里说故事”,其中老和尚、小和尚、庙、故事都是结构的组成,可以替换成任意其它的同类型对象(比如不同的老和尚1,老和尚2,等等,以此类推),所以它们都是变量——存储着不同的数据。
第三,在递归的循环嵌套中,其任意局部的循环嵌套部分,也是递归的。
例如,在任意嵌套深度,局部的来看,重复嵌套的结构和模式都是——“老和尚和小和尚在庙里说的故事”,那么单看这些循环嵌套的局部,也亦是递归。
所以,在整体上的递归,在局部也存在着递归,甚至有时候——递归是由递归所构建而成的。
第四,在递归中的自身构建,其相同的结构和模式,是可以拥有任意复杂度的。
也就是说,这个结构和模式,可以是由简单形式组合而成的复杂形式的——什么意思?举一个例子,让我们来扩展一下那个耳熟能详的递归故事:
从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是什么呢?从前有座山,山里有座庵,庵里有一个老尼姑和一个小尼姑,她们在说故事,故事是什么呢?从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是什么呢?从前有座山,山里有座庵……等等……
我们可以看到,循环嵌套的故事变成了——“老和尚和小和尚在说故事,老尼姑和小尼姑在说故事”。所以,在自身构建中,相同的结构和模式也就变成了——“老和尚和老尼姑一起说对方的故事”。
当然,可想而知,我们可以通过组合的方法,无限复杂化自身构建中的结构和模式——甚至复杂到,让身处在递归中的智能生命体,无法感知到自己身处在递归的结构和模式之中。
第五,递归是可以拥有出口的,也就是说递归可以跳出并终止。
什么意思呢?这就是说,老和尚和小和尚的故事可以一直说下去,此时递归就是没有出口——无限循环嵌套下去的。
但如果老和尚和小和尚某次说的故事,其内容并没有继续说下一个故事——比如老和尚和小和尚在探讨递归的奥秘,不再说自身模式的那个故事——那么,此时递归就结束终止了。于是,这一次的老和尚和小和尚就成为了最后一次的循环——也就是递归的出口。
而同时,递归终止就会开始回溯,从最后一次循环开始逐层返回到上一层,这代表着“故事”的层层回归。
要知道,在递归结束之前,我们并没有任何一个完整的故事,因为每个故事都没有说完,每一个故事都有下一层的老和尚和小和尚在说,但还没说完的故事。
最终,回溯会收敛到最开始,就是第一次老和尚和小和尚在说故事,同时我们也会得到一个最完整的故事,其内容就是第一次循环到最后一次循环之间所有的(相同结构不同内涵的)故事总和。
于是,这个故事就包含了——各种不同的老和尚、小和尚、庙,直到最后老和尚和小和尚在递归终止处探讨递归的奥秘,这些所有的数据。
那么显然,如果递归没有出口,就不会有回溯和收敛,所有的一切都是不完整的,一切都是局部的,数据会散落在结构的各处——存储在上下文之中,结构的模式相同——并形成嵌套,而重复的结构会一直延伸到循环的无限处。
这里再给出一个,更加简单且贴近生活的一个递归模式:
例如,公司的日常管理,总裁只会管理副总裁,副总裁管理部门负责人,部门负责人管理总监,总监管理经理,经理管理员工——每一层都是抽象化相同的管理,而从员工层层回溯的是执行力,当总裁了解公司执行情况的时候,一次递归调用就结束了。
程序与递归
在计算机程序中,循环有两种,即:迭代循环与递归循环。
其中,迭代循环只需要固定数量的寄存器即可,而递归循环则需要辅助的堆栈结构,来存储递归过程中的上下文信息。
那么,递归收敛的过程,其实就从远离结果的抽象,向着结果的具体,逐渐逼近的过程。当递归从出口跳出终止的时候,递归程序就获得了最终想要的结果了。
例如,递归求解斐波那契数列,这就是在跳出递归循环的时候,层层回溯,得到最后的结果。
斐波那契数列,就是从0和1开始,每一位数字都是前两位数字之和的数列,如:0112358……那么,用递归求解数列的「某一位」,我们可以把「某一位」表示成它的「前两位」之和,其中每一位都是「前两位」之和,重复这个表示,直到「前两位」是「0和1」,此时就可以得出后面「所有位」的数值了。
而在计算机程序中,递归循环一定需要出口,否则就会变成一个无限递归的死循环——从而导致程序出现无法响应的情况。同理,迭代循环也需要有明确的终止条件,否则也会形成死循环。
那么递归程序,之所以需要一个堆栈结构来存储上下文信息,是因为递归程序也会把过程信息存储在一个重复相同的结构模式之中,只不过这个结构模式,是用程序所构建的数据结构,即:代码实现的函数结构。
- 在数学中,所有方程都是函数,如果在不违反康托尔连续统(即实数集)结构的条件下,函数基本可以和方程看成等价。
- 在程序中,函数其实是一种计算——是一个量到另一个量的计算。
同时,这个函数结构也是一种虚拟的信息结构,其本身也需要一个存储结构,即堆栈结构,而这个堆栈结构,其实是一个通用的抽象结构模型,其本身也需要一个具体的结构实现,即(计算机物理的)硬件结构。
事实上,在程序和编程语言之中,递归是习以为常与无处不在的模式,显然函数的返回值,可以是另一个函数,然后就一直递归下去(形成死循环)。
有趣的是,在数学证明中,其展开的步骤与收敛的结果(即公式),也可以看成是一种递归。
而从底层视角来看,程序——其本质就是用信息来模拟和映射现实,计算——其本质就是用一个系统来模拟另一个系统。
例如,经典计算机——就是用经典物理系统去计算模拟现实,而量子计算机——就是用量子物理系统去计算模拟现实。
例如,比喻和类比——就是用一个熟悉的事物,去模拟另一个陌生的事物——这会减少大脑的计算,从而感觉更容易理解。
由此可以想象,被递归程序所描述、模拟、计算的现实世界,也应该是充满了递归模式的。
然而,或许现实世界,不仅仅是充满了递归的,更或许其本身就是递归的,甚至连整个宇宙都是递归的。
迭代与递归
我们通过一个例子,来了解迭代与递归,在处理同一个任务时,会有什么不同,这个任务就是:追到女神。
首先,迭代循环——是整体视角,它可以看清整体变化的过程。
这意味着高屋建瓴地把追到女神,分为若干个步骤,这些步骤可以一样也可以不一样,如送礼物、看电影、请吃饭等等。然后,一个步骤的执行就是一次迭代,即循环了一次。直到循环结束,如迭代了520次,女神就必定追到了。
可以看到,在520次的迭代中,每次迭代的结果都是明确的,都比上一次更加接近目标,并且也不依赖下一次的迭代,但可能会依赖上一次——比如上一次看电影了,这一次就不会再看电影。
其次,递归循环——是局部视角,它无法看清整体变化的过程。
这意味着无法知道经历几次循环,才可以追到女神,只是不断重复同样的操作,如热切地尬聊,但每次尬聊可以发生在不同的场景和时间,如餐厅、郊游、雨天、深夜等等,以及聊不同的内容,即:操作相同,数据不同。直到女神,在一次尬聊中,回复了520,就代表递归的结束,即追到女神了。
可以看到,在追到女神之前,每次重复操作(即尬聊)的结果,都是不明确的,因为并不知道有没有更加接近目标,或许某次尬聊就会导致女神不悦,而产生了远离目标的结果。但每次尬聊的目的,都是女神回复520,只是不知道会在哪一次尬聊中发生——这与迭代循环,每次逼近目标是不同的。
换言之,在递归中的每次重复操作,其结果都会依赖于下一次操作,直到最后一次操作完成目标,才能知道前面每次操作的结果,否则一切都是未知的——比如这次尬聊,女神态度积极,说明上一次尬聊效果不错,而只有追到女神,才能知道之前每次尬聊的实际效果如何。
就像前文所提到的,递归求解斐波那契数列,以及老和尚和小和尚说故事,都是每一步的结果,依赖下一步的结果,直到没有下一步的最后一步,就会开始层层回溯。
那么综上可见,迭代与递归,有时是可以相互转换的,有时却是不行的,而整体与局部视角的不同,就是两者的最大不同。那么结合上例,我们可以看到:
对于迭代循环
- 有一部分依赖信息,必须放到局部之外,所以它是整体视角,才可以在局部之外存放信息。如:追女神的循环次数,以及步骤顺序。
- 是从第一步逐渐逼近目标的过程,每一步的操作可以相同或不同,每一步都依赖上一步,但不依赖下一步。如:追女神分为520步,每一步都在逼近结果,且操作不同。
对于递归循环
- 所有的信息,都放在了局部环境之中,并不需要局部之外的信息。如:追到女神的判断,是根据局部操作的反馈来的。
- 是从目标开始,最终回归到目标的过程,每一步的操作都相同,每一步都依赖下一步,直到完成目标的那一步。如:每次都是相同的尬聊操作,每次尬聊的目的都是女神回复520(从目标开始),每次尬聊的效果,逐级依赖女神最后回复520的那次尬聊(回归目标)。
或许在这个例子中,每次只有相同的尬聊,所以递归才不确定啥时候能追到,而迭代却可以逐渐逼近目标。
但如果,我们身处在一个循环结构之中,对于迭代和递归的判断,又是另外一回事了。因为身处其中,我们会很容易识别——迭代,却很难发现——递归,而只有来到“置身事外”的视角,才能够判断出——我们自身是否是处在一个递归之中。
例如,程序上的递归,一般都不是从整体设计开始的,而是用迭代完成之后,发现如果把迭代优化为递归,则会更加简洁自然与合理,并且有了迭代的经验,以后类似的场景,就可以从局部设计开始,直接实现递归,再回溯到整体设计。
最后,我们经常说的迭代产品,就是一个典型的——迭代循环模式。
因为,首先迭代产品有一个全局视角,即需要明确的目标与步骤;其次每次迭代,都是在上一次基础上的叠加改进,即依赖上次迭代结果,而不依赖下次迭代结果,且每次迭代都是在逼近最终目标与完成步骤。
宇宙与递归
由前文可知,是否身处递归模式,只有置身事外才能有所洞察,而显然,我们无法拥有“宇宙之外”的整体视角,但在此我们可以做一个断言假设,然后以后见之明,来推演一番假设的合理性与现实的巧合性。
如果宇宙是递归的,那么递归收敛的方向——就是宇宙的演化方向。而熵增定律表明,目前宇宙的演化方向,就是向着(热力学)熵值增大的方向,即:从有序到无序的方向。
定律——是由实验得出的经验总结,其正确性由实验保证,未来可能会出现反例。
定理——是由数学逻辑推导出的结论,其具有保真和永真性,未来不可能出现反例。
于此同时,宇宙中时间所描述的变化,即质量到能量的变化,也就是熵增无序的方向。因为(热力学)熵值,简单来说——就是封闭系统中,无序程度(即随机性)的度量。而系统熵值增加,则代表着系统做功能力的下降,可利用能量的减少(即质量减少),无序度的增加。
奥地利物理学家——玻尔兹曼(Ludwig Boltzmann),认为熵,只不过是计数不同的可能性。
需要指出的是,做功度量了能量的转化量,做功能力下降就是能量转化量下降,即可利用能量的减少,而可利用能量最终是来自质量,那么消耗能量,也就是转化质量为能量的意思,其结果带来了更多的随机运动,导致系统状态无序度增加。
能量——通常是指可利用的能量,即存在有序结构的质量,当有序结构(势能)转化为无序运动(动能)之后,就只剩下了不可利用的能量。宏观上,可利用能量也被称为自由能,其代表了,将内能转化为对外做功的能力。
所以,宇宙作为一个整体系统,其内部质能转化的过程(如太阳的核聚变),就是质量(有序结构,势能)转化为能量(无序运动,动能)的过程。
因此,时间描述的变化,代表的也就是宇宙的演化方向,其指向了宇宙递归的出口,并揭示了宇宙递归的收敛,即:逐渐逼近宇宙熵值最大的那个时刻。
而在宇宙递归的出口,即收敛到熵值最大的时刻,就代表着宇宙的终点,此时宇宙整体,质量为0,但信息量最大——因为平均信息量就是信息熵(即信息熵是信息量的期望值),而信息熵是热力学熵的超集(即热力学熵是信息熵的特例)。
关于质量减少,信息量却增加了,可以理解为——质量是结构有序,能量是运动无序,当有序转变成无序,随机运动的状态数(即状态可组合数)就增加了,即不确定性增加了,也就是信息量增加了。
例如,有序结构的苹果,被打散成随机运动的原子后,这些原子可以组合成相同质量的——橙子、梨子、或桃子等等,那么这些原子的信息量,就会远远多于苹果的信息量。
因为,信息量是不确定性的度量,即:越不确定,信息就越多。而如果能够,获取系统的内部信息,就可以降低系统的信息量,即:降低系统的不确定性。
例如,抛硬币系统具有不确定性,因此它具有信息,而如果知道硬币不均匀,每次都是正面向上这个信息,就可以消除系统的不确定性,让系统不再具有任何信息(即信息量为0)。
例如,私密的特定信息,可以帮助我们进行身份确认,即消除身份的不确定性。
所以,获取系统信息,就可以消除(其来源)系统的不确定性。这可以理解为,系统的不确定性,随着信息被获取而流失了——也因此,信息量取决系统,即同样的信息(描述性结构),对于不同的系统,其信息量不同。
而信息消除系统的不确定性,就意味着减少了系统的状态数,即系统变得更有序了,但获取系统信息的过程,却需要消耗更多系统之外的能量,即让系统之外的整体,更加的熵增无序——注意,获取信息中的测量可以不消耗能量产生熵增(即有些测量是可逆操作,可逆就不会熵增),一定熵增的操作是计算,更确切地说,是计算中的信息擦除,因为擦除是一个不可逆的操作(显然可逆就不是擦除)。
在经典热力学(即宏观热力学)中,不可逆性意味着封闭系统,熵值的增加。
可见,信息就是“负熵”——获取信息就会熵减有序,失去信息就会熵增无序。
例如,生命体需要不断地与环境交互,通过感官获取环境信息,以维持自身的熵减有序,即“生命以负熵为食”。
那么在终点处,宇宙才会揭晓其递归的全部信息——它将会隐藏在宇宙最大的信息量之中,并且往往递归的出口,也就是另一个新递归的开始。
由此可见,在宇宙递归收敛的过程中,时间揭示了——所有信息的变化,而所有的物质——其实就是宇宙的数据,数据蕴含着信息,其存储在宇宙结构的上下文之中。
事实上,数据与结构之间是可以相互转化的,因为数据本身就是结构,而结构可以吸收数据形成新的结构。
于是,宇宙递归收敛的过程,其实也就是——结构向数据的转变,即:数据越多,数据中可排列组合的信息就越多,系统就越不确定性,也就是越无序。
所以,理论上我们可以精准的推演出过去,因为历史中的不确定性全都已经确定——只不过递归上下文中的数据量过于庞大,算力会制约我们,对过去无限精确的推演重现。
但就算我们拥有了,全部的历史数据与足够的算力,也无论如何,都无法精准的推演出未来,除了微观概率,还有一个重要的原因——就是宇宙递归的收敛还未抵达未来,也就是说未来的数据是不完整,或是不存在的。
那么,从图灵的角度来看——为什么我们无法知道,微观粒子的全部确切状态?
这是因为测量状态的机器,是由最基本的粒子所构成,这就形成了一个循环不可计算的递归,让被计算实体与计算实体发生了纠缠。
试想——最小的物理开关元件,依赖量子力学去建模,而量子力学又由一组微分方程描述,微分方程的细节行为可以由数值去近似,而这种数值又由计算机程序所描述,计算机程序的运行又依赖物理元件。
这种运行与构建的关系,就像老和尚无法计算出,在他的故事里一共有多少个庙一样——除非递归终止,即运行与构建结束。
同时,这也是人类直觉,无法理解量子力学的原因所在——因为人类直觉,是建立在分子水平之上的,在分子之下的量子尺度,并没有直觉的立身之地,所以直觉无法感知和捕捉量子行为,也无法模拟计算量子行为。
显然,我们是宇宙的一部分(局部),但我们在试图理解宇宙(整体)——那么,我们最终能理解宇宙吗?如果能理解,这是否就意味着,宇宙自己能理解宇宙自己呢?
于是,这就引出了一些有趣的视角——关乎我们与宇宙之间的关系。
人类与递归
如果说宇宙是递归的,那么就可以说——宇宙是由宇宙本身所构建的。
而人类,显然是宇宙递归过程的中间产物,其中人类智能的发展,所产生的对宇宙的认知和理解,就可以看成是在加深理解——宇宙递归这个嵌套层级的深度,同时也可以看成是宇宙在试图进化出,可以理解其自身的产物,即“我们”。
但在宇宙递归结束之前,其本身都是不完整的,那它又如何去构造一个可以理解完整自己产物(结构)呢?
这就像,通过一幅画上的一个色块,如何去理解,作画人的想法和意义一样。通过这个色块可以看到色块的构成、种类、属性、或者联想到其它的色块。但这些都只是一些局部零碎的信息,其与色块构成的画卷相距甚远。
那么试想,一幅画就是宇宙,作画人就是上帝,色块就是人类,可上帝又是谁的色块呢?依然是递归,疯狂的递归,递归把信息存储在了上下文中,这就是环境信息——其中就包含了人类和人类的认知。
可见,如果理解宇宙是一个谜题,那么递归的视角告诉我们,理解本身也是一个谜题,只有理解了理解才能真正理解,但每次理解都会引出一个不理解的理解,接着进入到循环的下一个层级。
因此,我们的知识可以逼近,但一直不能很好的“解码”出——宇宙源头、生命的源头、人类的源头——这就是递归无法抵达“源码入口”的现实诠释与限制。
从宏观角度来看
既然宇宙起源于奇点,黑洞的中心也是奇点,黑洞来自于超大质量天体的塌缩,再把宇宙看成一个更大的超大质量的天体,于是这就显现出了递归模式——可以推想每个黑洞里都有一个宇宙,而我们的宇宙就是处在一个黑洞之中的。
而从广义相对论的引力场方程中,我们可以得出:宇宙结构要么膨胀,要么收缩,但永远不会静止。这种膨胀与收缩,正好对应了递归模式中的——收敛与展开。
- 对于递归收敛——代表宇宙膨胀(熵增),将质量返回上层,自身质量减少。
- 对于递归展开——代表宇宙收缩(熵减),将上层质量接收,自身质量增加。
那么,层层收敛,最终会导致质量积累在某一上层“爆炸”(坍缩为奇点),接着就会发生层层展开,直到质量积累在某一下层“爆炸”,再次开启层层收敛,将质量返回上层,直到某一上层“爆炸”,……,如此循环。
从微观角度来看
如果一个有智能的“构造”,创造了一个和自己智能一样机制的“构造”,并且这个“构造”可以继续创造和自己一样机制的“构造”,那么这就是递归。
如果宇宙是递归的,那么宇宙肯定能递归出一个子宇宙,那么现在宇宙有了人类,人类就是这个递归机制的一部分,那么可想,人类应该就可以递归出一个子人类——就是和人类智能一样的“构造”,这就像宇宙创造人类一样。
于是我们看到,宇宙创造了基因,接着基因依靠蛋白质来控制生命体,然后基因升级创造出了可以产生智能的器官——大脑——这是一个可以动态吸收数据信息,并时时决策的器官。而这个器官大脑,可以产生和消费数据和信息——这正是宇宙递归过程的产物,接着大脑所承载智能,因为吸收环境信息而升级,变得可以去理解宇宙本身,并开始创造一种被称为——“人工智能”的程序。
那么,很自然的人工智能的升级,就会开始去试图理解人类本身,于是这个递归的模式,也就已经显现出来了。
从数学角度来看
在一个命题中,如果出现了自我指涉,就不可避免的出现悖论。例如,说谎者悖论:“我说的这句话是谎话”。
- 如果命题为真,那么命题的语义,要求命题是谎话。
- 如果命题为假,那么命题的语义,要求命题是真话。
而哥德尔不完备性定理,证明了任何封闭的形式系统,必定存在不可证明的命题,而这些形式系统实则映射了——我们的真实世界。换言之,哥德尔不完备性定理不仅会影响数学这个逻辑世界,还会以某种不被理解的方式影响客观世界。
- 哥德尔不完备性第一定理:如果公理集是一致的,则它是不完备的。
- 哥德尔不完备性第二定理:没有一套公理可以证明其自身的一致性。
注1:“公理集是不完备的”与“存在一个无法被证明的正确公式”是等价的。
注2:哥德尔的证明,扼杀了对一个具有完备性和一致性的数学系统的追求。
因此,我们的世界其本质逻辑,必定是存在自我指涉的,而这就是(自我嵌套)递归模式的产物。
事实上,就连哥德尔不完备性定理的证明核心,也是构造了一个递归函数的多次替换,即递归函数递归调用了多次,结果产生了一个系统内部无法解决的悖论,才证明成功的。有趣的是,这与图灵的不可计算性证明,在构造数学结构映射方面,有着异曲同工之妙(哥德尔与图灵的关联参看番外1)。
那么,递归系统,能算是一个封闭的系统吗?
它是动态地永复循环,每一个子系统都会有一个上层系统与下层系统,并没有一个静态独立的系统。
因此,递归系统的完备性,正是来自于它递归的不完备性(更多解读参看番外2)。
从熵增无序来看
宇宙的方向——熵增无序,这是目前实验得到的一条经验定律。而如果按照递归视角,我们正处在收敛的过程之中。
那么由此可知,在宇宙之中重要的不是生命与智人,而是智能——因为,这代表的是数据信息的排列组合,是信息量的增加,是质量与能量的转换,即:熵增返回质量到上层。
从递归模式来看
就如前文所述:递归的自身构建,甚至可以复杂到,让身处在递归中的智能生命体,无法感知到自己身处在递归的结构和模式之中。
因此,宇宙是不是递归的,我们并不能判断,只不过宇宙如果是递归模式,就可以很自然地解释很多现象。
事实上,正是递归层级的封装与限制,使得我们可以安心的处在某一个层级,而不必在意或理会上一层级或下一层级——可能某一层级也处理不了其它层级的事情。
例如,在某一层级,其中又会有无数的递归子层级,但“层级”帮助我们屏蔽了“细节膨胀效应”,就像宏观运动不考虑微观粒子一般,否则穿越层级的计算,会让简化的物理模型统统失效。
从逻辑上来看
根据已知,我们可以推理出未知,如果逻辑链清晰明确,就会让我们非常相信推理的结论——产生不证自明的虚幻确定感。
所以,推理和逻辑链,就构成了我们相信的基石——而这就是本文的意义所在,为宇宙视角提供一个思维上的“垫脚石”。
递归模式
递归模式——需要相同的操作过程,不同的操作环境,即:操作是相同的,输入的环境信息是不同的。
例如,微观信息的排列组合,是熵增作用下的基本操作,这个操作——让自然环境信息产生了基因的进化,同时让人脑神经结构产生了智能的进化。
事实上,宇宙非常擅长应用简单、重复、相同的基本操作(或说算法),作用在不同的简单信息结构之上,来产生不同的复杂结果,而这就是递归的模式,其结果呈现的结构——就是分形(Fractal)。
例如,宇宙只运用了几条简单的规则(如四种基本力),作用在几种简单的结构之上(如基本粒子),就构建出了宇宙中的一切。
例如,自然界物种的多样性——是基因随机组合的结果,而人类社会产品的多样性——是模型随机组合的结果,这是相同的进化模式,作用在不同信息数据上的结果。
例如,人类基因进化产生人类智能,人类智能进化产生机器智能,这是相同的进化操作,作用在不同结构(即基因结构与进化结构)上的结果。
例如,植物利用太阳能量,动物利用植物能量,人类利用动物能量,脑力劳动利用体力劳动能量,上层阶级利用下层阶级能量,这是同样并重复的能量转换模式。
甚至说,人类文明(包括人口、科技、财富等)在很短的时间内,出现了爆炸式的指数增长,这和宇宙大爆炸之初“暴胀”阶段的指数增长,是相同操作下表现出的相同模式。
而人类正是模仿了,宇宙这种——重复简单递归构造复杂的模式,才创造出了各种具有复杂性和规模性的事物。
例如,计算机与计算机服务器群集,各自都是由简单模块,然后重复这些简单模块,所搭建实现起来的,具有非常复杂功能和规模性的机器。
例如,冯诺依曼提出过一个——被称为元胞自动机(Cellular Automata)的简单模型,它是对细胞结构的一个数学构造,冯诺依曼发现这些自动机——可以通过组装形成一个通用图灵机(后文会讨论图灵机与递归的关系)。
对此,英国物理学家、数学家、著名数学软件“Mathematica”创始人——斯蒂芬·沃尔夫勒姆(Stephen Wolfram),在《一种新科学》(A New Kind of Science)一书中,认为:
“元胞自动机可以,基于简单的规则,繁衍出非常复杂的模式,它与图灵机一样,都是对物理过程的建模。”
可见,具体的操作可以不重要,重要的是信息从何而来,到哪里去,如何与操作产生交互,产生怎么样的结果。
那么,操作是抽象的,可以被替换成任何,从最微观处来看——操作即是运动,而信息构成了万物,万物皆是操作的结果。、
分形递归
分形——通常被定义为一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状,即具有自相似的性质。
例如,雪花、晶体、弯弯曲曲的海岸线、起伏不平的山脉、粗糙不堪的断面、变幻无常的浮云、九曲回肠的河流、纵横交错的血管、令人眼花缭乱的满天繁星,等等。它们的特点都是,极不规则,或极不光滑,直观而粗略地说,这些对象都是分形。
事实上,大自然中的一切,从本质上来看都是分形结构——它们杂乱无章、富含细节,但遵循一定的模式。
再看最微观处,一切都是由相同的基本粒子(或弦理论中的弦),所分形构造而成的——它们杂乱无章、富含细节、但遵循一定的模式——甚至可以说它们是递归构建而成的,因为由微观到宏观的过程,充满了嵌套循环与自身构建。
构造——指小而具体的东西,强调结构组成,如:人体构造、房间构造。
构建——指大而抽象的事物,强调建造过程,如:构建社会、构建思想。
而如前所述,如果整体是递归的,那么局部也会充满了递归,如果宇宙是递归的,那么宇宙之中,也将会是充满了局部递归的。
那么,通过观察宏观与微观,我们就会发现:分形构造,一方面很好的配合了递归的局部自构建,另一方面则体现宇宙发展的本质规律。
具体是这样的:
首先,在数学上,分形图形的基本特征,就是具有标度不变性(Scale Invariance),即:在不同的尺度下,分形图形具有自相似性,这是一种尺度上的对称性。这表明,分形图形具有与尺度无关的几何特性,即几何参数的不变性。
而递归的局部还是递归——这就具有分形的自相似性,递归结构与尺度无关——这就具有分形的几何不变性。
其次,幂律分布——就具有标度不变性,即不同的幂律函数只是不同系数的标度缩放,其函数图像具有相似不变性,也就是说幂律具有分形特性。
而根据经验和统计研究发现,幂律分布在我们的世界中,其实是广泛且无所不在的,如这些分布:财富、销售、词频、姓氏、关注、点赞、灾难、演化、物质、能量等等。
最后,幂次法则(Power Law)——指的就是幂律分布所呈现的结果,除了二八定律,与之相似的说法还有很多,如:长尾理论、马太效应、偏好依附、反馈增强、赢家通吃等等。
而从某种角度来说,幂次法则——就是宇宙的本质规律,是宇宙最强大的力量。其底层原因,就是分形构造是万物的基石,要知道,分形不仅是结构上的自相似,还有概念与模式上的自相似,例如以下的类比:
- 细胞对象与程序对象,
- 细胞协作与人类协作,
- 细胞运作与工厂生产,
- 细胞群体与人类群体,
- 细胞分工与人类分工,
- 血管分布与道路规划,
- 基因表达与公司管理,
- 大脑结构与网络结构,
- 神经网络与光纤网络,
- 等等。
甚至说,音乐也是一种分形——重复的旋律、重复的词曲、因喜欢而播放的重复——这是一种分形重复,即:从小处到大处,在不同层次上都在重复。
由此可以想象,难道宇宙不仅仅是递归的,还是分形递归的?
从某种角度看,宏观的水波、声波、物质波与微观的粒子波,就是在从宏观到微观的“某种”分形递归的构造。
从某种角度看,《人体简史》中提到,一个人(以70kg计算)大约拥有7 * 10^27(即7000亿亿亿)个原子——这难道不是一个分形递归的宇宙吗?
循环
如前文所述,在程序中,循环有两种形式——迭代循环与递归循环,并且迭代与递归,在某些情况下是可以相互转化的——只不过,迭代需要结构之外提供额外的变量和条件判断,而递归则只需要自身结构的上下文。
由此可见,一个系统内部的循环——可以由递归实现,如果想要将这个循环转变为等价的迭代,则需要系统外部,提供相应的辅助条件才能完成。
事实上,我们可以将这种循环的概念,推广到万事万物的宇宙层面。
那么循环,就是我们的世界和这个宇宙的本质所在,其中递归是循环的一种形式,而迭代则是在上层循环观察到下层循环的一种形式。
于是在递归过程中,结构与数据之间的相互转化——就表现出矛盾的事物,在一定条件下,是可以相互转化的——这是万事万物的对立统一性。
在宏观上,我们总是能够看到各种对称性,而对称性又分为——重复性对称与递归性对称,其实这两者都是分形自构建,所产生的表现。
在微观上,我们可以看到对称性的破缺,这其实是递归过程——递归层级加深,所带来的效应。
对于对称与破缺,物理学家(诺贝尔物理奖得主)李政道,认为:
“对称性原理,均根植于——不可观测量——的理论假设之上,而不可观测就意味着对称性,任何不对称性的发现,都必定意味着存在某种可观测量。这些不可观测量中,有一些只是由于我们目前测量能力的限制,当我们的实验技术得到改进时,我们的观测范围自然就要扩大,因而,完全有可能到某种时候,我们就能够探测到某个假设的不可观测量,而这正是对称性被破坏的根源所在。”
这正是对应了——递归层级加深,人类的认知能力(包括智能与工具)就会加深,从而让对称性变得破缺了。
在数学上,别忘了量子力学“精确”描述微观世界的数学表达式是——波函数,而波函数的图像,就是一个永无止尽、周而复始的——循环。
只不过,波函数的物理意义是一个——概率波,这意味着,试图在递归中对递归本身求解的不确定性。
在历史上,分久必合,合久必分,分分合合,治乱循环就是文明演化的分形韵脚。
那么更进一步,曾经,在生活中,我们都会遇到过这样一种情况:就是任何一个问题,你给我一个答案,我总能往后问一步为了什么,这样无穷无尽。
这是因为,答案的本质——是用一个已知可以理解的事物,去描述一个未知不可理解的事物。而我们总可以,对答案给出的已知事物,表示不理解,并继续寻求更进一步的描述。
虽然看似无解,但如果这个问答游戏形成了循环——这个游戏也就结束了。
也就是说,如果对“最后”一个问题的答案,所产生的追问,即是第一问题的开始——那么,开始就是结束,结束就是开始,问题的终结,其实就是循环的开始——此时,问题与答案形成了一个闭环,即:它们是有限的,但却又是无限的。
- 例如,问题:老和尚和小和尚在说什么故事?答案:他们在说他们说故事的故事。
- 例如,问题:为什么要学习?为什么要快乐?为什么要爱?答案:为了学习而学习,为了快乐而快乐,为了爱而爱。
可见,分形递归——既可终结问题,也是终极答案。
事实上,一种语言,包括人类语言、数学语言、编程语言等等,能够拥有递归,其实就是拥有了描述这个世界和宇宙的能力。
所以,人类语言可以描绘一个故事的世界,数学语言可以描绘一个抽象的世界,编程语言可以描绘一个虚拟的世界,并且这些世界都是可以嵌套循环的。
那么,立足现实,我们可以看到:从物理现实,到神经现实,到智能现实,到逻辑现实(智能构造了逻辑),到虚拟现实(逻辑构造了虚拟)——最后在虚拟现实中,又可以构造一个物理现实,然后这么一直嵌套循环下去。
这里,需要再次提到——自我指涉,它会产生悖论(即矛盾),而矛盾(状态)相互转化,就会形成一个循环(即反馈环路),以让悖论可以随着系统一起演化下去。
因此,我们的世界,可以在充满自我指涉之中,安然无恙的发展下去——哪怕数学一步步最终真的推导出了自相矛盾,这也不是逻辑的崩塌,而是精准地描述了,我们递归循环的世界。
可见,一切都是分形递归的循环,并由此可以想象,“宇宙外面”,也必定是上一层宇宙,而我们的世界和宇宙——没有无限,只有循环,循环就是一种无限。
循环与意义
首先,在宏观上,人类存在的意义,也是依赖于在一个系统内部,其局部可以相互的循环证明的。
其模式就在于,我存在的意义是你,你存在的意义是我,于是我们的存在就都有意义了,但跳出这种循环来看,对宇宙来说,人类的存在并没有什么特别或特殊的意义。
事实上,从宇宙视角,俯瞰地球这个蓝色的星球,就会发现——上面演化出的生命、祭祀、神殿、征战、王朝都毫无意义,人类仅仅是宇宙递归循环过程中,无数随机副产物中的一种,甚至对于地球、太阳系、银河系、以及亿万光年里的亿万星系来说,也都是如此。
太阳系的直径,大约有1光年左右,在4.3光年之外,有一个最近的恒星——半人马阿尔法A星。如果太阳系8大行星的范围,是一个乒乓球大小,那么太阳系就是一个足球场,而最近的恒星在4个足球场之外。
其次,在微观上,人生的意义,也是依赖于在有限游戏(生命)的边界内,其局部可以重复的循环体验的。
其模式就在于,快乐不是目的,获得快乐就会不快乐,只有不断重复追求快乐的过程,才是自然选择的“心智所向”。同样,躲避痛苦也不是目的,不痛苦就会衰退,只有不断摆脱痛苦的过程,才是进化的动力所在。
那么,这种看似无限实则有限的意义——就是循环,赠予(或安抚)我们的岁月静好。
最后,在循环之中,递归的意义就在于——只需要关注自身和当前(嵌套)层就可以了,于是我们就在递归之中,找到了“活在当下”的意义,而这就是我们与递归之间的——“意义循环”。
结语
事实上,程序中会有很多常数(即常量,Constant),现实世界也有很多常数(即基本物理常数,Fundamental constants of physics)——而常数的作用和意义,就是给出了边界,并刻画了世界的基本属性。
那么,这些现实中的常数,就像是来自上一层世界的——“意识”,它们就像是程序中的常数——代表了我们(编程)的意图。
当然,在程序中,常数也有初始化的时刻,而在此之前,常数是不存在的,这对应了宇宙通过奇点的初始化状态,在此时我们不得不放弃物理学中,“平凡”的动力学定律,常数也不例外——它们要么是不存在的,要么就是变动的(不再是常数)。
而我们所生活的世界,其实一直就是一个——“没头没尾”的循环,只是平时我们并未且难以察觉,因为显然,宇宙不仅只准许我们计算概率(即0到1之间的数),还不准许我们抵达概率的头尾,即0与1——那么或许,我们根本没有必要去弄明白,整个宇宙故事的始末,尽管跟随循环不断循环就是了……无尽的循环……
物理学家(诺贝尔物理学奖得主)费曼,曾说:“宇宙就像一个洋葱,人类需要一层层的去皮之后,才能发现深藏其中的真相。”
只可惜宇宙这个洋葱,是递归循环的,拨开宇宙洋葱的最内部,不是真相,而是这个(或另一个)洋葱的最开始。
最后,一个推想是,描述宇宙现实的基本方程,在宇宙各处都是相同的,但方程的参数来自环境信息是会改变的,而如果宇宙是循环的,那么环境信息就是循环的,这些参数也就是循环的,于是方程计算所呈现的结果也是循环的,这又代表着环境信息的循环。
有部脑洞动画,精妙的展现了一个递归的世界,形象有趣又容易理解:《瑞克和莫蒂》第二季第六集——递归的电池微世界。
后记1:遇见循环
历史与生活、生命与演化、公式与定律,一直都在循环,但直到人类发明了计算机,我们才发现——原来循环就在眼前!
那么,我们是否是生活在一个“计算机”模拟的循环世界呢?
无论答案是什么,都不会影响循环赋予我们的——“循环”的意义。
那么,如果一切皆循环,你及你思想,会在循环的第几层呢?
后记2:无限
作为人脑中的一个抽象概念——无限,它肯定是存在于我们的大脑之中的。那作为这个抽象概念的描述之物,如时间、空间、数字、物质、能量等等,它们真的是无限的吗?
由前文论述可知,宇宙并没有无限,只有循环,而循环就是一种无限。那么,宇宙中的一切,包括时间、空间、数字、物质、能量等等,也都不可能是无限的。
那我们的大脑中,为什么会有无限这个概念呢?这个抽象概念存在的意义何在呢?
我们知道,与无限对应的是——有限,显然有限的存在性和意义是毋庸置疑的,这是客观现实的认知结果。而矛盾的状态(在一定条件下),是可以相互转化的。
因此,无限与有限,也就是可以相互转化的,于是这就构成了一个循环,即:在无限冲破某个边界之后,就会是有限,而有限扩展到某个范围之后,就会是无限。
这就像是,对称性原理一样:不可观测(无限)意味着(局部)对称,当突破不可观测时,(有限)就会观测到(整体)不对称。
例如,自然数是无限的,这是因为局部,不可观测到最大值,或说是逻辑(即不断加一)无法计算出最大值,但存在某个整体,会客观阻止计算完成,以让最大值存在。
其原理在于,计算的本质是用一个系统去模拟另一个系统,而系统限制会限制模拟,即限制计算,如宇宙整体用尽所有资源,都无法再进行一次“加一”计算时,对宇宙来说,自然数的最大值就出现了——这时,因为宇宙用尽了资源,所以也不存在智能系统(包括人脑),去计算或是提出逻辑上还可以计算。
那么,在某个局部,当用尽计算资源仍然无法计算时——就是无限,因为我们会默认,在超越局部的整体,会“存在”可以计算——但对于宇宙整体,我们默认没有之外。
由此可见,我们可以把无限——看成是一种局部的不可计算,而从局部上升到整体,就会从不可计算演变成可计算,即无限到有限的转换。
而哥德尔的不完备性定理证明了,在局部(知识体系)内,仅依靠局部内的“资源”(即知识),一定会有无法解决的问题——这就如同是一种不可计算,因此局部就一定会有我们认知上的“无限”存在。
同时,我们知道,局部与整体取决于尺度和视角,即:更大的范围来看——整体就是局部,更小的范围来看——局部就是整体。
所以,整体中必然有无限——因为它是更大范围的局部,有不可计算;局部中必然有有限——因为它是更小范围的整体,有可计算。
于是,局部与整体构成了——循环,即:局部到整体,接着是(整体转换视角下的)局部,再到(另一个)整体……
这和微观与宏观的概念,是相互等价的,也就是说,微观与宏观也构成了——循环,即:微观到宏观,接着是(宏观转换视角下的)微观,再到(另一个)宏观……
那么,可计算与不可计算,也就在整体与局部、微观与宏观中一起循环,也就是无限与有限,在一起循环。
因此,综上可见,并没有真正的——无限,只有局部、微观的——不可计算,而在整体、宏观之上——只有循环。
例如,在奇点处我们遇到了无限(密度无限大、体积无限小)——这说明在局部,我们遇到了不可计算(包括无法得到有效的理论和模型),而突破这个局部,即通过奇点穿越到这个宇宙之外,其实是另一个宇宙,这就是整体的循环。
于是,按此逻辑,回到现实:
- 如果我们观察到了有限循环,那么我们一定是在看更小的范围——具有整体视角,看到了可计算。
- 如果我们观察到了无限循环,那么我们一定是在看更大的范围——具有局部视角,看到了不可计算。
换言之,在局部或是整体,都可以具有整体视角或局部视角,这取决于——我们是看更大的范围(自身成为局部,看到无限),还是看更小的范围(自身成为整体,看到有限)。
但有时候,具有整体视角,看更小的范围也会看到无限循环,这是逻辑推理捕获到了不可计算的计算规律,也就是逻辑让我们看到了更大的范围——自身视角从整体下降到局部。
那为何我们平常看到的,大部分都是有限循环?
这是因为,我们在看更小的范围,具有整体视角,并且拥有可计算的能力。
而从另一个角度来说,资源匮乏带来的条件约束,可以终止循环的运行。反之,如果循环所依赖的条件一直达成,循环就会一直执行下去。
由此可见,有限循环其实只是无限循环的“状态快照”,而万物都会在循环的条件达成下,无限完成无限的循环。
最后,数学上的“无限不循环”——则是我们的认知局限性(如算力与知识),让我们只能看到局部(如我们无法看到宇宙的创生之前与终结之后),而在整体上(如宇宙的创生与终结),依然是循环。
这就像是说,一个巨大的循环,只有一段不循环的部分,落在了我们这个宇宙,且被我们所认知。
换言之,那些“无限不循环”的循环部分,存在于我们的宇宙及认知之外的整体。
番外1:万物皆是图灵机
现在所有的通用计算机,基本都是图灵机,而编程语言能够模拟图灵机,它就是图灵完备的。而等价的计算有效性,有如下三种形式:
- 第一,图灵机。
- 第二,哥德尔定义的递归函数。
- 第三,邱奇(图灵的导师)发展的lambda可定义函数。
如今,递归函数与可计算函数,几乎表达的是同一个意思。斯蒂芬·可莱尼在《元数学导论》一书中,指出:“每一个有效可计算函数(或者有效可判定谓词)都是一般递归的。”
事实上,图灵构造图灵机,是为了解决德国数学家——大卫·希尔伯特提出的一个问题,即:寻找一个通用的方法,来判定数理逻辑中的任意命题,是否可证明,而寻找这个“通用的方法”(对应如今的程序或算法),就被称为——可判定性问题。
那么,可计算数——就是图灵机可以计算的数,可以理解为,当今计算机可以通过程序或算法计算出的数,而可计算函数——就是图灵机运行的程序或算法,即找出可计算数的过程。
在此注意,图灵机、递归函数、可计算函数,三者等价。而对于可判定性问题,图灵机给出的答案就是——没有这样“通用的方法”,即:可判定性问题不可判定。
例如,蔡廷常数(Chaitin‘s Constant)就是一个经典的不可计算数(Uncomputable Number),虽然它是一个存在且确定的数字,但在理论上已被证明,没有算法可以计算出它来。
1975年,计算机学家——格里高里·蔡廷(Gregory Chaitin)研究了一个很有趣的问题:选择任意一种编程语言,随意输入一段代码,该代码能够成功运行,并且能够在有限时间内终止(不会无限运行下去)的概率是多大?这个概率,就被他命名为——蔡廷常数。
其实,图灵机不仅给出了进行有效计算的基本需求,也出给了如下的限制:
- 第一,没有任何计算机或编程语言,能够比图灵机强大。
- 第二,没有任何计算机或编程语言,能够解决停机问题,即:判定另一台图灵机是否会停止运行。
- 第三,没有任何计算机或编程语言,能够判定其它图灵机未来的运行状态。
查尔斯·佩佐德(Charles Petzold),在《图灵的秘密》一书中说道:
“你不能使用更「先进」的编程语言,或不一样的机器来打破这种限制。你能做的,只能是加快计算机的工作速度。你可以,拿出上千个处理器组成的并行计算机集群,以进行大规模的并行计算,但你不可能——将无限注入我们生活的这个无助的有限世界里,哪怕一点点。”
事实上,图灵机代表了两层意思和一个推论:
- 第一,是计算的最基本模式,即:读取、比较、写入、移动的组合操作。
- 第二,是在这个模式之下,必然存在不可计算性。
- 推论,是如果无法突破,这个计算的底层模式,我们就必须接受这个不可计算性的限制。
例如,在纸带上完成二进制的加法计算,即:读取数字,比较数字——如果是0,写入1,即完成了加法计算——如果是1,写入0,移动高位,写入1,即完成了进位计算。
显然,有了加法就有了减法、乘法、除法以及更复杂的计算,但无论是在人脑里,还是在纸带上,亦或是芯片里——这些只是计算的“载体”(即结构)不同,从而产生的算力不同,但计算的模式不曾改变。
甚至,就算是执行量子计算的——量子计算机,其计算模式也不曾改变,它依然只是一台提高了算力的——图灵机。
那么,就如前文所述,宇宙及其一切,都是遵循递归模式的——这与图灵机具有等价性,由此不难想象,宇宙就是一个巨大的图灵机,同理人脑也是一个图灵机,而所有图灵机的区别——就在于算力与结构的不同。
好消息是:
我们可以从算力和结构的角度,去复刻一台和人脑等价的图灵机,即:强人工智能。甚至,可以用量子计算的算力,去模拟运行一个虚拟却和我们的宇宙等价的宇宙,换言之,我们的宇宙及我们,必然是上层系统的模拟——当然,这个“上层系统”,可以是另一个宇宙,也可以是另一个更高级的文明,只要具有相当的算力与结构即可。
坏消息是:
不可计算性——是覆盖了宇宙任何一个系统的,而计算的本质——是用一个系统去模拟另一个系统,因为任何计算要被执行,就必须被实现为一个物理系统的物理过程——如人脑神经系统与芯片硅晶体系统,都是物理系统的运作。
所以,最终体现出来的就是——我们没有办法(在宇宙中)使用任何一个“系统”,去模拟(计算)另一个系统的未来状态,因为图灵机无法模拟另一台图灵机的未来状态。
事实上,在研究元胞自动机表现出复杂结构时,斯蒂芬·沃尔夫勒姆(Stephen Wolfram)——曾展示出了一个“行为表现出类似自由意志的元胞自动机”,他还试图寻找出预测(元胞自动机)结果的方法,或至少能够找到,可以减小繁衍代数而保持不变的——“捷径”(即通用的方法)。
但他无法做到,对此他指出:
“完全无法预测系统将会如何表现,除非像系统自身进化过程那样一步一步地计算……对于很多系统,根本无法进行系统性的预测,也没有普遍意义上的进化「捷径」。”
沃尔夫勒姆,把这种必须计算的概念,称之为——“计算不可约性”(Computational Irreducibility),并坚定的认为——“宇宙的本质是计算”,而我们的宇宙其实是一个——“计算宇宙”。
于是,宇宙的本质是计算 + 计算的本质是模拟 = 宇宙的本质是模拟(当然,模拟的本质是运动,运动即是能量,总能量守恒即是循环)。
这等于说,生命就是基因复制的计算,万物就是信息组合的计算,能量就是粒子运动的计算,宇宙就是一台模拟能量、万物与生命计算的——“计算机”。
而我们认知世界和宇宙的途径,只能是“模型”——模拟是一个演化模型(宇宙的局部递归),理论是一个简化模型(大脑将其存储为认知),前者迭代逼近“真实”,后者抽象映射“真实”。
因此,模拟可以让我们抵达那些——实验无法测量和理论无法求解的“细节”——这是理论无法用一句话抽象解释的未知复杂性,即:理论只是简化,复杂必须计算。
那么,对我们来说,系统模拟——这就是宇宙及其命运的计算又不可计算性,而万物皆是图灵机——这是宇宙及其命运的注定。
换言之,如果万物皆是图灵机,那么万物就皆处在——递归函数的递归计算之中。
也就是说,未来是注定的,但在递归函数没有执行到属于未来的那一行“代码”之前,它对我们来说——“并不存在”,但请记住——“不存在不等于不注定”。
番外2:递归循环即世界
哥德尔的递归函数(即等价的图灵机),具有很强的可计算性,并且可以根据函数增长的快慢,来定义这些递归函数的层次结构。
而C语言之父——丹尼斯·里奇(Dennis Ritchie)的博士论文“函数的子递归层次”(Sub-Recursive Hierarchies)表明——循环函数的嵌套程度,就是对递归函数计算复杂性的一种度量,也是对递归函数所需计算时间的一种度量。
丹尼斯·里奇的博士论文,完成于1968 年,但因为不想付装订费而放弃了博士学位,所以论文并未发表且遗失,最终他的妹妹从他导师的遗孀那里,找到了这篇论文。
事实上,循环函数的嵌套层次,等价于递归函数的增长速度,也就等价于递归函数的层次结构。也就是说,递归函数的层次结构,可以转换为循环函数的嵌套结构。
可见,递归与循环,就是图灵机运作的底层模式。
那么,在计算机中实现递归与循环程序的时候,其实就是在完成图灵机可计算性的计算,也就是在模拟一个,与我们这个世界一样的“真实世界”。
至此,回想「终极答案,循环问答」我们会恍然发现——原来,图灵机并不需要停机,它这么一直递归循环的运行下去,其本身之中就蕴含着一个“真实世界”,而停机的图灵机,只是真实世界中的一个“粗鄙模拟”。
番外3:宇宙模式的不完备性
如果宇宙的模式是——分形递归的循环,那么这个结论,就会因为“宇宙的模式是分形递归的循环”而无法被证明。
换言之,如果这个结论成立,那么这个结论就会不成立,而我们知道,存在一个无法被证明的正确结论,就是不完备性定理。
因此,如果宇宙的模式是——分形递归的循环,那么它则具有不完备性,但由前文论述可知,分形递归的循环——既可终结问题,也是终极答案。
所以,宇宙模式的不完备性,来自于“分形递归的循环”,但这也正是它自我指涉的完备性的来源——换言之,它的完备性来自于不完备性,不完备性来自于完备性,这依然是——“分形递归的循环”……
番外4:对宇宙模式的五种信仰
从「编码、信息、计算、计算机、模拟」这五种角度,可以产生关联递进的,对宇宙模式的五种信仰:
- 第一种,编码——宇宙的一切可被编码(数学角度)。
- 第二种,信息——宇宙的一切都是信息(数学角度,可编码即是信息)。
- 第三种,计算——宇宙的一切都是计算(物理角度,一切皆运动,运动即计算)。
- 第四种,机器——宇宙是一台计算机(计算机可以编码信息并计算)。
- 第五种,模拟——宇宙是一个模拟程序(只要算力准许,计算机可以模拟一切过程)。
附注:计算是用一个系统模拟另一个系统,模拟是用一个运动计算另一个运动。
或许,编程模型的源头是数学,编程模拟的源头是物理,编程思想的源头是哲学,编程的源头是宇宙。
番外5:系统的不确定性
在一场1928年举行的数学大会上,数学家希尔伯特,提出了关于任意“数学形式系统”的三个基本问题:
- 第一,系统有完备性吗?——在系统内部,能否证明或证伪任意命题?
- 第二,系统有一致性吗?——在系统内部,能否证明又证伪一个命题?
- 第三,系统有判定性吗?——在系统内部,能否判定某命题可以证明?
结果,哥德尔不完备性定理——给出了第一和第二个问题的答案,即:不完备与不一致,而图灵机——给出了第三个问题的答案,即:不可判定。
事实上,尽管在系统内部具有不完备性和不一致性,但可以将这些特殊命题,通过“某种方式”判定并隔离,以让系统剩余的部分,仍然保持完备性和一致性——这就需要特殊命题,具有判定性,可惜这个“可判定性”,也被证明不存在。
于是,这等于说,形式系统——具有客观的不确定性。
例如,未解的数学谜题,在解决之前,并不知道能不能“有解”(即证明或证伪)——可能有解如费马大定理,可能无解如哥德巴赫猜想,可能有解但解不出来如黎曼猜想。
而另一个方面,量子力学则证明,物理系统——具有客观的不确定性。
所以,想借助形式系统去克服物理系统的客观不确定性,或反之,就是不可能的——我们怎么能用一个不确定的系统去确定另一个不确定的系统呢?
但系统可以模拟系统,不确定性可以模拟不确定性,模拟就是计算。
从某种角度看,计算机系统就是「形式系统 + 物理系统」的一种“局部构建”,而宇宙系统就是「形式系统 + 物理系统」的另一种“整体构建”。
那么,用计算机系统去模拟宇宙系统,就是系统的递归计算。
最终,无论系统是不是确定的、客观是不是确定的、未来是不是确定的——我们都将嵌套在这层层的递归计算之中,无限递归地自我指涉下去。
整理自:@scottcgi