②用现代的语言,这表明存在分数M/N使得a/b>M/N>c/d。只要a/b>c/d则在两实数a/b和c/d之间一定存在一个这样的分数,以使欧多索斯判据确实被满足。方式依赖于初态。图5.8三碰撞。最后的行为关键地决定于哪两球先碰撞,这样使得结果不连续地依赖于起因。这有点使人不满意,我们也许会更喜欢点粒子的图像。但是,为了避免某些点粒子模型引起的理论困难(当两个粒子撞到一起时出现的无限大力和无限大能量),人们必须做其他假设,诸如在短距离时粒子的相互作用力变成非常强的排斥力等等。在这种情形下,我们可以保证任何一对粒子实际上都不会碰撞到一起。(这也使我们避免了它们碰撞时的点粒子如何行为的问题!)然而,为了直观起见,我宁愿完全按照刚球模型来讨论。看来这种“撞球”图像正是大多数人下意识的实体的模型。牛顿5撞球的实体模型(不管多碰撞问题)确实是一个决定论模型。此处“决定论”的含义是:所有球(为了避免某些麻烦,假定为有限个)在将来(或过去)的物理行为数学地被某一时刻的位置和速度所完全决定。这样看来,在这个撞球的世界上根本没有余地让“精神”用“自由意志”的行动去影响物体的行为。我们如果还信仰“自由意志”的话,就要被迫对实际世界的如此构成方式提出质疑。这个令人烦恼的“自由意志”问题一直徘徊在这整部书的背景里——虽然在多数情况下,我必须说只在背景里。在本章后头有一个很小却很奇特的地方牵涉到它(关于相对论中超光速讯号传递的问题)。我将在第十章直接着手自由意志的问题。读者一定会对我的结果深感失望。我的确相信,这里存在一个真正的、而非想象的问题。但它是非常根本的,并且要把它表述清晰非常困难。物理理论中的决定论是一个非常重要的问题,但是我相信这只是问题的一部分。例如,这个世界很可能是决定性的,但同时却是不可计算的。这样,未来也许以一种在原则上不能计算的方式被现在所决定。我将在第十章论证,我们具有意识的头脑的行为的确是非算法的(亦即不可计算的)。相应地,我们自信所具备的自由意志就必然和制约我们在其中生活的世界的定律中某些不可计算部分紧密地纠缠在一起。是否接受这样的关于自由意志的观点,亦即给定的物理(例如牛顿)理论,是否的确是可计算的,而不仅仅是否是决定性的,是一个有趣的问题。可计算性不同于决定性——这正是我试图在本书所要强调的。撞球世界中的生活是可计算的吗?撞球世界中的生活是可计算的吗?用Tu表示一台固定的普适图灵机,譬如在第二章(63页)定义的那一台。为了决定下一“时刻”宇宙的态,我们必须知道Tu在m上的作用最终停止不或不停(亦即用第二章65页的记号,Tu(m)≠□还是Tu(m)=□成立)。如果它停止,则下一时刻的态为(m+1,n)。如果它不停止,则为(n+1,m)。从第二章我们知道,不存在图灵机停止问题的算法。这样就不存在去预言这个模型宇宙“将来”的算法,尽管它是完全决定性的6!当然,这不能认为是一个严肃的模型。但它表明存在一个要回答的问题。我们可对任何决定性的物理理论考察其可计算性。那么,牛顿的撞球世界究竟是否可计算的呢?物理可计算性的问题部分地依赖于我们打算对此系统问哪一种问题。在牛顿撞球模型中,我能想到一些可以问的问题,我对这些问题的猜测是,要弄清其答案不是一个可计算(亦即算法的)事体。球A和球B究竟会碰撞否便是这样的一个问题。其思路是,在某一特定时刻(t=O)所有球的位置和速度作为初始数据给定后,我们要知道,A和B是否会在将来的任一时刻(t>O)碰撞?为使这个问题更明确(虽然不是特别现实),我们可以假定,所有球的半径和质量都一样,并且每一对球之间的作用力是反平方律的。我之所以猜想这是非算法可解的问题的一个原因是,该模型有点像爱德华·弗列得钦和托马索·托弗里在1982年提出的“计算的撞球模型”。在他们的模型中,球被若干堵“墙”所限制(而不是反平方律的力);但是它们互相以类似于我刚描述过的牛顿球那样弹性反弹(见图5.9)。在弗列得钦——托弗里模型中,所有电脑的基本逻辑运算都可由球来实现。我们可以模拟图灵机的任何计算:对图灵机Tu的特别选取规定了弗列得钦——托弗里机器的“墙”等等的搭配;运动的球的初态可认为是输入磁带的信息的码,将球的终态解码就得到图灵机输出磁带的信息。这样一来,人们会特别关心这样一个问题:如此这般的图灵机会有停止之时吗?“停止”的是意味着球A最终和球B碰撞。我们已知这个问题不能用算法回答(71页),这事实至少暗示我前面提出的“球A最终和球B碰撞吗?”的牛顿问题也不能用算法回答。事实上,牛顿问题比弗列得钦和托弗里提出的问题要棘手得多,后者可依照分立变数(亦即按照诸如“球或者在通道上或者不在”的“在或不在”的陈述)来指明其状态。但在完整的牛顿问题中必须以无限的精度,按照实数的座标而不是以分立的方式指明球的初始位置和速度。这样,我们又面临着在第四章处理关于孟德勒伯洛特集是否可递归的问题时所必须考虑的所有麻烦。当允许输入和输出数据为连续变化的变数时“可计算性”的含义是什么呢7?我们可以暂时假定所有初始位置和速度座标均为有理数(虽然不能预料在t的时刻以后的有理数仍保持为有理数),而使此问题变得稍为缓和。我们知道有理数为两整数的比,所以为一可列集。我们可用有理数来任意地逼近所选择用来考察的任何初始数据了。对于有理数的初始数据,也许不存在决定A和B是否最终会碰撞的算法的猜测决不是毫无道理的。图5.9弗列得钦——托弗里撞球电脑中的一个“开关”(由A·雷斯勒提出的)。如果一个球进入B,则是否有一个球接着从D或E出来,得看是否另一球进入A中(假定A和B的同时进入)。然而,这并不是诸如“牛顿撞球世界是不可计算的”断言的真正含义。我用来和我们的牛顿撞球世界作比较的弗列得钦——托弗里“撞球电脑”的特殊模型的确按照计算而进行。无论如何,这是弗列得钦和托弗里思想的基本点——他们模型的行为应该和一台(普适)电脑一样!我试图要提的问题是,在某种意义上,人类大脑驾驭适当的“不可计算的”物理定律,能比图灵机做得更好,这一点是不是可以理喻的。追究如下的问题将是徒劳的:“如果球A永远碰不到球B,则你的问题的答案为‘非’。”人们可能永远也等待不到断定问题中的球不会碰到一起的时刻!那当然正是图灵机行为的方式。事实似乎很清楚地表明,牛顿撞球世界在某个合适的意义上(至少在如果我们不管多碰撞的问题之时)是可计算的。人们通常计算这种行为的方法是做一些近似。我们可以想象这些球的中心被指定在点的网格上,譬如讲网格的点被划分到百分之几单位。时间也被认为是“分立”的,所有可允许的时刻是某一小单位(用△t表示)的倍数。这就产生了一定的“速度”的可允许的分立值(两个连续允许的格点的位置的座标值的差,除以△t)。利用力的定律来计算加速度的适当的近似,再利用它使“速度”并因此下一允许时刻的新的格点位置被确定到所需要的近似程度。只要我们能维持所需的精度,则这种计算就可一直进行下去。很有可能算不了多少次其精度就失去了。以后的步骤是从更细的空间分格,以及更细的时间间隔重新开始。这一回能得到更好的精度,并在精度损失之前能计算到更久的将来的某一时刻。不断地增加细度,则计算的精度和所到达的将来的时间的长度就能不断地改进。可用这种方法将牛顿撞球世界计算到任意高的精度(不管多碰撞的问题)——我们可以在这种意义上讲牛顿世界的确是可计算的。然而,认为这一个世界在实际上是“不可计算的”断言是具有某种含义的。这是因为得知的初始数据的精度总是受限制的。这类问题的确存在着固有的不可忽视的“不稳定性”。初始数据的极为微小的改变会导致结果行为的绝大的变化。(任何玩撞球的人,在他想用一个球去撞另一个使之落入球囊时,都知道我这样说的意思!)这在(连续)碰撞发生时尤其明显。但是,这种不稳定性行为也会发生在牛顿的引力远距离作用时(多于两体的情况下)。所谓的“混沌”或“混沌行为”经常用来表示这种不稳定的类型。例如,混沌行为对天气影响重大。虽然我们对控制基本元素的牛顿方程式了解甚多,但是远期天气预报之不可靠性则是臭名昭彰的!义的。这是因为得知的初始数据的精度总是受限制的。这类问题的确存在着固有的不可忽视的“不稳定性”。初始数据的极为微小的改变会导致结果行为的绝大的变化。(任何玩撞球的人,在他想用一个球去撞另一个使之落入球囊时,都知道我这样说的意思!)这在(连续)碰撞发生时尤其明显。但是,这种不稳定性行为也会发生在牛顿的引力远距离作用时(多于两体的情况下)。所谓的“混沌”或“混沌行为”经常用来表示这种不稳定的类型。例如,混沌行为对天气影响重大。虽然我们对控制基本元素的牛顿方程式了解甚多,但是远期天气预报之不可靠性则是臭名昭彰的!为了更一般地讨论可计算性和不可预见性的问题,对物理定律采用比以前更广泛的观点将会更有助。这就促使我们不仅只考虑牛顿力学的理论,而且研究随后超越过它的各种理论。我们需要领略力学的美妙的哈密顿形式。哈密顿力学哈密顿力学章495页再讨论这一些。)牛顿力学也许是这方面的一个顶峰,因为它一诞生即获得了微积分。而且,牛顿理论形成了非凡的称为经典力学的数学观念的实体。十八和十九世纪许多伟大数学家的名字都和此发展相关联:欧拉、拉格朗日、拉普拉斯、刘维尔、泊阿松、雅科比、奥斯特洛夫斯基、哈密顿。被称为“哈密顿理论”8的即为这一工作的总结。为了我们的目的对其稍微了解即可以了。威廉姆·罗曼·哈密顿(1805—1865)是一位多才多艺和富有创见的爱尔兰数学家,他还是在165页讨论过的哈密顿线路的发明者。他把力学发展成强调其与波传播相类似的形式。波和粒子的关系的暗示,以及哈密顿方程的形式对于后来的量子力学的发展极为重要。我在下一章还会提及。用以描述物理系统的“变量”是哈密顿理论的一个奇妙的部分。迄今为止,我们一直把粒子的位置当作基本的,而速度作为位置对时间的变化率。我们记得在牛顿系统中为了确定随后的行为,必须指定初始态(192页),也就是需要所有粒子的位置和速度。在哈密顿形式中,我们必须挑选粒子的动量,而不是速度。(我们在190页提到粒子动量是速度和质量的乘积。)这种改变似乎很微不足道,但是重要的在于每一粒子的位置和动量似乎被当作独立的量来处理。这样,人们首先“假装”不同粒子的动量和它所对应的位置的改变率没有什么关系,而仅仅是一组分开的变量。我们可以想像它们“可以”完全独立于位置的运动。现在在哈密顿形式中我们有两族方程。有一族告诉我们不同粒子的动量如何随时间变化,另一族告诉我们位置如何随时间变化。在每一种情况下,变化率总是由在该时刻的不同位置和动量所决定。粗略地讲,第一族哈密顿方程表述了牛顿的关键的第二运动定律(动量变化率=力),而第二族方程告诉我们动量实际上即是依赖于速度(位置变化率=动量÷质量)。我们记得,伽利略——牛顿的运动定律是用加速度,即位置变化率之变化率(亦即“二阶”方程)来描述。现在,我们只需要讲到事物的变化率(“一阶”方程),而不是事物变化率的变化率。所有这些方程都是从一个重要的量推导而来:哈密顿函数H,它是系统的总能量按照所有位置和动量变量的表达式。哈密顿形式提供了一种非常优雅而对称的力学描述,我们在下面写出这些方程,仅仅是为了看看它们是什么样子的。虽然,甚至许多读者并不熟悉完全理解之所必须的微积分记号——它在这里是不需要的。就微积分而言,所有我们真正要理解的是,出现在每一个方程左边的点表示(在第一种情况下,动量的;在第二种情况下,位置的)对时间的变化率:·pi = -..xH ,xi = ..pHii这里下标i用以区别所有不同的动量座标p1,p2,p3,p4,.和所有不同的位置座标x1,x2,x3,x4,.。n个不受限制的粒子具有3n个动量座标和3n个位置座标(每一个代表空间中的三个独立的方向)。符号.表示“偏微分”(“在保持其他变量为常数的情况下取导数”)。正如前述的,H为哈密顿函数。(如果你不通晓“微分”,不必担心。只要认为这些方程的右边是某些定义完好的,以xi和pi来表达的数学式子就行了。)在实际上,座标x1,x2,.和p1,p2,.可允许为某种比粒子通常的笛卡尔座标(亦即xi为通常的沿三个不同的相互垂直的方向测量的距离)更一般的东西。例如座标xi中的一些可以是角度(在这种情形下,相应的pi就是角动量,而不是动量,参见190页),或其他某些完全一般的测度。令人惊异的是,哈密顿方程的形状仍然完全一样。事实上,合适地选取H,哈密顿形式不仅仅是对于牛顿方程,而且对任何经典方程的系统仍然成立。对于我们很快就要讨论的马克斯韦(——洛伦兹)理论,这一点尤其成立。哈密顿方程在狭义相对论中也成立。如果仔细一些,则广义相对论甚至也可并入到哈密顿框架中来。此外,我们将要看到在薛定谔方程(332页)中,哈密顿框架为量子力学提供了出发点。尽管一世纪以来构的形式却是如此地统一,这真是令人惊叹!相空间相空间x1,x2,.p 1,p 2,.(数学空间的维数,通常比.. 3大得多。)此空间称之为相空间(见图.. 5.10)。对于.. n个无约束的粒子。相空间就有.. 6n维(每个粒子有三个位置座标和三个动量座标)。读者或许会担心,甚至只要有一个单独粒子,其维数就是他或她通常所能摹想的二倍!不必为此沮丧!尽管六维的确是比能明了画出的更多的维数,但是即使我们真的把它画出也无太多用处。仅仅就一满屋子的气体,其相空间的维数大约就有..10 000 000 000 000000000000 000 000去准确地摹想这么大的空间是没有什么希望的!既然这样,秘诀是甚至对于一个粒子的相空间都不企图去这样做。只要想想某种含糊的三维(或者甚至就只有二维)的区域,再看看图.. 5.10就可以了。图.. 5.10相空间。相空间的单独点Q表明某一个物理系统的整个态,包括其所有部分的瞬态运动。我们如何按照相空间来摹想哈密顿方程呢?首先,我们要记住相空间的单独的点Q实际代表什么。它代表所有位置座标.. x 1,x 2,.和所有动量座标.. p 1,p 2,.的一种特别的值。也就是说,Q表示我们整个物理系统,指明组成它的所有单独粒子的特定的运动状态。当我们知道它们现在的值时,哈密顿方程告诉我们所有这些座标的变化率是多少;亦即它控制所有单独的粒子如何移动。翻译成相空间语言,该方程告诉我们,如果给定单独的点.. Q在相空间的现在位置的话,它将会如何移动。为了描述我们整个系统随时间的变化,我们在相空间的每一点都有一个小箭头——更准确地讲,一个矢量——它告诉我们.. Q移动的方式。这整体箭头的排列构成了所谓的矢量场(图.. 5.11)。哈密顿方程就这样地在相空间中定义了一个矢量场。我们看看如何按照相空间来解释物理的决定论。对于时间t=0的初始数据,我们有了一族指明所有位置和动量座标的特定值;也就是说,我们在相空间特别选定了一点.. Q。为了找出此系统随时间的变化,我们就跟着箭头走好了,这样,不管一个系统如何复杂,该系统随时间的整个演化在相空间中仅仅被描述成一点沿着它所遭遇到的特定的箭头移动。我们可以认为箭头为点.. Q在相空间的“速度”。“长”的箭头表明.. Q移动得快,而“短”的箭头表明.. Q的运动停滞。只要看看.. Q以这种方式随着箭头在时间t移动到何处,即能知道我们物理系统在该时刻的状态。很清楚,这是一个决定性的过程。Q移动的方式由哈密顿矢量场所完全决定。图图关于可计算性又如何呢?如果我们从相空间中的一个可计算的点(亦即从一个其位置和动量座标都为可计算数的点,参阅第三章95页)出发,并且等待可计算的时间t,那么一定会终结于从t和初始数据计算得出的某一点吗?答案肯定是依赖于哈密顿函数H的选择。实际上,在H中会出现一些物理常数,诸如牛顿的引力常数或光速——这些量的准确值视单位的选定而被决定,但其他的量可以是纯粹数字——并且,如果人们希望得到肯定答案的话,则必须保证这些常数是可计算的数。如果假定是这种情形,那我的猜想是,答案会是肯定的。这仅仅是一个猜测。然而,这是一个有趣的问题,我希望以后能进一步考察之。另一方面,由于类似于我在讨论有关撞球世界时简要提出的理由,对我来说,这似乎不完全是相关的问题。为了使一个相空间的点是不可计算的断言有意义,它要求无限精确的座标——亦即它的所有小数位!(一个由有限小数描述的数总是可以计算的。)一个数的小数展开的有限段不能告诉我们任何关于这个数整个展开的可计算性。但是,所有物理测量的精度都是有限的,只能给出有限位小数点的信息。在进行物理测量时,这是否使“可计算数”的整个概念化成泡影?”的确,一个以任何有用的方式利用某些物理定律中(假想的)不可计算因素的仪器不应依赖于无限精确的测量。也许我在这里有些过分苛刻了。假定我们有一台物理仪器,为了已知的理论原因,模拟某种有趣的非算法的数学过程。如果此仪器的行为总可以被精密地确定的话,则它的行为就会给一系列数学上有趣的没有算法的(像在第四章中考虑过的那些)是非问题以正确答案。任何给定的算法都会到某个阶段失效。而在那个阶段,该仪器会告诉我们某些新的东西。该仪器也许的确能把某些物理常数测量到越来越高的精度。而为了研究一系列越来越深入的问题,这是需要的。然而,在该仪器的有限的精度阶段,至少直到我们对这系列问题找到一个改善的算法之前,我们得到某些新的东西。然而,为了得到某些使用改善了的算法也不能告诉我们的东西,就必须乞求更高的精度。尽管如此,不断提高物理常数的精度看来仍是一个棘手和不尽人意的信息编码的方法。以一种分立(或“数字”)形式得到信息则好得多。如果考察越来越多的分立单元,也可重复考察分立单元的固定集合,使得所需的无限的信息散开在越来越长的时间间隔里,因此能够回答越来越深入的问题。(我们可以将这些分立单元想象成由许多部分组成,每一部分有“开”和“关”两种状态,正如在第二章描述的图灵机的0和1状态一样。)为此看来我们需要某种仪器,它能够(可区别地)接纳分立态,并在系统按照动力学定律演化后,又能再次接纳一个分立态集合中的一个态。如果事情是这样的话,则我们可以不必在任意高的精度上考察每一台仪器。事情是这样的话,则我们可以不必在任意高的精度上考察每一台仪器。