浅谈计算机仿真技术
发布日期:2011-09-27 来源:河北工程学院电子系 作者:王品1,赵海涛2 浏览次数:50639
【摘 要】:“仿真”一词译自英文Simulation[1],另一个曾用的译名是“模拟”。1961年G.W.Morgenthler[1]首次对仿真一词作了技术性的解释,认为“仿真”是指在实际系统尚不存在的情况下,对系统或活动本质的复现。而计算机仿真(Computer Simulation)[2]又称计算机模拟(Computer Analogy)[3]或计算机实验。
中图分类号:TP302 文献标识码:A
A Survey on Computer Simulation Technology
WANG Pin1, ZHAO Hai-tao2
(1. Department of electronics, Hebei Engineering University, Handan 056038, China; 2. The 718th Research Institute of China Shipbuilding Industrial Corporation,Handan 056027,China)
Abstract:In this paper, by analyzing the definition and the features of computer simulation technology, discusses the methods of system modeling and simulation modeling, programming of modeling, simulation experiments and simulation environment. Whats more, a survey on the steps and new technology of computer simulation: Object - oriented simulation, Intelligent simulation, Distributed Interactive simulation, Visual simulation, Multimedia simulation , Virtual reality simulation and so on.
Key words: computer; modeling; simulation
1 引言
“仿真”一词译自英文Simulation[1],另一个曾用的译名是“模拟”。1961年G.W.Morgenthler[1]首次对仿真一词作了技术性的解释,认为“仿真”是指在实际系统尚不存在的情况下,对系统或活动本质的复现。而计算机仿真(Computer Simulation)[2]又称计算机模拟(Computer Analogy)[3]或计算机实验。
所谓计算机仿真[4]是指在实体尚不存在、或者不易在实体上进行实验的情况下,先通过对考察对象进行建模,用数学方程式表达出其物理特性,然后编制计算机程序,并通过计算机运算出考察对象在系统参数以及内外环境条件改变的情况下,其主要参数如何变化,从而达到全面了解和掌握考察对象特性的目的。
计算机仿真技术是作为分析和研究系统运行行为、揭示系统动态过程和运动规律的一种重要手段和方法。近年来,随着系统科学研究的深入、控制理论、计算技术、计算机科学与技术的发展,计算机仿真技术已发展成一门新的学科。信息处理技术的突飞猛进,更使得仿真技术得到迅速发展。
2 计算机仿真的特点
2.1 模型参数任意调整
模型参数可根据要求通过计算机程序随时进行调整,修改或补充,使人们能够掌握各种可能的仿真结果,为进一步完善研究方案提供了极大的方便。
2.2 系统模型快速求解
借助于先进的计算机系统,人们在较短时间内就能知道仿真运算的结果(数据或图像),从而为人们的实践活动提供强有力的指导。这是通常的数学模型方法所无法实现的。
2.3 运算结果准确可靠
只要系统模型、仿真模型和仿真程序是科学合理的,那么计算机的运算结果一定准确无误(除非机器有故障)。因此,人们可毫无顾虑地应用计算机仿真的结果。
2.4 实物仿真形象直观
把仿真模型、计算机系统和物理模型及实物联结在一起的实物仿真(有些还同时是实时仿真),形象十分直观,状态也很逼真。因而在一些工程技术领域如宇宙航行、核电站控制等发挥了独特的作用。
3 计算机仿真的步骤
我们要对一个系统或对象实施计算机仿真,首先必须把握对象的基本特征,抓住主要的因素、引入必要的参量、提出合理的假设、进行科学的抽象、分析各参量间的相互关系、选择恰当的数学工具,然后在此基础上建立相应的数学模型。
3.1 建模
建模就是建立一个特定对象的有限边界的数学模型,是进行系统仿真的第一步,也是十分重要的一步。建模首先要考虑可用的信息源有以下四类:
1.对于特定对象进行仿真研究所预定的目标和边界;
2.先验知识,包括已被验证的定理、定律、理论和模型;
3.数据,通过对系统的观测而获得的数据;
4.特定领域专家的经验。
对于不同的系统,其信息源的水平是不一致的,物理系统的先验知识比较成熟、丰富,数据的获取可以通过实验方法得到,其信息源的质量和可信度高。而对于生物、社会、生态环境等复杂系统,它们的先验知识不成熟,无法对系统进行实验,数据的质量和可信度低,这类系统常被称为病态系统。针对信息源的不同水平,发展了不同的建模方法[5]。
(1)演绎法:主要是运用系统先验知识,通过数学的逻辑演绎来建模,常用于物理系统、工程系统的建模。
(2)归纳法:主要从观测系统变量和数据出发,经过对观测数据的处理、统计归纳,推导出与系统行为相一致的模型。常用于内部结构不清楚的系统,即常说的黑箱系统的建模。
(3)综合集成法:强调对一切可用信息源的利用和集成。包括先验知识、观测数据和专家经验。定性和定量的,形式化和非形式化的,理论和经验的,精确和模糊的,都通过计算机进行集成和处理加以利用。综合集成法主要用于具有病态特征的复杂系统。由于人类对于复杂系统的认识不可能一次完成,综合集成法强调建模是一个过程,是一个持续无止境的活动的集合。建模结果只能产生一个认识阶段上的相对模型,而不能产生终极模型。
建模活动的结果,存在一个模型的可置信度问题,需要研究对所建模型的校核、验证和确认。这方面的技术称为VV&A(Verification,Validation and Accreditation)[6]技术。3.2 模型的程序化[7]
模型的程序化包括两个方面的内容,即设计仿真算法及编制仿真程序。传统的模型程序化活动是一个十分繁琐和复杂的工作。由于大量算法的研究成果及软件技术的进步,目前对于某些特定领域,已能提供面向对象、可交互操作、具有自动编程能力和算法库的商品化产品。如:
(1)用于以微分方程描述的一类连续动力学系统的连续系统仿真语言,如CSSL、CSMP、ACSL等;
(2)用于以概率统计模型和排队论描述的一类离散事件动力学系统仿真语言,如SLMCRIPT、 GPSS、SIMULA等;
(3)用于连续离散系统混合的复杂系统的仿真语言,如SLAM、GASP等;
(4)用于社会经济系统仿真的系统动力学仿真 DYNAMO;
(5)对于用偏微分方程描述的分布参数系统的
仿真,目前也已有了许多求解的数值方法,并开发出与之相对应的语言和程序包。如PDEL、PDE- LAN、DSS/2等。
3.3 仿真实验与仿真实验环境
仿真实验(包括分析)是系统仿真另一个十分重要的活动。其内容包括模型建立和模型应用(运行)两个方面。近十年来,由于对复杂系统的研究,利用计算机辅助建模的方法学有了发展。如何充分利用、综合、集成已有的信息,如何发挥领域专家在模型建立实验过程中的作用,对于仿真的研究,推进了建模信息库和人机交互方法学的发展,提出了模型库和全局建模的概念和方法,建立了以各种信息库为基础的,具有对多种信息源综合利用集成能力的,可进行全局建模的仿真支撑环境,并实现了建模与仿真的一体化。近几年又提出了建立分布交互仿真DIS和分布仿真环境DSE的要求,这已成为近几年仿真技术发展主要方向之一。
此外,近年来由于虚拟现实VR技术及互联网技术的发展,也促使仿真技术把这些新的技术和功能融合到一个仿真环境中。目前已提出了虚拟仿真环境VSE和Web仿真环境WSE的概念。VSE提供仿真人员一种具有沉浸、交互、构思特征的虚拟仿真环境,使仿真人员与被仿真对象模型的交互作用具有身临其境的感觉。WSE则对仿真人员提供一种虚拟资源的概念和方法,理论上可以利用互联网上的一切仿真资源。
4 计算机仿真的新技术[8.9.12]
随着计算机技术和网络技术、多媒体技术、人工智能、知识工程、自动程序设计、神经网络、自动化、建模技术、系统理论、材料科学、通信技术、空间技术等的迅速发展给计算机仿真这个领域带来了生机与活力,出现了许多新的仿真技术。其中关键技术有:面向对象的仿真、分布交互仿真、智能仿真、人机和谐仿真。
4.1 面向对象的仿真(object-Oriented Simulation-OOS)[10]
客观系统是由各式各样的对象(事物或实体)组成的,整个系统的功能是由对象的操作及对象信息的彼此综合利用来实现,对象间信息的传送引起系统的所有活动。计算机辅助仿真建立并封装了对象相应的数据和数据操作的程序模块,作为对象的模型,整体行为则由对象间通过接口相互交换信息的联系来描述。面向对象的技术正在发展之中,进一步研究的问题有:
(1)面向对象建模技术在各个领域中的应用;
(2)完善面向对象的仿真环境,包括面向计算机系统结构、操作系统、数据系统、数据库、高效并便于扩充的友好的仿真程序设计语言。
4.2 分布交互仿真(Distributed Interactive Simulation-DIS)[10]
是通过计算机网络将分散在各地的仿真设备互连,构成时间与空间互相耦合的虚拟仿真环境。实现分布交互仿真的关键技术是:网络技术、支撑环境技术、组织和管理。其中:网络技术是实现分布交互仿真的基础,支撑环境技术是分布交互仿真的核心,组织和管理是完善分布交互仿真的信号。
4.3 智能仿真(Intelligence Simulation-IS)[11]
是以知识为核心和人类思维行为作背景的智能技术,引入整个建模与仿真过程,构造各处基本知识的开发途径是人工智能(如专家系统、知识工程、模式识别、神经网络等)与仿真技术(如仿真模型、仿真算法、仿真语言、仿真软件等)的集成化。因此,近年来各种智能算法,如模糊算法、神经算法、遗传算法的探索也形成了智能建模与仿真中的一些研究热点。
4.4 人机和谐仿真包括
(1)可视化仿真(Visual Simulation - VS)[13]:用以为数值仿真过程及结果增加文本提示、图形、图像、动画表现,使仿真过程更加直观,结果更容易理解,并能验证仿真过程是否正确。近年来还提出了动画仿真(Animated Simulation - AS),主要用于系统仿真模型建立之后动画显示,所以原则上仍属于可视化仿真。
(2)多媒体仿真(Multimedia Simulation - MS)[14]:它是在可视化仿真的基础上再加入声音,就可以得到视觉和听觉媒体组合的多媒体仿真。
(3)虚拟现实仿真(Virtual Reality Simulation- VRS)[13]:是在多媒体仿真的基础上强调三维动画、交互功能,支持触、嗅、味知觉,就得到了VR仿真系统。
5 结束语
综上所述,不难看出计算机仿真新技术发展的突飞猛进所表现的优越性及潜在效益。尤其近年来在仿真方法研究、仿真技术研究、系统仿真应用等方面都取得了显著的成就。因此,计算机仿真技术在国防建设和国民经济建设中将发挥越来越重要的作用。
参考文献
[1] 李书臣,赵礼峰.仿真技术的现状及发展[J].自动化博览,2000,17(1):1~2.
[2] Law A M,Kelton w D.Simulation modeling and analysis[M].McGraw HiU,Inc,1991.
[3] Drago Matko.Simulation and Modeling of Continuous System[M].Prentice Hall.1992.
[4] 张英,龚礼华.现代计算机仿真技术[J].达县师范高等专科学校学报,2000,10(2).
[5] 吕雁.计算机仿真与建模技术综述[J].电子科技,2001(11).
[6] 刘丽,贾荣珍,王行仁等.建模与仿真、VV&A、T&E三者的关系[J].系统仿真学报。2000,12(2).
[7] 何江华.计算机仿真导论[M].科学出版社。2001.
[8] 王文男.计算机仿真方法初探[J].江汉大学学报,2000.19(3).
[9] 张晶,曾宪云,曾岳南.计算机仿真新技术[J].微型电脑应用,2002,18(2).
[10] 黄柯棣等.系统仿真技术[M].长沙.国防科技大学出版社,1998.
[11] 屠仁寿。王正中.面向信息时代的系统仿真方法学[J].系统仿真学报,2000,1(5).
[12] 李云峰.现代计算机仿真技术的研究与发展[J].计算技术与自动化,2002,21(4).
[13] Mareredie R.Virtual reality and simulation - An overview[J].proceeding of WSC96.669~674.
[14] 李云峰.多媒体技术及其应用与研究[J].湖南广播电视大学学报,2000,1(5).
中图分类号:TP302 文献标识码:A
A Survey on Computer Simulation Technology
WANG Pin1, ZHAO Hai-tao2
(1. Department of electronics, Hebei Engineering University, Handan 056038, China; 2. The 718th Research Institute of China Shipbuilding Industrial Corporation,Handan 056027,China)
Abstract:In this paper, by analyzing the definition and the features of computer simulation technology, discusses the methods of system modeling and simulation modeling, programming of modeling, simulation experiments and simulation environment. Whats more, a survey on the steps and new technology of computer simulation: Object - oriented simulation, Intelligent simulation, Distributed Interactive simulation, Visual simulation, Multimedia simulation , Virtual reality simulation and so on.
Key words: computer; modeling; simulation
1 引言
“仿真”一词译自英文Simulation[1],另一个曾用的译名是“模拟”。1961年G.W.Morgenthler[1]首次对仿真一词作了技术性的解释,认为“仿真”是指在实际系统尚不存在的情况下,对系统或活动本质的复现。而计算机仿真(Computer Simulation)[2]又称计算机模拟(Computer Analogy)[3]或计算机实验。
所谓计算机仿真[4]是指在实体尚不存在、或者不易在实体上进行实验的情况下,先通过对考察对象进行建模,用数学方程式表达出其物理特性,然后编制计算机程序,并通过计算机运算出考察对象在系统参数以及内外环境条件改变的情况下,其主要参数如何变化,从而达到全面了解和掌握考察对象特性的目的。
计算机仿真技术是作为分析和研究系统运行行为、揭示系统动态过程和运动规律的一种重要手段和方法。近年来,随着系统科学研究的深入、控制理论、计算技术、计算机科学与技术的发展,计算机仿真技术已发展成一门新的学科。信息处理技术的突飞猛进,更使得仿真技术得到迅速发展。
2 计算机仿真的特点
2.1 模型参数任意调整
模型参数可根据要求通过计算机程序随时进行调整,修改或补充,使人们能够掌握各种可能的仿真结果,为进一步完善研究方案提供了极大的方便。
2.2 系统模型快速求解
借助于先进的计算机系统,人们在较短时间内就能知道仿真运算的结果(数据或图像),从而为人们的实践活动提供强有力的指导。这是通常的数学模型方法所无法实现的。
2.3 运算结果准确可靠
只要系统模型、仿真模型和仿真程序是科学合理的,那么计算机的运算结果一定准确无误(除非机器有故障)。因此,人们可毫无顾虑地应用计算机仿真的结果。
2.4 实物仿真形象直观
把仿真模型、计算机系统和物理模型及实物联结在一起的实物仿真(有些还同时是实时仿真),形象十分直观,状态也很逼真。因而在一些工程技术领域如宇宙航行、核电站控制等发挥了独特的作用。
3 计算机仿真的步骤
我们要对一个系统或对象实施计算机仿真,首先必须把握对象的基本特征,抓住主要的因素、引入必要的参量、提出合理的假设、进行科学的抽象、分析各参量间的相互关系、选择恰当的数学工具,然后在此基础上建立相应的数学模型。
3.1 建模
建模就是建立一个特定对象的有限边界的数学模型,是进行系统仿真的第一步,也是十分重要的一步。建模首先要考虑可用的信息源有以下四类:
1.对于特定对象进行仿真研究所预定的目标和边界;
2.先验知识,包括已被验证的定理、定律、理论和模型;
3.数据,通过对系统的观测而获得的数据;
4.特定领域专家的经验。
对于不同的系统,其信息源的水平是不一致的,物理系统的先验知识比较成熟、丰富,数据的获取可以通过实验方法得到,其信息源的质量和可信度高。而对于生物、社会、生态环境等复杂系统,它们的先验知识不成熟,无法对系统进行实验,数据的质量和可信度低,这类系统常被称为病态系统。针对信息源的不同水平,发展了不同的建模方法[5]。
(1)演绎法:主要是运用系统先验知识,通过数学的逻辑演绎来建模,常用于物理系统、工程系统的建模。
(2)归纳法:主要从观测系统变量和数据出发,经过对观测数据的处理、统计归纳,推导出与系统行为相一致的模型。常用于内部结构不清楚的系统,即常说的黑箱系统的建模。
(3)综合集成法:强调对一切可用信息源的利用和集成。包括先验知识、观测数据和专家经验。定性和定量的,形式化和非形式化的,理论和经验的,精确和模糊的,都通过计算机进行集成和处理加以利用。综合集成法主要用于具有病态特征的复杂系统。由于人类对于复杂系统的认识不可能一次完成,综合集成法强调建模是一个过程,是一个持续无止境的活动的集合。建模结果只能产生一个认识阶段上的相对模型,而不能产生终极模型。
建模活动的结果,存在一个模型的可置信度问题,需要研究对所建模型的校核、验证和确认。这方面的技术称为VV&A(Verification,Validation and Accreditation)[6]技术。3.2 模型的程序化[7]
模型的程序化包括两个方面的内容,即设计仿真算法及编制仿真程序。传统的模型程序化活动是一个十分繁琐和复杂的工作。由于大量算法的研究成果及软件技术的进步,目前对于某些特定领域,已能提供面向对象、可交互操作、具有自动编程能力和算法库的商品化产品。如:
(1)用于以微分方程描述的一类连续动力学系统的连续系统仿真语言,如CSSL、CSMP、ACSL等;
(2)用于以概率统计模型和排队论描述的一类离散事件动力学系统仿真语言,如SLMCRIPT、 GPSS、SIMULA等;
(3)用于连续离散系统混合的复杂系统的仿真语言,如SLAM、GASP等;
(4)用于社会经济系统仿真的系统动力学仿真 DYNAMO;
(5)对于用偏微分方程描述的分布参数系统的
仿真,目前也已有了许多求解的数值方法,并开发出与之相对应的语言和程序包。如PDEL、PDE- LAN、DSS/2等。
3.3 仿真实验与仿真实验环境
仿真实验(包括分析)是系统仿真另一个十分重要的活动。其内容包括模型建立和模型应用(运行)两个方面。近十年来,由于对复杂系统的研究,利用计算机辅助建模的方法学有了发展。如何充分利用、综合、集成已有的信息,如何发挥领域专家在模型建立实验过程中的作用,对于仿真的研究,推进了建模信息库和人机交互方法学的发展,提出了模型库和全局建模的概念和方法,建立了以各种信息库为基础的,具有对多种信息源综合利用集成能力的,可进行全局建模的仿真支撑环境,并实现了建模与仿真的一体化。近几年又提出了建立分布交互仿真DIS和分布仿真环境DSE的要求,这已成为近几年仿真技术发展主要方向之一。
此外,近年来由于虚拟现实VR技术及互联网技术的发展,也促使仿真技术把这些新的技术和功能融合到一个仿真环境中。目前已提出了虚拟仿真环境VSE和Web仿真环境WSE的概念。VSE提供仿真人员一种具有沉浸、交互、构思特征的虚拟仿真环境,使仿真人员与被仿真对象模型的交互作用具有身临其境的感觉。WSE则对仿真人员提供一种虚拟资源的概念和方法,理论上可以利用互联网上的一切仿真资源。
4 计算机仿真的新技术[8.9.12]
随着计算机技术和网络技术、多媒体技术、人工智能、知识工程、自动程序设计、神经网络、自动化、建模技术、系统理论、材料科学、通信技术、空间技术等的迅速发展给计算机仿真这个领域带来了生机与活力,出现了许多新的仿真技术。其中关键技术有:面向对象的仿真、分布交互仿真、智能仿真、人机和谐仿真。
4.1 面向对象的仿真(object-Oriented Simulation-OOS)[10]
客观系统是由各式各样的对象(事物或实体)组成的,整个系统的功能是由对象的操作及对象信息的彼此综合利用来实现,对象间信息的传送引起系统的所有活动。计算机辅助仿真建立并封装了对象相应的数据和数据操作的程序模块,作为对象的模型,整体行为则由对象间通过接口相互交换信息的联系来描述。面向对象的技术正在发展之中,进一步研究的问题有:
(1)面向对象建模技术在各个领域中的应用;
(2)完善面向对象的仿真环境,包括面向计算机系统结构、操作系统、数据系统、数据库、高效并便于扩充的友好的仿真程序设计语言。
4.2 分布交互仿真(Distributed Interactive Simulation-DIS)[10]
是通过计算机网络将分散在各地的仿真设备互连,构成时间与空间互相耦合的虚拟仿真环境。实现分布交互仿真的关键技术是:网络技术、支撑环境技术、组织和管理。其中:网络技术是实现分布交互仿真的基础,支撑环境技术是分布交互仿真的核心,组织和管理是完善分布交互仿真的信号。
4.3 智能仿真(Intelligence Simulation-IS)[11]
是以知识为核心和人类思维行为作背景的智能技术,引入整个建模与仿真过程,构造各处基本知识的开发途径是人工智能(如专家系统、知识工程、模式识别、神经网络等)与仿真技术(如仿真模型、仿真算法、仿真语言、仿真软件等)的集成化。因此,近年来各种智能算法,如模糊算法、神经算法、遗传算法的探索也形成了智能建模与仿真中的一些研究热点。
4.4 人机和谐仿真包括
(1)可视化仿真(Visual Simulation - VS)[13]:用以为数值仿真过程及结果增加文本提示、图形、图像、动画表现,使仿真过程更加直观,结果更容易理解,并能验证仿真过程是否正确。近年来还提出了动画仿真(Animated Simulation - AS),主要用于系统仿真模型建立之后动画显示,所以原则上仍属于可视化仿真。
(2)多媒体仿真(Multimedia Simulation - MS)[14]:它是在可视化仿真的基础上再加入声音,就可以得到视觉和听觉媒体组合的多媒体仿真。
(3)虚拟现实仿真(Virtual Reality Simulation- VRS)[13]:是在多媒体仿真的基础上强调三维动画、交互功能,支持触、嗅、味知觉,就得到了VR仿真系统。
5 结束语
综上所述,不难看出计算机仿真新技术发展的突飞猛进所表现的优越性及潜在效益。尤其近年来在仿真方法研究、仿真技术研究、系统仿真应用等方面都取得了显著的成就。因此,计算机仿真技术在国防建设和国民经济建设中将发挥越来越重要的作用。
参考文献
[1] 李书臣,赵礼峰.仿真技术的现状及发展[J].自动化博览,2000,17(1):1~2.
[2] Law A M,Kelton w D.Simulation modeling and analysis[M].McGraw HiU,Inc,1991.
[3] Drago Matko.Simulation and Modeling of Continuous System[M].Prentice Hall.1992.
[4] 张英,龚礼华.现代计算机仿真技术[J].达县师范高等专科学校学报,2000,10(2).
[5] 吕雁.计算机仿真与建模技术综述[J].电子科技,2001(11).
[6] 刘丽,贾荣珍,王行仁等.建模与仿真、VV&A、T&E三者的关系[J].系统仿真学报。2000,12(2).
[7] 何江华.计算机仿真导论[M].科学出版社。2001.
[8] 王文男.计算机仿真方法初探[J].江汉大学学报,2000.19(3).
[9] 张晶,曾宪云,曾岳南.计算机仿真新技术[J].微型电脑应用,2002,18(2).
[10] 黄柯棣等.系统仿真技术[M].长沙.国防科技大学出版社,1998.
[11] 屠仁寿。王正中.面向信息时代的系统仿真方法学[J].系统仿真学报,2000,1(5).
[12] 李云峰.现代计算机仿真技术的研究与发展[J].计算技术与自动化,2002,21(4).
[13] Mareredie R.Virtual reality and simulation - An overview[J].proceeding of WSC96.669~674.
[14] 李云峰.多媒体技术及其应用与研究[J].湖南广播电视大学学报,2000,1(5).
共0条 [查看全部] 网友评论