系统化思维导论
上QQ阅读APP看书,第一时间看更新

1.3 计算的平方律

过去,处理生物系统的唯一手段就是试图将各部分间的相互作用减为最小,因此常常丧失了真正的关注点。如今,只要有足够的时间和金钱,我们就可以应付生物系统所有的复杂性和多样性。W. Ross Ashby,“Systems and Their Information Measures.”Trends in General Systems Theory,George J.Klir, Ed.,pp.78-97 New York:Wiley,1971.

——W.罗斯·阿什比(W. Ross Ashby)

计算的成本是什么?时间还是金钱?要以较低的成本计算行星轨道,忽略小物体(小行星、彗星、卫星以及其他太空漂浮物质)会带来多大的影响?

首先考虑最普通的两物体系统的描述方程。我们必须先描述每个物体自身的行为,即“孤立的”行为。我们也必须考虑两者的行为如何彼此影响,即“相互作用”。最后,我们必须考虑两个物体都不存在时系统的行为,即“场”方程。总的来说,最普通的两体系统需要4个方程:2个“孤立”方程,1个“相互作用”方程,还有1个“场”方程。

随着系统中物体数量的增加,“场”方程仍然只有1个,每个物体需要1个“孤立”方程来描述其行为,但是“相互作用”方程的数量则迅速增加,n个物体需要2n个相互作用方程!(参见附录A, “科学计数法”条目解释了这些指数形式。)

更具体地说,由10个物体组成的系统存在210= 1024个方程,100000个物体就会有1030000个方程。通过“忽略小物质”,方程数会从1030000降到1000个左右。即使仍然不能求解,但至少能写出所有方程。

求解这些方程要付出多大努力?我们为何对此深感兴趣?在牛顿时代,力学对哲学思想的影响是普遍而深入的。很多哲学家赞同拉普拉斯的观点:只要精确地观测到物质中每个粒子的位置和速度,就可以计算出整个宇宙的未来。虽然他们意识到需要一个巨型计算机,但那时他们连最小的计算机都没有。他们如何度量所需的计算量呢?

到了我们这一代,机械论者的梦想实现了。但这一实现却带来了哲学思想的革命。其中一个方面就是更现实地考虑计算成本问题。它虽然是由系统思想家首先提出来的,但Ashby在这个问题上最著名、最坚定。“要花多少时间和金钱”始终困扰着人们,也成为一般系统运动的基础性问题。

我们不需要准确测量。我们只希望能估算:随着问题规模的增长,计算量将如何增长。经验表明,除非能够进行某种简化,否则计算量的增长至少是方程数增长的平方。这就是“计算的平方律”。因此,如果方程数加倍,必须采用快4倍的计算机,才能在相同的时间内求解。自然,时间的增长常常比这更快,特别是出现某些技术困难时,例如结果的精度下降。不过,对我们目前的讨论来说,可以保守地采用“计算的平方律”,以此估算一组一般方程比另一组方程的计算量多出多少。

实际计算中存在一个系统方程规模的上限。显然,1030000大大超出了这个上限。牛顿时代没有计算机,计算的实际上限远低于1000个二阶微分方程,况且那个时候牛顿才刚刚发明微分方程。利用所有的显式和隐式简化假设,牛顿才能侥幸成功,就像今天的生理学家和心理学家所做的一样。就这一点而言,如今我们会注意到老一辈物理学家常说:现在的“年轻人”不再研究“真正的物理学”了。这些年轻的“暴发户”用计算机来求解大量的方程,而不是利用物理“直觉”先减少方程的数量,以便在所谓的信封背面用铅笔演算出结果。