徐忠富, 杨小军*, 唐见兵, 周食耒
(1.中国洛阳电子装备试验中心,洛阳 471003;2.国防科技大学系统工程学院,长沙 410073)
当直接对真实系统进行试验过于困难或代价过高时,或者待研究的系统和现象尚不存在的情况下,建模与仿真为观测和研究这类系统提供了一种有效手段。建模与仿真通过对现实问题的充分抽象和简化,在建立的等效模型上进行研究、分析与实验,以一种经济、高效、安全、可重复、无破坏的方式探索、认识和改造现实世界。近年来,随着计算机、建模与仿真技术的快速发展,仿真模型在军事、工业、经济、环境和社会等领域得到了广泛应用。仿真实验与推演分析在方案评估、策略制定、问题求解、军事训练和关键决策中发挥越来越重要的作用。
随着应用范围和需求的不断扩大,建模与仿真变得越来越精细和复杂,仿真模型的功能和性能得到大大增强。与此同时,仿真模型在不同领域深入广泛地应用,促使人们越来越关注可信度问题,对仿真模型的可信度要求越来越高。缺乏足够可信度的仿真模型产生的仿真结果可能会对决策者产生误导,甚至酿成无法挽回的军事、政治、经济上的损失。因此,仿真模型的可信度评估对于明确和提高仿真模型的可信程度和适用范围、增强人们在重要的评估与决策问题中充分应用仿真模型和结果的信心,具有至关重要的作用,已经成为建模与仿真领域的关键问题。
早在1959年,Conway等[1]就开始注意仿真模型的可信度问题。随后,Biggs和Cawthorne[2]对“警犬”导弹仿真模型进行了全面的可信度评估。1967年,Naylor等[3]建议采用χ2检验、均值(方差)分析、因子分析、回归分析、K-S检验、非参数检验、Theil不等式系数、频谱分析等对仿真模型进行验证。Mckenny[4]进一步指出,仿真模型验证目的是判断仿真模型输出的误差是否淹没其有用性。Schrank等[5]认为,仿真模型验证的关键是判断模型的有效性。Fishman等[6]将仿真模型的可信度分析过程分为校核和验证两个部分,从此,仿真模型V&V这一观点被国际仿真界普遍接受。Van Horn[7]认为模型验证的核心是在特定的应用目的下判断仿真模型与被仿真对象的行为特性的一致性程度。Shannon[8]在1975 年进一步明确提出,模型验证的根本途径是仿真模型与真实系统在相同的输入下比较仿真输出和真实输出。Kheir和Holmes[9]指出,应按照系统特点分解为多个子系统分别进行可信度评估。1997年,Balci[10]归纳总结了用于传统仿真模型校核与验证的77种方法和用于面向对象仿真模型的校核与验证的38种方法。2010年,Balci[11]总结了仿真模型校核、验证、测试与验收的20条黄金法则。
近20多年来,中国许多学者对仿真模型验证和可信度评估进行了综述[12-24]。最近,李伟等[25]分析了复杂仿真模型的特点,提出了可信度评估面临的一些挑战,并给出了若干解决措施。
然而,复杂仿真模型可信度评估面临诸多挑战,包含对大量的定性指标和定量指标的测量与评估,通常还要依赖领域专家的经验知识,并且需要综合不同的方法和度量结果[26]。仿真模型依据特定的应用目的开发,因此应根据其预期应用目的进行可信度评估[27]。如果仿真模型意图回答一系列问题,那么应针对每项问题都进行可信度评估[28]。对复杂仿真模型的不同特征进行验证与评估,导致可信度评估成为一项复杂的多指标决策难题,需要综合多种定性和定量方法,以获得更加鲁棒和可靠的综合评估结果[29]。Liao等[30]同样指出,为了获得可靠的可信度评估结果,仅对仿真模型的某一项特性进行验证与评估往往是不够的,应该聚合多项特性的评估结果,从而获得系统、客观的综合评估结果。Olsen等[31]通过聚合仿真模型的结构、行为和数据的验证结果,进而计算得到总体可信度。
首先归纳总结复杂仿真模型可信度评估面临的主要挑战,然后制定可信度评估的基本框架和策略,并归纳总结主要技术和方法。本文的研究有利于从总体上把握可信度评估的基本步骤和方法,明确重点研究内容和方向,从而推动复杂仿真模型可信度评估的理论探索和实践研究。
近年来,随着计算机的普及和推广,特别是计算机运算速度和网络带宽及存储能力得到了迅猛提升,使得人们能够利用计算机仿真来精细模拟复杂系统和过程。正由于此,计算科学突破了实验和理论科学的局限性,成为人们认识和改造世界的重要手段。人们利用计算机模拟构建了大量的军事仿真系统、经济仿真系统、社会仿真系统和工业仿真系统,建模与仿真的范围越来越广泛、仿真模型越来越复杂。这些计算机仿真模型能够快速、低成本、可重复地模拟复杂现象和过程,同时产生了大量的功能特性和仿真数据。因此,基于现代计算机的建模与仿真进入了大数据与智能时代,与此同时,复杂仿真模型的验证和可信度评估面临着许多新的挑战[32]。
系统地归纳总结了复杂仿真模型可信度评估面临的8项挑战,如表1所示。
针对复杂仿真模型验证和可信度评估面临的新的挑战,需要从总体上制定可信度评估的基本框架和策略,归纳总结主要技术和方法。
复杂仿真模型的可信度评估通常基于仿真模型与被仿真对象之间的功能结构相似性原理或者输出结果差异性原理。
2.1.1 功能结构相似性原理
相似理论认为,建模与仿真的本质就是依据相似原理建立某种形式的相似模型代替被仿真对象进行实验。相似理论的基本原理包括同序结构原理、信息原理和支配原理等[33]。同序结构原理认为,系统的序结构决定了系统的整体特性。因此,仿真模型应反映被仿真对象的空间序结构(空间排列、组合和联系方式)、时间序结构(系统要素随时间变化的规律)和功能序结构(系统要素在相互作用过程中所表现出的各种功能)。信息原理认为,系统序结构的形成和演化与系统的信息作用相关。
表1 复杂仿真模型可信度评估面临的8项挑战Table 1 The summarized 8 challenges of credibility assessment of complex simulation models
因此,仿真模型应反映被仿真对象的信息流规律,包括信息作用的内容、形式和信息场强度及其分布规律。支配原理认为,相似程度的大小取决于支配系统的自然规律的接近程度。
基于功能结构相似性原理的仿真模型可信度评估通常适用于被仿真对象的基本结构、基本原理、基本功能、基本规律已经被领域专家所认识并清晰描述,同时仿真模型可信度评估人员对建模与仿真过程和仿真模型的原理及功能结构有非常清晰的认识,且仿真模型与被仿真对象有比较相似的功能划分和结构关系,以便于将仿真模型与被仿真对象的功能结构及遵循规律进行对比分析。它的最大的局限在于相似元的定义及相似程度的计算不好确定,通常需要领域专家根据仿真目的主观地判断处于什么相似程度可以达到可信度要求。对于规律掌握还不是特别清晰的复杂的社会、经济、军事系统的仿真,建模过程中看似微小的简化,可能会带来输出特性的巨大差异。比如,将原子结构简化为太阳系结构时(原子的行星模型),电子云的量子特性可能就永远发现不了。
2.1.2 输出结果差异性原理
输出结果差异性原理的基本思想是:在仿真模型建立后,仿真模型和被仿真对象(或经过验证的被仿真对象的参考模型)在相同的输入条件下,将仿真模型的输出结果与被仿真对象的真实输出进行比较,分析差异程度,从而验证仿真模型与被仿真对象的一致性和一致性程度,也就可以得到用仿真模型代替被仿真对象进行实验的可信度。
基于输出结果差异性原理的仿真模型可信度评估对于系统内部复杂性不好掌握的被仿真对象来说是一个很好的途径,它使得评估人员可以绕过被仿真对象和仿真模型不可预见的复杂性来得到最终想要的结果。只要仿真模型和被仿真对象的对比数据足够丰富,就可以充分检验仿真模型的可信度。用输出结果的差异性来判定仿真模型的可信度是最为客观、有效的方法。但是,这种方法往往要求可以获得被仿真对象或其参考模型的足够丰富的输出数据,或者有大量的历史参考数据。
图1 复杂仿真模型可信度评估基本框架Fig.1 The overall framework for credibility assessment of complex simulation models
现有的仿真模型验证与可信度评估的相关研究大多都是基于输出结果差异性原理。中外许多研究者提出了基于统计检验[3]、Theil不等式系数[9]、误差分析[34]、相关系数[35]、相似系数[36]、灰色关联分析[37-38]、时间序列分析[39-42]、频谱分析[39,43]、小波分析[44-45]等对仿真模型输出与参考数据的一致性进行定量分析的验证方法。近年来,针对多元动态输出的复杂仿真模型验证及可信度评估,许多研究者提出了基于主成分分析[46-47]、马氏距离[48]、贝叶斯网[49-50]、Shannon熵[51]、小波偏差分析[52-53]、着色Petri网[54]的可信度分析方法。
基于功能结构相似性原理的仿真模型可信度评估通常需要依赖领域专家进行深入分析和主观判断,基于输出结果差异性原理的仿真模型可信度评估通常需要相关领域从业人员进行大量的对比实验和数据分析。一般来说,仿真模型开发过程中的分析与建模阶段适合采用功能结构相似性原理,如概念模型验证、体系结构与设计评审等;仿真模型结果验证与可信度评估(特别是第三方评估)适合采用输出结果差异性原理,如运行验证、仿真结果分析等。
对于复杂仿真模型的可信度评估,通常需要结合使用功能结构相似性原理和输出结果差异性原理,得到功能结构相似度和运行结果一致度,从而综合评估复杂仿真模型的可信度,如图1所示。
由此可见,复杂仿真模型可信度评估的关键是,在建模与仿真的全生命周期进行充分而有效的验证和可信度分析评估,并综合使用各种定性和定量方法,从而获得系统、全面、科学的评估结果。
2.3.1 数据获取与预处理
数据是分析和评估的基础,对于基于输出结果差异性原理的复杂仿真模型可信度评估,关键在于获取足够的参考数据和仿真数据,然后进行对比分析。仿真数据通过对子模型和模型进行仿真实验获取,参考数据的获取方法如表2所示。
在获取参考数据和仿真数据时,为了提高试验/实验效率、减少试验/实验次数,可以进行科学的试验/实验设计,常用方法有正交设计、均匀设计、超拉丁方设计、正交超拉丁方设计等[55]。
参考数据和仿真数据可能存在一些异常或缺陷,需要进行预处理,常用方法如表3所示。
表2 参考数据获取方法Table 2 Methods for obtaining reference data
表3 数据预处理方法Table 3 Methods for data preprocess
2.3.2 数据差异分析与转换
不同类型的数据适合采用不同的数据差异分析方法,确定性数据适合采用误差分析,随机数据适合采用假设检验,非周期性时间序列适合采用距离或相似度量[56],周期性时间序列适合采用频域分析。常用的数据差异分析方法如图2所示。
图2 常用数据差异分析方法Fig.2 Typical methods for discrepancy analysis
通常情况下,数据差异分析结果并不直接等同于可信度。从差异分析结果到可信度的映射过程通常需要依靠领域专家或决策者的主观判断。Balci等[26]将这一过程称为“解释(interpretation)”。但是,完全依赖专家的主观判断进行转换,将导致极大的主观性,不可靠且不可重复。基于可适应不同情形、可灵活调节参数的映射函数模型,将差异分析结果自动地转换为可信度[57],能够减轻专家的负担,并最大限度地减少主观性。
2.3.3 主观评估量化表示
定量分析方法忽视了领域专家的宝贵经验,而且只适用于仿真数据和参考数据均存在的情况,这一条件对于可信度评估定性指标来说很难满足。特别是基于功能结构相似性原理的可信度评估,极大依赖领域专家的主观判断。
在主观评估方法方面,Ahn等[58]提出了基于Delphi方法和群决策技术的仿真模型可信度评估方法。Jebeile等[59]在肯定评估人员经验的重要作用的同时,强调了主观方法的局限性。
主观评估方法直接由用户或决策者根据其主观感受确定可信度的大小。主观评估方法简单、方便,但需要克服主观偏见,并对定性观点进行量化表示。由于人类认识和主观感知的模糊性和不确定性,主观定性观点的表达通常适合采用等级程度或语言进行描述。如“好”“一般”“一般至很好之间”“至多是一般”“至少是好”“很差、差或一般”等。
模糊数学之父L. A. Zadeh在1975年提出了语言变量(linguistic variable)的概念,并在1996年提出了词计算的构想[60]。随后的研究中,先后出现了采用I型模糊集(type-1 fuzzy sets)、2元模糊语言模型(2-tuple fuzzy linguistic model)、区间II型模糊集、II型模糊集(type-2 fuzzy sets)、云模型、犹豫模糊语言术语集[61](hesitant fuzzy linguistic term sets)等对语言变量进行建模和运算的方法。
然而,基于模糊数学的词计算框架,通常存在计算量较大、模糊数参数的物理涵义不够明确、运算过程容易产生主客观信息的丢失和扭曲等不足。基于犹豫云语言术语集[62]和云Delphi方法[63]是适用于主观评估和群决策的更加灵活的方法。
2.3.4 指标体系描述与赋权
根据还原论的功能层次分解原理,指标体系一般采用树型结构描述。通常由仿真模型的用户和相关领域专家共同商讨,选取可信度评估指标。评估指标的选取一般要遵循以下原则:科学性、系统性、简洁性、客观性、时效性、可测性、独立性、一致性、完备性等。指标选取方法主要有专家调查法、条件广义方差极小法、极大不相关法、最小均方差法等。
虽然在选择可信度评估指标的过程中,尽可能保证指标的独立性、简洁性,减小指标之间的关联关系。但是,实际建立的指标体系很难实现指标之间完全无耦合。目前对于指标间的部分冗余、弱相关等复杂关系的描述方法研究较少。可以借鉴“串并联”思想[64],描述复杂仿真模型可信度评估指标体系。
综合各单项指标可信度评估结果时,为了反映各项指标在整个指标体系中的不同作用和重要程度,需要科学合理地确定指标权重。指标赋权方法可分为主观判断法和客观分析法,如表4所示。
主观判断法依据领域专家对各项指标的重视程度进行赋权,客观分析法依据指标本身所包含的客观信息进行赋权。主观赋权方法能够反映决策者对各项指标的偏好,可正确表示不同指标的不同地位和重要程度;但是,需要克服专家观点的主观性、模糊性、不确定性。客观赋权方法不依赖于专家的主观判断;但是,在评估信息缺乏的情况下难以进行,通常与决策者的主观偏好相悖,结果解释性较差。
表4 赋权方法Table 4 Methods for determining weights
图3 基于云模型的异构数据表示与聚合方法Fig.3 The representation and integration of heterogeneous results based on the cloud model
目前应用最广泛的赋权方法有Delphi法和层次分析(analytic hierarchy process,AHP)法以及两者的结合。应用Delphi法和AHP法确定权重的关键是要克服主观判断的模糊性和不确定性,具体可以参考云Delphi层次分析法[65]。此外,可以将主、客观权重线性加权,进行组合赋权[66]。
2.3.5 异构数据表示与聚合
不同指标或者不同专家的可信度评估结果可能具有不同的表示形式,例如精确值、区间数、统计数据或者语言术语等。利用云模型可以对这些异构数据进行统一表示[67],并且经过各种运算也能始终保留评估过程中的模糊性和随机性等不确定信息。
评估结果的聚合包括单指标评估结果聚合和多指标评估结果聚合。单指标评估结果的聚合可以采用加权求和、证据推理、贝叶斯推理等方法。多指标评估结果聚合目的是从总体上全面反映复杂仿真模型的可信度,用于进行横向和纵向的比较、排序、优选、预测和决策,也便于后续的评估结果分析。常见的聚合方法有加权算术平均、加权几何平均、有序加权平均、有序加权几何平均、组合加权算术平均、Sugeno模糊积分、Choquet模糊积分等。
基于云模型的异构数据表示与聚合方法如图3所示。
2.3.6 评估结果展示与分析
采用自底向上、多指标逐层聚合的方式,可以计算得到最终的复杂仿真模型可信度综合评估结果,然后利用正向高斯云发生器算法进行图形化展示和分析。综合评估结果不仅包含大小和量级信息,也保留了模糊性、随机性等不确定信息。
此外,还可以对各项指标评估结果的均衡性进行展示与分析,如图4所示。图中扇形的圆心角大小表示各项子指标的权重大小,扇形的面积表示各项子指标对父指标的评估结果的贡献,所有扇形面积之和即为父指标的综合评估结果。均衡性展示主要用于分析整体与部分的关系,反映了综合评估结果中各项子指标的贡献程度。
图4 评估结果均衡性展示Fig.4 The display of balance for different indicators
为了分析查找制约复杂仿真模型可信度的瓶颈,指导仿真模型的改进,还可以对评估结果进行灵敏度分析。灵敏度分析方法包括局部灵敏度分析和全局灵敏度分析。局部灵敏度分析只检验单个参数的变化对模型结果的影响程度,其他参数只取其中心值。全局灵敏度分析检验多个参数的变化对结果产生的总的影响,并分析每一个参数及参数之间的相互作用对结果的影响。常用的全局灵敏度分析方法主要有基本效应法、导数法、方差灵敏度分析法(Sobol法)、矩独立灵敏度分析法、基于失效概率的灵敏度分析[68]。
如果需要同时考虑多个输出响应,就要采用多输出全局灵敏度分析方法。多输出全局灵敏度分析不仅能够处理多个输出响应,还能处理输出响应随时间变化的情形。然而对时变输出响应离散化,会带来维数灾难。
随着仿真模型的应用范围和需求的不断扩大,建模与仿真变得越来越精细和复杂,仿真模型的功能和性能得到了大大增强。与此同时,复杂仿真模型的验证和可信度评估面临着许多新的挑战。系统地归纳总结了复杂仿真模型可信度评估面临的8项挑战。在此基础上,分析了基于功能结构相似性原理和输出结果差异性原理的可信度评估的基本原理、方法和适用范围,从而制定了复杂仿真模型可信度评估的基本框架和策略。最后,总结并提出了应对数据获取与预处理、数据差异分析与转换、主观评估量化表示、指标体系描述与赋权、异构数据表示与聚合、评估结果展示与分析等关键挑战的主要技术和方法。本文的研究有利于从总体上把握复杂仿真模型可信度评估的主要挑战、基本框架和主要方法,明确重点研究内容和方向,从而推动可信度评估的理论探索和实践研究。