.1.
引 言
计算机仿真经过半个多世纪的发展,因其有效性、经济性、安全性等优点而被广泛应用于军事、科研、教育、商业、生产开发等领域。随之而来的问题是仿真系统与其原型系统的相似程度如何呢,就仿真目的而言其结果可信的程度又是多大呢?
以上问题涉及到仿真系统逼真度、可信度两个基本的概念,它们是仿真系统评估的关键,也是当前系统仿真领域研究的一个热点。仿真系统的可信度是仿真系统的使用者对应用仿真系统在一定环境、一定条件下仿真试验的结果,解决所定义问题正确性的信心程度。逼真度为模型或仿真以一种可测量或可感知的方式再现真实世界对象或者假想的对象、特征、环境或某种标准的状态和行为的程度。一个仿真系统的逼真度是固定的,而其可信度是依仿真目的不同而不同的。
在 FISG( Fidelity Implementation Study Group)的逼真度理论中,用七个概念来定义和描述逼真度,精度是最重要的一个概念,甚至有些学者认为逼真度即为精度。而精度分析是可信度评估的重要组成部分,不满足精度需求的仿真是不可信的。并且从可重用的角度考虑,模型的精度水平也需要进行评定。因而,深入地研究仿真精度问题是至关重要的。
目前,国内外对于逼真度与可信性评估的概念、框架、方法学等展开了一些有意义的研究,对于逼真度地数学描述也有一些研究成果,但实用的可操作的方法、案例较少。此外,仿真输出分析一直是研究热点,每年的冬季仿真会议都会有这个专题,但对于仿真输出数据的精度问题却很少讨论。国内外关于仿真精度的概念、影响因素、数学描述,以及仿真精度分析的概念、方法还没有系统的表述,因而需要对仿真领域的精度进行深入的研究与探讨。
本文首先给出仿真精度的概念框架,包括:仿真领域精度的定义、影响因素及分类,各类因素的数学描述方法,建模仿真的过程模型及该模型各个阶段中影响仿真精度的因素总结,以及仿真系统精度分析的概念、目的及任务。然后给出仿真精度分析的框架与方法,包括精度分析中的量化描述方法,各类模型的偏差传播规律、灵敏度分析等。最后给出待解决的问题及进一步研究方向。
.2.
仿 真 精 度 概 念 框 架
建模仿真领域的精度不同于传统实验测量领域的精度,需要首先清晰仿真精度的概念;然后从评估及空间映射的角度给出一种仿真过程模型,并分析了各个阶段影响精度的因素;接下来定义了仿真系统精度分析,并阐述了其意义所在。
2. 1 精度
仿真精度是指模型或仿真中的一个/多个参数或变量确切符合真实系统或者某些给定的标准或参考的程度。仿真精度的概念有狭义与广义之分,狭义的仿真精度与误差成反比,即误差越小、精度越高,这是通常人们所理解的精度。而广义的仿真精度是由不确定性和误差引起的,本文采用广义的精度概念。
在实验测量领域,反映测量结果与真值接近程度的量为精度,精度可分为准确度、精密度和精确度;定义误差为量测值与真值间的差; 定义不确定性为对于误差的估计。但这不适用于建模仿真领域,因为测量领域的真值一般是不可获取的,只能人为的估计。而仿真中的参考系统的值往往是能够得到的。并且在测量领域,认为误差与不确定性是同类的,即不确定性为零,则误差为零。显然在建模仿真领域不是这样的,下面给出详细定义及实例。
在风险评估、复杂系统开发等领域,一些学者给出了误差和不确定性的定义以及分类。不确定性分为偶然不确定性和认知不确定性。定义偶然不确定性为所关注系统的固有的可变性,并且一般能够指出偶然不确定性的产生来源,并给出变化范围,但是具体值不能得到,又称可变性、本质不确定性、不可约不确定性、随机不确定性等,例如天气因素等。
定义认知不确定性为在建模过程的任何阶段或行为中,由于知识的缺乏或信息的不完整而导致的可能存在的不精确性,又称可约不确定性、主观不确定性等,例如缺少实验数据,不知道初始条件,物理现象的耦合关系不清晰等。定义误差为不是由于缺乏知识而引起的并且可认知的不精确性。误差分为两类:确认的误差是为开发者所验证的不精确性,例如:算法精度、计算机位长的精度,人为对模型的简化等; 而未确认的误差是未被开发者所验证但是可认知的不精确性,例如:粗心导致的失误,计算机编程的错误,程序编译连接错误等。仿真领域影响精度的因素分类总结如图 1所示。
偶然不确定性一般用概率分布来刻画,认知不确定性可用证据理论,可能性理论,模糊理论来描述。确认的误差一般用区间来限定其影响范围,而未确认的误差还没有数学形式来刻画,可通过重复检查等手段来克服。
2.2 建模仿真过程模型
仿真系统有多种分类方式,在评估领域仿真系统可以分为三类:有真实系统对照的、无真实系统对照的以及二者的混合。第一类仿真系统的精度分析相对容易,可通过对比仿真输出与实际系统的输出,给出精度水平,但也有一些问题没有解决,如:偏差来源是什么,哪个偏差对精度影响最大,如何提高精度等等。第二类仿真系统的精度分析相对较难,只是通过构造 /寻找参考系统,进而分析仿真系统的精度。第三类仿真系统精度分析应综合采用上述两类系统的分析方法,而这种系统是最常见的。
仿真系统的开发可以分成若干步骤,许多学者和组织提出了他们的观点,如 FEDEP模型,它给出了基于 HLA的大型仿真系统开发与执行过程的抽象模型。借鉴他们的工作,从仿真系统评估及空间映射的角度提出一种建模仿真的过程模型,给出了各阶段的工作以及每一阶段的成果,如图 2所示。
在图 2所示的建模 /仿真的各个阶段,都会产生不同类型的影响仿真精度的不确定性与误差。在概念建模阶段,需要描述关注的系统及环境,给出事件发生的序列关系,还要描述模型间的耦合关系,以及指出需要考虑的不确定因素。在数学建模阶段,需要开发概念模型中声明的关注的实体、现象、过程的数学模型,并且任何数学模型都是对实际实体、现象、过程的简化。还需要通过数据分析或者主观判断建立不确定因素的数学模型。在计算机实现阶段,将连续的数学模型变换为离散模型,设计仿真试验,选择数值解法,进而编写计算机代码,编译与连接。在仿真运行阶段,仿真程序在一定的软硬件环境中运行,输出仿真结果。之后根据仿真输出进行评估、分析,得出结论。各阶段影响仿真精度的因素及所属类型如图 3所示。
2.3 精度分析概念
明确仿真领域的精度的概念,以及上述建模仿真的过程模型,是为了进行仿真系统的精度分析,辅助仿真系统的可信度评估。
所谓仿真系统的精度分析即首先确定建模仿真过程的偏差源,在概念建模阶段,根据仿真系统的总体精度要求,分解为各个子系统 /模型的精度要求,而后根据仿真运行的输出结果,评定该仿真的精度水平,并给出是否满足精度要求的结论。精度分析的目的是:分析当次仿真的精度水平,以确认当次仿真结果可信的程度;分析各个因素对仿真系统精度的影响,进而确定提高精度的方法。为叙述方便,把影响仿真精度的误差、不确定性的总和称为偏差,即不精确部分。
.3.
仿真系统精度分析方法
首先给出了仿真系统精度分析中的基本定义及精度的量化描述方法,然后针对不同的模型情形,给出偏差传播的计算方法,并简要介绍了精度分析中使用的灵敏度分析方法。
3.1 基本定义
1) 对于一个变量 v的偏差描述为:Ɛ = vs - vr ,即其在仿真中与参考系统中的值的差。并且偏差也可能是一个范围(如由于不确定性引起的),那样要用区间表示。
2) 对于仿真模型的一个输出 Y的精度的量化描述为:|Y s - Y r l /Y r 。即仿真系统与参考系统的输出差的绝对值与实际输出的比 (如果为多维的,用范数替换绝对值),精度水平为 1 - A。
3) 仿真模型的偏差可表示为如下关系:
IA = f(M,I,S,X ),其中 M 表示模型偏差,I表示输入偏差,S表示解算偏差,X 表示模型的结构。
对于第三点,我们作如下解释:
①模型偏差表现为参数的偏差、模型结构的简化等。输入偏差表现为每个输入的数值的偏差和多个输入间的关系的偏差。解算偏差包括:离散化精度、算法精度、计算机程序的正确性、计算机精度等。模型的结构即为模型的输入输出映射关系。
②仿真输出的品质决定了仿真系统的可信性,所以仿真输入的精度很重要。因为即使模型建立的非常准确,但是输入不够精确,那么输出的差异也是很大的。因而精度分析的前提是仿真输入满足一定的精度条件。
③多个偏差经过多个模型的传播,可能减小,可能放大,也可能抵消,需要一套关于偏差传播的分析方法。并且模型中的多个输入和多个不精确的参数需要进行灵敏度分析,以确定其对模型输出精度的影响程度,进而辅助确定提高仿真精度的措施。
通过上述定义,可以定量计算仿真系统的精度水平。然而对于没有真实输出的仿真系统,只能通过确认偏差,而后计算偏差的传播,进而得出精度水平。下面对偏差传播规律进行讨论。
3. 2 偏差传播规律
人们认识客观世界一般是从简单到复杂,讨论仿真系统的偏差传播也采用类似的方法学。对于没有真实系统对照的仿真系统,首先考虑一个模型的情形; 然后考虑序列化的模型连接,即一个模型的部分输入为另一个模型的部分输出; 而后考虑耦合模型中偏差的传播,即一个模型的部分输出为另一个模型的部分输入,而后者的部分输出为前者的部分输入。
仿真系统可由上述模型连接形式的多个模型组合而成,只需重复采取上述的方法计算系统的偏差传播。然后对模型的多个参数进行灵敏度分析,判断存在偏差的参数的重要程度,用以确定提高精度的方法。
3. 2. 1 输入存在偏差的单模型精度分析方法
如图 4所示考虑一个输入的情形,实际系统的输入为 x,而仿真系统的输入偏差为Ɛ,则经过模型M,即映射 f后,输出的精度水平表示为:
而多个输入的情形与此类似,只需考虑 x,Ɛ为向量形式,f为多元映射即可,以下均为类似考虑。
3. 2. 2 参数存在偏差的单模型精度分析方法
考虑参数存在偏差的情形,f 0 为实际系统的输入输出映射,f为仿真模型的输入输出映射,对于相同的输入x,得到不同输出,其精度水平表示为:
综合以上种情形,不失一般性,考虑一个模型 M 存在多个输入多个输出,并且模型中存在不确定性。它映射输入向量Im 为输出向量 O n ,用函数 f表示,存在偏差的模型参数为U,如图 5所示。在输入向量中存在精确的部分,也存在不精确的部分,若不精确的输入为 i个,可假定 I m 中的前 i个输入为不精确的。输出中必然存在不精确,为输入以及模型参数共同作用的结果,其精度水平表示为:
3. 2. 3 顺序模型精度分析方法
考虑两个模型串连,第一个模型输出为第二个模型的部分输入,如图 6所示。第一个模型的精度水平通过 (3) 式计算,而其输出偏差为 fα (x Ɛα) - fα0(x) 作为第二个模型的部分输入偏差。第二个模型的精度水平再通过 (3) 式计算,即为整体的精度水平,表示为:
3. 2. 4 耦合模型精度分析方法
考虑两个模型串连 (也可能中间经过多个模型)且有反馈,即模型 A的部分输出为模型 B的部分输入,而模型B的部分输出为模型 A 的部分输入,一般情形如图7所示。
不失一般性,考虑模型 A 和 B 均为单入单出,且模型无参数偏差的情形。在时刻 t k 模型 A 的输入为 x k α ,输出为 y k α=fα (xk α),也为模型B在 t k 时刻的输入,即 xk b = f α ( xk α),则模型B在 t k 时刻的输出为 yk b = fb ( fα (xk α) ),亦为模型 A在 t k 1 时刻的输入,如此循环。
举例求解上述情形的精度水平。假设初始时刻为 t 0 ,模型 A的初始输入为 x0 α,偏差Ɛ0 α,则实际输入为x0 α - Ɛ0 α;模型A 的输出为y0 α= fb ( fα (xk α) ),为模型 B的输入,而系统 A的实际输出为 y0 αr=(x0 α - Ɛ0 α),为系统 B的实际输入;模型 B的输入偏差为y0 α- y0 αr,则模型B的输出为y0 b= fb ( fα (x0 α) ),系统 B的实际输出为y0 br= fb ( fα (x0 α-Ɛ0 α) ),则模型 B在初始时刻的精度水平为| y0 b - y0 br | /y0 br。经过 k( k为自然数)个循环周期后,仿真时刻为 tk ,此时上述仿真的状态为:
则模型 A,B运行至此时的精度水平为
和
3. 4 灵敏度分析
模型的输出对于不同的输入及不同的模型参数的灵敏度不同,因而精度要求也不同。进行灵敏度分析以排序多个输入、参数的重要性,进而继续分析,以正确分配精度要求及保证达到预期精度水平; 它也可用来辅助确定如何提高精度。
对于连续模型的灵敏度分析一般使用偏微分来描述。设模型为:M = f(),其中 = (x 1 ,x 2 ,…,x n ),包括输入变量以及模型参数变量。在某一状态 0下,模型M 的输出的全微分表示如下式,而对于某个变量 xi,其灵敏度即为其偏微分项。而对于不是连续可微的模型,其偏微分只能通过输出近似估计。
.4.
仿真系统精度分结论及下一步研究方向
本文尝试提出仿真精度框架,给出了精度及精度分析的定义,分析了影响仿真精度的因素,给出了精度的量化描述方法及偏差传播规律。这些工作可用于仿真系统可信度评估。
复杂仿真系统一般由耦合的多个子系统构成,其总体精度需求需要进行分解,来进行精度分析,因而其分解方法需要进一步研究。随着分布式仿真的广泛应用以及分布式仿真所引入的新的问题,分布式仿真系统的精度分析需要新的框架与方法,是下一步的研究方向。
End
--------------------------------------------------
本内容来源于互联网,版权归原作者所有,供学习交流使用,严禁商用,如有侵权请联系我们删除。
--------------------------------------------------