第三章
建模
对每个复杂的问题,都有一个看起来简单利落但却错误的解决方案。
——H.L.门肯(H.L.Mencken)
一切都应该尽可能简单——简单到没有更简单的。
——阿尔伯特·爱因斯坦(Albert Einstein)
没有什么是建立在石基之上的,所有的一切都基于沙堆而建。但我们必须把这些沙堆当成石基来开始我们的架构。
——豪尔赫·路易斯·博尔赫斯(Jorge Luis Borges)
我们以对科学建模基本知识的讨论作为本章的开端。这个主题对科学工作来说是如此的基础,以至于常常被认为不需要经过明确的讲授(只有一两门中学课程会涉及“科学方法”),学生就会知道的。出于各种原因,学习建模就好比学习性知识一样:尽管它很重要,但大多数人并不太愿意讨论它,而且无论你对它了解的程度如何,当你实际去做的时候,都会发现它与之前了解的似乎并不一样。
正如博尔赫斯所表达的,所有建模都基于这样一个信念,我们能偶尔将现实系统中的沙子转变成石头。有效的模型要求它所描述的真实系统具备完善的结构,这样可以忽略其中的某些细节。这意味着存在一些坚实而稳定的“构建模块”(building blocks)能概括真实系统的关键行为。这些“构建模块”能按照建模的需要而剥离足够多的细枝末节。例如,门德尔(Mendel)在不了解任何关于DNA知识的情况下,开创了关于遗传性的重要思想;同样,经济学家在还没有深入探究人类思想或公司组织的情况下,就创造了关于个体和公司行为的有用理论。这种忽略细节的能力是科学进步的至关重要的组成部分,因为它允许我们说“只是因为”,就像父母试图阻止一个三岁小孩无休止地“为什么”一样。当然,好的科学其艺术在于知道什么时候说“只是因为”,因为如果我们能在适当的时候念动咒语,构成我们模型基础的沙子将变成石头。
系统,不论是科学模型还是现实世界中的实体,如果没有足够完善的支撑结构的话会非常不稳定,而且难以理解和控制。设想存在着这么一个每个细节都十分要紧的系统——即使十分轻微的变动也会导致一连串的变化,进而整个系统的所有层面都产生响应。要想构造和维持复杂的系统(不管是真实的还是人工的),就需要对其组成部分进行某种隔离,以免我们“因为失去一颗马蹄钉”(1)而失去整个王国。
建模的基本知识超越了任何特定的模型创建工具集。工具确实可以指导建模,因为他们提供了建模所必须的“支架”。尽管如此,我们依然能脱离创建模型的特定工具集本身对该模型的质量进行评判——不论我们使用的工具是马赫(Mach)和爱因斯坦(Einstein)的理想实验(Gedanken experiment),还是阿罗(Arrow)和德布勒(Debreu)的一致性方法。本章余下部分将同时使用直觉图解(路线图)和正式推导(同态)两种方式来讨论建模的一些基本原则。