更形式化的建模方法
在这里,我们给出一个更形式化的方法——一个关于建模的模型——来阐述建模的基本思想。我们的讨论依赖于霍兰等人(Holland et al.,1986)开发的用于创建人工学习系统(artificial learning systems)的心理建模思想(mental modeling ideas)。我们试图模拟一个随着离散时间步变化的系统(然而将这些想法应用到其他类型的系统也是可以的)。其基本思想的概要如图3.2所示。图形的上半部分代表着我们试图去建模的真实系统;而下半部分展示了我们构建的模型。
图3.2 关于模型的一个形式化建模,虚线表示等价类映射
我们假定真实系统包含一系列状态S,以及一个状态转换函数F(S),它能将t时刻的一个给定状态映射到t+1时刻的一个新状态。函数F(S)对建模者来说是未知的,而鉴于状态空间的维度以及F(S)的潜在复杂性,建模者通常是不可能解出F(S)的。譬如,考虑天气预报问题。该系统的实际状态空间S是巨大的,包括所有相关原子的位置和特征。其中,F(S)是某种物理定律,它告诉我们,这些原子的状态是如何随着时间的推移而变化的。
作为一种替代方法,建模者可以缩小状态空间的大小,并寻找一个更简单的转换函数。建模者可以通过生成等价类(equivalence classes)来缩减状态空间的大小:将现实系统中状态S的某个子集映射到某个模型状态s。在这里,我们用E(S)来表示等价类映射。基于这些新的模型状态,建模者接下来需要为模型寻求一个有用的转换函数f(s)。继续前面探讨的天气预报的例子,可以考虑使用一个等价类E(S)将原子的布局映射为对气压和湿度的度量。然后,需要找到一个函数f(s)来预测压力和湿度的模式是如何随着时间的推移而转换的。例如,一个可能的情形是,当高低两个气压区域相遇时,湿度会增加,随后两个区域的压力逐渐趋于平衡。
一个特定模型的成功与否取决于它捕获真实系统行为的能力。假设我们从真实系统的状态S′开始。模型将该状态转换到s′=E(S′),然后预测下一个时间段的状态f(s′)。在真实系统里,状态S′在接下来的一段时间内会变成F(S′)。因此,如果满足f[E(S′)]=E[F(S′)],则模型是“符合”真实系统的,亦即,我们最终都能得到同样的模型状态,不论我们是(1)首先将初始的真实系统的状态转换成它的等价类,然后通过模型的转换函数来转换它,还是(2)首先允许真实系统状态转换到它的下一个状态,然后通过等价类将该转换后的状态映射到模型中。在模型与真实系统之间的映射具有上述的可交换性的这种要求被称为同态(homomorphism)。因此,在这种观点下建模的目标是找到一套等价类和一个能导致有用同态的转换函数。
考虑之前的天气建模问题。与其关注大气层中每一个原子的位置与特征(这其实是一个不可能完成的任务),还不如首先使用等价类将该空间转换为,比如,气压和湿度的度量空间。然后研究气压与湿度的模式是如何随着时间的推移而转换的。如果在任意的某天,已知当前的气压与湿度,我们可以预测下一个时期内的气压与湿度,而且该预测与实际观测到的气压与湿度相匹配的话,则该模型是同态的。
构建一个模型需要选择好等价类与转换函数,建模的艺术在于明智地选择这两者。对于任一给定的现实系统中的问题,都有可能存在着多个能导致同态的等价映射(以及关联的转换函数)。任何一套特定的选择其价值取决于建模者当前的需要。再者,找出模型转换函数的难度与等价映射的选择密切相关,因此建模者必须在这两者之间进行权衡取舍。选择一套过于宽泛的等价类能简化寻找一个合适的可导致同态的转换函数f(s)的任务,不过这是以降低模型的解释能力与价值为代价的。在极端情况下,有这么一个虽然同态但无用的模型——它将现实系统中所有可能的状态映射到唯一的一个等价类上,其中模型的转换函数是恒等变换。
在实践中寻找有用的同态往往是困难的,建模者可能需要放弃对完美同态的追求。即使模型中存在少数未能处理好的“异常”系统状态,它可能仍然是很有价值的。通常,这些“异常”情况对模型的主要应用并没有影响。此外,如果异常情况的数量比较少的话,可以通过提炼其等价类与转换函数将旧模型保存下来,以便每个异常情况能够得到单独处理。然而,如果异常情况的规模过大,则必须对模型进行一个更加彻底的改变。这种改变包括从“对模型的基本特点的简单修改(也许会使解释能力相应减少)”到“一个更加剧烈地重构,生成一套全新的等价类和转换函数”之间的一系列范围。
对“理想”模型的不断追求导致了科学之“创造性破坏”(creative destruction)的熊彼特周期(3)。建模者尝试将系统简化为一套元素(等价类)和法则(转换函数)的基本集合,然后在此基础上,期望更好地了解并预测系统的关键环节。这种持续不断地对系统表达的方式“推陈出新”的追求,推动着科学之创造性破坏的过程。