1.1 基本观点的轮廓
三个世纪前,科学被一种戏剧性的新观点所颠覆,这种观点认为由数学方程式所表达的规律可以用来描述自然世界的法则。我写这本书的目的就是开创另一种颠覆——介绍一种全新的、其规律普遍得可以在任何一台计算机上表达出来的新科学。
我用了二十年中最好的时光建立所需的思维框架,但我还是被它的结果震惊了。因为我发现利用这一新科学,现存的科学体系无法表达的大量的基础性难题都能够取得进展。
如果说理论上的现存科学是可行的,那么其所研究的系统一定遵循着某种确切的规则。然而过去的时间里,整个严谨的科学界都在质疑以传统数学为根基的观点的可靠性。残酷的现实引导我发展出一种新科学,事实证明,没有理由认为我们在自然世界看到的一切都仅仅遵循着传统数学这一种规律。
更早以前,可能很难想象更加普遍的规律到底是怎样的。但如今,我们有了计算机,电脑程序可以有效地执行海量的命令。我们实际中用到的程序大多是基于十分复杂的命令,是专门设计成执行特定任务的。但是原则上讲,一个程序可以遵循任何特定命令。故我描述的这种新科学的发现的核心部分所需要的程序,都是用尽可能最简单的命令来完成的。
(p1)
或许有人会和我刚开始一样,认为如果程序的命令都是简单的,那么意味着其结果也一定同样很简单。因为我们每天建设东西的经验告诉我们,创造出复杂的东西一定很困难,需要繁复的计划和规则。但是我在十八年前的关键性发现就是,在程序的世界中,这种直觉简直毫无道理。
我做了一个某种程度上可以说是能想到的最简单的计算机实验:我提取了一系列很简单的程序,使其系统性地运行起来,看看会发生什么。出人意料的是,尽管规则很简单,程序结果却一点不简单。实际上,我所看到的最简单的程序却能运行出我见过的最复杂的结果。
我花了不止十年来接受这个结果,并意识到了这个结果的深远意义。回过头来看,没理由认为几个世纪前它没被发现过,但我越来越多地将它看作是理论科学史上来最重要的单一发现之一。除了开拓了一个新的广阔领域,它还意味着对自然界和其他领域工作过程的彻底反思。
或许最引人注目的是它产生了一个方法,这个方法能够解决长久以来被认为最大的奥秘:是什么使得自然界能够毫不费力地产生那么多让我们看起来无比复杂的事物?
毕竟,我们通常能在现实里看到的方形或者圆形,看上去都很简单。但其实自然界中最显著的特点之一就是横跨物理、生物、以及其他系统,我们面对着巨大的复杂性。事实是在历史上人类曾想当然地认为这种远超人类工作的复杂性是超自然的存在产生的。
(p2)
但我的发现——简单的程序能够产生复杂的结果,给出了不同的解释。从本质上讲,自然系统的运行就像典型的程序,它随之产生的行为往往是复杂的。而人类制作品中这种复杂性并不常见,原因在于我们会选择特定的程序,赋予其简单的行为以达到预期的目的。
人们可能会认为,现有的科学,已经过去几个世纪里成功解决了这些复杂性的问题。但实际上它们没有,他们在很大程度上明确地界定了自己的范围以避免与复杂性问题直接接触。他们描述行为的基本思想对数学方程而言工作得很好,比如行星运动之类的简单运动,但当行为复杂时总是不可避免地失败。在生物学中,像对自然选择这样的描述或多或少也是如此。通过对程序的思考,本书阐述的新科学会对复杂行为做出有意义的陈述。
几个世纪里,现有科学的重点都是试图破坏系统,查看其潜在的部分,并对这些部分进行尽可能详尽的分析。特别是物理学,这个方法获得了足够的成功,日常系统的基本部件被人所知。但是这些部件是如何共同产生作用,甚至包括一些很明显的特征,这对我们来说依然是个谜。在本书所阐述的新科学框架下,这个问题可能会得到解决。
(p3)
依照现有科学的传统,人们会认为问题的答案依赖于一系列细节,且各个体系类型如物理、生物等之间是不同的。但是在我所发现的简单程序世界里,一些基本行为的发生与其潜在细节是无关的。这就意味着,有相当共通的原理决定着它们的行为,而且不止是简单程序,也适用于自然界的其他系统。
在现有科学中,无论遇到什么样看起来复杂的现象,都会被理所当然地认为是它潜在自身的复杂机理导致的。但是我发现的简单程序造就复杂性却说明了那其实错了。而且在随后章节会展示,即使是显然简单的程序似乎捕获到了复杂的机制,这些机制总是过于复杂而没有简单的解释。
以新的思维最终解决长期以来的问题,这在科学史上并不罕见。我很惊讶许多现有科学的基本问题通过简单程序的方法得到了解决。比如在超过一个世纪的时间里,人们困惑于物理学中热力学行为的产生,而在对简单程序的发现中,我找到了很直接的解释。在生物学中,我的发现首次提供了明确理解生物体表现复杂性的方法。事实上,我甚至有越来越多的证据表明,用简单的程序来思考,就可以构建一个真正的物理学基础理论,从这个理论中,宇宙的空间、时间、量子力学以及所有其他已知的特征都会出现。
当数学被引入科学时,它首次提供了一个抽象的框架,在这个框架中,科学结论可以在没有直接提到物理现实的情况下得到。然而尽管几千年来数学一直在发展,但是数学本身只关注特定的抽象系统,如算术和几何。而本书所阐述的新科学引入了一种更通用的,基于任何规则类型的系统。
(p4)
有人可能认为这样的系统可能太多样化,无法对它进行有意义的一般化声明。但是这个让我建立起一个新科学统一框架的关键思想,就像任何系统的规则可以被当做是一个程序,它的任何行为也可以被看作是计算。
传统的直觉觉得要做复杂的计算需要潜在的复杂规则,但是计算机革命的事实很明显地告诉我们,一般的拥有固定规则的系统构建起来后可以执行任何可能的计算。
然而,通用性的极限通常被认为很高,只有精密特殊的系统比如典型的电子计算机才能达到。但是本书有出乎意料的发现,一些系统的规则简单到用一句话能说出来。这就表明,普遍性的现象在抽象系统和自然中比想象中的更加普遍和重要。
基于许多发现,我已经得出了一个全面的结论,我将其称为计算等价性原理(Principle of Computational Equivalence):当看见一个不怎么简单的行为——本质上来自任何系统——它都可以被认为是与等价的计算复杂性对应的。这个基本的原理对科学思想产生了前所未有的影响。
一开始,它给出了为什么简单程序会有看起来十分复杂的行为的解释。像其他过程一样,我们的感知和分析过程可以被看作是计算。我们总会觉得这种计算会比那些简单程序表现出来的要复杂得多,但计算等价性原理表示并非如此。这种介于观察者和系统之间的等价使得作为观察者的我们认为观察到的系统行为是复杂的。
(p5)
一个人只需要对特定的系统上进行实验并观察,就会从原理上了解是如何运作的。但是大量的理论科学的成功都是围绕着发现数学公式而不是让人直接预测结果。实际上,这依赖于简化系统本身计算工作的能力。
计算等价性原理意味着这只适用于具有简单行为的特殊系统,而其他的一些系统的计算能力所能做的甚至和我们的数学家和计算机一样复杂。这意味着这种系统是计算不可约的(computationally irreducible),所以唯一能发现他们行为的方法是跟随它们的步子,和它们做同样努力的计算。
这意味着,理论科学存在根本的局限性。但也说明了一些不可约的事物可以通过时间的流逝来取得。这导致了对我们作为人类的解释——即使我们遵循了明确的基本规则,却仍然以一种有意义的方式彰显自由。
纵观历史,科学进步的一个最重要的特征是它展示了一种我们作为人类的并不特殊的方式。计算等价性原理从某种层次上来说也做到了。它意味着当涉及到计算、或者智能时,我们根本上不会比一系列简单程序或者一系列自然中的系统复杂多少。
但从计算等价性原理中也浮现出一种新的个体:在不同的系统中,从简单的程序到大脑到整个宇宙,这个原则都意味着存在最基本的等价,使得一些基本现象发生,使得基本的科学想法和方法能够起作用。本书阐述的新科学这种伟大力量正是由它引起的。
(p6)