小时候对图灵机的理论,一直有一个深邃的好奇——为什么停机问题这么重要?为什么他们要想到停机问题?之前我总是很直觉(实用主义)地想,如果一个问题计算机能算出答案,那就用呗,如果算了很久都还没能算出来,那不如就认作他算不出来好了,交给实践简单了事,为何一个曲曲停机问题会在整个可计算性理论中如此重要?
这个心底的疑惑到了最近读了吉尔·多维克的《计算进化史》才被彻底解答。停机问题实际上是人们探求数学计算和逻辑推理的异同和边界的时候的追问:当时人们总是想统一数学和推理,也就是计算和推理。既然很多问题的推理过程都可以通过“定义数学运算”的方式来替代(比如把概率事件的推理化约为一系列条件状态的公式运算),那我们有没有办法提出一种通用计算模型,这样整个世界的所有真理都可以被一劳永逸地发现了。
我自己为这个原始的美好憧憬取了一个名字,叫做“真理永动机”。站在今天信息和知识理论的视角,我们很容易发现这种“真理永动机”的想法是违背熵增假设的。但在不到一百年前,哥德尔才刚正式发表了在日后影响深远的“哥德尔不完全性定理”,证明了任何形式系统都必然存在无法被其自身证明或证伪的命题,即无法自我完备(可以通过构造一个自指的数学陈述来举例)。这其中暗含了推理和计算在本质上就是不同的东西。
后来,人们甚至觉得就算是计算,用什么语言来定义计算和符号本身也成了一个需要被“定义”的事情。数学真的是无论用中文还是英文还是希伯来文,都是在本质上全等的东西吗?真的不存在一个“外星语言”,用其定义出来的数学系统能够有着更强的计算边界?真的吗?这又怎么证明呢?
于是便有了定义“通用计算”概念的尝试。算法一词应运而生。算法是对“描述如何计算的语言或是形式系统“的一种抽象。如果任何数学问题的求解都可以通过一个通用算法去执行,那我们就证明了这种数学运算背后的规则是真正“通用”的。然后,包括图灵在内的许多人先后独立地发现了其实做不到——我们同样可以通过构造带有自指问题的命题来举例,而这便是经典的停机问题。
所以,真正意义上的通用计算至今仍是未被证明,或是清楚定义的。只是我们取出其中一部分不会造成停机问题的子集,将这部分叫做是“图灵完备”的,或是computable的。
computable,definable——你发现了什么?没错,这种“-able”是一种抽象过程,是一种从具体到普遍的跳跃,但我们无法证明这个跳跃本身背后的逻辑的成立,因为它涉及到自指问题。也就是从有人的主观心理参与的推理过程,到完全客观物理世界的自我演算,这中间的证明是超越我们本身的。
也就是,这超越了我们可知的边界。有我们感受和思考的心理出发点的视角本身,就像那个观测者一样,让我们局限、坍缩在了既有的立场上——因为,不只有你、我、他可以思考,不只有人类可以思考,谁说石头不能思考,谁说大自然不能思考,谁说数学本身不能思考?
当我们“定义”了“可计算”这一词语之后,我们便完成了使命,“计算”本身就独立了——计算存在于无数多个替代真实(alternative realities)。
当我们“定义”了“可思考”这一词语之后,我们便完成了使命,“思考”本身就独立了——思考存在于无数多个替代真实(alternative realities)。
当我们“定义”了“-able”之后,我们便完成了使命,“-able”本身就独立了——able存在于无数多个替代真实(alternative realities)。
从“-able”开始的“替代真实”——这才是多重宇宙该有的样子。
“作品诞生,作者已死”——罗兰巴特。
最后cue一下硅谷沸沸扬扬的有效加速主义“e/acc”。我在前面提到熵增的时候,用的词语是熵增“假设”,而非一个事实。因为熵增本身是带着我们自身视角的,我们实际上只能像图灵划分出一块符合图灵完备的区域,作为我们发展图灵机的边界,但这远远不是真相的全部。真相永远包含着那部分我们因为自己存在,而永远无法了解的部分。
因为我们存在,所以我们才更应该叫做“熵增假设”而非“熵增事实”。
这不是不可知论,而是有限度的可知论。因此e/acc是一个非常有趣的执念和癖好,就像你喜欢纹纹身一样,如果你的纹身好看且有个性,那我一定会夸赞你。
Race
2023.12.24