问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

“华如研究”系列之一:浅议系统仿真与体系仿真

创作时间:
作者:
@小白创作中心

“华如研究”系列之一:浅议系统仿真与体系仿真

引用
1
来源
1.
http://www.360doc.com/content/24/0417/18/32196507_1120675149.shtml

仿真技术作为认识世界的第三种方法,广泛应用于工业、军事、经济等领域。本文从计算机科学的发展史出发,探讨了系统仿真与体系仿真的区别与联系,并分析了战争复杂系统的特殊性及其仿真方法。

计算机的发展与系统仿真

仿真、计算机仿真与系统仿真

仿真是一种研究手段,通过建立所研究对象的数学模型,并在计算机上进行求解,进而获取所关心问题的答案。一般来说,针对不同的研究对象,应采用不同的建模和仿真方法。

以系统仿真经典的研究对象——控制系统为例,控制系统的模型可以是微分方程、差分方程、状态方程、方框图等,仿真的方法是对这些方程的数值求解,例如数值积分。

理解系统仿真,首先需要对系统进行定义。一种易于理解的定义是Bernard.P.Zeigler给出的:系统是由输入、输出以及将输入转换为输出的处理三部分组成。这种定义具有一般意义上的正确性,但指导开展具体仿真工作还需要进一步细化。

除此之外,20世纪五六十年代,随着计算机科学技术的发展,由冯诺依曼开展的对计算机硬件行为的数字仿真、SIMSCRIPT仿真语言的发明为代表,离散事件仿真开始萌生和发展。离散事件仿真用于研究复杂系统(Complicated System)中多个组成部分以及相互作用这一问题。

仿真与计算机

系统仿真是采用计算机对于描述系统的数学方程组进行求解的过程,除了系统所属的问题域的不同之外,系统仿真与计算数学、应用数学、计算机科学有密不可分的关系,甚至可以认为现代计算机仿真是与计算机的发展以及相应数学方法的发展相伴而行的。

与计算机技术等许多科学技术一样,系统仿真也受益于军事需求的驱动。我们所熟知的现代数字计算机的鼻祖ENIAC或者M9,其发明的初衷就是计算火炮的弹道和核反应过程。

在计算机科学发展史上,系统仿真同科学计算一起扮演着需求的推动者和主要的应用者的角色。从机械计算机、模拟计算机、混合计算机、数字计算机到通用的数字计算机,一直发展到当今的云计算、超算时代,仿真计算都是重要的服务对象。

时间与空间及CAE

时间和空间是系统仿真中最常见的基准。例如控制系统仿真,时间往往是联系方程组各方程之间重要的变量;同时还需要建立统一的空间坐标系,以保持对位置姿态的共识。

从时间和空间出发,还会涉及到一类重要的工业软件即CAE,过去通常不认为该领域属于仿真,但从仿真的建立模型并求解的定义来看,以有限元分析FEA为代表的CAE也属于仿真领域,可以称之为基于物理的仿真,或者多物理场仿真。

无论是随时间的展开还是随空间的展开,都可以统一理解为连续时间动态系统和连续物理结构对象的离散化处理,离散化使得研究对象具备了数字计算机的可解,同时也会带来离散化的误差,因此误差分析是仿真的基本要求。

体系仿真与复杂系统仿真

科学问题的提出

1948 年,美国数学家,信息论的创始人之一 Warren Weaver 提出了 3 类科学问题划分。这三类问题分别是:简单问题、无组织复杂问题和有组织复杂问题。

简单问题/系统:正如第一部分讲到的系统仿真的本质乃计算机的数学方程求解,这一类科学问题,无论是数学方程多么复杂,都被Warren Weaver归类为简单科学问题,我们可以通过数学方法获得解析解,或者通过仿真方法获得数值解。

无组织的复杂问题/系统:对于这类系统,通常采用统计方法进行研究,例如理想大气模型对于由海量空气分子所组成的系统的描述。

有组织复杂问题/系统:有组织的复杂系统包括自然系统和社会系统,前者如蜂群、鸟群、蚁群等,是当今群体智能研究的一类对象;而社会系统包括经济系统、交通系统、生产消费系统、战争系统,是另一类重要的研究对象,也是我们认为的体系。

复杂系统的研究

从数学的角度,我们可以认为体系或复杂系统的数学模型不存在一个全局的联立方程组,因此无法采用联立方程组数值求解的方法进行解决。随着十九世纪70年代圣塔菲研究所的成立, 90年代Agent方法以及Swarm语言的提出及相关的仿真软件的推出,我们认为,多主体/代理的建模与仿真(Agent-Based Modeling and Simulation,ABMS)的方法是研究复杂系统的有效方法,或者说是复杂系统建模仿真的有效方法。

这里的Agent是指组成复杂系统的个体,Agent之间存在各种关系,多个Agent组成MAS即多Agent系统。如果赋予Agent一定的智能,例如Agent自身有规则等模型驱动,则可以称为多智能体的系统。通过ABMS的方法,构建不同的Agent,可以对从自然到社会等不同的复杂系统进行研究。

战争复杂系统/体系仿真的Agent

就我们所关心的体系仿真或战争复杂系统而言,我们认为这属于最复杂的一类复杂系统。原因在于:

首先,一般研究的复杂系统的Agent本体的建模是相对简单的,Agent之间的规则也是相对简单的,复杂性来自于海量Agent之间通过动态的交互关系所体现出的例如涌现性等特点。典型的例子是“生命游戏”。而战争复杂系统中,每类Agent代表的是一类战场实体,例如单兵、部队、作战飞机或舰艇,生命体的复杂性自不必说,高科技装备例如飞机所携带的各类设备和武器,本身背后也是多个科学领域的大量数学、物理知识所支撑的,因此Agent模型非常复杂,至少包括了装备的科学和工程技术、军事或战争科学、自然科学三大领域;

其次,与蜂群、鸟群、鱼群等Agent类型较少甚至只有一类不同,战争复杂系统中实体类型非常多,叠加每类实体模型的复杂度,使得建模难度和工作量指数级增长,成为长期困扰相关领域的头等难题,也催生了组件化、面向对象、参数化等模型复用技术的发展;

最后,战场上实体之间的关系也非常复杂,既有同一阵营的上下级指挥、友邻协同、支援保障等关系,更有不同阵营之间的侦察与反侦察、干扰与抗干扰、打击与拦截/防护等关系,这些关系部分还伴随着复杂通信系统和通信过程的仿真,以及与环境效应之间的复杂关系,同时这些交互关系还随着时间的推进而不断建立和解除,而所有Agent必须适应所有这些情况。

由于Agent的自主性,复杂系统或体系中的时间以多个时间线的方式出现,每个Agent有自身的时间线,在该时间线上,Agent有系统仿真的成分,典型的如运动平台的运动学、动力学或弹道积分,同时Agent有行为或AI部分;更重要的是,Agent之间的关系往往需要严格刻画其时间关系,尤其是在时间先后与因果顺序相关时。所以在体系仿真中对时间的刻画,对各类事件的时间先后关系的严格保持一般有绝对准确的要求。这类要求容易导致计算或求解的并行度下降,进而影响仿真效率。在某些场合,可以牺牲一部分对时间的准确要求而换取高的运算效率。

如果将体系仿真的模型分为数字装备、数字兵力和数字环境三部分,可以简单认为数字装备和数字环境是科学计算问题,数字兵力是AI类行为逻辑问题。整体的模型是由分散在各Agent和环境中的这三大部分模型组成,并以一个个Agent实例的形式出现如下图所示。

系统仿真和体系仿真的仿真方法

综上所述,仿真方法与计算设备关系密切,在冯诺依曼体系结构的数字计算机上,最合适的方法仍然是离散事件仿真方法,即DES。因为数字计算机本身是一个离散时间系统,只能提供离散化的底层计算能力支持(早期的模拟仿真机可以提供连续的计算支持,但在输入和观测的时候也需要离散化);同时离散事件方法既可以向下支持连续时间系统的离散化处理(例如数值积分),也可以支持离散时间系统的表达(例如随机事件)。

对于系统仿真而言,仿真方法更多的是数学求解的底层驱动,可以大致理解为设置方程组的初值后,循环调用计算并且修改推进时间或空间变量,相对来说是比较简单的。即使考虑到类似数值积分的定步长或者可变步长,也并不复杂。

而体系或复杂系统仿真,考虑到Agent之间关系以及关系发生时间顺序的至关重要性,DES方法能够在数字计算机上精确刻画离散的时间点,无论是事件调度法、活动扫描法还是进程交互法,都能实现相关的特性;同时对于体系仿真中的系统仿真部分,DES可以很容易地通过周期性事件实现不同周期的周期性计算的调度问题,而反过来的周期性的离散时间方法,例如采用时间步进方式,不仅很难适应不同对象的系统仿真部分对不同周期的需求(要么损失精度,要么浪费算力),更致命的是对随机事件无法准确刻画时间特性。

因此基于DES的ABMS是我们目前认为比较理想的体系仿真核心方法。在此基础上,通过挖掘在并行多任务操作系统以及多核多路并行计算硬件条件下的并行仿真能力,实现PDES的仿真运行,则是仿真域当仁不让的工作,并且应实现对问题域的透明。

仿真是一种工程应用技术,以仿真系统的方式来满足使用的需求。仿真系统的研发,首先是对被研究对象的领域研究和抽象建模,其次是结合仿真方法的程序建模和仿真实现,最后还需要从计算机科学角度进行准确高效实现,因此是一个多学科多技术综合的问题。

本文内容来自华如科技。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号