本文作者王正中先生,中国航天总公司710研究所研究员。
关键词: 系统 模型 仿真 复杂性
一 系统—模型—计算机
“仿真”方法即模型研究方法,是人类最古老的工程方法之一。这种基于相似原理的模型研究方法,经历了从直观的物理模型到抽象的形式化模型(数学模型)的发展,20世纪计算机的出现以及人类对于“系统”的认识,则赋予仿真即模型研究以新的内容与方法,出现了现代仿真技术,即系统仿真技术的产生。系统仿真的一个不甚严格但被广泛认同的定义是:在计算机上建立系统模型,运转和实验这个模型以研究一个现存的或虚拟的系统。该技术的第一个特点是视研究对象为一个系统,另一个特点是以计算机作为系统模型的载体。因此系统仿真的方法论是与系统学和计算机科学紧密相联的。系统论的先驱者贝塔朗菲认为,“不同领域中表现出结构上的相似性或同构性”可以看作一般系统论形成的重要依据。系统仿真方法的基本原理正是基于客观世界中系统之间的相似性或同构性,基于这一系统属性去建立系统模型并通过研究模型去研究系统,模型也是一个系统,它与原形系统之间具有相似性或同构性。计算机的出现对于现代科学工程方法的发展是一次革命。计算机的应用使得人的智能超出了人自身的自然限制。对仿真而言,计算机的应用使得模型研究的复杂性和灵活性都获得了质的飞跃。计算机仿真专家柯恩在他的《连续系统动态仿真》一书中曾写到:“计算机是活的数学模型”。这的确是一个恰如其分的评价而非艺术上的夸张。
一般认为,组成系统仿真的3个要素是:系统、模型、计算机。而将这3个要素结合在一起的3个活动是:系统建模、模型程序化及仿真实验和分析。在这一基础上形成了系统仿真方法学的3个分支:(1)仿真建模方法学(演绎推理、归纳推理);(2)仿真语言构造方法学(连续系统仿真方法和语言CSSL、离散事件仿真和语言DESL、混合仿真语言HCSL);(3)仿真试验支撑环境构造方法学(集成化仿真环境ISE、分布式仿真环境DSE、虚拟仿真环境VSE、互联网仿真环境WSE)。
系统仿真方法学的发展大致可以分为两个阶段,40~70年代,是传统系统仿真方法学的发展阶段;80年代至今,是复杂系统仿真方法学的发展阶段。这两个发展阶段的主要区别是建模在系统仿真方法学中重要性的增长。
传统系统仿真方法学主要是面向工程系统如航空、航天、电力、化工等,一般说来,这类系统具有良好的定义和结构,具有充分可用的理论知识,可以采用演绎推理的方法建模,其建模过程如图1所示。而复杂系统仿真学主要是面向社会、经济、生态、生物等十分复杂的非工程系统,仿真这些复杂系统的难点主要在于系统的病态定义和病态结构,以及无充分可用的理论和先验知识。传统系统仿真方法中的建模,其侧重点是对形式化模型进行演绎推理、实验、分析,这显然具有工程技术的特点;而在复杂系统仿真方法中,其侧重点是解决如何建立系统的形式化模型,建立一种抽象的表示方法以获得对客观世界和自然现象的深刻认识,这明显是面向科学的。
二 复杂性——复杂系统仿真方法
复杂性问题的提出起源于奥地利,1928年贝塔朗菲在他撰写的《生物有机体系统》论文中首次提出了复杂性问题;随后,怀持梅在论文“有机体的哲学”中也提出了类似的观点。在此之后,许多科学家对此进行了多方面的研究并作出了贡献,如马卡诺赫和匹茨在神经网络方面的研究,冯诺依曼在元胞自动机和复杂性方面的研究,维纳在控制论方面的研究,普里高津及含肯在系统论方面的研究等。90年代,美国圣塔菲研究院(SFI)成为研究复杂问题的中心并闻名于世。在80年代初,我国钱学森先生发表了“系统科学,思维科学与人体科学”的论文,近年来,他又提出“开放、复杂、巨系统”的概念以及处理这类系统的方法论。对于复杂系统(社会、经济、生物、生态)的研究推动了包括系统仿真在内的各相关学科的发展。
如果说70年代以前,多数的仿真专著都是面向物理系统,并以讨论基于演绎推理的传统建模与仿真方法学为主,那么70年代以后,许多重要的系统仿真专著,都已从不同方面讨论了复杂系统仿真的方法学问题,其中如理查森和普茨的“系统动力学建模导论”、齐格勒的“建模与仿真理论”、戈登的“系统仿真”、斯普里特及范斯蒂恩斯基的“计算机辅助建模与仿真”等。笔者在《现代计算机仿真及应用》一书中也有相当的篇幅讨论复杂系统仿真的问题。最近我国学者白方舟教授编写了《定性仿真》一书,对定性仿真、模糊仿真及归纳推理等仿真方法作了较系统的介绍。
与传统的系统仿真方法相比较,复杂系统仿真的难点主要在于:
(1)复杂系统研究的理论基础尚未达到如物理系统领域的抽象程度,通过系统分析而产生的数学模型常常可信度比较低。
(2)复杂系统往往具有病态定义的特征,即很难以一种严格的数学形式来对它进行定义及定量分析。
(3)复杂系统的另一个难点是病态结构,系统结构很难从空间和时间上加以分割,很难确定系统的边界和水平。
(4)对复杂系统的观测和试验都比较困难,从而使获得的数据对于系统行为的反映可信度及可接受性降低。
在复杂系统仿真方法学的发展中,常常提及以下一些概念:
(1)黑箱。对于一个可观测到其输入和输出值,但不知其内部结构的系统,可以视为一个黑箱。黑箱方法认为系统的输入及输出值中包含了系统的结构信息,因此可以通过研究其外部特性去研究它的内部结构和关系。对于那些已知其内部结构的系统,则可视为白箱。而介于白箱与黑箱之间的是灰箱系统。复杂系统仿真方法主要研究的是黑箱和灰箱的问题。著名仿真学者卡普勒斯曾经提出了一个从白箱到黑箱问题的模型色谱,他把航空、航天、电力、化工等问题放在色谱带中白箱的一端,把社会、经济、生物放在色谱带的另一端——黑箱带。而在黑箱色带与白箱色带之间是渐变的灰箱色带,它包含了生态、环境等问题。
(2)信息源集成。系统仿真建模的信息源主要来自3个方面:先验理论、观测数据、专家经验。在传统系统仿真方法中,先验理论一般是充分可用的、确定的,因此在系统建模中,特别是建立模型框架阶段,先验理论起着主要的作用;但在复杂系统仿真中,先验理论往往是不充分甚至是不可用的。
因此,复杂系统仿真的建模过程需要对一切可用的信息源加以集成。一切可用的先验知识、专家经验及观测数据,包括将定性和定量的、精确和模糊的、形式化和非形式化的统统集成起来加以利用。这是复杂系统仿真方法的一个重要特征。
(3)同构与同态。对于系统的描述,一般可以分为3级,即行为级、状态结构级、结构分解级。行为级是最低一级,在这一级系统实际被视为黑箱。在系统与模型之间,如果在行为级等价,则称之为同态模型;如果在结构级等价,则称之为同构模型。同态意味着系统与模型之间行为的相似,但并无结构上的对应关系。在复杂系统仿真中,低级阶段是建立系统的同态模型,它可用来复现和预测系统的行为。高级阶段则是建立系统的同构模型,从状态结构级一直到结构分解级,以认识系统运行的机理和规律。
(4)演绎与归纳。传统仿真方法主要是演绎推理,应用先验理论,补充某些假设和推理,然后通过数学和逻辑演绎来建模,它的基本特征是从一般到特殊。在复杂系统仿真中,它是从观测系统的行为出发,补充某些假设和专家的经验,然后把所有可用的信息源集成起来,进行归纳推理。从系统描述的最低一级(行为级)开始,目的是获得系统更高一级(结构级)的描述,因此这是一个从特殊到一般的过程。归纳推理的结果往往不是唯一解,这就使得归纳推理建模的可信度研究变得十分重要。可信度分析一般归结为模型行为与真实系统行为之间的比较,以它们之间的偏离程度来度量。
对复杂系统仿真方法的研究仍处于初期的阶段,目前研究重点主要集中在解决系统病态问题和观测数据的低可接受性问题方面。主要研究包括:
(1)参数优化方法。基于系统辨识和参数估计理论的目标函数最优化方法。
(2)定性仿真方法。基于建立模型框架,对于参数采取定性处理(从一个定性的约束集和一个初始状态出发,预测系统未来行为)的方法。
(3)模糊仿真方法。基于模糊数学,在建立模型框架的基础上,对于观测数据的不确定性,采用模糊数学的方法进行处理。
(4)归纳推理方法。基于黑箱概念,假设对系统结构一无所知,只从系统的行为一级进行建模与仿真(同态模型),根据系统观测数据,生成系统定性行为模型,用于预测系统行为。
(5)系统动力学方法。基于信息反馈及系统稳定性的概念,认为物理系统中的动力学性质及反馈控制过程在复杂系统中同样存在。通过专家对复杂系统机理的研究,可建立复杂系统的动力学模型,并通过运转这个模型去观察系统在外力作用下的变化。系统动力学仿真的目的主要是研究系统的变化趋势,而不注重数据的精确性。
目前文献上发表的复杂系统仿真方法很多,但观其实质,基本上仍可分为两大类:
第一类方法可以称之为朴素物理方法或还原论方法。它的基本观点是:复杂系统的运动形式和规律与物理系统的运动形式和规律相似。两类系统之间具有相似性和同构性,因此可以按照物理系统建模的方式去构造复杂系统的模型框架。在没有足够先验理论的条件下,可以利用和集成有限的先验知识、专家经验和假设。选定一个适当的模型框架,然后经过模型结构的特征化,利用观测数据,进行参数估计,从而建立起系统的同构模型;同时经过可信度分析,不断地修正这个模型,提高模型可信度以求得相对可用模型。这类方法的建模过程如图2所示,与图1所示的传统建模过程相比,其基本过